{"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":""}