{"version":3,"file":"Login.js","mappings":"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","sources":["webpack://casperComponentProvider/../../../src/components/Login.svelte","webpack://casperComponentProvider/../../../src/components/Cta.svelte","webpack://casperComponentProvider/../../../src/utils/visual.js"],"sourcesContent":["<script>\n import Cta from \"./Cta.svelte\";\n import apiData from \"api-client\";\n import { publicPath } from '../store/central'\n import {DARK_THEME} from \"../utils/utils\"\n import {getVisualComponent} from \"../utils/visual\"\n\n export let theme;\n export let tierLogos = {};\n\n const tracking = {\n trackingType: \"custom-event\",\n id: \"loyalty-banner-login\",\n name: \"Loyalty Banner - Login\"\n }\n\n const tiers = [\"Connoisseur\", \"Expert\", \"Ambassador\"];\n let componentList = {};\n\n let tierIndex = 2;\n let tierLogoVisible = false;\n let tierLogoFadeIn = true;\n let tierLogoReset = false;\n let tierLogoTickDuration = 500;\n\n function tickLogo() {\n window.setTimeout(() => {\n if (!tierLogoVisible && tierLogoFadeIn) {\n //after fade in\n tierLogoVisible = true;\n tierLogoFadeIn = false;\n tierLogoTickDuration = 3000;\n } else if (tierLogoVisible) {\n //fade out\n tierLogoFadeIn = false;\n tierLogoVisible = false;\n tierLogoTickDuration = 500;\n } else if (tierLogoReset === false) {\n //reset\n incrementTierIndex();\n tierLogoReset = true;\n tierLogoTickDuration = 40;\n } else {\n //fade in\n tierLogoReset = false;\n tierLogoFadeIn = true;\n tierLogoVisible = false;\n tierLogoTickDuration = 500;\n }\n tickLogo();\n }, tierLogoTickDuration);\n }\n\n function incrementTierIndex() {\n tierIndex = tierIndex === 2 ? 0 : tierIndex + 1;\n }\n\n $: tierComponent = componentList[tiers[tierIndex]];\n $: tierLogoName = tiers[tierIndex];\n\n let displayTiers = false;\n\n let contentPromise;\n let content;\n contentPromise = getContent();\n\n async function getContent(){\n try{\n content = await apiData.fetchLocalization(\"Login\");\n }catch(e){\n console.log(\"Login - getContent Error\",e);\n }\n if(content.visual === \"biscuits\"){\n insertImageStyle();\n }else if(content.visual === \"tiers\"){\n displayTiers = true;\n const visualComponent = getVisualComponent(tierLogos)\n componentList = {\n Connoisseur: await visualComponent[\"Connoisseur\"](),\n Expert: await visualComponent[\"Expert\"](),\n Ambassador: await visualComponent[\"Ambassador\"]()\n }\n tickLogo();\n }\n return content;\n }\n\n function insertImageStyle(){\n //for production mode local testing\n //const publicPath = \"https://localhost/\"\n const css = window.document.styleSheets[0];\n css.insertRule(`\n .loyaltyBanner {\n background-image: url(\"${publicPath}img/loginImage_L.png\");\n }\n `, css.cssRules.length);\n css.insertRule(`\n @media (max-width: 768px){\n .loyaltyBanner {\n background-image: url(\"${publicPath}img/loginImage_S.png\");\n }\n }\n `, css.cssRules.length);\n }\n\n</script>\n\n<style>\n .darkTheme.loyaltyBanner {\n color: #000;\n background-color: #fff;\n }\n .lightTheme.loyaltyBanner {\n color: #fff;\n background-color: #000;\n }\n .loyaltyBanner {\n letter-spacing: 1px;\n line-height: 24px;\n font-size: 16px;\n font-weight: 300;\n background-repeat: no-repeat;\n background-position: bottom right;\n position: relative;\n }\n .loyaltyTitle{\n color: inherit;\n font-weight: 900;\n font-size: 18px;\n text-transform: uppercase;\n letter-spacing: 3px;\n line-height: 24px;\n }\n .loyaltyLead {\n padding-top: 16px;\n margin-top: 0;\n }\n .loyaltyLinks {\n padding-top: 24px;\n }\n .loyaltyFocus {\n text-align: center;\n }\n\n @media (min-width: 769px) {\n .loyaltyBanner {\n min-height: none;\n padding: 24px 0 24px 32px;\n }\n .loyaltyTitle{\n font-size: 18px;\n letter-spacing: 3px;\n text-align: left;\n }\n .loyaltyLead {\n font-size: inherit;\n text-align: left;\n padding-top: 16px;\n max-width: 58%;\n }\n .loyaltyLinks {\n padding-top: 24px;\n text-align: left;\n }\n .loyaltyFocus {\n margin: 0 21px 0 0;\n position: absolute;\n right: 0;\n top: calc(50% - 25px);\n width: 328px;\n }\n :global(.discoverLogo) {\n height: 53px;\n margin-bottom: 10px;\n }\n .loyaltyLogo {\n height: 50px;\n }\n\n }\n\n @media (max-width: 768px) {\n .loyaltyBanner {\n padding: 24px 15px 24px 15px;\n min-height: 288px;\n /*background-image: url(\"https://localhost/loginImage_S.png\");*/\n background-position: bottom left;\n background-size: 195px auto;\n }\n .loyaltyTitle{\n text-align: center;\n }\n .loyaltyLead {\n padding-top: 8px;\n font-size: 14px;\n text-align: center;\n max-width: none;\n }\n .loyaltyLinks {\n padding-top: 16px;\n text-align: center;\n }\n .loyaltyFocus {\n margin-top: 23px;\n }\n :global(.discoverLogo) {\n height: 32px;\n margin-bottom: 0;\n }\n .loyaltyLogo {\n height: none;\n }\n }\n /* LOGOS TRANSITION */\n :global(.discoverLogo) {\n transform: translateX(0);\n }\n :global(.discoverLogoIn > .discoverLogo) {\n transition: opacity 0.5s linear, transform 0.5s ease-out;\n opacity: 1;\n transform: translateX(0px);\n }\n :global(.discoverLogoOut > .discoverLogo) {\n transition: opacity 0.5s ease, transform 0.5s ease;\n opacity: 0;\n transform: translateX(-20px);\n }\n :global(.discoverLogoReset > .discoverLogo) {\n transition: none;\n transform: translateX(20px);\n opacity: 0;\n }\n /* END LOGOS TRANSITION */\n</style>\n\n{#await contentPromise then content}\n<div\n class=\"loyaltyBanner\"\n class:darkTheme={theme === DARK_THEME}\n class:lightTheme={theme !== DARK_THEME}\n data-promotion-item-id={tracking.id} >\n <h2 level=\"2\" class=\"loyaltyTitle\">\n {@html content.title}\n </h2>\n <p class=\"loyaltyLead\">\n {@html content.description}\n </p>\n <div class=\"loyaltyLinks\">\n {#if content.button && content.button.label}\n <Cta\n role={content.button.render}\n link={content.button.url}\n action={content.button.action}\n trackingLabel={content.button.trackingLabel}\n screenName=\"login\"\n label={content.button.label}\n />\n {/if}\n <Cta\n role={content.link.render}\n link={content.link.url}\n action={content.link.action}\n trackingLabel={content.link.trackingLabel}\n screenName=\"login\"\n label={content.link.label}\n />\n </div>\n {#if displayTiers && componentList[tiers[tierIndex]]}\n <div class=\"loyaltyFocus\">\n <div\n class=\"loyaltyLogo\"\n class:discoverLogoIn={tierLogoFadeIn && !tierLogoReset}\n class:discoverLogoOut={!tierLogoFadeIn && !tierLogoVisible && !tierLogoReset}\n class:discoverLogoReset={tierLogoReset}>\n <svelte:component\n height=\"53\"\n this={tierComponent}\n className={'discoverLogo discoverLogo' + tierLogoName} />\n </div>\n </div>\n {/if}\n</div>\n{/await}\n","<script>\nimport { onMount } from 'svelte';\nimport dataLayer from 'nespresso-library/src/core/dataLayer'\nimport apiData from \"api-client\"\n\nexport let link = \"#\";\nexport let role = \"button\";\nexport let action = \"\";\nexport let trackingLabel = \"\";\nexport let screenName = \"\";\nexport let className = undefined;\nexport let dataPopinId = undefined;\nexport let closeText = \"\";\nexport let label = \"\";\n\ncheckLink();\n\nasync function checkLink(){\n if(link === \"nespresso://preferredPLP\"){\n try{\n var res = await Promise.all([\n apiData.hasVertuo(),\n apiData.preferredTechnoOriginal()\n ])\n }catch(e){\n console.log(\"Cta - getData Error - \",e)\n }\n const hasVertuo = res[0];\n const preferredTechnoOriginal = res[1];\n const baseUrl = 'https://www.nespresso.com/'+dataLayer.country.toLowerCase()+'/'+dataLayer.language.toLowerCase();\n if(hasVertuo){\n if(preferredTechnoOriginal){\n link = baseUrl + '/order/capsules/original';\n }else{\n link = baseUrl + '/order/capsules/vertuo';\n }\n }else{\n link = baseUrl + '/order/capsules';\n }\n }\n}\n\nfunction trackAction(){\n if (!!window.gtmDataObject) {\n const tracking = {\n event: 'promoClick',\n eventRaisedBy: 'Casper Component Provider',\n ecommerce: {\n promoClick: {\n promotions: [{\n id: 'loyalty_banner',\n name: 'Loyalty Banner',\n creative: 'banner - screen '+screenName,\n position: 'click button - '+trackingLabel\n }]\n }\n }\n }\n window.gtmDataObject.push(tracking);\n }\n}\n\nfunction openLogin(){\n if (document.getElementById(\"ta-login-dropdown--not-logged\")) {\n document.getElementById(\"ta-login-dropdown--not-logged\").click();\n }\n}\n\nfunction openChat(){\n if (!!window.dydu && !!window.dydu.chatbox) {\n window.dydu.chatbox.togglePopin(true);\n }else if(window.calleoChat){\n window.calleoChat(\"startChat\")\n }\n}\n\nfunction onClick(e) {\n switch(action){\n case \"trigger-login\" :\n openLogin();\n break;\n case \"trigger-chat\" :\n openChat();\n break;\n case \"trigger-popin\" :\n openLightbox();\n e.preventDefault();\n break;\n default :\n break;\n }\n trackAction();\n if(link === \"#\" || link === \"\"){\n //if link is empty, it must be equal to # to prevent navigating to current Url (refreshing)\n //href attribute being mandatory\n link = \"#\";\n e.preventDefault();\n e.stopPropagation();\n }\n}\n\nfunction openLightbox(){\n const isIE11 = !!window.MSInputMethodContext && !!document.documentMode;\n const doc = document.documentElement;\n const scrollY = (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0);\n const w = window.innerWidth;\n const h = window.innerHeight;\n let popinWidth,popinHeight;\n //768 for ipad\n if(w < 768){\n popinWidth = w;\n popinHeight = h;\n const popin = document.getElementById('creditPopin');\n popin.classList.add('mobile');\n }else{\n popinWidth = 739;\n popinHeight = 'auto';\n }\n document.documentElement.classList.add('g_scrollLock');\n window.$(link).removeAttr('style');\n window.$(link).dialog({\n modal: true,\n closeText: closeText,\n dialogClass: 'creditPopinContainer dark ui-popin',\n title: '',\n width: popinWidth,\n height: popinHeight,\n resizable: false,\n closeOnEscape: true,\n draggable: false,\n clickOutside: true,\n show: {\n effect: \"fadeIn\",\n duration: 300\n },\n hide: {\n effect: \"fadeOut\",\n duration: 300\n },\n open: function() {\n window.$(\".loyaltyClosePopin\").on(\"click\", function(e) {\n window.$(link).dialog(\"close\");\n });\n window.$(\".ui-widget-overlay\").on(\"click\", function() {\n window.$(link).dialog(\"close\");\n }).addClass(\"dark-overlay\");\n },\n close: function() {\n window.$(\".loyaltyClosePopin\").off(\"click\");\n document.documentElement.classList.remove('g_scrollLock');\n window.$(\".ui-widget-overlay\").removeClass(\"dark-overlay\");\n setTimeout(()=>{\n //ugly IE11 hack because hovers are broken after closing dialog\n if(isIE11){\n document.documentElement.style.display = \"\";\n setTimeout(()=>{\n document.documentElement.style.display = \"block\";\n },20);\n }\n setTimeout(function () {\n window.scrollTo(0,scrollY);\n }, 20);\n },20);\n }\n });\n}\n</script>\n\n<a\n class={'cta ' + role + (className ? ' '+className : '')}\n class:ctaLogin={action === \"trigger-login\"}\n data-popin-id={dataPopinId}\n href={link}\n target={action === 'external-link' ? '_blank' : null}\n rel={action === 'external-link' ? 'noopener' : null}\n on:click={onClick}>\n {#if role === 'button'}\n <span class=\"label\">\n {@html label}\n </span>\n {:else}\n {@html label}\n {/if}\n</a>\n\n<style>\n .cta {\n text-align: center;\n cursor: pointer;\n color: inherit;\n display: inline-flex;\n align-items: center;\n vertical-align: middle;\n justify-content: center;\n position: relative;\n margin: 0 23px 0 0;\n transition: color 0.4s, background-color 0.4s, border-color 0.4s;\n }\n .cta * {\n pointer-events: none;\n }\n .cta.popin-trigger {\n position: relative;\n z-index: 10;\n }\n .cta.popin-trigger:before {\n content: \"\";\n position: absolute;\n left: 0;\n top: -12px;\n width: 100%;\n height: 40px;\n }\n .link {\n border: none;\n text-decoration: underline;\n font-size: 16px;\n font-weight: 300;\n letter-spacing: 1px;\n line-height: 24px;\n padding-top: 3px;\n }\n .link:hover {\n text-decoration: none;\n }\n .button.ctaLogin {\n border-color: #8F7247 !important;\n background-color: #8F7247 !important;\n }\n .button.ctaLogin:hover {\n color: #8F7247 !important;\n background-color: #fff !important;\n }\n .button {\n color: #fff;\n font-size: 14px;\n font-weight: bold;\n letter-spacing: 1px;\n line-height: 22px;\n text-decoration: none;\n text-transform: uppercase;\n border-radius: 4px;\n background-color: #3D8705;\n border-color: #3D8705;\n border-style: solid;\n border-width: 2px;\n user-select: none;\n text-align: center;\n min-width: 134px;\n padding: 8px 14px 6px 14px;\n }\n .button:hover {\n color: #3D8705;\n background-color: #fff;\n border-style: solid;\n border-width: 2px;\n border-color: #3D8705;\n }\n .label {\n display: inline-block;\n position: relative;\n background-color: transparent;\n }\n @media (max-width: 768px) {\n .cta:not(.ctaLeft){\n display: table;\n margin: 0 auto;\n }\n .link {\n font-size: 14px;\n padding-top: 13px;\n }\n }\n :global(.g_scrollLock body){\n height: 100vh;\n overflow-y: hidden;\n }\n</style>\n","const defaultLogos = {\n connoisseur: 'VisualConnoisseur',\n expert: 'VisualExpert',\n ambassador: 'VisualAmbassador'\n}\n\nexport function getVisualComponent(tierLogos) {\n const logos = {...defaultLogos, ...tierLogos}\n\n const logoImport = function (name) {\n return async function () {\n const pkg = await import(`../SvgChunk/${name}.svelte`);\n return pkg.default\n }\n }\n\n return {\n Connoisseur: logoImport(logos.connoisseur),\n Expert: logoImport(logos.expert),\n Ambassador: logoImport(logos.ambassador),\n }\n}\n"],"names":["ctx","render","url","action","trackingLabel","label","id","DARK_THEME","getContent","content","displayTiers","visualComponent","getVisualComponent","tierLogos","componentList","Connoisseur","Expert","Ambassador","tickLogo","css","window","apiData","e","console","theme","tiers","tierIndex","tierLogoVisible","tierLogoFadeIn","tierLogoReset","tierLogoTickDuration","contentPromise","$","tierComponent","tierLogoName","trackingType","name","checkLink","res","link","Promise","hasVertuo","preferredTechnoOriginal","baseUrl","dataLayer","role","screenName","className","undefined","dataPopinId","closeText","document","dydu","chatbox","calleoChat","isIE11","MSInputMethodContext","documentMode","doc","documentElement","scrollY","scrollTop","w","innerWidth","h","innerHeight","popinWidth","popinHeight","popin","modal","dialogClass","title","width","height","resizable","closeOnEscape","draggable","clickOutside","show","effect","duration","hide","open","close","setTimeout","gtmDataObject","tracking","event","eventRaisedBy","ecommerce","promoClick","promotions","creative","position","trackAction","defaultLogos","connoisseur","expert","ambassador","logos","logoImport","__variableDynamicImportRuntime0__","pkg"],"sourceRoot":""}