{"version":3,"file":"index.es.min.js","sources":["../../../node_modules/preact-custom-element/dist/preact-custom-element.esm.js","../../../node_modules/classnames/index.js","../../../node_modules/preact/compat/dist/compat.module.js","../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js","../../../node_modules/@nespresso-design-system/components/dist/chunks/index.bddf5ebb.js","../../../node_modules/@nespresso-design-system/components/dist/chunks/make-refs.cb0b9b76.js","../../../node_modules/@nespresso-design-system/components/dist/chunks/index.7e655f23.js","../../../node_modules/@nespresso-design-system/components/dist/chunks/common.162593b8.js","../../../node_modules/@nespresso-design-system/components/dist/react/Button.js","../../../node_modules/@nespresso-design-system/components/dist/chunks/defined-by-default.11c0fbdd.js","../../../node_modules/@nespresso-design-system/components/dist/chunks/common.559e7c5b.js","../../../node_modules/@nespresso-design-system/components/dist/react/Link.js","../../../packages/discovery/commons/icons/pause-icon/PauseIcon.tsx","../../../packages/discovery/commons/icons/play-icon/PlayIcon.tsx","../../../packages/discovery/commons/expandable-button/ExpandableButton.tsx","../../../packages/discovery/commons/video/Video.tsx","../../../packages/helpers/src/events.helpers.ts","../../../packages/helpers/src/utils.ts","../../../packages/helpers/src/gtmEvents.js","../../../packages/discovery/components/banner/subcomponents/BannerEventInfo/BannerEventInfo.tsx","../../../packages/discovery/components/banner/subcomponents/BannerOverlay/BannerOverlay.tsx","../../../packages/helpers/src/viewPortEvent.ts","../../../packages/helpers/src/hooks/useImpressionTracker.ts","../../../packages/discovery/components/banner/index.ts","../../../packages/discovery/asWebComponent.ts","../../../packages/discovery/components/banner/Banner.tsx"],"sourcesContent":["import{h as t,hydrate as e,render as n,cloneElement as o}from\"preact\";function r(){return(r=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(t[o]=n[o])}return t}).apply(this,arguments)}var i=[\"context\",\"children\"];function a(t){this.getChildContext=function(){return t.context};var e=t.children,n=function(t,e){if(null==t)return{};var n,o,r={},i=Object.keys(t);for(o=0;o<i.length;o++)e.indexOf(n=i[o])>=0||(r[n]=t[n]);return r}(t,i);return o(e,n)}function s(){var o=new CustomEvent(\"_preact\",{detail:{},bubbles:!0,cancelable:!0});this.dispatchEvent(o),this._vdom=t(a,r({},this._props,{context:o.detail.context}),function e(n,o){if(3===n.nodeType)return n.data;if(1!==n.nodeType)return null;var r=[],i={},a=0,s=n.attributes,l=n.childNodes;for(a=s.length;a--;)\"slot\"!==s[a].name&&(i[s[a].name]=s[a].value,i[c(s[a].name)]=s[a].value);for(a=l.length;a--;){var u=e(l[a],null),d=l[a].slot;d?i[d]=t(p,{name:d},u):r[a]=u}var h=o?t(p,null,r):r;return t(o||n.nodeName.toLowerCase(),i,h)}(this,this._vdomComponent)),(this.hasAttribute(\"hydrate\")?e:n)(this._vdom,this._root)}function c(t){return t.replace(/-(\\w)/g,function(t,e){return e?e.toUpperCase():\"\"})}function l(t,e,r){if(this._vdom){var i={};i[t]=r=null==r?void 0:r,i[c(t)]=r,this._vdom=o(this._vdom,i),n(this._vdom,this._root)}}function u(){n(this._vdom=null,this._root)}function p(e,n){var o=this;return t(\"slot\",r({},e,{ref:function(t){t?(o.ref=t,o._listener||(o._listener=function(t){t.stopPropagation(),t.detail.context=n},t.addEventListener(\"_preact\",o._listener))):o.ref.removeEventListener(\"_preact\",o._listener)}}))}export default function(t,e,n,o){function r(){var e=Reflect.construct(HTMLElement,[],r);return e._vdomComponent=t,e._root=o&&o.shadow?e.attachShadow({mode:o.mode||\"open\"}):e,e}return(r.prototype=Object.create(HTMLElement.prototype)).constructor=r,r.prototype.connectedCallback=s,r.prototype.attributeChangedCallback=l,r.prototype.disconnectedCallback=u,n=n||t.observedAttributes||Object.keys(t.propTypes||{}),r.observedAttributes=n,n.forEach(function(t){Object.defineProperty(r.prototype,t,{get:function(){return this._vdom.props[t]},set:function(e){this._vdom?this.attributeChangedCallback(t,null,e):(this._props||(this._props={}),this._props[t]=e,this.connectedCallback());var n=typeof e;null!=e&&\"string\"!==n&&\"boolean\"!==n&&\"number\"!==n||this.setAttribute(t,e)}})}),customElements.define(e||t.tagName||t.displayName||t.name,r)}\n//# sourceMappingURL=preact-custom-element.esm.js.map\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import{Component as n,createElement as t,options as e,toChildArray as r,Fragment as u,render as o,hydrate as i,createContext as c,createRef as l,cloneElement as f}from\"preact\";export{Component,Fragment,createContext,createElement,createRef}from\"preact\";import{useCallback as a,useContext as s,useDebugValue as h,useEffect as v,useId as d,useImperativeHandle as p,useLayoutEffect as m,useMemo as y,useReducer as _,useRef as b,useState as S}from\"preact/hooks\";export*from\"preact/hooks\";function g(n,t){for(var e in t)n[e]=t[e];return n}function E(n,t){for(var e in n)if(\"__source\"!==e&&!(e in t))return!0;for(var r in t)if(\"__source\"!==r&&n[r]!==t[r])return!0;return!1}function C(n,t){this.props=n,this.context=t}function x(n,e){function r(n){var t=this.props.ref,r=t==n.ref;return!r&&t&&(t.call?t(null):t.current=null),e?!e(this.props,n)||!r:E(this.props,n)}function u(e){return this.shouldComponentUpdate=r,t(n,e)}return u.displayName=\"Memo(\"+(n.displayName||n.name)+\")\",u.prototype.isReactComponent=!0,u.__f=!0,u}(C.prototype=new n).isPureReactComponent=!0,C.prototype.shouldComponentUpdate=function(n,t){return E(this.props,n)||E(this.state,t)};var R=e.__b;e.__b=function(n){n.type&&n.type.__f&&n.ref&&(n.props.ref=n.ref,n.ref=null),R&&R(n)};var w=\"undefined\"!=typeof Symbol&&Symbol.for&&Symbol.for(\"react.forward_ref\")||3911;function k(n){function t(t){var e=g({},t);return delete e.ref,n(e,t.ref||null)}return t.$$typeof=w,t.render=t,t.prototype.isReactComponent=t.__f=!0,t.displayName=\"ForwardRef(\"+(n.displayName||n.name)+\")\",t}var I=function(n,t){return null==n?null:r(r(n).map(t))},N={map:I,forEach:I,count:function(n){return n?r(n).length:0},only:function(n){var t=r(n);if(1!==t.length)throw\"Children.only\";return t[0]},toArray:r},M=e.__e;e.__e=function(n,t,e,r){if(n.then)for(var u,o=t;o=o.__;)if((u=o.__c)&&u.__c)return null==t.__e&&(t.__e=e.__e,t.__k=e.__k),u.__c(n,t);M(n,t,e,r)};var T=e.unmount;function A(n,t,e){return n&&(n.__c&&n.__c.__H&&(n.__c.__H.__.forEach(function(n){\"function\"==typeof n.__c&&n.__c()}),n.__c.__H=null),null!=(n=g({},n)).__c&&(n.__c.__P===e&&(n.__c.__P=t),n.__c=null),n.__k=n.__k&&n.__k.map(function(n){return A(n,t,e)})),n}function D(n,t,e){return n&&e&&(n.__v=null,n.__k=n.__k&&n.__k.map(function(n){return D(n,t,e)}),n.__c&&n.__c.__P===t&&(n.__e&&e.appendChild(n.__e),n.__c.__e=!0,n.__c.__P=e)),n}function L(){this.__u=0,this.t=null,this.__b=null}function O(n){var t=n.__.__c;return t&&t.__a&&t.__a(n)}function F(n){var e,r,u;function o(o){if(e||(e=n()).then(function(n){r=n.default||n},function(n){u=n}),u)throw u;if(!r)throw e;return t(r,o)}return o.displayName=\"Lazy\",o.__f=!0,o}function U(){this.u=null,this.o=null}e.unmount=function(n){var t=n.__c;t&&t.__R&&t.__R(),t&&32&n.__u&&(n.type=null),T&&T(n)},(L.prototype=new n).__c=function(n,t){var e=t.__c,r=this;null==r.t&&(r.t=[]),r.t.push(e);var u=O(r.__v),o=!1,i=function(){o||(o=!0,e.__R=null,u?u(c):c())};e.__R=i;var c=function(){if(!--r.__u){if(r.state.__a){var n=r.state.__a;r.__v.__k[0]=D(n,n.__c.__P,n.__c.__O)}var t;for(r.setState({__a:r.__b=null});t=r.t.pop();)t.forceUpdate()}};r.__u++||32&t.__u||r.setState({__a:r.__b=r.__v.__k[0]}),n.then(i,i)},L.prototype.componentWillUnmount=function(){this.t=[]},L.prototype.render=function(n,e){if(this.__b){if(this.__v.__k){var r=document.createElement(\"div\"),o=this.__v.__k[0].__c;this.__v.__k[0]=A(this.__b,r,o.__O=o.__P)}this.__b=null}var i=e.__a&&t(u,null,n.fallback);return i&&(i.__u&=-33),[t(u,null,e.__a?null:n.children),i]};var V=function(n,t,e){if(++e[1]===e[0]&&n.o.delete(t),n.props.revealOrder&&(\"t\"!==n.props.revealOrder[0]||!n.o.size))for(e=n.u;e;){for(;e.length>3;)e.pop()();if(e[1]<e[0])break;n.u=e=e[2]}};function W(n){return this.getChildContext=function(){return n.context},n.children}function P(n){var e=this,r=n.i;e.componentWillUnmount=function(){o(null,e.l),e.l=null,e.i=null},e.i&&e.i!==r&&e.componentWillUnmount(),e.l||(e.i=r,e.l={nodeType:1,parentNode:r,childNodes:[],contains:function(){return!0},appendChild:function(n){this.childNodes.push(n),e.i.appendChild(n)},insertBefore:function(n,t){this.childNodes.push(n),e.i.appendChild(n)},removeChild:function(n){this.childNodes.splice(this.childNodes.indexOf(n)>>>1,1),e.i.removeChild(n)}}),o(t(W,{context:e.context},n.__v),e.l)}function j(n,e){var r=t(P,{__v:n,i:e});return r.containerInfo=e,r}(U.prototype=new n).__a=function(n){var t=this,e=O(t.__v),r=t.o.get(n);return r[0]++,function(u){var o=function(){t.props.revealOrder?(r.push(u),V(t,n,r)):u()};e?e(o):o()}},U.prototype.render=function(n){this.u=null,this.o=new Map;var t=r(n.children);n.revealOrder&&\"b\"===n.revealOrder[0]&&t.reverse();for(var e=t.length;e--;)this.o.set(t[e],this.u=[1,0,this.u]);return n.children},U.prototype.componentDidUpdate=U.prototype.componentDidMount=function(){var n=this;this.o.forEach(function(t,e){V(n,e,t)})};var z=\"undefined\"!=typeof Symbol&&Symbol.for&&Symbol.for(\"react.element\")||60103,B=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,H=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,Z=/[A-Z0-9]/g,Y=\"undefined\"!=typeof document,$=function(n){return(\"undefined\"!=typeof Symbol&&\"symbol\"==typeof Symbol()?/fil|che|rad/:/fil|che|ra/).test(n)};function q(n,t,e){return null==t.__k&&(t.textContent=\"\"),o(n,t),\"function\"==typeof e&&e(),n?n.__c:null}function G(n,t,e){return i(n,t),\"function\"==typeof e&&e(),n?n.__c:null}n.prototype.isReactComponent={},[\"componentWillMount\",\"componentWillReceiveProps\",\"componentWillUpdate\"].forEach(function(t){Object.defineProperty(n.prototype,t,{configurable:!0,get:function(){return this[\"UNSAFE_\"+t]},set:function(n){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:n})}})});var J=e.event;function K(){}function Q(){return this.cancelBubble}function X(){return this.defaultPrevented}e.event=function(n){return J&&(n=J(n)),n.persist=K,n.isPropagationStopped=Q,n.isDefaultPrevented=X,n.nativeEvent=n};var nn,tn={enumerable:!1,configurable:!0,get:function(){return this.class}},en=e.vnode;e.vnode=function(n){\"string\"==typeof n.type&&function(n){var t=n.props,e=n.type,u={},o=-1===e.indexOf(\"-\");for(var i in t){var c=t[i];if(!(\"value\"===i&&\"defaultValue\"in t&&null==c||Y&&\"children\"===i&&\"noscript\"===e||\"class\"===i||\"className\"===i)){var l=i.toLowerCase();\"defaultValue\"===i&&\"value\"in t&&null==t.value?i=\"value\":\"download\"===i&&!0===c?c=\"\":\"translate\"===l&&\"no\"===c?c=!1:\"o\"===l[0]&&\"n\"===l[1]?\"ondoubleclick\"===l?i=\"ondblclick\":\"onchange\"!==l||\"input\"!==e&&\"textarea\"!==e||$(t.type)?\"onfocus\"===l?i=\"onfocusin\":\"onblur\"===l?i=\"onfocusout\":H.test(i)&&(i=l):l=i=\"oninput\":o&&B.test(i)?i=i.replace(Z,\"-$&\").toLowerCase():null===c&&(c=void 0),\"oninput\"===l&&u[i=l]&&(i=\"oninputCapture\"),u[i]=c}}\"select\"==e&&u.multiple&&Array.isArray(u.value)&&(u.value=r(t.children).forEach(function(n){n.props.selected=-1!=u.value.indexOf(n.props.value)})),\"select\"==e&&null!=u.defaultValue&&(u.value=r(t.children).forEach(function(n){n.props.selected=u.multiple?-1!=u.defaultValue.indexOf(n.props.value):u.defaultValue==n.props.value})),t.class&&!t.className?(u.class=t.class,Object.defineProperty(u,\"className\",tn)):(t.className&&!t.class||t.class&&t.className)&&(u.class=u.className=t.className),n.props=u}(n),n.$$typeof=z,en&&en(n)};var rn=e.__r;e.__r=function(n){rn&&rn(n),nn=n.__c};var un=e.diffed;e.diffed=function(n){un&&un(n);var t=n.props,e=n.__e;null!=e&&\"textarea\"===n.type&&\"value\"in t&&t.value!==e.value&&(e.value=null==t.value?\"\":t.value),nn=null};var on={ReactCurrentDispatcher:{current:{readContext:function(n){return nn.__n[n.__c].props.value},useCallback:a,useContext:s,useDebugValue:h,useDeferredValue:bn,useEffect:v,useId:d,useImperativeHandle:p,useInsertionEffect:gn,useLayoutEffect:m,useMemo:y,useReducer:_,useRef:b,useState:S,useSyncExternalStore:Cn,useTransition:Sn}}},cn=\"18.3.1\";function ln(n){return t.bind(null,n)}function fn(n){return!!n&&n.$$typeof===z}function an(n){return fn(n)&&n.type===u}function sn(n){return!!n&&!!n.displayName&&(\"string\"==typeof n.displayName||n.displayName instanceof String)&&n.displayName.startsWith(\"Memo(\")}function hn(n){return fn(n)?f.apply(null,arguments):n}function vn(n){return!!n.__k&&(o(null,n),!0)}function dn(n){return n&&(n.base||1===n.nodeType&&n)||null}var pn=function(n,t){return n(t)},mn=function(n,t){return n(t)},yn=u;function _n(n){n()}function bn(n){return n}function Sn(){return[!1,_n]}var gn=m,En=fn;function Cn(n,t){var e=t(),r=S({h:{__:e,v:t}}),u=r[0].h,o=r[1];return m(function(){u.__=e,u.v=t,xn(u)&&o({h:u})},[n,e,t]),v(function(){return xn(u)&&o({h:u}),n(function(){xn(u)&&o({h:u})})},[n]),e}function xn(n){var t,e,r=n.v,u=n.__;try{var o=r();return!((t=u)===(e=o)&&(0!==t||1/t==1/e)||t!=t&&e!=e)}catch(n){return!0}}var Rn={useState:S,useId:d,useReducer:_,useEffect:v,useLayoutEffect:m,useInsertionEffect:gn,useTransition:Sn,useDeferredValue:bn,useSyncExternalStore:Cn,startTransition:_n,useRef:b,useImperativeHandle:p,useMemo:y,useCallback:a,useContext:s,useDebugValue:h,version:\"18.3.1\",Children:N,render:q,hydrate:G,unmountComponentAtNode:vn,createPortal:j,createElement:t,createContext:c,createFactory:ln,cloneElement:hn,createRef:l,Fragment:u,isValidElement:fn,isElement:En,isFragment:an,isMemo:sn,findDOMNode:dn,Component:n,PureComponent:C,memo:x,forwardRef:k,flushSync:mn,unstable_batchedUpdates:pn,StrictMode:yn,Suspense:L,SuspenseList:U,lazy:F,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:on};export{N as Children,C as PureComponent,yn as StrictMode,L as Suspense,U as SuspenseList,on as __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,hn as cloneElement,ln as createFactory,j as createPortal,Rn as default,dn as findDOMNode,mn as flushSync,k as forwardRef,G as hydrate,En as isElement,an as isFragment,sn as isMemo,fn as isValidElement,F as lazy,x as memo,q as render,_n as startTransition,vn as unmountComponentAtNode,pn as unstable_batchedUpdates,bn as useDeferredValue,gn as useInsertionEffect,Cn as useSyncExternalStore,Sn as useTransition,cn as version};\n//# sourceMappingURL=compat.module.js.map\n","import{options as r,Fragment as e}from\"preact\";export{Fragment}from\"preact\";var t=/[\"&<]/;function n(r){if(0===r.length||!1===t.test(r))return r;for(var e=0,n=0,o=\"\",f=\"\";n<r.length;n++){switch(r.charCodeAt(n)){case 34:f=\"&quot;\";break;case 38:f=\"&amp;\";break;case 60:f=\"&lt;\";break;default:continue}n!==e&&(o+=r.slice(e,n)),o+=f,e=n+1}return n!==e&&(o+=r.slice(e,n)),o}var o=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,f=0,i=Array.isArray;function u(e,t,n,o,i,u){t||(t={});var a,c,p=t;if(\"ref\"in p)for(c in p={},t)\"ref\"==c?a=t[c]:p[c]=t[c];var l={type:e,props:p,key:n,ref:a,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:--f,__i:-1,__u:0,__source:i,__self:u};if(\"function\"==typeof e&&(a=e.defaultProps))for(c in a)void 0===p[c]&&(p[c]=a[c]);return r.vnode&&r.vnode(l),l}function a(r){var t=u(e,{tpl:r,exprs:[].slice.call(arguments,1)});return t.key=t.__v,t}var c={},p=/[A-Z]/g;function l(e,t){if(r.attr){var f=r.attr(e,t);if(\"string\"==typeof f)return f}if(\"ref\"===e||\"key\"===e)return\"\";if(\"style\"===e&&\"object\"==typeof t){var i=\"\";for(var u in t){var a=t[u];if(null!=a&&\"\"!==a){var l=\"-\"==u[0]?u:c[u]||(c[u]=u.replace(p,\"-$&\").toLowerCase()),_=\";\";\"number\"!=typeof a||l.startsWith(\"--\")||o.test(l)||(_=\"px;\"),i=i+l+\":\"+a+_}}return e+'=\"'+i+'\"'}return null==t||!1===t||\"function\"==typeof t||\"object\"==typeof t?\"\":!0===t?e:e+'=\"'+n(t)+'\"'}function _(r){if(null==r||\"boolean\"==typeof r||\"function\"==typeof r)return null;if(\"object\"==typeof r){if(void 0===r.constructor)return r;if(i(r)){for(var e=0;e<r.length;e++)r[e]=_(r[e]);return r}}return n(\"\"+r)}export{u as jsx,l as jsxAttr,u as jsxDEV,_ as jsxEscape,a as jsxTemplate,u as jsxs};\n//# sourceMappingURL=jsxRuntime.module.js.map\n","function a(n) {\n  return n && n.__esModule && Object.prototype.hasOwnProperty.call(n, \"default\") ? n.default : n;\n}\nvar f = { exports: {} };\n/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n(function(n) {\n  (function() {\n    var i = {}.hasOwnProperty;\n    function s() {\n      for (var t = \"\", r = 0; r < arguments.length; r++) {\n        var e = arguments[r];\n        e && (t = o(t, u(e)));\n      }\n      return t;\n    }\n    function u(t) {\n      if (typeof t == \"string\" || typeof t == \"number\")\n        return t;\n      if (typeof t != \"object\")\n        return \"\";\n      if (Array.isArray(t))\n        return s.apply(null, t);\n      if (t.toString !== Object.prototype.toString && !t.toString.toString().includes(\"[native code]\"))\n        return t.toString();\n      var r = \"\";\n      for (var e in t)\n        i.call(t, e) && t[e] && (r = o(r, e));\n      return r;\n    }\n    function o(t, r) {\n      return r ? t ? t + \" \" + r : t + r : t;\n    }\n    n.exports ? (s.default = s, n.exports = s) : window.classNames = s;\n  })();\n})(f);\nvar c = f.exports;\nconst p = /* @__PURE__ */ a(c);\nexport {\n  p as c,\n  a as g\n};\n//# sourceMappingURL=index.bddf5ebb.js.map\n","import { useRef as s, useImperativeHandle as f } from \"react\";\nconst c = (n, o) => {\n  const r = {};\n  for (const e of o)\n    r[e] = s(null);\n  return f(n, () => {\n    const e = {};\n    for (const t of o)\n      e[t] = r[t].current;\n    return e;\n  }), r;\n};\nexport {\n  c as m\n};\n//# sourceMappingURL=make-refs.cb0b9b76.js.map\n","import \"../assets/index12.css\";\nimport { jsx as n } from \"react/jsx-runtime\";\nimport { forwardRef as f } from \"react\";\nimport { c as u } from \"./index.bddf5ebb.js\";\nimport { m as d } from \"./make-refs.cb0b9b76.js\";\nfunction _(s) {\n  return !Number.isNaN(s) && !Number.isNaN(Number.parseFloat(s));\n}\nconst z = \"_mask_pcelr_87\", c = {\n  mask: z,\n  \"size-16\": \"_size-16_pcelr_100\",\n  \"size-32\": \"_size-32_pcelr_106\"\n}, N = \"/shared_res/agility/next-components/assets/icons\", k = 24, I = f(\n  ({ className: s, icon: e, method: l = \"mask\", style: a, ...r }, p) => {\n    const { $el: t } = d(p, [\"$el\"]), [i] = e.split(\"/\"), o = _(i) ? Number(i) : k, m = `${N}/${e}.svg`;\n    return l === \"mask\" ? /* @__PURE__ */ n(\n      \"span\",\n      {\n        \"aria-hidden\": \"true\",\n        className: u(c.mask, c[`size-${o}`], s),\n        \"data-icon\": e,\n        ref: t,\n        style: {\n          maskImage: `url(${m})`,\n          ...a\n        },\n        ...r\n      }\n    ) : (\n      // biome-ignore lint/a11y/useAltText: ok\n      /* @__PURE__ */ n(\n        \"img\",\n        {\n          alt: `Icon: ${e}`,\n          \"aria-hidden\": \"true\",\n          className: s,\n          \"data-icon\": e,\n          height: o,\n          loading: \"lazy\",\n          ref: t,\n          src: m,\n          style: a,\n          ...r\n        }\n      )\n    );\n  }\n);\nexport {\n  I,\n  _ as i\n};\n//# sourceMappingURL=index.7e655f23.js.map\n","import \"../assets/common8.css\";\nimport { c } from \"./index.bddf5ebb.js\";\nconst i = \"_button_1qujt_87\", d = \"_primary_1qujt_120\", r = \"_secondary_1qujt_134\", e = \"_dark_1qujt_148\", g = \"_outline_1qujt_163\", m = \"_ghost_1qujt_178\", j = \"_leading_1qujt_191\", q = \"_large_1qujt_195\", p = \"_medium_1qujt_204\", y = \"_small_1qujt_213\", b = \"_loading_1qujt_227\", h = \"_loadingIcon_1qujt_228\", k = \"_spin_1qujt_1\", t = {\n  button: i,\n  primary: d,\n  secondary: r,\n  dark: e,\n  outline: g,\n  ghost: m,\n  leading: j,\n  large: q,\n  medium: p,\n  small: y,\n  loading: b,\n  loadingIcon: h,\n  spin: k\n}, x = ({\n  className: a,\n  contrast: n,\n  icon: l,\n  iconPosition: _,\n  isLoading: u,\n  size: o,\n  variant: s\n}) => c(t.button, a, {\n  [t.loading]: u,\n  [t[n]]: !!n && n !== \"light\",\n  [t[_]]: !!l && _ !== \"trailing\",\n  [t[o]]: !!o,\n  [t[s]]: !!s\n});\nexport {\n  x as c,\n  t as s\n};\n//# sourceMappingURL=common.162593b8.js.map\n","import { jsxs as N, Fragment as j, jsx as t } from \"react/jsx-runtime\";\nimport { I as n } from \"../chunks/index.7e655f23.js\";\nimport { m as R } from \"../chunks/make-refs.cb0b9b76.js\";\nimport { forwardRef as $, useState as k, useEffect as w } from \"react\";\nimport { c as C, s as E } from \"../chunks/common.162593b8.js\";\nconst z = $(\n  ({\n    a11yLabel: l,\n    a11yTitle: m,\n    className: c,\n    contrast: i = \"light\",\n    disabled: f,\n    icon: e,\n    iconPosition: d = \"trailing\",\n    isDecorative: p = !1,\n    isLoading: o = !1,\n    label: u,\n    size: b = \"large\",\n    variant: g = \"primary\",\n    ...h\n  }, y) => {\n    const [s, x] = k(o), { $el: B } = R(y, [\"$el\"]);\n    w(() => {\n      x(o);\n    }, [o]);\n    const I = C({\n      className: c,\n      contrast: i,\n      icon: e,\n      iconPosition: d,\n      isLoading: s,\n      size: b,\n      variant: g\n    }), a = {\n      \"aria-label\": l,\n      className: I,\n      title: m,\n      ref: B,\n      ...h\n    }, r = s ? /* @__PURE__ */ t(n, { icon: \"24/symbol/status-loading\", className: E.loadingIcon }) : /* @__PURE__ */ N(j, { children: [\n      u,\n      e && /* @__PURE__ */ t(n, { icon: e })\n    ] });\n    return p ? /* @__PURE__ */ t(\"span\", { ...a, children: r }) : a.href ? /* @__PURE__ */ t(\"a\", { ...a, children: r }) : /* @__PURE__ */ t(\n      \"button\",\n      {\n        type: \"button\",\n        ...a,\n        \"aria-busy\": s,\n        disabled: s || f,\n        children: r\n      }\n    );\n  }\n);\nexport {\n  z as Button\n};\n//# sourceMappingURL=Button.js.map\n","const t = (n) => {\n  const e = String(n);\n  return e === \"true\" || e === \"undefined\";\n};\nexport {\n  t as d\n};\n//# sourceMappingURL=defined-by-default.11c0fbdd.js.map\n","import \"../assets/common5.css\";\nimport { d } from \"./defined-by-default.11c0fbdd.js\";\nimport { c as a } from \"./index.bddf5ebb.js\";\nconst t = \"_link_1huid_87\", c = \"_label_1huid_117\", o = \"_small_1huid_137\", h = \"_large_1huid_144\", r = \"_black_1huid_151\", u = \"_subtle_1huid_155\", m = \"_white_1huid_159\", g = \"_hideUnderline_1huid_163\", b = \"_leadingIcon_1huid_167\", l = {\n  link: t,\n  label: c,\n  \"extra-small\": \"_extra-small_1huid_130\",\n  small: o,\n  large: h,\n  black: r,\n  subtle: u,\n  white: m,\n  hideUnderline: g,\n  leadingIcon: b\n}, I = ({\n  className: n,\n  hasUnderline: _,\n  iconPosition: s,\n  size: e,\n  variant: i\n}) => a([l.link, n], {\n  [l[e || \"\"]]: e !== \"medium\",\n  [l[i || \"\"]]: i !== \"highlight\",\n  [l.hideUnderline]: !d(_),\n  [l.leadingIcon]: s === \"leading\"\n});\nexport {\n  I as c,\n  l as s\n};\n//# sourceMappingURL=common.559e7c5b.js.map\n","import { jsxs as u, Fragment as b, jsx as r } from \"react/jsx-runtime\";\nimport { I as x } from \"../chunks/index.7e655f23.js\";\nimport { m as N } from \"../chunks/make-refs.cb0b9b76.js\";\nimport { forwardRef as j } from \"react\";\nimport { c as k, s as I } from \"../chunks/common.559e7c5b.js\";\nconst L = j(\n  ({\n    a11yLabel: t,\n    a11yTitle: o,\n    className: m,\n    hasUnderline: l = !0,\n    isDecorative: n = !1,\n    icon: a,\n    iconPosition: i = \"trailing\",\n    label: c,\n    size: f = \"medium\",\n    variant: h = \"highlight\",\n    ...p\n  }, d) => {\n    const { $el: g } = N(d, [\"$el\"]), e = {\n      \"aria-label\": t,\n      title: o,\n      ref: g,\n      className: k({\n        className: m,\n        hasUnderline: l,\n        iconPosition: i,\n        size: f,\n        variant: h\n      }),\n      ...p\n    }, s = /* @__PURE__ */ u(b, { children: [\n      a && /* @__PURE__ */ r(x, { icon: a }),\n      /* @__PURE__ */ r(\"span\", { className: I.label, children: c })\n    ] });\n    return n ? /* @__PURE__ */ r(\"span\", { ...e, children: s }) : e.href ? /* @__PURE__ */ r(\"a\", { ...e, children: s }) : /* @__PURE__ */ r(\"button\", { ...e, children: s });\n  }\n);\nexport {\n  L as Link\n};\n//# sourceMappingURL=Link.js.map\n","import styles from './PauseIcon.module.scss'\n\nexport const PauseIcon = ({ fillRect }: { fillRect: string }) => {\n    return (\n        <span className={styles.pauseIcon}>\n            <svg\n                xmlns=\"http://www.w3.org/2000/svg\"\n                width=\"24\"\n                height=\"24\"\n                viewBox=\"0 0 24 24\"\n                fill={fillRect}>\n                <path d=\"M5 2h5v20H5V2ZM14 2h5v20h-5V2Z\"></path>\n            </svg>\n        </span>\n    )\n}\n","import styles from './PlayIcon.module.scss'\n\nexport const PlayIcon = ({\n    fillRect,\n    size = 96\n}: {\n    fillRect: string\n    size?: number\n}) => {\n    return (\n        <span className={styles.playIcon} style={{ height: size, width: size }}>\n            <svg\n                xmlns=\"http://www.w3.org/2000/svg\"\n                width=\"24\"\n                height=\"24\"\n                viewBox=\"0 0 24 24\"\n                fill={fillRect}>\n                <path\n                    fillRule=\"evenodd\"\n                    d=\"M4.5 1.5v21L21 12 4.5 1.5Z\"\n                    clipRule=\"evenodd\"></path>\n            </svg>\n        </span>\n    )\n}\n","import { Icon } from '@nespresso-design-system/components'\nimport styles from './ExpandableButton.module.scss'\n\n// TODO: This component should ideally be inside DS repo, and not as a standalone component in here.\n\nconst ExpandableButton = ({\n    icon = '24/symbol/chevron-right',\n    href = '',\n    label = '',\n    variant = 'light',\n    iconPosition = 'trailing',\n    onClick\n}) => {\n    return (\n        <a\n            onClick={onClick}\n            href={href}\n            className={`${styles.expandableButton} ${styles['expandableButton__variant--' + variant]} ${styles['expandableButton__icon--' + iconPosition]}`}>\n            {iconPosition === 'leading' ? <ButtonText label={label} /> : null}\n\n            <div className={styles.expandableButtonIcon}>\n                <Icon icon={icon} method=\"mask\" />\n            </div>\n\n            {iconPosition === 'trailing' ? <ButtonText label={label} /> : null}\n        </a>\n    )\n}\n\nconst ButtonText = ({ label }) => {\n    return <div className={styles.expandableButtonText}>{label}</div>\n}\n\nexport default ExpandableButton\n","import { PauseIcon } from '@commons/icons/pause-icon/PauseIcon'\nimport { PlayIcon } from '@commons/icons/play-icon/PlayIcon'\nimport { ButtonIcon, ButtonRefs } from '@nespresso-design-system/components'\nimport { useRef, useState, useEffect } from 'preact/hooks'\nimport './Video.scss'\nimport ExpandableButton from '@commons/expandable-button/ExpandableButton'\nconst reducedMotion = window.matchMedia(\n    '(prefers-reduced-motion: reduce)'\n).matches\n\ntype VideoProps = {\n    url: string\n    auto_play?: boolean\n    hasModal?: boolean\n    onVideoClick?: () => void\n    className?: string\n}\n\nconst Video = ({\n    url,\n    button = null,\n    auto_play = false,\n    hasModal = false,\n    onVideoClick,\n    className = ''\n}: VideoProps) => {\n    const [isPlaying, setIsPlaying] = useState(auto_play && !reducedMotion)\n    const videoRef = useRef(null)\n    const ctaRef = useRef<ButtonRefs>(null)\n\n    if (!url) {\n        return null\n    }\n\n    const togglePlayPause = () => {\n        const videoElement = videoRef.current\n\n        if (isPlaying) {\n            videoElement.pause()\n        } else {\n            videoElement.play()\n        }\n\n        setIsPlaying(!isPlaying)\n    }\n\n    useEffect(() => {\n        const videoElement = videoRef.current\n        if (reducedMotion) {\n            videoElement.pause()\n        }\n    }, [reducedMotion])\n\n    return (\n        <div className={`video-container ${className}`}>\n            <video ref={videoRef} playsInline autoPlay={auto_play} muted loop>\n                <source src={url} type=\"video/mp4\"></source>\n            </video>\n\n            {!hasModal ? (\n                <button\n                    id=\"autoplay-toggle\"\n                    className=\"video-play-button\"\n                    aria-pressed={isPlaying}\n                    aria-label=\"play/pause\"\n                    onClick={togglePlayPause}>\n                    <span>\n                        {isPlaying ? (\n                            <PauseIcon fillRect=\"white\" />\n                        ) : (\n                            <PlayIcon fillRect=\"white\" size={24} />\n                        )}\n                    </span>\n                </button>\n            ) : (\n                <span className=\"video-open-button\">\n                    <ExpandableButton\n                        onClick={onVideoClick}\n                        ref={ctaRef}\n                        {...button}\n                    />\n                </span>\n            )}\n        </div>\n    )\n}\n\nexport default Video\n","import type { AddEventListenerOptions } from 'dom'\n\nexport type EventListener = {\n    element: HTMLElement\n    type: string\n    listener: (e: Event) => void\n    options?: boolean | AddEventListenerOptions\n}\n/**\n * @deprecated\n * Use \"\\@content/helpers/src/event-queue\", this implementation has race conditions\n */\nconst add = (eventListeners: EventListener[] = []) => {\n    eventListeners.forEach(eventListener => {\n        if (!eventListener || !eventListener.element) {\n            return\n        }\n        return eventListener.element.addEventListener(\n            eventListener.type,\n            eventListener.listener,\n            eventListener.options\n        )\n    })\n}\n/**\n * @deprecated\n * Use \"\\@content/helpers/src/event-queue\", this implementation has race conditions\n */\nconst remove = (eventListeners: EventListener[] = []) => {\n    eventListeners.forEach(eventListener => {\n        if (!eventListener || !eventListener.element) {\n            return\n        }\n        eventListener.element.removeEventListener(\n            eventListener.type,\n            eventListener.listener\n        )\n    })\n}\n\nconst busNamespace = 'pageBuilder'\n/**\n * @deprecated\n * Use \"\\@content/helpers/src/event-queue\", this implementation has race conditions\n */\nexport const emitCustomEvent = (eventName: string, data: unknown) => {\n    const customEvent = new CustomEvent(`${busNamespace}.${eventName}`, {\n        detail: data,\n        bubbles: true,\n        cancelable: true,\n        composed: false\n    })\n\n    window.dispatchEvent(customEvent)\n}\n/**\n * @deprecated\n * Use \"\\@content/helpers/src/event-queue\", this implementation has race conditions\n */\nexport default { add, emitCustomEvent, remove }\n","export { waitForSelector } from './waitForSelector'\n\nexport const constants = {\n    LEFT: 37,\n    UP: 38,\n    RIGHT: 39,\n    DOWN: 40,\n    ESC: 27,\n    SPACE: 32,\n    ENTER: 13,\n    TAB: 9\n}\n\nexport function capitalize(s = '') {\n    return s[0].toUpperCase() + s.slice(1)\n}\n\nexport const convertToCamelCase = (str: string): string => {\n    const arr = str.match(/[a-z]+|\\d+/gi)\n    if (!arr) {\n        return str\n    }\n    return arr\n        .map((m, i) => {\n            let low = m.toLowerCase()\n            if (i !== 0) {\n                low = low\n                    .split('')\n                    .map((s, k) => (k === 0 ? s.toUpperCase() : s))\n                    .join('')\n            }\n            return low\n        })\n        .join('')\n}\n\nexport function slug(s = '') {\n    return s\n        .toLowerCase()\n        .trim()\n        .replace(/\\s+/g, '-') // Replace spaces with -\n        .replace(/[^\\w-]+/g, '') // Remove all non-word chars\n        .replace(/--+/g, '-') // Replace multiple - with single -\n}\n\nexport function pxToEm(target: number, stripedInnerFontSize = 1) {\n    return target / 14 / stripedInnerFontSize + 'em'\n}\n\nexport function percent(target: number) {\n    return target + '%'\n}\n\nexport function parseHTML(str: string) {\n    const tmp = document.implementation.createHTMLDocument('')\n    tmp.body.innerHTML = str\n    return tmp.body.childNodes\n}\n\nexport function stripHTML(str: string) {\n    const tmp = document.implementation.createHTMLDocument('')\n    tmp.body.innerHTML = str\n    return (tmp.body.textContent ?? '').replace(RegExp('[\\\\s|\\'|\"]', 'g'), '')\n}\n\nexport function makeId(length: number) {\n    var result = ''\n    var characters =\n        'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'\n    var charactersLength = characters.length\n    for (var i = 0; i < length; i++) {\n        result += characters.charAt(\n            Math.floor(Math.random() * charactersLength)\n        )\n    }\n    return result\n}\n\nexport function removeEmptyValues(obj: { [key: string]: any }): {\n    [key: string]: any\n} {\n    for (let key in obj) {\n        if (obj[key] === null || obj[key] === undefined || obj[key] === '') {\n            delete obj[key]\n        }\n    }\n\n    return obj\n}\n\nexport function makeHash(str: string) {\n    var hash = 0,\n        i,\n        chr\n    if (!str) {\n        return hash\n    }\n    for (i = 0; i < str.length; i++) {\n        chr = str.charCodeAt(i)\n        hash = (hash << 5) - hash + chr\n        hash |= 0 // Convert to 32bit integer\n    }\n    return 'id-' + hash\n}\n\nexport function getHashLink(link: string) {\n    let linkHash = link\n    let linkNoHash = link\n    if (link.indexOf('#') !== -1) {\n        linkNoHash = link.replace('#', '')\n    } else {\n        linkHash = '#' + link\n    }\n\n    return { linkNoHash, linkHash }\n}\n\nexport function lazyLoad(\n    node: Element,\n    attribute: string,\n    value: any,\n    url: string\n) {\n    const CLASSNAME_OUT_OF_SCREEN = 'lazy-load'\n    const CLASSNAME_IN_SCREEN = 'lazy-loaded'\n    const CLASSNAME_ON_ERROR = 'lazy-loaded-error'\n\n    const isOldIOS = () => {\n        var agent = window.navigator.userAgent,\n            start = agent.indexOf('OS ')\n        if (\n            (agent.indexOf('iPhone') > -1 || agent.indexOf('iPad') > -1) &&\n            start > -1\n        ) {\n            return (\n                window.Number(agent.substr(start + 3, 3).replace('_', '.')) < 14\n            )\n        }\n        return false\n    }\n\n    const inViewPort = (attribute: string, value: any) => {\n        node.setAttribute(attribute, value)\n\n        const cb = () => node.classList.add(CLASSNAME_IN_SCREEN)\n\n        if (url) {\n            const img = new Image()\n            img.src = url\n            img.onload = cb\n            img.onerror = () => {\n                cb()\n                node.classList.add(CLASSNAME_ON_ERROR)\n                throw new Error(`Image ${url} cannot be loaded`)\n            }\n\n            return\n        }\n\n        cb()\n    }\n\n    if (/Trident\\/|MSIE/.test(window.navigator.userAgent) || isOldIOS()) {\n        inViewPort(attribute, value)\n    } else {\n        if ('IntersectionObserver' in window) {\n            node.classList.add(CLASSNAME_OUT_OF_SCREEN)\n            let lazyBackgroundObserver = new IntersectionObserver(function (\n                entries\n            ) {\n                entries.forEach(function (entry) {\n                    if (entry.isIntersecting) {\n                        inViewPort(attribute, value)\n                        lazyBackgroundObserver.unobserve(entry.target)\n                    }\n                })\n            })\n            lazyBackgroundObserver.observe(node)\n        } else {\n            inViewPort(attribute, value)\n        }\n    }\n}\n\nexport function lazyLoadCallback(node: Element, cb: () => void) {\n    const isOldIOS = () => {\n        var agent = window.navigator.userAgent,\n            start = agent.indexOf('OS ')\n        if (\n            (agent.indexOf('iPhone') > -1 || agent.indexOf('iPad') > -1) &&\n            start > -1\n        ) {\n            return (\n                window.Number(agent.substr(start + 3, 3).replace('_', '.')) < 14\n            )\n        }\n        return false\n    }\n\n    if (/Trident\\/|MSIE/.test(window.navigator.userAgent) || isOldIOS()) {\n        cb()\n    } else {\n        if ('IntersectionObserver' in window) {\n            let lazyBackgroundObserver = new IntersectionObserver(\n                function (entries) {\n                    entries.forEach(function (entry) {\n                        if (entry.isIntersecting) {\n                            cb()\n                            lazyBackgroundObserver.unobserve(entry.target)\n                        }\n                    })\n                },\n                { rootMargin: '150% 0px' }\n            )\n            lazyBackgroundObserver.observe(node)\n        }\n    }\n}\n\n// Debounce\nexport function debounce<T>(func: () => void, time = 100) {\n    let timer: number\n    return function (event: T) {\n        if (timer) {\n            window.clearTimeout(timer)\n        }\n        timer = window.setTimeout(func, time, event)\n    }\n}\n\n// isIE - to check for internet explorer\nexport function isIE() {\n    let ua = window.navigator.userAgent,\n        isIE = /MSIE|Trident/.test(ua)\n\n    return isIE\n}\n\n// Load external script\nexport const loadExternalScript = ({\n    src,\n    callback = null,\n    async = false,\n    defer = false,\n    module = false,\n    id = ''\n}: {\n    src: string\n    callback: null | GlobalEventHandlers['onload'] // eslint-disable-line no-undef\n    module: boolean\n    defer: boolean\n    async: boolean\n    id: string\n}) => {\n    const script = document.createElement('script')\n    script.type = module ? 'module' : 'text/javascript'\n    script.src = src\n    id ? (script.id = id) : false // add id attribute only if passed\n    if (typeof callback === 'function') {\n        script.onload = callback\n    }\n    script.async = async\n    script.defer = defer\n    document.body.appendChild(script)\n}\n\n// Load external css\nexport const loadExternalCss = ({ src }: { src: string }) => {\n    const script = document.createElement('link')\n    script.rel = 'stylesheet'\n    script.href = src\n    document.body.appendChild(script)\n}\n// Lazy load vendor script\nexport const lazyLoadVendorScript = (handler, el) => {\n    const observer = new IntersectionObserver(handler)\n    observer.observe(el)\n}\n\n/**\n * Replaces variable inside a given string\n * Each variable have to be enclosed between stChr and enChr\n * The values have to be contained in the vars object, they key must match\n * example :\n * txt : 'See {resultsLength} Results'\n * vars : {resultsLength:'30'}\n * stChr : '{'\n * enChr : '}'\n *\n * will return : 'See 30 Results'\n *\n * @param {string} txt\n * @param {object} vars\n * @param {string} stChr\n * @param {string} enChr\n */\nexport function interpolate(\n    txt: string,\n    vars: Record<string, null | undefined | string>,\n    stChr: string,\n    enChr: string\n) {\n    let curIdx = 0\n\n    while (txt) {\n        const stIdx = txt.indexOf(stChr, curIdx)\n        if (stIdx === -1) {\n            break\n        }\n        const enIdx = txt.indexOf(enChr, stIdx + 1)\n        if (enIdx === -1) {\n            break\n        }\n        const hashId = txt.substring(stIdx + stChr.length, enIdx)\n        if (vars[hashId] != null) {\n            txt =\n                txt.substr(0, stIdx) +\n                vars[hashId] +\n                txt.substr(enIdx + enChr.length)\n            curIdx = stIdx\n        } else {\n            curIdx = enIdx\n        }\n    }\n    return txt\n}\n\n/**\n * Find in container element, add height to equal size of element\n * @param container css path where my element is contain e.g. `.c-container`\n * @param el css path of elements to equalized\n */\nexport const equalHeight = (\n    containerSelector: string,\n    el: string,\n    elementScope: HTMLElement\n) => {\n    const container = elementScope.querySelector<HTMLElement>(containerSelector)\n    if (!container) {\n        return\n    }\n\n    const items = container.querySelectorAll<HTMLElement>(el)\n    let max = -1\n\n    for (let i = 0; i < [...items].length; i++) {\n        const item = [...items][i]\n        let h = item.offsetHeight\n        max = h > max ? h : max\n    }\n\n    if (max <= 0) {\n        return\n    }\n\n    for (let i = 0; i < [...items].length; i++) {\n        const item = [...items][i]\n        item.style.height = `${max}px`\n    }\n}\n\nexport const stringifyCurlyQuote = (data: {}) =>\n    JSON.stringify(data).replace(\"'\", '’')\n\nexport const stringifyForAttribute = (data = {}) => {\n    return escapeHtml(JSON.stringify(data))\n}\n\n/**\n * This function is included instead of sanitizeString because for\n * inserting HTML into innerHTML we need to make sure all HTML\n * entities are escaped.\n */\nexport const escapeHtml = (text: string) => {\n    const map = {\n        '&': '&amp;',\n        '<': '&lt;',\n        '>': '&gt;',\n        '\"': '&quot;',\n        \"'\": '&#039;'\n    } as { [s: string]: string }\n\n    return text.replace(/[&<>\"']/g, m => map[m])\n}\n\n/**\n * Because setting attributes escapes more than the characters above and then preact also\n * escapes text we need a more complete way of unescaping all html entities (not just the ones\n * above)\n */\nconst domParser = new DOMParser()\nexport const unescapeHtml = (text: string) => {\n    return domParser.parseFromString(text, 'text/html').body.textContent\n}\n\nexport const sanitizeString = (data: {}) => {\n    if (!data) {\n        return ''\n    }\n\n    return data.toString().replace(/\"/g, '&quot;').replace(/'/g, '&apos;')\n}\n\nexport const stripTags = (s: string) => {\n    return (s || '').replace(/(<([^>]+)>)/gi, '')\n}\n\nexport const setAttributes = (element: Element, attrs: Record<string, any>) => {\n    for (let key in attrs) {\n        element.setAttribute(key, attrs[key])\n    }\n    return element\n}\n\nexport const getMetaContent = (metaName: string) => {\n    const metaTag = document.querySelector(`meta[name=${metaName}]`)\n    if (!metaTag) {\n        return ''\n    }\n    return metaTag.getAttribute('content')\n}\n\nexport const isObjectEmpty = (obj: {}) => {\n    return Object.keys(obj).length === 0\n}\n\nexport function getPBProps<T>(data: string): T {\n    try {\n        return data ? (JSON.parse(data) as T) : ({} as T)\n    } catch (error) {\n        console.error('Invalid \"data\" attribute', error)\n        return {} as T\n    }\n}\n","import { getProduct } from '@content/helpers/src/catalog'\nimport { emitCustomEvent } from './events.helpers'\nimport { removeEmptyValues } from './utils'\n\nconst raisedByPB = 'page builder'\nconst raisedByWC = 'Web component'\n\n/**\n *\n * helper method for 'customEvent' GTM event\n * @param {*} args (event, eventRaisedBy, eventCategory, eventAction, eventLabel, nonInteraction)\n */\n\nexport const customEvent = args => {\n    window.gtmDataObject = window.gtmDataObject || []\n    var eventData\n    if (args.event_GA4 === undefined || args.event_GA4 === false) {\n        eventData = {\n            event: 'customEvent',\n            eventRaisedBy: raisedByWC,\n            eventCategory: 'User Engagement',\n            eventAction: 'Click',\n            eventLabel: '',\n            nonInteraction: 0,\n            ...args\n        }\n    } else {\n        eventData = {\n            event_raised_by: raisedByPB,\n            ...args\n        }\n    }\n    window.gtmDataObject.push(eventData)\n    emitCustomEvent('customEvent', eventData)\n}\n\n/**\n * Helper method for tracking component interactions, compatible with GA4.\n *\n * @param {String} creative : component raising the event, e.g. 'before_coffees_list', 'before_machines_list', 'before_accessories_list'\n * @param {String} actionType : description of the interaction, e.g 'pdp quick view'\n * @param {String} internationalId : long SKU, e.g. 'erp.pt.b2c/prod/7243.30'\n * @param {String} internationalName : international name of the product, e.g. 'Vertuo Carafe Pour-Over Style Mild'\n * @param {String} productType : type of product, i.e. 'capsule', 'machine', 'accessory'\n * @param {String} range : product range, e.g. 'ispirazione italiana'\n * @param {String} technology : technology, i.e. 'original', 'vertuo'\n * @param {Number} price : price, e.g. .51\n * @param {String} eventAction : description of the action, e.g. 'PDP Quick View'\n *\n * Initally created for PDP Quick View tracking:\n * https://dsu-confluence.nestle.biz/display/DIANA/BEFORE+-+PDP+Quick+View\n * Will probably be rolled out across all components, update this comment accordingly.\n */\nexport const trackComponentInteraction = ({\n    creative = '',\n    actionType = '',\n    internationalId = '',\n    internationalName = '',\n    productType = '',\n    technology = '',\n    category = '',\n    rawPrice = '',\n    eventAction = ''\n}) => {\n    window.gtmDataObject = window.gtmDataObject || []\n    const eventData = {\n        event: 'page_builder_component_interaction',\n        event_raised_by: raisedByPB,\n        component_name: creative,\n        action_type: actionType,\n        item_id_event: internationalId,\n        item_name_event: internationalName,\n        item_category_event: productType,\n        item_technology_event: technology,\n        item_range_event: category,\n        item_price_event: rawPrice,\n        eventCategory: 'User Engagement',\n        eventAction: eventAction,\n        eventLabel: `${productType} - ${technology} - ${internationalName}`\n    }\n    window.gtmDataObject.push(eventData)\n    emitCustomEvent('page_builder_component_interaction', eventData)\n}\n\n/**\n *\n * helper method for 'impression' GTM event\n * @param {*} args (event, eventRaisedBy, eventAction, ecommerce)\n */\nexport const impression = args => {\n    window.gtmDataObject = window.gtmDataObject || []\n    const eventData = {\n        event: 'impression',\n        eventRaisedBy: raisedByPB,\n        eventAction: 'Promo Impression',\n        ecommerce: {},\n        ...args\n    }\n    window.gtmDataObject.push(eventData)\n    emitCustomEvent('impression', eventData)\n}\n\n/**\n *\n * Push 'view_promotion' event for GA 4\n * @param {*} args (event, event_raised_by, ecommerce: {promotion_id, promotion_name, creative_slot, creative_name})\n */\nexport const viewPromotion = args => {\n    const event = 'view_promotion'\n    const eventData = {\n        event,\n        event_raised_by: raisedByPB,\n        ecommerce: {}\n    }\n    if (Object.keys(args).length) {\n        const {\n            id = undefined,\n            creative = undefined,\n            name = undefined,\n            position = undefined\n        } = args\n        let ecommerceData = {\n            promotion_id: id,\n            promotion_name: name,\n            creative_slot: position,\n            creative_name: creative\n        }\n        ecommerceData = removeEmptyValues(ecommerceData)\n        eventData.ecommerce = ecommerceData\n    }\n    window.gtmDataObject ??= []\n    window.gtmDataObject.push(eventData)\n    emitCustomEvent(event, eventData)\n}\n\n/**\n *\n * helper method for 'promoClick' GTM event\n * @param {*} args (event, eventRaisedBy, eventCategory, eventAction, ecommerce, cta_name)\n */\nexport const promoClick = args => {\n    window.gtmDataObject = window.gtmDataObject || []\n    const eventData = {\n        event: 'promoClick',\n        eventRaisedBy: raisedByPB,\n        ecommerce: {},\n        ...args,\n        cta_name: args?.cta_name ?? '(not set)'\n    }\n    window.gtmDataObject.push(eventData)\n    emitCustomEvent('promoClick', eventData)\n}\n\n/**\n *\n * Push 'select_promotion' event for GA 4\n * @param {*} args (event, event_raised_by, cta_name, ecommerce: {promotion_id, promotion_name, creative_slot, creative_name})\n */\nexport const selectPromotion = args => {\n    const event = 'select_promotion'\n    const eventData = {\n        event: 'select_promotion',\n        cta_name: args?.cta_name ?? '(not set)',\n        event_raised_by: raisedByPB,\n        ecommerce: {}\n    }\n    if (Object.keys(args).length) {\n        const {\n            id = undefined,\n            creative = undefined,\n            name = undefined,\n            position = undefined\n        } = args\n        let ecommerceData = {\n            promotion_id: id,\n            promotion_name: name,\n            creative_slot: position,\n            creative_name: creative\n        }\n        ecommerceData = removeEmptyValues(ecommerceData)\n        eventData.ecommerce = ecommerceData\n    }\n    window.gtmDataObject ??= []\n    window.gtmDataObject.push(eventData)\n    emitCustomEvent(event, eventData)\n}\n\nexport const interactionClick = (nameComponent, ctaName) => {\n    window.gtmDataObject = window.gtmDataObject || []\n    const eventData = {\n        event: 'page_builder_component_interaction',\n        event_raised_by: raisedByPB,\n        eventCategory: 'User Engagement',\n        eventAction: 'Click CTA',\n        eventLabel: `Page Builder - ${nameComponent} - ${ctaName}`,\n        component_name: nameComponent,\n        action_type: 'web component click',\n        cta_name: ctaName\n    }\n    window.gtmDataObject.push(eventData)\n    emitCustomEvent('page_builder_component_interaction', eventData)\n}\n\nexport const componentInteraction = (component_name, action_type, cta_name) => {\n    const event = 'page_builder_component_interaction'\n    const eventData = {\n        event,\n        event_raised_by: raisedByPB,\n        component_name: component_name,\n        action_type: action_type,\n        cta_name: cta_name\n    }\n\n    window.gtmDataObject ??= []\n    window.gtmDataObject.push(eventData)\n    emitCustomEvent(event, eventData)\n}\n\nexport const getProductInfo = async (sku, data) => {\n    let product = data\n    if (!product) {\n        product = await getProduct(sku)\n    }\n    return product\n}\n\nexport const getProductPayload = (data, actionField = {}) => {\n    const {\n        internationalName,\n        internationalId,\n        category,\n        unitPrice,\n        legacyId,\n        name,\n        technologies,\n        bundled,\n        inStock,\n        type\n    } = data\n\n    const technology = technologies.map(item => item.split('/').pop()).join('|')\n    const isDiscovery = category.toLowerCase().includes('discovery')\n\n    return [\n        // Array consists of one product details for PDP Product Detail View\n        {\n            ...actionField,\n            name: internationalName, // '[[International Product Name]]' NIE, Contract\n            id: internationalId, // '[[International Product ID]]'\n            price: unitPrice, // '[[Product Price]'\n            // dimension43: '[[true/false]]', // '[[true/false]]' // Signifies if this product is part of a standing order or not\n            dimension44: isDiscovery.toString(), // '[[true/false]]', // Signifies if this product is part of a discovery offer\n            dimension53: legacyId, // '[[Product Local market ID]]', // Local market id for product\n            dimension54: name, // '[[Product Local market Name]]', // Local market name for product\n            dimension55: category, // '[[Product Range]]', // Range of the product, eg: Barista Creations for Ice (Nessoft Category)\n            dimension56: technology, // '[[Product Technology]]', //Product technology according to Nespresso categorization (original, vertuo, pro)\n            dimension57: bundled ? 'bundle' : 'single', // '[[Product Type]]', //If the product is single or bundle\n            dimension192: inStock ? 'in stock' : 'out of stock', // '[in stock]', // \"in stock\" or \"out of stock\"\n            category: type, // '[[Product Category]]', //Product category according to Nespresso categorization (Nessoft type): capsule, accessory, machine\n            brand: 'Nespresso' // Static value set to Nespresso\n        }\n    ]\n}\n\nexport const trackDetailView = async (sku, data) => {\n    // https://dsu-confluence.nestle.biz/display/DIANA/HQ+PB+Tracking+-+Product+Detail+View\n    if (window.pbTrackDetailViewPDP || !sku || !window.napi) {\n        return\n    }\n\n    const productInfo = await getProductInfo(sku, data)\n    const productPayload = getProductPayload(productInfo)\n    const currency = productInfo.currency\n\n    window.gtmDataObject = window.gtmDataObject || []\n    const eventData = {\n        event: 'detailView',\n        currencyCode: currency,\n        eventRaisedBy: raisedByPB,\n        ecommerce: {\n            detail: {\n                actionField: {},\n                products: productPayload\n            }\n        }\n    }\n    window.gtmDataObject.push(eventData)\n    // Track only once per page\n    window.pbTrackDetailViewPDP = true\n    emitCustomEvent('detailView', eventData)\n}\n\nexport const trackAddToCartImpression = (product, isStickyBar) => {\n    // https://dsu-confluence.nestle.biz/pages/viewpage.action?spaceKey=DIANA&title=PDP+-+Sticky+Add+To+Cart+Custom+Event\n\n    window.gtmDataObject = window.gtmDataObject || []\n    const eventData = {\n        event: 'page_builder_component_interaction',\n        event_raised_by: raisedByPB,\n        component_name: 'before_sku_main_info',\n        action_type: isStickyBar\n            ? 'sticky add to cart impression'\n            : 'standard add to cart impression',\n        //product info\n        item_id_event: product.internationalId,\n        item_name_event: product.internationalName,\n        item_category_event: product.type,\n        item_price_event: product.price_per_capsule?.split(' ')[0],\n        item_market_id_event: product.legacyId,\n        item_market_name_event: product.name,\n        item_range_event: product.category_name,\n        item_technology_event:\n            product.technology?.[0]?.split('/').slice(-1) ?? '',\n        item_type_event: product.bundled ? 'bundle' : 'single'\n    }\n    window.gtmDataObject.push(eventData)\n    emitCustomEvent('page_builder_component_interaction', eventData)\n}\n\nexport const productImpression = async (position, list, sku, data) => {\n    // https://dsu-confluence.nestle.biz/pages/viewpage.action?pageId=225612781\n    // don't track already tracked products\n    window.gtmDataObject = window.gtmDataObject || []\n    const hasDetailView = window.gtmDataObject.find(\n        item => item.event === 'detailView'\n    )\n    const alreadyTracked = !!hasDetailView?.ecommerce?.detail?.products.find(\n        p => sku.includes(p.id)\n    )\n    if (alreadyTracked) {\n        return\n    }\n\n    const productInfo = await getProductInfo(sku, data)\n    const productPayload = getProductPayload(productInfo, {\n        list: list,\n        position: position\n    })\n    const currency = productInfo.currency\n    const eventData = {\n        event: 'impression',\n        eventAction: 'Product Impression',\n        currencyCode: currency,\n        eventRaisedBy: raisedByPB,\n        ecommerce: {\n            impressions: productPayload\n        }\n    }\n    window.gtmDataObject.push(eventData)\n    emitCustomEvent('impression', eventData)\n}\n\nexport const productClick = async (position, list, sku, data) => {\n    // https://dsu-confluence.nestle.biz/pages/viewpage.action?pageId=225612781\n\n    if (typeof list !== 'string') return\n\n    const productInfo = await getProductInfo(sku, data)\n    const productPayload = getProductPayload(productInfo, {\n        position: position\n    })\n    const currency = productInfo.currency\n\n    window.gtmDataObject = window.gtmDataObject || []\n    const eventData = {\n        event: 'productClick',\n        eventAction: 'Product Click',\n        currencyCode: currency,\n        eventRaisedBy: raisedByPB,\n        ecommerce: {\n            click: {\n                actionField: {\n                    list: list\n                },\n                products: productPayload\n            }\n        }\n    }\n    window.gtmDataObject.push(eventData)\n    emitCustomEvent('productClick', eventData)\n}\n\nexport function filterTrackingFromPlpFilters(filtersSelected) {\n    const grouped = groupSelectedFilters(filtersSelected)\n    const groupKeys = Object.keys(grouped)\n    const typesFiltersSelected = groupKeys.join('|').substring(0, 99)\n    const valuesFiltersSelected = groupKeys\n        .map(key => grouped[key].values.join(','))\n        .join('|')\n        .substring(0, 99)\n\n    return [typesFiltersSelected, valuesFiltersSelected]\n}\n\nexport const filterActionEvent = (\n    actionType,\n    filterType,\n    filterValues,\n    clickLocation,\n    dataType\n) => {\n    // https://dsu-confluence.nestle.biz/display/DIANA/PLP+-+Filter+Revamp\n    window.gtmDataObject = window.gtmDataObject || []\n    const eventData = getExplicitFilterEventData(\n        actionType,\n        filterType,\n        filterValues,\n        clickLocation\n    )\n\n    window.gtmDataObject.push(eventData)\n    if (window.NEXT_V1_PLP_EXPLICIT_FILTER_TRACKING && dataType) {\n        window.gtmDataObject.push({\n            ...window.NEXT_V1_PLP_EXPLICIT_FILTER_TRACKING,\n            experiment_action: `${actionType} - ${dataType}`,\n            cta_name: 'All filters'\n        })\n    }\n\n    emitCustomEvent('plp_filter', eventData)\n}\n\nconst getExplicitFilterEventData = (\n    actionType,\n    filterType,\n    filterValues,\n    clickLocation\n) => {\n    return {\n        event: 'plp_filter',\n        event_raised_by: raisedByPB,\n        action_type: actionType,\n        filter_type: filterType,\n        ...(filterValues ? { filter_values: filterValues } : {}),\n        ...(clickLocation ? { click_location: clickLocation } : {})\n    }\n}\n\nfunction groupSelectedFilters(filtersSelected = []) {\n    return filtersSelected.reduce((grouped, { key, value }) => {\n        if (!grouped[key]) grouped[key] = { key, values: [] }\n        grouped[key].values.push(value.replaceAll(',', '-'))\n        return grouped\n    }, {})\n}\n\nexport const isGtmTrackingExists = trackingData => {\n    window.gtmDataObject = window.gtmDataObject || []\n\n    return window?.gtmDataObject.some(\n        event =>\n            event.event === trackingData.event &&\n            event.ecommerce?.creative_slot === trackingData.campaign.position &&\n            event.ecommerce?.promotion_id === trackingData.campaign.id &&\n            event.ecommerce?.promotion_name === trackingData.campaign.name &&\n            event.ecommerce?.creative_name === trackingData.campaign.creative\n    )\n}\n","import classNames from 'classnames'\nimport { memo } from 'preact/compat'\n\ntype BannerEventInfoProps = {\n    dateAndTime: string\n    boutiqueLocation: string\n    languages: string\n    desktop?: boolean\n}\n\nconst BannerEventInfo = ({\n    dateAndTime,\n    boutiqueLocation,\n    languages,\n    desktop\n}: BannerEventInfoProps) => (\n    <>\n        {(dateAndTime || boutiqueLocation || languages) && (\n            <div\n                className={classNames('fs-banner__event-info', {\n                    'fs-banner__event-info--desktop': Boolean(desktop)\n                })}>\n                {dateAndTime && <p>{dateAndTime}</p>}\n                {boutiqueLocation && <p>{boutiqueLocation}</p>}\n                {languages && <p>{languages}</p>}\n            </div>\n        )}\n    </>\n)\n\nexport default memo(BannerEventInfo)\n","import './BannerOverlay.scss'\n\nconst BannerOverlay = ({ backgroundColor }: { backgroundColor?: string }) => (\n    <div\n        className=\"fs-banner-overlay\"\n        style={{\n            backgroundColor: backgroundColor ?? 'rgba(0, 0, 0, 0.4)'\n        }}\n    />\n)\n\nexport default BannerOverlay\n","interface ViewportEventConfig {\n    once?: boolean\n    uniqueKey?: string | null\n}\n\ntype IntersectionObserverInit = {\n    root?: Element | null\n    rootMargin?: string\n    threshold?: number | number[]\n}\n\nconst triggeredEvents: Set<string> = new Set()\n\nexport function viewportEvent(\n    element: Element | null,\n    callback: () => void,\n    { once = false, uniqueKey = null }: ViewportEventConfig = {},\n    options: IntersectionObserverInit = { threshold: 0.5 }\n): IntersectionObserver | null {\n    if (!element) {\n        console.error('viewportEvent: Valid DOM element required.')\n        return null\n    }\n\n    if (once && uniqueKey && triggeredEvents.has(uniqueKey)) {\n        return null\n    }\n\n    const observer = new IntersectionObserver((entries, observerInstance) => {\n        entries.forEach(entry => {\n            if (entry.isIntersecting) {\n                if (once && uniqueKey) {\n                    triggeredEvents.add(uniqueKey)\n                }\n                callback()\n                observerInstance.disconnect()\n            }\n        })\n    }, options)\n\n    observer.observe(element)\n    return observer\n}\n","import { CampaignProps } from '@commons/types'\nimport { viewPromotion } from '@content/helpers/src/gtmEvents'\nimport { viewportEvent } from '@content/helpers/src/viewPortEvent'\nimport { useEffect, useRef } from 'preact/hooks'\n\nconst useImpressionTracker = (\n    containerRef,\n    campaign,\n    shouldExecute = true\n): {\n    containerRef: HTMLElement\n    campaign: CampaignProps\n    shouldExecute: boolean\n} => {\n    const hasTrackedRef = useRef(false)\n\n    useEffect(() => {\n        if (\n            !shouldExecute ||\n            hasTrackedRef.current ||\n            !containerRef.current ||\n            !campaign\n        ) {\n            return\n        }\n\n        const uniqueKey = `view_promotion_${Math.random().toString(36).substr(2, 9)}`\n\n        const observer = viewportEvent(\n            containerRef.current,\n            () => {\n                if (!hasTrackedRef.current) {\n                    viewPromotion({ ...campaign })\n                    hasTrackedRef.current = true\n                }\n            },\n            { once: true, uniqueKey }\n        )\n        return () => {\n            observer.disconnect()\n        }\n    }, [campaign])\n\n    return containerRef\n}\n\nexport default useImpressionTracker\n","import '@content/foundations/src/index'\nimport asWebComponent from '../../asWebComponent'\nimport Banner from './Banner'\n\nexport default asWebComponent(Banner, 'nb-banner', ['data'])\n","import type { FunctionComponent } from 'preact'\nimport register from 'preact-custom-element'\nimport type { Ref } from 'preact/hooks'\nimport { useEffect, useRef, useState } from 'preact/hooks'\n\n/**\n * Turns a Preact component into a Web Component,\n * allowing the component to be used in either context\n * @param func A (P)React function component\n * @param tagName The Web Component tag name, like 'my-component'\n * @param observedAttributes Array of element attributes to observe for changes\n * @param options Additional web component options\n * @returns The custom element\n */\nexport default function asWebComponent(\n    func: FunctionComponent<any>,\n    tagName: string,\n    observedAttributes?: string[],\n    options?: { shadow: boolean }\n) {\n    if (customElements.get(tagName)) {\n        return customElements.get(tagName)\n    }\n    register(func, tagName, observedAttributes, options)\n    return customElements.get(tagName)\n}\n\ninterface useCustomElementReturn {\n    immediateChildRef: Ref<any>\n    customElement: HTMLElement | null | undefined\n}\n\n/**\n * Allows access to the Web Component wrapper, from within the Preact Component\n */\nexport function useCustomElement(): useCustomElementReturn {\n    const ref = useRef<any>(null)\n    const [customElement, setCustomElement] = useState(undefined)\n    useEffect(() => {\n        setCustomElement(ref.current?.parentElement)\n    }, [ref])\n\n    return { immediateChildRef: ref, customElement }\n}\n","import { useRef } from 'preact/hooks'\nimport classNames from 'classnames'\nimport { Button, ButtonRefs, Link } from '@nespresso-design-system/components'\n\nimport Video from '@commons/video/Video'\nimport { selectPromotion } from '@content/helpers/src/gtmEvents'\nimport { getPBProps } from '@content/helpers/src/utils'\nimport { BannerPBProps } from './banner.types'\nimport BannerEventInfo from './subcomponents/BannerEventInfo/BannerEventInfo'\nimport BannerOverlay from './subcomponents/BannerOverlay/BannerOverlay'\nimport useImpressionTracker from '@content/helpers/src/hooks/useImpressionTracker'\nimport './Banner.scss'\n\ntype BannerProps = {\n    readonly data: string\n}\n\nconst Banner = ({ data }: BannerProps) => {\n    const pbProps = getPBProps<BannerPBProps>(data)\n    const { campaign, copywriting, layout } = pbProps\n    const ctaRef = useRef<ButtonRefs>(null)\n    const containerRef = useRef(null)\n\n    useImpressionTracker(containerRef, campaign)\n\n    const handleCtaClick = () => {\n        selectPromotion({\n            ...campaign,\n            cta_name: `LINK - 1 - ${copywriting.cta.label}`\n        })\n    }\n\n    const handleLinkClick = () => {\n        selectPromotion({\n            ...campaign,\n            cta_name: `LINK - 2 - ${link.label}`\n        })\n    }\n\n    const {\n        eventAlignment,\n        masterclassAlignment,\n        bannerType,\n        link,\n        prefersContrast\n    } = copywriting\n\n    return (\n        <div\n            ref={containerRef}\n            className=\"fs-banner\"\n            style={\n                !copywriting.video\n                    ? {\n                          backgroundImage: `url(${copywriting.visual.desktop})`\n                      }\n                    : {}\n            }>\n            {copywriting.video && (\n                <Video\n                    url={copywriting.video.url}\n                    auto_play={copywriting.video.auto_play}\n                />\n            )}\n\n            <BannerOverlay\n                backgroundColor={prefersContrast ? 'rgba(0, 0, 0, 0.7)' : null}\n            />\n            <div\n                className={classNames(\n                    'fs-banner__inner',\n                    layout.padding_bottom,\n                    layout.padding_top,\n                    {\n                        'fs-banner__inner--center':\n                            bannerType === 'event' &&\n                            eventAlignment === 'center',\n                        'fs-banner__inner--right':\n                            bannerType === 'masterclass' &&\n                            masterclassAlignment === 'right'\n                    }\n                )}>\n                <div\n                    className={classNames('fs-banner__content', {\n                        'fs-banner__content--masterclass':\n                            bannerType === 'masterclass'\n                    })}>\n                    {bannerType === 'event' ? (\n                        <>\n                            <span className=\"fs-banner__label\">\n                                {copywriting.label}\n                            </span>\n                            <h1>{copywriting.heading}</h1>\n                            <BannerEventInfo {...copywriting.eventInfo} />\n                            <Button\n                                {...copywriting.cta}\n                                ref={ctaRef}\n                                onClick={handleCtaClick}\n                            />\n                            {link?.link && (\n                                <Link\n                                    className=\"fs-banner__link\"\n                                    label={link.label}\n                                    href={link.link}\n                                    onClick={handleLinkClick}\n                                    variant=\"white\"></Link>\n                            )}\n                        </>\n                    ) : (\n                        <>\n                            <div className=\"fs-banner__details\">\n                                <span className=\"fs-banner__label\">\n                                    {copywriting.label}\n                                </span>\n                                <h1>{copywriting.heading}</h1>\n                                <BannerEventInfo {...copywriting.eventInfo} />\n                                <Button\n                                    {...copywriting.cta}\n                                    ref={ctaRef}\n                                    onClick={handleCtaClick}\n                                />\n                                {link?.link && (\n                                    <Link\n                                        className=\"fs-banner__link\"\n                                        label={link.label}\n                                        href={link.link}\n                                        onClick={handleLinkClick}></Link>\n                                )}\n                            </div>\n                            <BannerEventInfo\n                                {...copywriting.eventInfo}\n                                desktop\n                            />\n                        </>\n                    )}\n                </div>\n            </div>\n        </div>\n    )\n}\n\nexport default Banner\n"],"names":["r","Object","assign","bind","t","e","arguments","length","n","o","prototype","hasOwnProperty","call","apply","this","i","a","getChildContext","context","children","keys","indexOf","s","CustomEvent","detail","bubbles","cancelable","dispatchEvent","_vdom","_props","nodeType","data","attributes","l","childNodes","name","value","c","u","d","slot","p","h","nodeName","toLowerCase","_vdomComponent","hasAttribute","_root","replace","toUpperCase","ref","_listener","stopPropagation","addEventListener","removeEventListener","hasOwn","classNames","classes","arg","appendClass","parseValue","Array","isArray","toString","includes","key","newClass","module","exports","default","window","g","E","C","props","isPureReactComponent","shouldComponentUpdate","state","R","__b","type","__f","w","Symbol","for","k","$$typeof","render","isReactComponent","displayName","M","__e","then","__","__c","__k","T","unmount","A","__H","forEach","__P","map","D","__v","appendChild","L","__u","O","__a","U","__R","push","__O","setState","pop","forceUpdate","componentWillUnmount","document","createElement","fallback","V","delete","revealOrder","size","get","Map","reverse","set","componentDidUpdate","componentDidMount","z","B","H","Z","Y","$","test","defineProperty","configurable","writable","J","event","K","Q","cancelBubble","X","defaultPrevented","persist","isPropagationStopped","isDefaultPrevented","nativeEvent","tn","enumerable","class","en","vnode","multiple","selected","defaultValue","className","rn","__r","un","diffed","f","__d","constructor","__i","__source","__self","defaultProps","__esModule","current","mask","I","icon","method","style","$el","split","Number","isNaN","parseFloat","_","m","maskImage","alt","height","loading","src","button","primary","secondary","dark","outline","ghost","leading","large","medium","small","loadingIcon","spin","a11yLabel","a11yTitle","contrast","disabled","iconPosition","isDecorative","isLoading","label","b","variant","y","x","title","N","j","href","String","link","black","subtle","white","hideUnderline","leadingIcon","hasUnderline","PauseIcon","fillRect","_jsx","styles","xmlns","width","viewBox","fill","PlayIcon","fillRule","clipRule","ExpandableButton","onClick","_jsxs","expandableButton","ButtonText","expandableButtonIcon","Icon","expandableButtonText","reducedMotion","matchMedia","matches","Video","url","auto_play","hasModal","onVideoClick","isPlaying","setIsPlaying","useState","videoRef","useRef","ctaRef","useEffect","videoElement","pause","playsInline","autoPlay","muted","loop","id","togglePlayPause","play","emitCustomEvent","eventName","customEvent","composed","removeEmptyValues","obj","undefined","DOMParser","raisedByPB","selectPromotion","args","eventData","cta_name","event_raised_by","ecommerce","creative","position","ecommerceData","promotion_id","promotion_name","creative_slot","creative_name","gtmDataObject","memo","BannerEventInfo","dateAndTime","boutiqueLocation","languages","desktop","_Fragment","BannerOverlay","backgroundColor","triggeredEvents","Set","useImpressionTracker","containerRef","campaign","shouldExecute","hasTrackedRef","uniqueKey","Math","random","substr","observer","viewportEvent","element","callback","once","options","threshold","error","has","IntersectionObserver","entries","observerInstance","entry","isIntersecting","add","disconnect","observe","viewPromotion","asWebComponent","func","tagName","observedAttributes","customElements","Reflect","construct","HTMLElement","shadow","attachShadow","mode","create","connectedCallback","attributeChangedCallback","disconnectedCallback","propTypes","setAttribute","define","Banner","pbProps","JSON","parse","getPBProps","copywriting","layout","handleCtaClick","cta","handleLinkClick","eventAlignment","masterclassAlignment","bannerType","prefersContrast","video","backgroundImage","visual","padding_bottom","padding_top","heading","eventInfo","Button","Link"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11]}