{"version":3,"sources":["webpack:///./src/assets/js/bootstrap.js","webpack:///node_modules/gvue/src/components/BackgroundVideo/BackgroundVideo.vue","webpack:///./node_modules/gvue/src/components/BackgroundVideo/BackgroundVideo.vue?f18a","webpack:///./node_modules/gvue/src/components/BackgroundVideo/BackgroundVideo.vue","webpack:///node_modules/gvue/src/components/Accordion/CollapseButton.vue","webpack:///./node_modules/gvue/src/components/Accordion/CollapseButton.vue?1729","webpack:///./node_modules/gvue/src/components/Accordion/CollapseButton.vue","webpack:///node_modules/gvue/src/components/Accordion/Collapsible.vue","webpack:///./node_modules/gvue/src/components/Accordion/Collapsible.vue?9c19","webpack:///./node_modules/gvue/src/components/Accordion/Collapsible.vue","webpack:///node_modules/gvue/src/components/Accordion/Accordion.vue","webpack:///./node_modules/gvue/src/components/Accordion/Accordion.vue?4ff6","webpack:///./node_modules/gvue/src/components/Accordion/Accordion.vue","webpack:///node_modules/gvue/src/core/Zone/Zone.vue","webpack:///./node_modules/gvue/src/core/Zone/Zone.vue?6f69","webpack:///./node_modules/gvue/src/core/Zone/Zone.vue","webpack:///node_modules/gvue/src/core/Visual/Visual.vue","webpack:///./node_modules/gvue/src/core/Visual/Visual.vue?560d","webpack:///./node_modules/gvue/src/core/Visual/Visual.vue","webpack:///node_modules/gvue/src/core/Cta/Cta.vue","webpack:///./node_modules/gvue/src/core/Cta/Cta.vue","webpack:///src/components/SubscriptionFaq.vue","webpack:///./src/components/SubscriptionFaq.vue?2f7f","webpack:///./src/components/SubscriptionFaq.vue","webpack:///src/components/SubscriptionHelp.vue","webpack:///./src/components/SubscriptionHelp.vue?943f","webpack:///./src/components/SubscriptionHelp.vue","webpack:///src/components/SubscriptionHero.vue","webpack:///./src/components/SubscriptionHero.vue?4654","webpack:///./src/components/SubscriptionHero.vue","webpack:///src/components/CtaInfo/CtaInfo.vue","webpack:///./src/components/CtaInfo/CtaInfo.vue?7471","webpack:///./src/components/CtaInfo/CtaInfo.vue","webpack:///src/components/SelectionFilters/SelectionFiltersOptions.vue","webpack:///./src/components/SelectionFilters/SelectionFiltersOptions.vue?388d","webpack:///./src/components/SelectionFilters/SelectionFiltersOptions.vue","webpack:///src/components/SelectionFilters/SelectionFiltersPanel.vue","webpack:///./src/components/SelectionFilters/SelectionFiltersPanel.vue?a6f9","webpack:///./src/components/SelectionFilters/SelectionFiltersPanel.vue","webpack:///src/components/SelectionFilters/SelectionFilters.vue","webpack:///./src/components/SelectionFilters/SelectionFilters.vue?8116","webpack:///./src/components/SelectionFilters/SelectionFilters.vue","webpack:///src/components/RadioColor/RadioColor.vue","webpack:///./src/components/RadioColor/RadioColor.vue?ae7a","webpack:///./src/components/RadioColor/RadioColor.vue","webpack:///src/components/SelectionOffer/SelectionOffer.vue","webpack:///./src/components/SelectionOffer/SelectionOffer.vue?2285","webpack:///./src/components/SelectionOffer/SelectionOffer.vue","webpack:///src/components/SubscriptionSelection.vue","webpack:///./src/components/SubscriptionSelection.vue?abf6","webpack:///./src/components/SubscriptionSelection.vue","webpack:///src/components/SubscriptionTestimonials.vue","webpack:///./src/components/SubscriptionTestimonials.vue?602a","webpack:///./src/components/SubscriptionTestimonials.vue","webpack:///src/components/SubscriptionVideo.vue","webpack:///./src/components/SubscriptionVideo.vue?84cd","webpack:///./src/components/SubscriptionVideo.vue","webpack:///node_modules/gvue/src/core/Popin/Scrolls/NaturalScroll.vue","webpack:///./node_modules/gvue/src/core/Popin/Scrolls/NaturalScroll.vue?d4a5","webpack:///./node_modules/gvue/src/core/Popin/Scrolls/NaturalScroll.vue","webpack:///src/components/PopinGuide/PopinGuideStepConfirm.vue","webpack:///./src/components/PopinGuide/PopinGuideStepConfirm.vue?273b","webpack:///./src/components/PopinGuide/PopinGuideStepConfirm.vue","webpack:///src/components/PopinGuide/PopinGuideStepEstimate.vue","webpack:///./src/components/PopinGuide/PopinGuideStepEstimate.vue?3198","webpack:///./src/components/PopinGuide/PopinGuideStepEstimate.vue","webpack:///src/components/PopinGuide/PopinGuideStepReco.vue","webpack:///./src/components/PopinGuide/PopinGuideStepReco.vue?6d6c","webpack:///./src/components/PopinGuide/PopinGuideStepReco.vue","webpack:///src/components/PopinGuide/PopinGuide.vue","webpack:///./src/components/PopinGuide/PopinGuide.vue?76d5","webpack:///./src/components/PopinGuide/PopinGuide.vue","webpack:///src/components/Split/SplitWrapper.vue","webpack:///./src/components/Split/SplitWrapper.vue?c74c","webpack:///./src/components/Split/SplitWrapper.vue","webpack:///src/components/PopinSystem/PopinSystem.vue","webpack:///./src/components/PopinSystem/PopinSystem.vue?3503","webpack:///./src/components/PopinSystem/PopinSystem.vue","webpack:///src/components/PopinTestimonials/PopinTestimonials.vue","webpack:///./src/components/PopinTestimonials/PopinTestimonials.vue?dac0","webpack:///./src/components/PopinTestimonials/PopinTestimonials.vue","webpack:///src/components/SubscriptionView.vue","webpack:///./src/components/SubscriptionView.vue?ad9a","webpack:///./src/components/SubscriptionView.vue","webpack:///./src/router/router.js","webpack:///src/App.vue","webpack:///./src/App.vue?e049","webpack:///./src/App.vue","webpack:///./src/main.js","webpack:///node_modules/gvue/src/core/Popin/Popin.vue","webpack:///./node_modules/gvue/src/core/Popin/Popin.vue?6c8c","webpack:///./node_modules/gvue/src/core/Popin/Popin.vue","webpack:///./src/polyfills/polyfills.js","webpack:///node_modules/gvue/src/core/Grid/GridItem.vue","webpack:///./node_modules/gvue/src/core/Grid/GridItem.vue?b88b","webpack:///./node_modules/gvue/src/core/Grid/GridItem.vue","webpack:///node_modules/gvue/src/core/EmbedVideo/EmbedVideo.vue","webpack:///./node_modules/gvue/src/core/EmbedVideo/EmbedVideo.vue?3207","webpack:///./node_modules/gvue/src/core/EmbedVideo/EmbedVideo.vue","webpack:///node_modules/gvue/src/core/Grid/Grid.vue","webpack:///./node_modules/gvue/src/core/Grid/Grid.vue","webpack:///node_modules/gvue/src/core/Paragraph/Paragraph.vue","webpack:///./node_modules/gvue/src/core/Paragraph/Paragraph.vue","webpack:///node_modules/gvue/src/core/Heading/Heading.vue","webpack:///./node_modules/gvue/src/core/Heading/Heading.vue"],"names":["uniqueCounter","uniqueInt","setInterval","Array","prototype","hasOwnProperty","unique","clearInterval","BackgroundVideo","name","props","id","String","dataLabel","contrast","autoHeight","align","position","mobilePosition","classNames","backgroundImage","Object","parallax","backgroundVideo","autoPlay","Boolean","preload","type","default","displayOnMobile","mute","components","Zone","EmbedVideo","BackgroundVideo_BackgroundVideo","render","_vm","this","_h","$createElement","_c","_self","class","g_backgroundVideo","attrs","staticClass","slot","$breakpoint","isS","ref","content","isBackground","on","onPlay","value","$emit","onReady","$event","_e","_v","_t","staticRenderFns","Component","__webpack_require__","normalizeComponent","ssrContext","__webpack_exports__","CollapseButton","index","Number","required","total","feature","methods","toggle","isOpen","_feature","trackingLabel","title","tracking","customEvent","category","action","label","$landing","trackingLabelPrefix","interaction","Accordion_CollapseButton","g_open","aria-expanded","data-translate","data-of","tabindex","click","_s","components_Accordion_CollapseButton","Collapsible","Accordion_Collapsible","aria-hidden","role","domProps","innerHTML","components_Accordion_Collapsible","Collapsible_normalizeComponent","Accordion","list","limit","data","showAll","created","_this","items","forEach","item","$set","computed","toBeShown","slice","length","accordionId","utils","buttonId","sectionId","showAllFAQ","showLessFAQ","Accordion_Accordion","_l","$index","key","aria-controls","aria-labelledby","showLess","showMore","Accordion_Component","Accordion_normalizeComponent","mixins","validator","constants","indexOf","classNamesBg","classNamesRestrict","classNamesContent","restrict","speed","height","parallaxLoaded","push","hasParallax","e","then","bind","VueParallaxJs","vue_esm","use","minWidth","$parallaxjs","directive","mounted","parallaxRules","css","document","styleSheets","insertRule","Zone_Zone","data-label","directives","rawName","expression","g_parallax","style","backgroundPosition","backgroundSize","size","backgroundColor","color","backgroundAttachment","attachment","$slots","g_content","Visual","src","svg","fontIcon","alt","component","m","Visual_Visual","loading","TXT_SIZES","Cta","sizeMobile","isLink","isBtn","isWhite","isGold","isBuy","isOutline","isHeadline","link","linkMobile","scrollTo","classNameContent","target","handleClick","evt","Promise","resolve","goToAnchor","_scrollTo$split","split","_scrollTo$split2","slicedToArray_default","anchor","duration","parseInt","trackLink","preventDefault","goToLink","window","open","getLink","location","href","hasIcon","icon","dataLayer","isMobile","beforeMount","createElement","_this2","el","span","after","SubscriptionFaq","ZoneTracking","Heading","extends_default","$json","faq","components_SubscriptionFaq","background-image","folder","image","ext","modifiers","sync","level","src_components_SubscriptionFaq","SubscriptionHelp","Paragraph","onPopinOpen","Function","help","components_SubscriptionHelp","getImgUrl","text","is-btn","cta","src_components_SubscriptionHelp","SubscriptionHelp_normalizeComponent","SubscriptionHero","machine","hero","offset","machineTimeline","TimelineLite","showButton","heroVideo","video","machineImage","width","responsiveImages","standard","replace","degrade","userAgent","TweenLite","set","$refs","scale","x","alpha","sticker","button","$el","PADDING","innerHeight","querySelector","offsetHeight","machineWrapper","top","openPopin","promoClick","gtmDataObject","event","ecommerce","promotions","$attrs","creative","addLogoCountry","addStr","_$landing","country","language","onVideoReady","isPlaying","player","play","fromTo","ease","easeOut","onComplete","pause","components_SubscriptionHero","background","auto-play","is-background","images","internationalName","forText","fake","textContent","price","only","data-promotion-item-id","data-promotion-creative","data-promotion-position","data-promotion-name","suffix","subtitle","point","description","active","src_components_SubscriptionHero","SubscriptionHero_normalizeComponent","CtaInfo","onClick","CtaInfo_CtaInfo","components_CtaInfo_CtaInfo","CtaInfo_normalizeComponent","SelectionFiltersOptions","opened","options","optionLabel","selection","config","SelectionFilters_SelectionFiltersOptions","option","disabled","checked","change","for","components_SelectionFilters_SelectionFiltersOptions","SelectionFiltersOptions_normalizeComponent","SelectionFiltersPanel","filterValue","optionsGroup","isOpened","onInfoClick","ctaLabel","getOptionLabel","emitValue","toggleOptions","find","placeholder","SelectionFilters_SelectionFiltersPanel","font-icon","on-click","components_SelectionFilters_SelectionFiltersPanel","SelectionFiltersPanel_normalizeComponent","SelectionFilters","remainingFilters","activeFilters","conso","selSort","sorting","selectedSorting","defaultSort","openedFilter","openedSorting","routeFilter","route","updatedConsumption","consumptionOption","consumption","map","includes","resetFilters","watch","updateConsumptionFilter","updateSorting","filtersReducer","filterKey","defineProperty_default","togglePanel","display","arguments","undefined","toggleSorting","emitFilters","filters","updateSystemFilter","system","SelectionFilters_SelectionFilters","reset","filter-value","options-group","is-opened","on-info-click","components_SelectionFilters_SelectionFilters","SelectionFilters_normalizeComponent","RadioColor","RadioColor_RadioColor","legacyId","colorShade","cssCode","components_RadioColor_RadioColor","RadioColor_normalizeComponent","SelectionOffer","GridItem","Grid","prefix","subscription","showInfo","onSubscribe","selectedSku","sortedColors","formatter","activeMachine","machines","handler","deep","immediate","asyncToGenerator_default","regenerator_default","a","mark","_callee","wrap","_context","prev","next","napi","priceFormat","sent","stop","formatPrice","short","currencySymbol","getDefaultSku","sort","b","inStock","getName","subscriptionId","addSubscription","SelectionOffer_SelectionOffer","pdpURL","model","callback","$$v","periodicFee","feeRecurrence","promoLabel","promotionalPrice","service","outOfStockCta","components_SelectionOffer_SelectionOffer","SelectionOffer_normalizeComponent","SubscriptionSelection","Popin","routeFilters","isFiltering","activeSorting","popinFiltersOpened","swiper","getFiltersFromMachines","filteredMachines","filter","filterMachines","sub","object","splice","sortMachines","concat","toConsumableArray_default","reverse","filteredMachinesLength","filterButtonLabel","results","result","popinCtaLabel","popinCta","some","isMachineVertuo","centeredSlides","spaceBetween","navigation","nextEl","swiperNext","prevEl","swiperPrev","cleanFilters","values_default","every","isFilterInMachine","popularity","machineFilters","getMachinesFilteredBySystem","reduce","uniqueMachineFilters","uniqueFilters","removeSystemFilters","set_default","systemFilters","$root","hasDoubleTech","onFiltersClick","updateFilters","updateSort","updateSwiper","update","setOverlay","state","goToFilters","zone","getBoundingClientRect","pageYOffset","behavior","components_SubscriptionSelection","overlay","remaining-filters","active-filters","sel-sort","tag","after-enter","show-info","on-subscribe","close-label","is-open","src_components_SubscriptionSelection","SubscriptionSelection_normalizeComponent","SubscriptionTestimonials","testimonials","components_SubscriptionTestimonials","row","src_components_SubscriptionTestimonials","SubscriptionTestimonials_normalizeComponent","SubscriptionVideo","isVideoOpen","trackingVideoLabel","playVideo","popinStatus","$nextTick","getTrackingTitle","components_SubscriptionVideo","background-video","videoLoop","class-name-content","watchVideo","closeLabel","src_components_SubscriptionVideo","SubscriptionVideo_normalizeComponent","NaturalScroll","updated","load","currentPopin","toParent","popin","header","element","className","Scrolls_NaturalScroll","Popin_Scrolls_NaturalScroll","NaturalScroll_normalizeComponent","PopinGuideStepConfirm","Cta_Cta","Heading_Heading","PopinGuide_PopinGuideStepConfirm","shopping","shoppingLink","checkout","checkoutLink","components_PopinGuide_PopinGuideStepConfirm","PopinGuideStepConfirm_normalizeComponent","PopinGuideStepEstimate","estimation","activeOption","capsEstimate","Math","round","isOptionActive","selectOption","PopinGuide_PopinGuideStepEstimate","question","capsules","components_PopinGuide_PopinGuideStepEstimate","PopinGuideStepEstimate_normalizeComponent","PopinGuideStepReco","subscribe","variation","PopinGuide_PopinGuideStepReco","add","components_PopinGuide_PopinGuideStepReco","PopinGuideStepReco_normalizeComponent","PopinGuide","popinGuide","popinOpened","step","selectedOption","selectedVariation","shift","summaryTitle","summary","setTimeout","resetPopin","seeRecommendation","resizePopin","_this3","scroll","children","PopinGuide_PopinGuide","recommendation","components_PopinGuide_PopinGuide","PopinGuide_normalizeComponent","SplitWrapper","onFilter","panels","splitPanels","timeline","activePanel","isDragging","panel","initSplit","initPanels","getPartialDuration","sizes","delta","max","apply","isfullDelta","split_es","minSize","gutterSize","snapOffset","gutter","onDrag","setPlaybacks","onDragEnd","stickToAnchor","direction","backgroundOffset","panelWidth","offsetWidth","elContent","elTitle","elTitleTransition","in","easeIn","zIndex","out","elsTitle","elsTitleTransition","elCaption","elCaptionTransition","elsCaption","elsCaptionTransition","call","classList","remove","easeNone","backgroundPositionX","staggerFromTo","firstChild","playbackTo","currentSizes","getSizes","sizesTo","getFinalSizes","animateToAnchor","startSizes","stopSizes","progress","_ref","_ref2","left","right","_this4","_ref3","_this5","onUpdate","updateSizes","clear","to","setSizes","Split_SplitWrapper","refInFor","ctaMore","highlight","ctaFilter","components_Split_SplitWrapper","SplitWrapper_normalizeComponent","PopinSystem","popinSystem","filterTo","PopinSystem_PopinSystem","on-filter","components_PopinSystem_PopinSystem","PopinSystem_normalizeComponent","PopinTestimonials","popinTestimonials","initSwiper","destroy","swiper_default","slidesPerView","simulateTouch","PopinTestimonials_PopinTestimonials","testimonial","quote","author","components_PopinTestimonials_PopinTestimonials","PopinTestimonials_normalizeComponent","core_api","SubscriptionView","heroMachine","selectionSystem","selectionConsumption","selectionSort","selectionFilters","selectionMachines","subscriptionInCart","popinGuideOpened","popinSystemOpened","popinTestimonialsOpened","api","marketApiData","apiSubscriptions","filteredSubscriptions","napiMachinesSkus","napiMachinesPromises","napiMachinesInfos","machinesInfosMap","timer","_window$napi$data","market","read","getSubscriptions","t0","subscriptionConfig","subscriptionProfiles","checkSubscriptionHasProducts","extractMachinesSkus","sku","getProduct","promise_default","all","reduceMachineById","setHeroMachine","setSelectionMachines","queryParams","presetSystem","presetConsumption","presetSort","plans","readCart","_cartEvent","cartEvent","t1","console","error","$route","cartUpdates","cSku","cQuantity","productInfo","productLocalSKU","quantity","productQuantity","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","get_iterator_default","done","err","return","products","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","product","nonRemovable","productId","_iteratorNormalCompletion3","_didIteratorError3","_iteratorError3","_step3","_iterator3","added","_callee2","_context2","updateMachineButtonlabel","CartManager","updateSubscription","productClick","log","onPopinGuideOpen","onPopinTestimonialsOpen","offsetTop","cons","watchRoute","query","skus","productChoices","subscriptionProfile","machinesInfos","heroMachineId","machineId","subscriptions","mergeProfileInSubscription","populateMachinesInfosInSubscription","matchingProfile","findSubscriptionInProfiles","profiles","profile","components_SubscriptionView","hide","on-popin-open","route-filters","src_components_SubscriptionView","SubscriptionView_normalizeComponent","Vue","Router","router","mode","routes","path","App","selectortype_template_index_0_src_App","src_App","App_normalizeComponent","require","performance","process","devtools","productionTip","VueLanding","project","landing","projectPath","skipMutationKeys","sectionTrackingLabels","heroCaption","subscriptionList","Tracking","globalTracking","template","prop","isSlide","documentElement","bindEvent","close","focus","unbindEvent","beforeDestroy","closeDiscoverEchap","closeDiscoverOverlay","keyCode","which","ESC","slide","unslide","Popin_Popin","g_popinOpened","g_popinSlide","aria-label","defineProperty","searchElement","fromIndex","TypeError","o","len","y","n","k","abs","isNaN","predicate","thisArg","kValue","configurable","writable","Grid_GridItem","controlPanel","ccPolicy","_hasBeenTrack","canvas","init","track","moveTo","getDuration","getCurrentTime","$trackingLandingLabel","YtPlayer","additionnalParams","controls","typeof_default","assign_default","cc_load_policy","cc_lang_pref","correspondenceLang_default","attach","pauseVideo","stopVideo","time","seekTo","toFixed","addEventListener","YT","PlayerState","PLAYING","ENDED","YkPlayer","_uid","onPlayerComplete","muted","setAttribute","autoplay","querySelectorAll","currentTime","EmbedVideo_EmbedVideo","v_isPlaying","attributes","charAt","isHeadingLevel","levelClass","noMargin","hidden","trim"],"mappings":"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","file":"js/app.js","sourcesContent":["if (process.env.NODE_ENV === 'development') {\n    window.isResponsivePlatform = false\n    require('nespresso-library/src/utils/mocks')\n} else {\n    let uniqueCounter = 0\n    const uniqueInt = setInterval(() => {\n        uniqueCounter++\n        if (Array.prototype.hasOwnProperty('unique') || uniqueCounter === 10) {\n            delete Array.prototype.unique\n            clearInterval(uniqueInt)\n        }\n    }, 500)\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/assets/js/bootstrap.js","<style lang=\"sass\">\n@import ~nespresso-bi/utilities\n@import ~nespresso-bi/brand/variables\n@import sass/backgroundVideo\n</style>\n\n<template>\n    <Zone\n        :class=\"{ g_backgroundVideo : backgroundVideo }\"\n        :id=\"id\"\n        :dataLabel=\"dataLabel\"\n        :contrast=\"contrast\"\n        :autoHeight=\"autoHeight\"\n        :align=\"align\"\n        :position=\"position\"\n        :mobilePosition=\"mobilePosition\"\n        :classNames=\"classNames\"\n        :backgroundImage=\"backgroundImage\"\n        :parallax=\"parallax\">\n        <div\n            v-if=\"backgroundVideo\"\n            slot=\"before\"\n            class=\"g_placeholder\">\n            <EmbedVideo\n                v-if=\"!$breakpoint.isS || displayOnMobile\"\n                ref=\"embed\"\n                @onPlay=\"value => $emit('onPlay', value)\"\n                @onReady=\"$emit('onReady')\"\n                :preload=\"preload\"\n                :content=\"backgroundVideo\"\n                isBackground\n                :autoPlay=\"autoPlay\"\n                :mute=\"mute\" />\n        </div>\n        <slot />\n    </Zone>\n</template>\n\n<script>\nimport Zone from '../../core/Zone'\nimport EmbedVideo from '../../core/EmbedVideo'\n\nexport default {\n    name: 'BackgroundVideo',\n    props: {\n        id: String,\n        dataLabel: String,\n        contrast: String,\n        autoHeight: String,\n        align: String,\n        position: String,\n        mobilePosition: String,\n        classNames: String,\n        backgroundImage: Object,\n        parallax: Object,\n        backgroundVideo: Object,\n        autoPlay: Boolean,\n        preload: {\n            type: String,\n            default: 'metadata'\n        },\n        displayOnMobile: Boolean,\n        mute: {\n            type: Boolean,\n            default: true\n        }\n    },\n    components: {\n        Zone,\n        EmbedVideo\n    }\n}\n</script>\n\n\n\n// WEBPACK FOOTER //\n// node_modules/gvue/src/components/BackgroundVideo/BackgroundVideo.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Zone',{class:{ g_backgroundVideo : _vm.backgroundVideo },attrs:{\"id\":_vm.id,\"dataLabel\":_vm.dataLabel,\"contrast\":_vm.contrast,\"autoHeight\":_vm.autoHeight,\"align\":_vm.align,\"position\":_vm.position,\"mobilePosition\":_vm.mobilePosition,\"classNames\":_vm.classNames,\"backgroundImage\":_vm.backgroundImage,\"parallax\":_vm.parallax}},[(_vm.backgroundVideo)?_c('div',{staticClass:\"g_placeholder\",attrs:{\"slot\":\"before\"},slot:\"before\"},[(!_vm.$breakpoint.isS || _vm.displayOnMobile)?_c('EmbedVideo',{ref:\"embed\",attrs:{\"preload\":_vm.preload,\"content\":_vm.backgroundVideo,\"isBackground\":\"\",\"autoPlay\":_vm.autoPlay,\"mute\":_vm.mute},on:{\"onPlay\":function (value) { return _vm.$emit('onPlay', value); },\"onReady\":function($event){return _vm.$emit('onReady')}}}):_vm._e()],1):_vm._e(),_vm._v(\" \"),_vm._t(\"default\")],2)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-48e2402d\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./node_modules/gvue/src/components/BackgroundVideo/BackgroundVideo.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../../extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-48e2402d\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"indentedSyntax\\\":true,\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"/Users/nnjathanpr/NESPRESSO/projects/subscription-machine/src/assets/sass/_variables.sass\\\"}!../../../../vue-loader/lib/selector?type=styles&index=0!./BackgroundVideo.vue\")\n}\nvar normalizeComponent = require(\"!../../../../vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../vue-loader/lib/selector?type=script&index=0!./BackgroundVideo.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../vue-loader/lib/selector?type=script&index=0!./BackgroundVideo.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-48e2402d\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../vue-loader/lib/selector?type=template&index=0!./BackgroundVideo.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/gvue/src/components/BackgroundVideo/BackgroundVideo.vue\n// module id = null\n// module chunks = ","<template>\n    <button class=\"g_title\" :class=\"{g_open: feature.isOpen}\" :aria-expanded=\"feature.isOpen\"\n            @click=\"toggle()\" data-translate=\"Accordion item\" data-of=\"of\" tabindex=\"0\"\n            :id=\"id\">\n        <span class=\"g_visually_hidden\">Accordion item {{index}} of {{total}}</span>\n        <slot />\n    </button>\n</template>\n<script>\nimport Tracking from 'nespresso-library/src/core/tracking'\n\nexport default {\n    name: 'AccordionCollapseButton',\n    props: {\n        index: {\n            type: Number,\n            required: true\n        },\n        total: {\n            type: Number,\n            required: true\n        },\n        feature: {},\n        id: {\n            type: String,\n            required: true\n        }\n    },\n    methods: {\n        toggle () {\n            this.feature.isOpen = !this.feature.isOpen\n            if (this.feature.isOpen) {\n                const { trackingLabel, title } = this.feature\n                Tracking.customEvent({\n                    category: 'User Engagement',\n                    action: 'Click',\n                    label: `${this.$landing.trackingLabelPrefix} - Faq - ${trackingLabel || title}`,\n                    interaction: 0\n                })\n            }\n        }\n    }\n}\n</script>\n\n\n\n// WEBPACK FOOTER //\n// node_modules/gvue/src/components/Accordion/CollapseButton.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{staticClass:\"g_title\",class:{g_open: _vm.feature.isOpen},attrs:{\"aria-expanded\":_vm.feature.isOpen,\"data-translate\":\"Accordion item\",\"data-of\":\"of\",\"tabindex\":\"0\",\"id\":_vm.id},on:{\"click\":function($event){return _vm.toggle()}}},[_c('span',{staticClass:\"g_visually_hidden\"},[_vm._v(\"Accordion item \"+_vm._s(_vm.index)+\" of \"+_vm._s(_vm.total))]),_vm._v(\" \"),_vm._t(\"default\")],2)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-4f9ca3e2\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./node_modules/gvue/src/components/Accordion/CollapseButton.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../vue-loader/lib/selector?type=script&index=0!./CollapseButton.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../vue-loader/lib/selector?type=script&index=0!./CollapseButton.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-4f9ca3e2\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../vue-loader/lib/selector?type=template&index=0!./CollapseButton.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/gvue/src/components/Accordion/CollapseButton.vue\n// module id = null\n// module chunks = ","<style lang=\"sass\">\n@import ~nespresso-bi/utilities\n@import ~nespresso-bi/brand/variables\n@import sass/variables\n.g_coollapsible.g_wysiwyg\n    overflow: hidden\n    opacity: 0\n    visibility: hidden\n    max-height: 0\n    +transition($duration_medium $easing)\n\n    &[aria-hidden=false]\n        opacity: 1\n        visibility: visible\n        max-height: pxToEm($accordion_max_lines * stripUnits(remToPx($L_txt_line_height)))\n</style>\n\n<template>\n    <div class=\"g_coollapsible g_wysiwyg\" :aria-hidden=\"''+!feature.isOpen\" :id=\"id\"\n         v-html=\"feature.content\" role=\"region\"/>\n</template>\n\n<script>\nexport default {\n    name: 'AccordionCollapsible',\n    props: {\n        index: {\n            type: Number,\n            required: true\n        },\n        id: {\n            type: String,\n            required: true\n        },\n        feature: {}\n    }\n}\n</script>\n\n\n\n// WEBPACK FOOTER //\n// node_modules/gvue/src/components/Accordion/Collapsible.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"g_coollapsible g_wysiwyg\",attrs:{\"aria-hidden\":''+!_vm.feature.isOpen,\"id\":_vm.id,\"role\":\"region\"},domProps:{\"innerHTML\":_vm._s(_vm.feature.content)}})}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-a5765bce\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./node_modules/gvue/src/components/Accordion/Collapsible.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../../extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-a5765bce\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"indentedSyntax\\\":true,\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"/Users/nnjathanpr/NESPRESSO/projects/subscription-machine/src/assets/sass/_variables.sass\\\"}!../../../../vue-loader/lib/selector?type=styles&index=0!./Collapsible.vue\")\n}\nvar normalizeComponent = require(\"!../../../../vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../vue-loader/lib/selector?type=script&index=0!./Collapsible.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../vue-loader/lib/selector?type=script&index=0!./Collapsible.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-a5765bce\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../vue-loader/lib/selector?type=template&index=0!./Collapsible.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/gvue/src/components/Accordion/Collapsible.vue\n// module id = null\n// module chunks = ","<style lang=\"sass\">\n@import ~nespresso-bi/utilities\n@import ~nespresso-bi/brand/variables\n@import sass/variables\n@import sass/accordion\n</style>\n\n<template>\n    <div class=\"g_accordion\">\n        <ul class=\"g_isCollapsable\">\n            <li class=\"g_accordionItem\" v-for=\"(feature, $index) in toBeShown\" :key=\"$index\">\n                <CollapseButton :feature=\"feature\" :index=\"$index + 1\" :total=\"list.items.length\"\n                                :id=\"`${buttonId}_${$index + 1}`\"\n                                :aria-controls=\"`${sectionId}_${$index + 1}`\">\n                    <template>\n                        <i aria-hidden=\"true\" class=\"fn_angleUpCircle\" />\n                        <span v-html=\"feature.title\" />\n                    </template>\n                </CollapseButton>\n                <Collapsible :feature=\"feature\" v-if=\"feature.content\" :index=\"$index + 1\"\n                             :id=\"`${sectionId}_${$index + 1}`\"\n                             :aria-labelledby=\"`${buttonId}_${$index + 1}`\"/>\n            </li>\n        </ul>\n        <button @click=\"showLessFAQ\" class=\"g_accordion_expand\" v-if=\"showAll && limit\"><i aria-hidden=\"true\" class=\"fn_angleUp\" />{{ list.showLess ? list.showLess : 'Show Less' }}</button>\n        <button @click=\"showAllFAQ\" class=\"g_accordion_expand\" v-if=\"!showAll && limit\"><i aria-hidden=\"true\" class=\"fn_angleDown\" />{{ list.showMore ? list.showMore : 'Show More' }}</button>\n    </div>\n</template>\n\n<script>\nimport CollapseButton from './CollapseButton.vue'\nimport Collapsible from './Collapsible.vue'\nimport { getRandomId } from '../../assets/js/utils'\n\nexport default {\n    props: {\n        list: {\n            type: Object,\n            required: true\n        },\n        limit: {\n            type: Number\n        }\n    },\n    data: function () {\n        return {\n            showAll: false\n        }\n    },\n    components: {\n        CollapseButton,\n        Collapsible\n    },\n    created () {\n        this.list.items\n            .forEach(item => this.$set(item, 'isOpen', false))\n    },\n    computed: {\n        toBeShown () {\n            if (this.showAll) {\n                return this.list.items.slice(0, this.list.items.length)\n            }\n            return this.list.items.slice(0, this.limit)\n        },\n        accordionId() {\n            return getRandomId(5)\n        },\n        buttonId() {\n          return \"button_\"+this.accordionId\n        },\n        sectionId() {\n          return \"section_\"+this.accordionId\n        }\n    },\n    methods: {\n        showAllFAQ () {\n            this.showAll = true\n        },\n        showLessFAQ () {\n            this.showAll = false\n        }\n    }\n}\n</script>\n\n\n\n// WEBPACK FOOTER //\n// node_modules/gvue/src/components/Accordion/Accordion.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"g_accordion\"},[_c('ul',{staticClass:\"g_isCollapsable\"},_vm._l((_vm.toBeShown),function(feature,$index){return _c('li',{key:$index,staticClass:\"g_accordionItem\"},[_c('CollapseButton',{attrs:{\"feature\":feature,\"index\":$index + 1,\"total\":_vm.list.items.length,\"id\":(_vm.buttonId + \"_\" + ($index + 1)),\"aria-controls\":(_vm.sectionId + \"_\" + ($index + 1))}},[[_c('i',{staticClass:\"fn_angleUpCircle\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"),_c('span',{domProps:{\"innerHTML\":_vm._s(feature.title)}})]],2),_vm._v(\" \"),(feature.content)?_c('Collapsible',{attrs:{\"feature\":feature,\"index\":$index + 1,\"id\":(_vm.sectionId + \"_\" + ($index + 1)),\"aria-labelledby\":(_vm.buttonId + \"_\" + ($index + 1))}}):_vm._e()],1)}),0),_vm._v(\" \"),(_vm.showAll && _vm.limit)?_c('button',{staticClass:\"g_accordion_expand\",on:{\"click\":_vm.showLessFAQ}},[_c('i',{staticClass:\"fn_angleUp\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(_vm._s(_vm.list.showLess ? _vm.list.showLess : 'Show Less'))]):_vm._e(),_vm._v(\" \"),(!_vm.showAll && _vm.limit)?_c('button',{staticClass:\"g_accordion_expand\",on:{\"click\":_vm.showAllFAQ}},[_c('i',{staticClass:\"fn_angleDown\",attrs:{\"aria-hidden\":\"true\"}}),_vm._v(_vm._s(_vm.list.showMore ? _vm.list.showMore : 'Show More'))]):_vm._e()])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-3ad3225c\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./node_modules/gvue/src/components/Accordion/Accordion.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../../extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-3ad3225c\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"indentedSyntax\\\":true,\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"/Users/nnjathanpr/NESPRESSO/projects/subscription-machine/src/assets/sass/_variables.sass\\\"}!../../../../vue-loader/lib/selector?type=styles&index=0!./Accordion.vue\")\n}\nvar normalizeComponent = require(\"!../../../../vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../vue-loader/lib/selector?type=script&index=0!./Accordion.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../vue-loader/lib/selector?type=script&index=0!./Accordion.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-3ad3225c\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../vue-loader/lib/selector?type=template&index=0!./Accordion.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/gvue/src/components/Accordion/Accordion.vue\n// module id = null\n// module chunks = ","<style lang=\"sass\">\n@import ~nespresso-bi/utilities\n@import ~nespresso-bi/brand/variables\n@import sass/zone/zone\n@import sass/backgrounds/backgrounds\n</style>\n\n<template>\n    <section\n        :id=\"id\"\n        :data-label=\"dataLabel\"\n        class=\"g_section\"\n        :class=\"classNames\">\n        <div\n            v-if=\"backgroundImage && (hasParallax() ? parallaxLoaded : true)\"\n            class=\"g_bg\"\n            :class=\"[classNamesBg, {'g_parallax': hasParallax()}]\"\n            v-img-src=\"backgroundImage\"\n            :style=\"{\n                backgroundPosition: backgroundImage.position || null,\n                backgroundSize: backgroundImage.size || null,\n                backgroundColor: backgroundImage.color || null,\n                backgroundAttachment: backgroundImage.attachment || null\n            }\"\n            v-parallax=\"parallax.speed\"></div>\n        <slot name=\"before\"></slot>\n        <div\n            class=\"g_restrict\"\n            :class=\"[classNamesRestrict]\"\n            v-if=\"restrict && $slots.default\">\n            <div :class=\"[{'g_content': !classNamesContent}, classNamesContent]\">\n                <div class=\"g_text\">\n                    <slot />\n                    <slot name=\"insideRestrict\" />\n                </div>\n            </div>\n        </div>\n        <slot name=\"after\" />\n    </section>\n</template>\n<script>\nimport Vue from 'vue'\nimport { capitalize } from '../../assets/js/utils'\nimport * as constants from './constants'\nimport ZoneTracking from '../../assets/js/mixins/ZoneTracking'\n\nexport default {\n    name: 'Zone',\n    mixins: [ZoneTracking],\n    props: {\n        id: String,\n        dataLabel: String,\n        contrast: {\n            type: String,\n            validator (value) {\n                return !!~constants.CONTRASTS.indexOf(value)\n            }\n        },\n        autoHeight: Boolean,\n        align: {\n            type: String,\n            validator (value) {\n                return !!~constants.ALIGNMENTS.indexOf(value)\n            }\n        },\n        position: {\n            type: String,\n            validator (value) {\n                return !!~constants.POSITIONS.indexOf(value)\n            }\n        },\n        mobilePosition: {\n            type: String,\n            validator (value) {\n                return !!~constants.POSITIONS_MOBILE.indexOf(value)\n            }\n        },\n        classNamesBg: {},\n        classNamesRestrict: {},\n        classNamesContent: {},\n        backgroundImage: Object,\n        restrict: {\n            type: Boolean,\n            default: true\n        },\n        parallax: {\n            type: Object,\n            default: () => {\n                return {\n                    speed: 0,\n                    height: null\n                }\n            }\n        }\n    },\n    data () {\n        return {\n            parallaxLoaded: false\n        }\n    },\n    computed: {\n        classNames () {\n            const classNames = []\n            if (this.contrast) {\n                classNames.push('g_' + this.contrast)\n            }\n            if (this.autoHeight) {\n                classNames.push(constants.AUTO_HEIGHT_CLASS)\n            }\n            if (this.align) {\n                classNames.push('g_' + this.align)\n            }\n            if (this.position) {\n                classNames.push('g_' + this.position)\n            }\n            if (this.mobilePosition) {\n                classNames.push('g_mobile' + capitalize(this.mobilePosition))\n            }\n            return classNames\n        }\n    },\n    created () {\n        if (this.hasParallax()) {\n            import(/* webpackChunkName: \"VueParallaxJs\" */ '../../assets/js/directives/vue-parallax-js').then(VueParallaxJs => {\n                Vue.use(VueParallaxJs, {\n                    minWidth: 767 // min width to activate parallax\n                })\n                this.parallaxLoaded = true\n            })\n        } else if (!this.$parallaxjs) {\n            Vue.directive('parallax', {})\n        }\n    },\n    mounted () {\n        this.parallaxRules()\n    },\n    methods: {\n        hasParallax () {\n            return !this.$breakpoint.isS && this.parallax.speed !== 0 && this.parallax.height\n        },\n        parallaxRules () {\n            // No parallax\n            if (!this.hasParallax()) {\n                return\n            }\n\n            let css = `\n            .g #${this.id} .g_bg.g_parallax {\n                height: ${this.parallax.height}px\n            }`\n            document.styleSheets[0].insertRule(css, 0)\n            css = `\n            @media screen and (min-width: 1920px) {\n                .g #${this.id} .g_bg.g_parallax {\n                    height: ${this.parallax.height / 1920 * 100}vw\n                }\n            }`\n            document.styleSheets[0].insertRule(css, 1)\n        }\n    }\n}\n\n// TODO Doc\n//    .g_section\n//        &.g_light\n//        &.g_dark\n//        &.g_right\n//        &.g_left\n// .g_section .g_sectionRestrict .g_sectionSmall\n// TODO require sass only if needed\n</script>\n\n\n\n// WEBPACK FOOTER //\n// node_modules/gvue/src/core/Zone/Zone.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{staticClass:\"g_section\",class:_vm.classNames,attrs:{\"id\":_vm.id,\"data-label\":_vm.dataLabel}},[(_vm.backgroundImage && (_vm.hasParallax() ? _vm.parallaxLoaded : true))?_c('div',{directives:[{name:\"img-src\",rawName:\"v-img-src\",value:(_vm.backgroundImage),expression:\"backgroundImage\"},{name:\"parallax\",rawName:\"v-parallax\",value:(_vm.parallax.speed),expression:\"parallax.speed\"}],staticClass:\"g_bg\",class:[_vm.classNamesBg, {'g_parallax': _vm.hasParallax()}],style:({\n            backgroundPosition: _vm.backgroundImage.position || null,\n            backgroundSize: _vm.backgroundImage.size || null,\n            backgroundColor: _vm.backgroundImage.color || null,\n            backgroundAttachment: _vm.backgroundImage.attachment || null\n        })}):_vm._e(),_vm._v(\" \"),_vm._t(\"before\"),_vm._v(\" \"),(_vm.restrict && _vm.$slots.default)?_c('div',{staticClass:\"g_restrict\",class:[_vm.classNamesRestrict]},[_c('div',{class:[{'g_content': !_vm.classNamesContent}, _vm.classNamesContent]},[_c('div',{staticClass:\"g_text\"},[_vm._t(\"default\"),_vm._v(\" \"),_vm._t(\"insideRestrict\")],2)])]):_vm._e(),_vm._v(\" \"),_vm._t(\"after\")],2)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-13bb95b3\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./node_modules/gvue/src/core/Zone/Zone.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../../extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-13bb95b3\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"indentedSyntax\\\":true,\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"/Users/nnjathanpr/NESPRESSO/projects/subscription-machine/src/assets/sass/_variables.sass\\\"}!../../../../vue-loader/lib/selector?type=styles&index=0!./Zone.vue\")\n}\nvar normalizeComponent = require(\"!../../../../vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../vue-loader/lib/selector?type=script&index=0!./Zone.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../vue-loader/lib/selector?type=script&index=0!./Zone.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-13bb95b3\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../vue-loader/lib/selector?type=template&index=0!./Zone.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/gvue/src/core/Zone/Zone.vue\n// module id = null\n// module chunks = ","<style lang=\"sass\">\n@import visual\n@import lazyload\n</style>\n\n<template>\n    <icon v-if=\"svg\" :src=\"svg\" class=\"g_visual\"/>\n    <i aria-hidden=\"true\" v-else-if=\"fontIcon\" :class=\"fontIcon\"/>\n    <img v-else class=\"g_visual\" loading=\"lazy\" v-img-src=\"src\" :alt=\"alt\"/>\n</template>\n<script>\nimport Vue from 'vue'\n\nexport default {\n    name: 'Visual',\n    props: {\n        src: Object,\n        svg: String,\n        fontIcon: String\n    },\n    computed: {\n        alt: function () {\n            return this.src && this.src.name ? this.src.name : this.src\n        }\n    },\n    created () {\n        if (this.svg) {\n            Vue.component('icon', () => import(/* webpackChunkName: \"Icon\" */ 'nespresso-components/icon/Icon').then(m => m.default))\n        }\n    }\n}\n</script>\n\n\n\n// WEBPACK FOOTER //\n// node_modules/gvue/src/core/Visual/Visual.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.svg)?_c('icon',{staticClass:\"g_visual\",attrs:{\"src\":_vm.svg}}):(_vm.fontIcon)?_c('i',{class:_vm.fontIcon,attrs:{\"aria-hidden\":\"true\"}}):_c('img',{directives:[{name:\"img-src\",rawName:\"v-img-src\",value:(_vm.src),expression:\"src\"}],staticClass:\"g_visual\",attrs:{\"loading\":\"lazy\",\"alt\":_vm.alt}})}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-69867f72\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./node_modules/gvue/src/core/Visual/Visual.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../../extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-69867f72\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"indentedSyntax\\\":true,\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"/Users/nnjathanpr/NESPRESSO/projects/subscription-machine/src/assets/sass/_variables.sass\\\"}!../../../../vue-loader/lib/selector?type=styles&index=0!./Visual.vue\")\n}\nvar normalizeComponent = require(\"!../../../../vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../vue-loader/lib/selector?type=script&index=0!./Visual.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../vue-loader/lib/selector?type=script&index=0!./Visual.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-69867f72\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../vue-loader/lib/selector?type=template&index=0!./Visual.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/gvue/src/core/Visual/Visual.vue\n// module id = null\n// module chunks = ","<style lang=\"sass\">\n@import ~nespresso-bi/utilities\n@import ~nespresso-bi/brand/variables\n@import sass/link\n@import sass/btn\n@import sass/btnRound\n</style>\n<script>\nimport Vue from 'vue'\nimport dataLayer from 'nespresso-library/src/core/dataLayer'\nimport Tracking from 'nespresso-library/src/core/tracking'\n\nconst LINK_CLASS = 'g_link'\nconst BUTTON_CLASS = 'g_btn'\nconst BUY_CLASS = 'g_btnBuy'\nconst GOLD_CLASS = 'g_btnGold'\nconst WHITE_CLASS = 'g_btnWhite'\nconst OUTLINE_CLASS = 'g_btnOutline'\nconst TXT_CLASS = 'g_txt_'\nconst TXT_SIZES = ['XS', 'S', 'M', 'L', 'XL']\nconst HEADLINE_CLASS = 'g_headline'\n\nexport default {\n    name: 'cta',\n    props: {\n        size: {\n            type: String,\n            validator (value) {\n                return !!~TXT_SIZES.indexOf(value)\n            }\n        },\n        sizeMobile: {\n            type: String,\n            validator (value) {\n                return !!~TXT_SIZES.indexOf(value)\n            }\n        },\n        isLink: Boolean,\n        isBtn: Boolean,\n        isWhite: Boolean,\n        isGold: Boolean,\n        isBuy: Boolean,\n        isOutline: Boolean,\n        isHeadline: Boolean,\n        link: String,\n        linkMobile: String,\n        scrollTo: String,\n        type: {\n            type: String,\n            required: true,\n            validator: function (value) {\n                return !!~['text', 'button'].indexOf(value)\n            }\n        },\n        classNameContent: {},\n        fontIcon: String,\n        content: String,\n        trackingLabel: String,\n        target: {\n            type: String\n        }\n    },\n    methods: {\n        handleClick (evt) {\n            this.$emit('click')\n            // Run scroll to element\n\n            if (this.scrollTo) {\n                import(/* webpackChunkName: \"scrollTo\" */ 'nespresso-library/src/utils/scrollTo').then(goToAnchor => {\n                    const [anchor, duration] = this.scrollTo.split(',')\n                    goToAnchor.default(anchor[0] !== '#' ? '#' + anchor : anchor, parseInt(duration))\n\n                    this.trackLink()\n                })\n            } else if (this.link) {\n                evt.preventDefault()\n\n                this.trackLink()\n                this.goToLink()\n            }\n        },\n        goToLink () {\n            if (!this.target) {\n                location.href = this.getLink()\n            } else {\n                window.open(this.getLink(), this.target)\n            }\n        },\n        trackLink () {\n            if (this.trackingLabel) {\n                Tracking.customEvent({\n                    category: 'User Engagement',\n                    action: 'Click',\n                    label: `${this.$landing.trackingLabelPrefix} - CTA - ${this.trackingLabel}`,\n                    interaction: 0\n                })\n            }\n        },\n        hasIcon () {\n            return this.icon || this.fontIcon\n        },\n        getLink () {\n            return dataLayer.isMobile && this.linkMobile !== '' ? this.linkMobile : this.link\n        }\n    },\n    beforeMount () {\n        if (this.hasIcon()) {\n            Vue.component('Visual', () => import(/* webpackChunkName: \"Visual\" */ '../Visual').then(m => m.default))\n        }\n    },\n    render (createElement) {\n        let size = this.size\n        const classNames = []\n        const attrs = {}\n        let el\n\n        if (this.type === 'button') {\n            el = 'button'\n        } else {\n            el = 'a'\n            attrs.href = this.getLink()\n            if (this.target) {\n                attrs.target = this.target\n            }\n        }\n\n        if (this.sizeMobile && this.$breakpoint.isS) {\n            size = this.sizeMobile\n        }\n        if (size && !this.isHeadline) {\n            classNames.push(TXT_CLASS + size)\n        }\n\n        if (this.isWhite) {\n            classNames.push(BUTTON_CLASS)\n            classNames.push(WHITE_CLASS)\n        } else if (this.isGold) {\n            classNames.push(BUTTON_CLASS)\n            classNames.push(GOLD_CLASS)\n        } else if (this.isBuy) {\n            classNames.push(BUTTON_CLASS)\n            classNames.push(BUY_CLASS)\n        } else if (this.isOutline) {\n            classNames.push(BUTTON_CLASS)\n            classNames.push(OUTLINE_CLASS)\n        } else if (this.isLink) {\n            classNames.push(LINK_CLASS)\n        } else if (this.isBtn) {\n            classNames.push(BUTTON_CLASS)\n        }\n\n        const classNamesContent = []\n        if (this.isHeadline) {\n            classNamesContent.push(HEADLINE_CLASS)\n        }\n\n        if (this.classNameContent) {\n            classNamesContent.push(this.classNameContent)\n        }\n\n        let span\n        if (this.content) {\n            span = createElement('span',\n                {\n                    attrs: {\n                        class: classNamesContent\n                    },\n                    domProps: {\n                        innerHTML: this.content\n                    }\n                }\n            )\n        }\n\n        let fontIcon\n        if (this.fontIcon) {\n            fontIcon = createElement('Visual',\n                {\n                    attrs: {\n                        fontIcon: this.fontIcon,\n                        'aria-hidden': true\n                    }\n                }\n            )\n        }\n\n        return createElement(el,\n            {\n                class: classNames,\n                attrs,\n                on: {\n                    click: evt => this.handleClick(evt)\n                }\n            },\n            [this.$slots.default, span, fontIcon, this.$slots.after]\n        )\n    }\n}\n</script>\n\n\n\n// WEBPACK FOOTER //\n// node_modules/gvue/src/core/Cta/Cta.vue","function injectStyle (ssrContext) {\n  require(\"!!../../../../extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-6c4d3ca1\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"indentedSyntax\\\":true,\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"/Users/nnjathanpr/NESPRESSO/projects/subscription-machine/src/assets/sass/_variables.sass\\\"}!../../../../vue-loader/lib/selector?type=styles&index=0!./Cta.vue\")\n}\nvar normalizeComponent = require(\"!../../../../vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../vue-loader/lib/selector?type=script&index=0!./Cta.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../vue-loader/lib/selector?type=script&index=0!./Cta.vue\"\n/* template */\nvar __vue_template__ = null\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/gvue/src/core/Cta/Cta.vue\n// module id = null\n// module chunks = ","<template>\n    <Zone class=\"g_subscriptionFaq\"\n          contrast=\"light\"\n          :background-image=\"{ folder: 'backgrounds', name: 'faq' }\"\n          :dataLabel=\"dataLabel\"\n          :id=\"id\"\n    >\n        <img class=\"g_subscriptionFaq__visual\"\n             v-img-src.sync=\"{ name: image, ext: 'png' }\"\n         />\n        <div class=\"g_subscriptionFaq__content\">\n            <Heading :level=\"2\" v-html=\"title\"/>\n            <Accordion :list=\"list\"/>\n        </div>\n    </Zone>\n</template>\n\n<script>\nimport Heading from 'gvue/src/core/Heading'\nimport Visual from 'gvue/src/core/Visual'\nimport Zone from 'gvue/src/core/Zone'\nimport ZoneTracking from 'gvue/src/assets/js/mixins/ZoneTracking'\n\nimport Accordion from 'gvue/src/components/Accordion'\n\nexport default {\n    name: 'SubscriptionFaq',\n    mixins: [ZoneTracking],\n    components: {\n        Accordion,\n        Heading,\n        Visual,\n        Zone\n    },\n    data () {\n        return {...this.$json.faq}\n    }\n}\n</script>\n\n<style lang=\"sass\">\n    @import ~nespresso-bi/utilities\n    @import ~nespresso-bi/brand/variables\n    @import SubscriptionFaq\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/components/SubscriptionFaq.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Zone',{staticClass:\"g_subscriptionFaq\",attrs:{\"contrast\":\"light\",\"background-image\":{ folder: 'backgrounds', name: 'faq' },\"dataLabel\":_vm.dataLabel,\"id\":_vm.id}},[_c('img',{directives:[{name:\"img-src\",rawName:\"v-img-src.sync\",value:({ name: _vm.image, ext: 'png' }),expression:\"{ name: image, ext: 'png' }\",modifiers:{\"sync\":true}}],staticClass:\"g_subscriptionFaq__visual\"}),_vm._v(\" \"),_c('div',{staticClass:\"g_subscriptionFaq__content\"},[_c('Heading',{attrs:{\"level\":2},domProps:{\"innerHTML\":_vm._s(_vm.title)}}),_vm._v(\" \"),_c('Accordion',{attrs:{\"list\":_vm.list}})],1)])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-5e088c2c\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/SubscriptionFaq.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-5e088c2c\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"indentedSyntax\\\":true,\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"/Users/nnjathanpr/NESPRESSO/projects/subscription-machine/src/assets/sass/_variables.sass\\\"}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./SubscriptionFaq.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./SubscriptionFaq.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./SubscriptionFaq.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-5e088c2c\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./SubscriptionFaq.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/SubscriptionFaq.vue\n// module id = null\n// module chunks = ","<template>\r\n    <Zone align=\"center\"\r\n          class=\"g_subscriptionHelp\"\r\n          :background-image=\"{ folder: 'backgrounds', name: 'earth' }\"\r\n          :data-label=\"dataLabel\"\r\n          :id=\"id\"\r\n    >\r\n        <Visual class=\"g_subscriptionHelp__icon\"\r\n                :svg=\"$landing.getImgUrl({ name: 'icon-machine', ext: 'svg' })\"\r\n                aria-hidden=\"true\"\r\n        />\r\n        <Heading :level=\"2\" align=\"center\" v-html=\"title\"/>\r\n        <Paragraph size=\"XL\" :content=\"text\" />\r\n        <Cta class=\"g_btnWhite\"\r\n             is-btn\r\n             type=\"button\"\r\n             :content=\"cta.content\"\r\n             @click=\"onPopinOpen\"\r\n        />\r\n    </Zone>\r\n</template>\r\n\r\n<script>\r\n// Core components\r\nimport Cta from 'gvue/src/core/Cta'\r\nimport Heading from 'gvue/src/core/Heading'\r\nimport Paragraph from 'gvue/src/core/Paragraph'\r\nimport Visual from 'gvue/src/core/Visual'\r\nimport Zone from 'gvue/src/core/Zone'\r\n\r\nexport default {\r\n    name: 'SubscriptionHelp',\r\n    components: {\r\n        Cta,\r\n        Heading,\r\n        Paragraph,\r\n        Visual,\r\n        Zone\r\n    },\r\n    props: {\r\n        onPopinOpen: { type: Function, required: true }\r\n    },\r\n    data () {\r\n        return {...this.$json.help}\r\n    }\r\n}\r\n</script>\r\n\r\n<style lang=\"sass\">\r\n    @import ~nespresso-bi/utilities\r\n    @import ~nespresso-bi/brand/variables\r\n    @import ~assets/sass/subscription_variables\r\n    @import SubscriptionHelp\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/SubscriptionHelp.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Zone',{staticClass:\"g_subscriptionHelp\",attrs:{\"align\":\"center\",\"background-image\":{ folder: 'backgrounds', name: 'earth' },\"data-label\":_vm.dataLabel,\"id\":_vm.id}},[_c('Visual',{staticClass:\"g_subscriptionHelp__icon\",attrs:{\"svg\":_vm.$landing.getImgUrl({ name: 'icon-machine', ext: 'svg' }),\"aria-hidden\":\"true\"}}),_vm._v(\" \"),_c('Heading',{attrs:{\"level\":2,\"align\":\"center\"},domProps:{\"innerHTML\":_vm._s(_vm.title)}}),_vm._v(\" \"),_c('Paragraph',{attrs:{\"size\":\"XL\",\"content\":_vm.text}}),_vm._v(\" \"),_c('Cta',{staticClass:\"g_btnWhite\",attrs:{\"is-btn\":\"\",\"type\":\"button\",\"content\":_vm.cta.content},on:{\"click\":_vm.onPopinOpen}})],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-1946e8fe\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/SubscriptionHelp.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-1946e8fe\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"indentedSyntax\\\":true,\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"/Users/nnjathanpr/NESPRESSO/projects/subscription-machine/src/assets/sass/_variables.sass\\\"}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./SubscriptionHelp.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./SubscriptionHelp.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./SubscriptionHelp.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-1946e8fe\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./SubscriptionHelp.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/SubscriptionHelp.vue\n// module id = null\n// module chunks = ","<template>\n    <div class=\"g_subscriptionHero\" :id=\"id\" :data-label=\"dataLabel\">\n        <div class=\"g_subscriptionHero__video\"\n             v-img-src=\"{ folder: 'backgrounds', name: $json.hero.background ? $json.hero.background : 'earth' }\"\n             v-if=\"!degrade\"\n        >\n            <EmbedVideo ref=\"video\"\n                        v-if=\"!$breakpoint.isS\"\n                        :auto-play=\"true\"\n                        :content=\"heroVideo\"\n                        :is-background=\"true\"\n                        @onReady=\"onVideoReady\"\n            />\n        </div>\n        <div class=\"g_subscriptionHero__background g_bg\"\n             v-if=\"degrade\"\n             v-img-src=\"{ folder: 'backgrounds', name: $json.hero.background ? $json.hero.background : 'earth' }\"\n        ></div>\n        <div class=\"g_subscriptionHero__machine\" ref=\"machineWrapper\">\n            <div class=\"g_subscriptionHero__visual\" ref=\"machine\">\n                <img class=\"g_visual\"\n                     v-if=\"machine && machine.images\"\n                     :alt=\"machine.internationalName\"\n                     :src=\"machineImage\"\n                />\n                <!-- <img class=\"g_visual\"\n                     v-if=\"machine && machine.images\"\n                     :alt=\"machine.internationalName\"\n                     :src=\"$landing.getImgUrl({name: 'machine', ext: 'png'})\"\n                /> -->\n            </div>\n            <div class=\"g_subscriptionHero__sticker\" v-if=\"price\" ref=\"sticker\">\n                <Paragraph size=\"L\" :content=\"forText\"/>\n                <Heading :level=\"1\" v-text=\"price\" fake=\"\"></Heading>\n                <Paragraph size=\"L\" :content=\"only\"/>\n            </div>\n            <div ref=\"button\">\n                <Cta data-promotion-item-id=\"subscription-hero-cta\"\n                     data-promotion-creative=\"Subscription - Button\"\n                     data-promotion-position=\"subscription-hero\"\n                     :data-promotion-name=\"cta\"\n                     class=\"g_btnWhite track-promotion-impression track-promotion-click\"\n                     is-btn\n                     type=\"button\"\n                     :content=\"cta\"\n                     ref=\"shc1\"\n                     @click=\"openPopin('shc1')\"\n                />\n            </div>\n        </div>\n        <Zone class=\"g_subscriptionHero__caption\" :id=\"id+'Caption'\">\n            <header class=\"g_subscriptionHero__header\">\n                <Visual aria-hidden=\"true\"\n                    :src=\"{ suffix: false, name: 'logo-subscription' + addLogoCountry(), ext: 'png' }\"\n            />\n                <Paragraph class=\"g_subscriptionHero__title\"\n                           size=\"XL\"\n                           :content=\"title\"\n                />\n                <Heading :level=\"3\" v-html=\"subtitle\" />\n            </header>\n            <ol class=\"g_subscriptionHero__points\">\n                <li v-for=\"point in points\" :key=\"point.title\">\n                    <Paragraph class=\"g_subscriptionHero__pointTitle\"\n                               size=\"M\"\n                               :content=\"point.title\"\n                    />\n                    <Paragraph class=\"g_subscriptionHero__pointText\"\n                               size=\"L\"\n                               :content=\"point.description\"\n                    />\n                </li>\n            </ol>\n        </Zone>\n        <div :class=\"['g_subscriptionHero__button', { active: showButton}]\">\n            <Cta data-promotion-item-id=\"subscription-hero-cta\"\n                 data-promotion-creative=\"Subscription - Button\"\n                 data-promotion-position=\"subscription-hero\"\n                 :data-promotion-name=\"cta\"\n                 class=\"g_btnWhite track-promotion-impression track-promotion-click\"\n                 is-btn\n                 type=\"button\"\n                 :content=\"cta\"\n                 ref=\"shc2\"\n                 @click=\"openPopin('shc2')\"\n            />\n        </div>\n    </div>\n</template>\n\n<script>\nimport TweenLite, { Power2 } from 'gsap/TweenLite'\nimport TimelineLite from 'gsap/TimelineLite'\n\nimport isIE from 'nespresso-library/src/utils/userAgent'\n\nimport Cta from 'gvue/src/core/Cta'\nimport EmbedVideo from 'gvue/src/core/EmbedVideo'\nimport Heading from 'gvue/src/core/Heading'\nimport Paragraph from 'gvue/src/core/Paragraph'\nimport Visual from 'gvue/src/core/Visual'\nimport Zone from 'gvue/src/core/Zone'\nimport ZoneTracking from 'gvue/src/assets/js/mixins/ZoneTracking'\n\nimport BackgroundVideo from 'gvue/src/components/BackgroundVideo'\n\nexport default {\n    name: 'SubscriptionHero',\n    mixins: [ZoneTracking],\n    components: {\n        BackgroundVideo,\n        Cta,\n        EmbedVideo,\n        Heading,\n        Paragraph,\n        Visual,\n        Zone\n    },\n    props: {\n        machine: {\n            type: Object,\n            required: true,\n            default: () => ({})\n        },\n        onPopinOpen: { type: Function, required: true }\n    },\n    data () {\n        return {\n            ...this.$json.hero,\n            offset: 0,\n            machineTimeline: new TimelineLite(),\n            showButton: true\n        }\n    },\n    computed: {\n        heroVideo () {\n            return {\n                ...this.video,\n                tracking: 'Hero Auto Play',\n                src: this.$landing.getImgUrl({ folder: 'medias', name: 'cracked-floor', ext: 'mp4' })\n            }\n        },\n        machineImage () {\n            let width = 600\n            switch (this.$breakpoint.name) {\n            case 'XL':\n                width = 1200\n                break\n            case 'S':\n                width = 800\n                break\n            default:\n            }\n            return this.machine.responsiveImages.standard.replace('/<[^>]*>/g', '') + '?impolicy=product&imwidth=' + width\n        },\n        degrade () {\n            return isIE()\n        }\n    },\n    mounted () {\n        if (!this.$breakpoint.isS && !this.degrade) {\n            TweenLite.set(this.$refs.machine, { scale: 0.98, x: 30, alpha: 0 })\n            TweenLite.set(this.$refs.sticker, { scale: 0.95, x: -20, alpha: 0 })\n            TweenLite.set(this.$refs.button, { scale: 0.95, x: 10, alpha: 0 })\n            TweenLite.set(this.$refs.video.$el, { alpha: 0 })\n\n            const PADDING = window.innerHeight * 0.05\n            const offset = document.querySelector('.Header__top-wrapper').offsetHeight + document.querySelector('.HeaderNavigationBar').offsetHeight\n            this.$refs.machineWrapper.style.top = `${offset + PADDING}px`\n        }\n    },\n    methods: {\n        openPopin (cta) {\n            this.promoClick(cta)\n            this.onPopinOpen()\n        },\n        promoClick (cta) {\n            window.gtmDataObject.push({\n                'event': 'promoClick',\n                'ecommerce': {\n                    'promoClick': {\n                        'promotions': [{\n                            'name': this.$refs[cta].$attrs['data-promotion-name'],\n                            'id': this.$refs[cta].$attrs['data-promotion-item-id'],\n                            'creative': this.$refs[cta].$attrs['data-promotion-creative'],\n                            'position': this.$refs[cta].$attrs['data-promotion-position']\n                        }]\n                    }\n                }\n            })\n        },\n        addLogoCountry () {\n            let addStr = ''\n            let { country, language } = this.$landing\n            if (country === 'PT' && language === 'pt') addStr = '_pt'\n            if (country === 'BR' && language === 'pt') addStr = '_br'\n            if (country === 'CH' && language === 'fr') addStr = '_ch_fr'\n            if (country === 'CH' && language === 'it') addStr = '_ch_it'\n            if (country === 'CH' && language === 'de') addStr = '_ch_de'\n            if (country === 'IT' && language === 'it') addStr = '_it_it'\n            if (country === 'DE' && language === 'de') addStr = '_de_de'\n            if (country === 'AT') addStr = '_at'\n            if (country === 'FR' && language === 'fr') addStr = '_fr_fr'\n            if (country === 'CA' && language === 'fr') addStr = '_fr'\n            if (country === 'HU' && language === 'hu') addStr = '_hu'\n            if (country === 'BE' && language === 'en') addStr = '_be'\n            if (country === 'BE' && language === 'fr') addStr = '_be'\n            if (country === 'BE' && language === 'nl') addStr = '_be'\n            if (country === 'JP' && language === 'ja') addStr = '_jp_ja'\n            if (country === 'JP' && language === 'en') addStr = '_jp_en'\n            if (country === 'NL' && language === 'nl') addStr = '_nl_nl'\n            if (country === 'NL' && language === 'en') addStr = '_nl_en'\n            if (country === 'US' && language === 'en') addStr = '_us'\n            if (country === 'RO' && language === 'ro') addStr = '_ro_ro'\n            if (country === 'ES') addStr = '_es'\n            return addStr\n        },\n        onVideoReady () {\n            if (!this.$breakpoint.isS && !this.degrade) {\n                this.$refs.video.isPlaying = true\n                this.$refs.video.player.play()\n\n                this.machineTimeline\n                    .fromTo(this.$refs.video.$el, 1,\n                        {alpha: 0},\n                        {alpha: 1},\n                        1\n                    ).fromTo(this.$refs.machine, 3,\n                        {scale: 0.98, x: 30, alpha: 0},\n                        {scale: 1, x: 0, alpha: 1, ease: Power2.easeOut},\n                        1.4\n                    ).fromTo(this.$refs.sticker, 3,\n                        {scale: 0.95, x: -20, alpha: 0},\n                        {scale: 1, x: 0, alpha: 1, ease: Power2.easeOut},\n                        1.4\n                    ).fromTo(this.$refs.button, 2,\n                        {scale: 0.95, x: 10, alpha: 0},\n                        {\n                            scale: 1,\n                            x: 0,\n                            alpha: 1,\n                            ease: Power2.easeOut,\n                            onComplete: () => {\n                                this.$refs.video.player.pause()\n                            }\n                        }, 1.4\n                    )\n            }\n        }\n    }\n}\n</script>\n\n<style lang=\"sass\">\n    @import ~nespresso-bi/utilities\n    @import ~nespresso-bi/brand/variables\n    @import ~assets/sass/subscription_variables\n    @import SubscriptionHero\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/components/SubscriptionHero.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"g_subscriptionHero\",attrs:{\"id\":_vm.id,\"data-label\":_vm.dataLabel}},[(!_vm.degrade)?_c('div',{directives:[{name:\"img-src\",rawName:\"v-img-src\",value:({ folder: 'backgrounds', name: _vm.$json.hero.background ? _vm.$json.hero.background : 'earth' }),expression:\"{ folder: 'backgrounds', name: $json.hero.background ? $json.hero.background : 'earth' }\"}],staticClass:\"g_subscriptionHero__video\"},[(!_vm.$breakpoint.isS)?_c('EmbedVideo',{ref:\"video\",attrs:{\"auto-play\":true,\"content\":_vm.heroVideo,\"is-background\":true},on:{\"onReady\":_vm.onVideoReady}}):_vm._e()],1):_vm._e(),_vm._v(\" \"),(_vm.degrade)?_c('div',{directives:[{name:\"img-src\",rawName:\"v-img-src\",value:({ folder: 'backgrounds', name: _vm.$json.hero.background ? _vm.$json.hero.background : 'earth' }),expression:\"{ folder: 'backgrounds', name: $json.hero.background ? $json.hero.background : 'earth' }\"}],staticClass:\"g_subscriptionHero__background g_bg\"}):_vm._e(),_vm._v(\" \"),_c('div',{ref:\"machineWrapper\",staticClass:\"g_subscriptionHero__machine\"},[_c('div',{ref:\"machine\",staticClass:\"g_subscriptionHero__visual\"},[(_vm.machine && _vm.machine.images)?_c('img',{staticClass:\"g_visual\",attrs:{\"alt\":_vm.machine.internationalName,\"src\":_vm.machineImage}}):_vm._e()]),_vm._v(\" \"),(_vm.price)?_c('div',{ref:\"sticker\",staticClass:\"g_subscriptionHero__sticker\"},[_c('Paragraph',{attrs:{\"size\":\"L\",\"content\":_vm.forText}}),_vm._v(\" \"),_c('Heading',{attrs:{\"level\":1,\"fake\":\"\"},domProps:{\"textContent\":_vm._s(_vm.price)}}),_vm._v(\" \"),_c('Paragraph',{attrs:{\"size\":\"L\",\"content\":_vm.only}})],1):_vm._e(),_vm._v(\" \"),_c('div',{ref:\"button\"},[_c('Cta',{ref:\"shc1\",staticClass:\"g_btnWhite track-promotion-impression track-promotion-click\",attrs:{\"data-promotion-item-id\":\"subscription-hero-cta\",\"data-promotion-creative\":\"Subscription - Button\",\"data-promotion-position\":\"subscription-hero\",\"data-promotion-name\":_vm.cta,\"is-btn\":\"\",\"type\":\"button\",\"content\":_vm.cta},on:{\"click\":function($event){return _vm.openPopin('shc1')}}})],1)]),_vm._v(\" \"),_c('Zone',{staticClass:\"g_subscriptionHero__caption\",attrs:{\"id\":_vm.id+'Caption'}},[_c('header',{staticClass:\"g_subscriptionHero__header\"},[_c('Visual',{attrs:{\"aria-hidden\":\"true\",\"src\":{ suffix: false, name: 'logo-subscription' + _vm.addLogoCountry(), ext: 'png' }}}),_vm._v(\" \"),_c('Paragraph',{staticClass:\"g_subscriptionHero__title\",attrs:{\"size\":\"XL\",\"content\":_vm.title}}),_vm._v(\" \"),_c('Heading',{attrs:{\"level\":3},domProps:{\"innerHTML\":_vm._s(_vm.subtitle)}})],1),_vm._v(\" \"),_c('ol',{staticClass:\"g_subscriptionHero__points\"},_vm._l((_vm.points),function(point){return _c('li',{key:point.title},[_c('Paragraph',{staticClass:\"g_subscriptionHero__pointTitle\",attrs:{\"size\":\"M\",\"content\":point.title}}),_vm._v(\" \"),_c('Paragraph',{staticClass:\"g_subscriptionHero__pointText\",attrs:{\"size\":\"L\",\"content\":point.description}})],1)}),0)]),_vm._v(\" \"),_c('div',{class:['g_subscriptionHero__button', { active: _vm.showButton}]},[_c('Cta',{ref:\"shc2\",staticClass:\"g_btnWhite track-promotion-impression track-promotion-click\",attrs:{\"data-promotion-item-id\":\"subscription-hero-cta\",\"data-promotion-creative\":\"Subscription - Button\",\"data-promotion-position\":\"subscription-hero\",\"data-promotion-name\":_vm.cta,\"is-btn\":\"\",\"type\":\"button\",\"content\":_vm.cta},on:{\"click\":function($event){return _vm.openPopin('shc2')}}})],1)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-049fa10e\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/SubscriptionHero.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-049fa10e\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"indentedSyntax\\\":true,\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"/Users/nnjathanpr/NESPRESSO/projects/subscription-machine/src/assets/sass/_variables.sass\\\"}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./SubscriptionHero.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./SubscriptionHero.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./SubscriptionHero.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-049fa10e\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./SubscriptionHero.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/SubscriptionHero.vue\n// module id = null\n// module chunks = ","<template>\r\n    <Cta type=\"button\" @click=\"onClick\">\r\n        <Visual class=\"g_ctaInfo\" :svg=\"$landing.getImgUrl({ name: 'picto-info', ext: 'svg' })\" @click=\"onClick\"/>\r\n    </Cta>\r\n</template>\r\n\r\n<script>\r\nimport Cta from 'gvue/src/core/Cta'\r\nimport Visual from 'gvue/src/core/Visual'\r\n\r\nexport default {\r\n    name: 'CtaInfo',\r\n    props: {\r\n        onClick: { type: Function, required: true }\r\n    },\r\n    components: {\r\n        Cta,\r\n        Visual\r\n    }\r\n}\r\n</script>\r\n\r\n<style lang=\"sass\">\r\n    @import ~nespresso-bi/utilities\r\n    @import ~nespresso-bi/brand/variables\r\n    @import CtaInfo\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/CtaInfo/CtaInfo.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Cta',{attrs:{\"type\":\"button\"},on:{\"click\":_vm.onClick}},[_c('Visual',{staticClass:\"g_ctaInfo\",attrs:{\"svg\":_vm.$landing.getImgUrl({ name: 'picto-info', ext: 'svg' })},on:{\"click\":_vm.onClick}})],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-7b0a70a3\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/CtaInfo/CtaInfo.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-7b0a70a3\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"indentedSyntax\\\":true,\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"/Users/nnjathanpr/NESPRESSO/projects/subscription-machine/src/assets/sass/_variables.sass\\\"}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./CtaInfo.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./CtaInfo.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./CtaInfo.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-7b0a70a3\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./CtaInfo.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/CtaInfo/CtaInfo.vue\n// module id = null\n// module chunks = ","<template>\r\n    <div class=\"g_selectionFilters__options\"\r\n         ref=\"options\"\r\n         :class=\"{opened: opened}\"\r\n    >\r\n        <div v-for=\"option in options\"\r\n             :class=\"['g_radio', {disabled: option.disabled}]\"\r\n             :key=\"option.key\">\r\n            <input type=\"radio\"\r\n                   :checked=\"option.key === value\"\r\n                   :id=\"`${name}-${option.key}`\"\r\n                   :value=\"option.key\"\r\n                   @change=\"$emit('change', $event.target.value)\"\r\n            />\r\n            <label :for=\"`${name}-${option.key}`\">\r\n                <span class=\"g_radioTick\">\r\n                    <Visual :svg=\"$landing.getImgUrl({ name: 'picto-tick', ext: 'svg' })\"/>\r\n                </span>\r\n                <span v-html=\"optionLabel(option.label)\"></span>\r\n            </label>\r\n        </div>\r\n    </div>\r\n</template>\r\n\r\n<script>\r\nimport Visual from 'gvue/src/core/Visual'\r\n\r\nexport default {\r\n    name: 'SelectionFiltersOptions',\r\n    components: {\r\n        Visual\r\n    },\r\n    props: {\r\n        value: { type: String },\r\n        name: { type: String, required: true },\r\n        opened: { type: Boolean, default: false },\r\n        options: { type: Array, required: true }\r\n    },\r\n    methods: {\r\n        optionLabel (label) {\r\n            const legend = ` <small>${this.$json.selection.config[this.name] || ''}</small>`\r\n            return `${label}${legend}`\r\n        }\r\n    }\r\n}\r\n</script>\r\n\r\n<style lang=\"sass\">\r\n    @import ~nespresso-bi/utilities\r\n    @import ~nespresso-bi/brand/variables\r\n    @import ~assets/sass/subscription_variables\r\n    @import SelectionFiltersOptions\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/SelectionFilters/SelectionFiltersOptions.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"options\",staticClass:\"g_selectionFilters__options\",class:{opened: _vm.opened}},_vm._l((_vm.options),function(option){return _c('div',{key:option.key,class:['g_radio', {disabled: option.disabled}]},[_c('input',{attrs:{\"type\":\"radio\",\"id\":(_vm.name + \"-\" + (option.key))},domProps:{\"checked\":option.key === _vm.value,\"value\":option.key},on:{\"change\":function($event){return _vm.$emit('change', $event.target.value)}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":(_vm.name + \"-\" + (option.key))}},[_c('span',{staticClass:\"g_radioTick\"},[_c('Visual',{attrs:{\"svg\":_vm.$landing.getImgUrl({ name: 'picto-tick', ext: 'svg' })}})],1),_vm._v(\" \"),_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.optionLabel(option.label))}})])])}),0)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-3ea7d4a9\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/SelectionFilters/SelectionFiltersOptions.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-3ea7d4a9\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"indentedSyntax\\\":true,\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"/Users/nnjathanpr/NESPRESSO/projects/subscription-machine/src/assets/sass/_variables.sass\\\"}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./SelectionFiltersOptions.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./SelectionFiltersOptions.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./SelectionFiltersOptions.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-3ea7d4a9\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./SelectionFiltersOptions.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/SelectionFilters/SelectionFiltersOptions.vue\n// module id = null\n// module chunks = ","<template>\r\n    <li class=\"g_selectionFilters__panel\">\r\n        <Heading :level=\"5\">\r\n            <span @click=\"toggleOptions\">\r\n            <Cta :class=\"['g_selectionFilters__collapse', {active: isOpened}]\"\r\n                 type=\"button\"\r\n                 font-icon=\"fn_addToCart\"\r\n                 />\r\n                {{ optionsGroup.label }}\r\n            </span>\r\n            <CtaInfo class=\"g_selectionFilters__info\"\r\n                     v-if=\"name === 'system'\"\r\n                     :on-click=\"onInfoClick\"\r\n            />\r\n        </Heading>\r\n        <Cta fontIcon=\"fn_chevronDown\"\r\n             type=\"button\"\r\n             :content=\"ctaLabel\"\r\n             :class=\"['g_selectionFilters__toggle', {opened: isOpened}]\"\r\n             @click=\"toggleOptions\"\r\n        />\r\n        <SelectionFiltersOptions :name=\"name\"\r\n                                 :options=\"optionsGroup.options\"\r\n                                 :opened=\"isOpened\"\r\n                                 :value=\"filterValue\"\r\n                                 @change=\"emitValue\"\r\n        />\r\n    </li>\r\n</template>\r\n\r\n<script>\r\nimport Cta from 'gvue/src/core/Cta'\r\nimport Heading from 'gvue/src/core/Heading'\r\n\r\nimport CtaInfo from 'components/CtaInfo/CtaInfo'\r\nimport SelectionFiltersOptions from 'components/SelectionFilters/SelectionFiltersOptions'\r\n\r\nexport default {\r\n    name: 'SelectionFiltersPanel',\r\n    components: {\r\n        Cta,\r\n        CtaInfo,\r\n        Heading,\r\n        SelectionFiltersOptions\r\n    },\r\n    props: {\r\n        name: { type: String, required: true },\r\n        filterValue: { type: String },\r\n        optionsGroup: { type: Object, required: true },\r\n        isOpened: { type: Boolean, default: false },\r\n        onInfoClick: { type: Function }\r\n    },\r\n    computed: {\r\n        ctaLabel () {\r\n            return this.getOptionLabel(this.optionsGroup.options, this.filterValue)\r\n        }\r\n    },\r\n    methods: {\r\n        emitValue (key) {\r\n            this.toggleOptions()\r\n            this.$emit('change', key)\r\n        },\r\n        toggleOptions () {\r\n            this.$emit('toggle', !this.isOpened)\r\n        },\r\n        getOptionLabel (options, key) {\r\n            const option = options.find(option => option.key === key)\r\n            return option ? option.label : this.optionsGroup.placeholder\r\n        }\r\n    }\r\n}\r\n</script>\r\n\r\n<style lang=\"sass\">\r\n    @import ~nespresso-bi/utilities\r\n    @import ~nespresso-bi/brand/variables\r\n    @import ~assets/sass/subscription_variables\r\n    @import SelectionFiltersPanel\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/SelectionFilters/SelectionFiltersPanel.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{staticClass:\"g_selectionFilters__panel\"},[_c('Heading',{attrs:{\"level\":5}},[_c('span',{on:{\"click\":_vm.toggleOptions}},[_c('Cta',{class:['g_selectionFilters__collapse', {active: _vm.isOpened}],attrs:{\"type\":\"button\",\"font-icon\":\"fn_addToCart\"}}),_vm._v(\"\\n            \"+_vm._s(_vm.optionsGroup.label)+\"\\n        \")],1),_vm._v(\" \"),(_vm.name === 'system')?_c('CtaInfo',{staticClass:\"g_selectionFilters__info\",attrs:{\"on-click\":_vm.onInfoClick}}):_vm._e()],1),_vm._v(\" \"),_c('Cta',{class:['g_selectionFilters__toggle', {opened: _vm.isOpened}],attrs:{\"fontIcon\":\"fn_chevronDown\",\"type\":\"button\",\"content\":_vm.ctaLabel},on:{\"click\":_vm.toggleOptions}}),_vm._v(\" \"),_c('SelectionFiltersOptions',{attrs:{\"name\":_vm.name,\"options\":_vm.optionsGroup.options,\"opened\":_vm.isOpened,\"value\":_vm.filterValue},on:{\"change\":_vm.emitValue}})],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-4e5a128c\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/SelectionFilters/SelectionFiltersPanel.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-4e5a128c\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"indentedSyntax\\\":true,\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"/Users/nnjathanpr/NESPRESSO/projects/subscription-machine/src/assets/sass/_variables.sass\\\"}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./SelectionFiltersPanel.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./SelectionFiltersPanel.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./SelectionFiltersPanel.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-4e5a128c\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./SelectionFiltersPanel.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/SelectionFilters/SelectionFiltersPanel.vue\n// module id = null\n// module chunks = ","<template>\n    <div>\n        <Cta class=\"g_selectionReset\"\n             type=\"button\"\n             @click=\"resetFilters()\"\n        >\n            <Visual :svg=\"$landing.getImgUrl({ name: 'picto-reset', ext: 'svg' })\"/>\n            {{ reset }}\n        </Cta>\n        <ul class=\"g_selectionFilters\">\n            <SelectionFiltersPanel name=\"system\"\n                                   v-if=\"options.system\"\n                                   :filter-value=\"activeFilters.system\"\n                                   :options-group=\"options.system\"\n                                   :is-opened=\"'system' === openedFilter\"\n                                   :on-info-click=\"onInfoClick\"\n                                   @change=\"updateSystemFilter\"\n                                   @toggle=\"display => togglePanel(display, 'system')\"\n            ></SelectionFiltersPanel>\n            <SelectionFiltersPanel name=\"consumption\"\n                                   :filter-value=\"activeFilters.consumption\"\n                                   :options-group=\"updatedConsumption\"\n                                   :is-opened=\"'consumption' === openedFilter\"\n                                   :on-info-click=\"onInfoClick\"\n                                   @change=\"updateConsumptionFilter\"\n                                   @toggle=\"display => togglePanel(display, 'consumption')\"\n            ></SelectionFiltersPanel>\n            <SelectionFiltersPanel name=\"sorting\"\n                                   :filter-value=\"selectedSorting\"\n                                   :options-group=\"sorting\"\n                                   :is-opened=\"openedSorting\"\n                                   @change=\"updateSorting\"\n                                   @toggle=\"display => toggleSorting(display)\"\n            ></SelectionFiltersPanel>\n\n        </ul>\n    </div>\n</template>\n\n<script>\nimport Cta from 'gvue/src/core/Cta'\nimport Heading from 'gvue/src/core/Heading'\nimport Visual from 'gvue/src/core/Visual'\n\nimport SelectionFiltersPanel from 'components/SelectionFilters/SelectionFiltersPanel'\n\nexport default {\n    name: 'SelectionFilters',\n    components: {\n        Cta,\n        Heading,\n        SelectionFiltersPanel,\n        Visual\n    },\n    props: {\n        remainingFilters: { type: Array, default: () => [] },\n        activeFilters: { type: Object, required: true },\n        options: { type: Object, required: true },\n        conso: { type: String, default: null },\n        selSort: { type: String, default: null },\n        sorting: { type: Object, required: true },\n        onInfoClick: { type: Function }\n    },\n    data () {\n        return {\n            ...this.$json.selection.config,\n            selectedSorting: this.sorting.defaultSort ? this.sorting.defaultSort : 'price',\n            openedFilter: '',\n            openedSorting: false\n        }\n    },\n    computed: {\n        routeFilter () {\n            return this.remainingFilters.route\n        },\n        updatedConsumption () {\n            const consumptionOption = this.options.consumption\n            consumptionOption.options = consumptionOption.options.map(option => {\n                option.disabled = !this.remainingFilters.includes(option.key)\n                return option\n            })\n            return consumptionOption\n        }\n    },\n    created () {\n        this.resetFilters()\n        this.selection = this.remainingFilters.route\n    },\n    watch: {\n        conso (value) {\n            this.updateConsumptionFilter(value)\n        },\n        selSort (value) {\n            this.updateSorting(value)\n        }\n    },\n    methods: {\n        filtersReducer (list, filterKey) {\n            return {...list, [filterKey]: ''}\n        },\n        resetFilters () {\n            this.selection = {}\n            this.selectedSorting = this.sorting.defaultSort ? this.sorting.defaultSort : 'price'\n            this.openedFilter = ''\n            this.openedSorting = false\n            this.$emit('reset', true)\n        },\n        togglePanel (display, filterKey = '') {\n            this.openedFilter = display ? filterKey : ''\n            this.openedSorting = false\n            this.$emit('toggle', display)\n        },\n        toggleSorting (display) {\n            this.openedFilter = ''\n            this.openedSorting = display\n            this.$emit('toggle', display)\n        },\n        emitFilters (filters) {\n            this.$emit('filter', filters)\n        },\n        updateSorting (sorting) {\n            this.selectedSorting = sorting\n            this.$emit('sort', sorting)\n        },\n        updateSystemFilter (value) {\n            this.$emit('filter', {system: value})\n        },\n        updateConsumptionFilter (value) {\n            this.$emit('filter', {consumption: value})\n        }\n    }\n}\n</script>\n\n<style lang=\"sass\">\n    @import ~nespresso-bi/utilities\n    @import ~nespresso-bi/brand/variables\n    @import ~assets/sass/subscription_variables\n    @import SelectionFilters\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/components/SelectionFilters/SelectionFilters.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('Cta',{staticClass:\"g_selectionReset\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.resetFilters()}}},[_c('Visual',{attrs:{\"svg\":_vm.$landing.getImgUrl({ name: 'picto-reset', ext: 'svg' })}}),_vm._v(\"\\n        \"+_vm._s(_vm.reset)+\"\\n    \")],1),_vm._v(\" \"),_c('ul',{staticClass:\"g_selectionFilters\"},[(_vm.options.system)?_c('SelectionFiltersPanel',{attrs:{\"name\":\"system\",\"filter-value\":_vm.activeFilters.system,\"options-group\":_vm.options.system,\"is-opened\":'system' === _vm.openedFilter,\"on-info-click\":_vm.onInfoClick},on:{\"change\":_vm.updateSystemFilter,\"toggle\":function (display) { return _vm.togglePanel(display, 'system'); }}}):_vm._e(),_vm._v(\" \"),_c('SelectionFiltersPanel',{attrs:{\"name\":\"consumption\",\"filter-value\":_vm.activeFilters.consumption,\"options-group\":_vm.updatedConsumption,\"is-opened\":'consumption' === _vm.openedFilter,\"on-info-click\":_vm.onInfoClick},on:{\"change\":_vm.updateConsumptionFilter,\"toggle\":function (display) { return _vm.togglePanel(display, 'consumption'); }}}),_vm._v(\" \"),_c('SelectionFiltersPanel',{attrs:{\"name\":\"sorting\",\"filter-value\":_vm.selectedSorting,\"options-group\":_vm.sorting,\"is-opened\":_vm.openedSorting},on:{\"change\":_vm.updateSorting,\"toggle\":function (display) { return _vm.toggleSorting(display); }}})],1)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-370d339c\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/SelectionFilters/SelectionFilters.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-370d339c\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"indentedSyntax\\\":true,\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"/Users/nnjathanpr/NESPRESSO/projects/subscription-machine/src/assets/sass/_variables.sass\\\"}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./SelectionFilters.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./SelectionFilters.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./SelectionFilters.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-370d339c\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./SelectionFilters.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/SelectionFilters/SelectionFilters.vue\n// module id = null\n// module chunks = ","<template>\n    <li class=\"g_radioColor\" v-if=\"machine.colorShade\">\n        <input type=\"radio\"\n               :checked=\"machine.legacyId === value\"\n               :id=\"`${name}_${machine.legacyId}`\"\n               :name=\"name\"\n               :value=\"machine.legacyId\"\n               @change=\"$emit('input', $event.target.value)\"\n        />\n        <label\n                :for=\"`${name}_${machine.legacyId}`\"\n                :style=\"{backgroundColor : machine.colorShade.cssCode}\"></label>\n    </li>\n</template>\n\n<script>\nexport default {\n    name: 'RadioColor',\n    props: {\n        name: { type: String, required: true },\n        value: { type: String, default: '' },\n        machine: { type: Object, required: true }\n    }\n}\n</script>\n\n<style lang=\"sass\">\n@import ~nespresso-bi/utilities\n@import ~nespresso-bi/brand/variables\n@import ~assets/sass/subscription_variables\n@import RadioColor\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/components/RadioColor/RadioColor.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.machine.colorShade)?_c('li',{staticClass:\"g_radioColor\"},[_c('input',{attrs:{\"type\":\"radio\",\"id\":(_vm.name + \"_\" + (_vm.machine.legacyId)),\"name\":_vm.name},domProps:{\"checked\":_vm.machine.legacyId === _vm.value,\"value\":_vm.machine.legacyId},on:{\"change\":function($event){return _vm.$emit('input', $event.target.value)}}}),_vm._v(\" \"),_c('label',{style:({backgroundColor : _vm.machine.colorShade.cssCode}),attrs:{\"for\":(_vm.name + \"_\" + (_vm.machine.legacyId))}})]):_vm._e()}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-e8a3f142\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/RadioColor/RadioColor.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-e8a3f142\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"indentedSyntax\\\":true,\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"/Users/nnjathanpr/NESPRESSO/projects/subscription-machine/src/assets/sass/_variables.sass\\\"}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./RadioColor.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./RadioColor.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./RadioColor.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-e8a3f142\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./RadioColor.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/RadioColor/RadioColor.vue\n// module id = null\n// module chunks = ","<template>\n    <GridItem class=\"g_subscriptionOffer\">\n        <div class=\"g_subscriptionVisual\">\n            <Cta v-if=\"activeMachine.pdpURL\" type=\"text\" :link=\"activeMachine.pdpURL\" target=\"_blank\">\n                <img v-if=\"activeMachine.images\" :src=\"activeMachine.images.icon\" :alt=\"activeMachine.internationalName\"/>\n            </Cta>\n            <img v-if=\"activeMachine.images && !activeMachine.pdpURL\" :src=\"activeMachine.images.icon\" :alt=\"activeMachine.internationalName\"/>\n        </div>\n        <Heading :level=\"5\">\n            <span v-html=\"subscription.title\"/>\n            <CtaInfo v-if=\"showInfo\"\n                     :on-click=\"onInfoClick\"\n            />\n        </Heading>\n        <div class=\"g_subscriptionDescription\">\n            <Paragraph size=\"XS\" :content=\"subscription.description\"/>\n        </div>\n        <div class=\"g_toggleColorName\">\n            {{activeMachine.colorShade.name}}\n        </div>\n        <ul class=\"g_toggleColor\">\n            <RadioColor v-for=\"machine in sortedColors\"\n                        v-model=\"selectedSku\"\n                        :name=\"getName(subscription.id)\"\n                        :key=\"machine.legacyId\"\n                        :machine=\"machine\"\n            />\n        </ul>\n        <p class=\"g_subscriptionFee\">\n            <span>{{ formatPrice(subscription.periodicFee) }}</span>/{{ config.feeRecurrence }}\n        </p>\n        <p class=\"g_subscriptionPromo\">+ {{ config.promoLabel }} {{ formatPrice(subscription.promotionalPrice) }}</p>\n        <Paragraph class=\"g_subscriptionBase\" size=\"XS\" :content=\"`${config.originalPriceLabel} ${activeMachine.displayedPrice}`\"/>\n        <ul class=\"g_subscriptionServices\">\n            <li class=\"g_subscriptionService\"\n                v-for=\"service in subscription.additionalServices\"\n                :key=\"service\"\n            >\n                <span class=\"g_subscriptionTick\">\n                    <Visual :svg=\"$landing.getImgUrl({ name: 'picto-tick', ext: 'svg' })\"/>\n                </span>\n                {{ service }}\n            </li>\n        </ul>\n\n        <!--<p><u>monthsDuration</u>: <span v-text=\"machine.monthsDuration\"></span></p>-->\n        <!--<p><u>firstFee</u>: <span v-text=\"machine.firstFee\"></span></p>-->\n        <Cta class=\"g_btn g_subscriptionButton\"\n             is-btn\n             fontIcon=\"fn_addToCart\"\n             type=\"button\"\n             :disabled=\"!activeMachine.inStock\"\n             @click=\"activeMachine.inStock && addSubscription(subscription.id)\"\n        ><i class=\"fn_basket\"></i><span>{{ activeMachine.inStock ? subscription.ctaLabel : outOfStockCta ? outOfStockCta : subscription.ctaLabel }}</span></Cta>\n    </GridItem>\n</template>\n\n<script>\nimport Cta from 'gvue/src/core/Cta'\nimport Heading from 'gvue/src/core/Heading'\nimport Paragraph from 'gvue/src/core/Paragraph'\nimport Visual from 'gvue/src/core/Visual'\nimport { GridItem } from 'gvue/src/core/Grid'\n\nimport CtaInfo from 'components/CtaInfo/CtaInfo'\nimport RadioColor from 'components/RadioColor/RadioColor'\n\nexport default {\n    name: 'SelectionOffer',\n    components: {\n        Cta,\n        CtaInfo,\n        GridItem,\n        Heading,\n        Paragraph,\n        RadioColor,\n        Visual\n    },\n    props: {\n        prefix: { type: String, default: '' },\n        subscription: { type: Object, required: true },\n        showInfo: { type: Boolean, default: true },\n        onInfoClick: { type: Function, required: true },\n        onSubscribe: { type: Function, required: true }\n    },\n    data () {\n        return {\n            ...this.$json.selection,\n            selectedSku: '',\n            sortedColors: [],\n            formatter: null\n        }\n    },\n    computed: {\n        activeMachine () {\n            return this.subscription.machines.find(machine => machine.legacyId === this.selectedSku)\n        }\n    },\n    watch: {\n        subscription: {\n            handler: 'getDefaultSku',\n            deep: true,\n            immediate: true\n        }\n    },\n    async mounted () {\n        this.formatter = await window.napi.priceFormat()\n    },\n    methods: {\n        formatPrice (value) {\n            return this.formatter ? this.formatter.short(this.activeMachine.currencySymbol, value) : value\n        },\n        getDefaultSku (subscription) {\n            this.sortedColors = subscription.machines.slice().sort((a, b) => b.inStock - a.inStock)\n            this.selectedSku = this.sortedColors[0].legacyId\n        },\n        getName (subscriptionId) {\n            return `${this.prefix}${subscriptionId}`\n        },\n        addSubscription (subscriptionId) {\n            this.$emit('add', this.activeMachine)\n            this.onSubscribe(subscriptionId, this.activeMachine.legacyId)\n        }\n    }\n}\n</script>\n\n<style lang=\"sass\">\n    @import ~nespresso-bi/utilities\n    @import ~nespresso-bi/brand/variables\n    @import ~assets/sass/subscription_variables\n    @import SelectionOffer\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/components/SelectionOffer/SelectionOffer.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('GridItem',{staticClass:\"g_subscriptionOffer\"},[_c('div',{staticClass:\"g_subscriptionVisual\"},[(_vm.activeMachine.pdpURL)?_c('Cta',{attrs:{\"type\":\"text\",\"link\":_vm.activeMachine.pdpURL,\"target\":\"_blank\"}},[(_vm.activeMachine.images)?_c('img',{attrs:{\"src\":_vm.activeMachine.images.icon,\"alt\":_vm.activeMachine.internationalName}}):_vm._e()]):_vm._e(),_vm._v(\" \"),(_vm.activeMachine.images && !_vm.activeMachine.pdpURL)?_c('img',{attrs:{\"src\":_vm.activeMachine.images.icon,\"alt\":_vm.activeMachine.internationalName}}):_vm._e()],1),_vm._v(\" \"),_c('Heading',{attrs:{\"level\":5}},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.subscription.title)}}),_vm._v(\" \"),(_vm.showInfo)?_c('CtaInfo',{attrs:{\"on-click\":_vm.onInfoClick}}):_vm._e()],1),_vm._v(\" \"),_c('div',{staticClass:\"g_subscriptionDescription\"},[_c('Paragraph',{attrs:{\"size\":\"XS\",\"content\":_vm.subscription.description}})],1),_vm._v(\" \"),_c('div',{staticClass:\"g_toggleColorName\"},[_vm._v(\"\\n        \"+_vm._s(_vm.activeMachine.colorShade.name)+\"\\n    \")]),_vm._v(\" \"),_c('ul',{staticClass:\"g_toggleColor\"},_vm._l((_vm.sortedColors),function(machine){return _c('RadioColor',{key:machine.legacyId,attrs:{\"name\":_vm.getName(_vm.subscription.id),\"machine\":machine},model:{value:(_vm.selectedSku),callback:function ($$v) {_vm.selectedSku=$$v},expression:\"selectedSku\"}})}),1),_vm._v(\" \"),_c('p',{staticClass:\"g_subscriptionFee\"},[_c('span',[_vm._v(_vm._s(_vm.formatPrice(_vm.subscription.periodicFee)))]),_vm._v(\"/\"+_vm._s(_vm.config.feeRecurrence)+\"\\n    \")]),_vm._v(\" \"),_c('p',{staticClass:\"g_subscriptionPromo\"},[_vm._v(\"+ \"+_vm._s(_vm.config.promoLabel)+\" \"+_vm._s(_vm.formatPrice(_vm.subscription.promotionalPrice)))]),_vm._v(\" \"),_c('Paragraph',{staticClass:\"g_subscriptionBase\",attrs:{\"size\":\"XS\",\"content\":((_vm.config.originalPriceLabel) + \" \" + (_vm.activeMachine.displayedPrice))}}),_vm._v(\" \"),_c('ul',{staticClass:\"g_subscriptionServices\"},_vm._l((_vm.subscription.additionalServices),function(service){return _c('li',{key:service,staticClass:\"g_subscriptionService\"},[_c('span',{staticClass:\"g_subscriptionTick\"},[_c('Visual',{attrs:{\"svg\":_vm.$landing.getImgUrl({ name: 'picto-tick', ext: 'svg' })}})],1),_vm._v(\"\\n            \"+_vm._s(service)+\"\\n        \")])}),0),_vm._v(\" \"),_c('Cta',{staticClass:\"g_btn g_subscriptionButton\",attrs:{\"is-btn\":\"\",\"fontIcon\":\"fn_addToCart\",\"type\":\"button\",\"disabled\":!_vm.activeMachine.inStock},on:{\"click\":function($event){_vm.activeMachine.inStock && _vm.addSubscription(_vm.subscription.id)}}},[_c('i',{staticClass:\"fn_basket\"}),_c('span',[_vm._v(_vm._s(_vm.activeMachine.inStock ? _vm.subscription.ctaLabel : _vm.outOfStockCta ? _vm.outOfStockCta : _vm.subscription.ctaLabel))])])],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-285b9886\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/SelectionOffer/SelectionOffer.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-285b9886\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"indentedSyntax\\\":true,\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"/Users/nnjathanpr/NESPRESSO/projects/subscription-machine/src/assets/sass/_variables.sass\\\"}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./SelectionOffer.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./SelectionOffer.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./SelectionOffer.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-285b9886\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./SelectionOffer.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/SelectionOffer/SelectionOffer.vue\n// module id = null\n// module chunks = ","<template>\n    <div>\n        <Zone :class=\"['g_sectionSubscription', {overlay: isFiltering}]\"\n              contrast=\"light\"\n              id=\"subscriptionList\"\n              v-if=\"machines\"\n              ref=\"zone\"\n        >\n            <Heading :level=\"3\">{{ title }}</Heading>\n            <Cta class=\"g_sectionSubscription__filters\"\n                 is-btn\n                 type=\"button\"\n                 v-if=\"$breakpoint.isS\"\n                 @click=\"onFiltersClick\"\n            >\n                <Visual :svg=\"$landing.getImgUrl({ name: 'icon-levels', ext: 'svg' })\"/>\n                {{ filterButtonLabel }}\n            </Cta>\n            <SelectionFilters v-else\n                              :remaining-filters=\"remainingFilters\"\n                              :active-filters=\"activeFilters\"\n                              :options=\"filters\"\n                              :on-info-click=\"onInfoClick\"\n                              :sorting=\"sorting\"\n                              :conso=\"consumption\"\n                              :sel-sort=\"sort\"\n                              @filter=\"updateFilters\"\n                              @sort=\"updateSort\"\n                              @toggle=\"setOverlay\"\n                              @reset=\"resetFilters\"\n            />\n            <div class=\"swiper-container g_sectionSubscription__list\" ref=\"swiper\">\n                <transition-group class=\"swiper-wrapper\"\n                                  name=\"subscriptions\"\n                                  tag=\"ul\"\n                                  @after-enter=\"updateSwiper\"\n                >\n                    <SelectionOffer class=\"swiper-slide\"\n                                    v-for=\"machine in filteredMachines\"\n                                    v-bind:key=\"machine.id\"\n                                    :subscription=\"machine\"\n                                    :show-info=\"showInfo\"\n                                    :on-info-click=\"onInfoClick\"\n                                    :on-subscribe=\"onSubscribe\"\n                    />\n                </transition-group>\n                <div class=\"swiper-button-prev\" ref=\"swiperPrev\"></div>\n                <div class=\"swiper-button-next\" ref=\"swiperNext\"></div>\n            </div>\n        </Zone>\n        <Popin class=\"g_popinFilters\"\n               close-label=\"close\"\n               v-if=\"$breakpoint.isS\"\n               v-model=\"popinFiltersOpened\"\n               :is-open=\"false\"\n        >\n            <div class=\"g_popinFilters__content\">\n                <SelectionFilters :remaining-filters=\"remainingFilters\"\n                                  :active-filters=\"activeFilters\"\n                                  :options=\"filters\"\n                                  :on-info-click=\"onInfoClick\"\n                                  :sorting=\"sorting\"\n                                  @filter=\"updateFilters\"\n                                  @sort=\"updateSort\"\n                                  @toggle=\"setOverlay\"\n                                  @reset=\"resetFilters\"\n                />\n                <div class=\"g_popinFilters__button\">\n                    <Cta is-btn\n                         type=\"button\"\n                         :content=\"popinCtaLabel\"\n                         @click=\"goToFilters\"\n                    />\n                </div>\n            </div>\n        </Popin>\n    </div>\n</template>\n\n<script>\nimport * as Swiper from 'swiper/dist/js/swiper.js'\n\nimport Cta from 'gvue/src/core/Cta'\nimport Heading from 'gvue/src/core/Heading'\nimport Popin from 'gvue/src/core/Popin'\nimport Zone from 'gvue/src/core/Zone'\nimport ZoneTracking from 'gvue/src/assets/js/mixins/ZoneTracking'\n\nimport SelectionFilters from 'components/SelectionFilters/SelectionFilters'\nimport SelectionOffer from 'components/SelectionOffer/SelectionOffer'\n\nexport default {\n    name: 'SubscriptionSelection',\n    mixins: [ZoneTracking],\n    components: {\n        Cta,\n        Heading,\n        Popin,\n        SelectionFilters,\n        SelectionOffer,\n        Zone\n    },\n    props: {\n        machines: { type: Array, required: () => true },\n        routeFilters: { type: Object, required: () => true },\n        system: { type: String, default: '' },\n        consumption: { type: String, default: null },\n        sort: { type: String, default: null },\n        onSubscribe: { type: Function, required: () => true },\n        onInfoClick: { type: Function }\n    },\n    data () {\n        return {\n            ...this.$json.selection,\n            isFiltering: false,\n            activeFilters: {},\n            activeSorting: 'price',\n            popinFiltersOpened: false,\n            swiper: null\n        }\n    },\n    watch: {\n        system (value) {\n            this.activeFilters = { system: value }\n        }\n    },\n    computed: {\n        remainingFilters () {\n            return this.getFiltersFromMachines()\n        },\n        filteredMachines () {\n            let filteredMachines = this.machines.filter(this.filterMachines.bind(this))\n            filteredMachines.forEach((sub, index, object) => {\n                const subMachines = sub.machines.filter(m => { return m.inStock })\n                if (subMachines.length === 0) {\n                    object.splice(index, 1)\n                }\n            })\n            filteredMachines.sort(this.sortMachines.bind(this))\n            // reverse sort if popularity\n            if (this.activeSorting === 'popularity') {\n                filteredMachines = [...filteredMachines].reverse()\n            }\n            return filteredMachines\n        },\n        filteredMachinesLength () {\n            return this.filteredMachines.length\n        },\n        filterButtonLabel () {\n            return `${this.filteredMachinesLength} ${this.filteredMachinesLength > 1 ? this.$json.config.results : this.$json.config.result}`\n        },\n        popinCtaLabel () {\n            return this.popinCta.replace('{{count}}', this.filteredMachinesLength)\n        },\n        showInfo () {\n            return this.machines.some(this.isMachineVertuo.bind(this))\n        }\n    },\n    mounted () {\n        this.activeSorting = this.sorting.defaultSort ? this.sorting.defaultSort : 'price'\n        if (this.$breakpoint.isS) {\n            this.swiper = new Swiper(this.$refs.swiper, {\n                centeredSlides: true,\n                spaceBetween: 20,\n                navigation: {\n                    nextEl: this.$refs.swiperNext,\n                    prevEl: this.$refs.swiperPrev\n                }\n            })\n        }\n        this.filters = this.cleanFilters(this.filters)\n    },\n    methods: {\n        filterMachines (machine) {\n            const activeFilters = Object.values(this.activeFilters).filter(Boolean)\n            const machineFound = activeFilters.every(filter => this.isFilterInMachine(filter, machine))\n            return machineFound\n        },\n        isFilterInMachine (filter, machine) {\n            return machine.filters.indexOf(filter) >= 0\n        },\n        sortMachines (a, b) {\n            if (this.activeSorting === 'price') {\n                return a.machines[0].periodicFee - b.machines[0].periodicFee\n            }\n            if (this.activeSorting === 'popularity') {\n                return a.popularity - b.popularity\n            }\n        },\n        getFiltersFromMachines () {\n            const machines = this.getMachinesFilteredBySystem(this.activeFilters.system)\n            const machineFilters = machines.reduce((filters, machine) => [\n                ...filters,\n                ...machine.filters\n            ], [])\n            const uniqueMachineFilters = this.uniqueFilters(machineFilters)\n            return this.removeSystemFilters(uniqueMachineFilters)\n        },\n        getMachinesFilteredBySystem (system) {\n            return system\n                ? this.machines.filter(machine => this.isFilterInMachine(system, machine))\n                : this.machines\n        },\n        uniqueFilters (filters) {\n            return [...new Set(filters)]\n        },\n        removeSystemFilters (filters) {\n            const systemFilters = this.filters.system\n                ? this.filters.system.options.reduce((options, option) => options.concat([option.key]), [])\n                : ['original', 'vertuo']\n            return filters.filter(filter => !systemFilters.includes(filter))\n        },\n        cleanFilters (filters) {\n            const machinesContainsVertuo = this.machines.some(this.isMachineVertuo.bind(this))\n            if (!machinesContainsVertuo) {\n                delete filters.system\n                this.$root.hasDoubleTech = false\n            }\n            return filters\n        },\n        onFiltersClick () {\n            this.popinFiltersOpened = true\n        },\n        updateFilters (filters) {\n            if (filters.system && this.activeFilters.system !== filters.system) {\n                filters.consumption = undefined\n            }\n            this.activeFilters = {...this.activeFilters, ...filters}\n        },\n        updateSort (sorting) {\n            this.activeSorting = sorting\n        },\n        updateSwiper () {\n            if (this.$breakpoint.isS) {\n                this.swiper.update()\n            }\n        },\n        resetFilters () {\n            this.activeFilters = {}\n            this.activeSorting = this.sorting.defaultSort ? this.sorting.defaultSort : 'price'\n            this.setOverlay(false)\n        },\n        setOverlay (state) {\n            this.isFiltering = state\n        },\n        goToFilters () {\n            window.scrollTo({\n                top: this.$refs.zone.$el.getBoundingClientRect().top + window.pageYOffset,\n                behavior: 'smooth'\n            })\n            this.isFiltering = false\n            this.popinFiltersOpened = false\n        },\n        isMachineVertuo (machine) {\n            return machine.filters.some(filter => filter === 'vertuo')\n        }\n    }\n}\n</script>\n\n<style lang=\"sass\">\n    @import ~nespresso-bi/utilities\n    @import ~nespresso-bi/brand/variables\n    @import ~assets/sass/subscription_variables\n    @import SubscriptionSelection\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/components/SubscriptionSelection.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.machines)?_c('Zone',{ref:\"zone\",class:['g_sectionSubscription', {overlay: _vm.isFiltering}],attrs:{\"contrast\":\"light\",\"id\":\"subscriptionList\"}},[_c('Heading',{attrs:{\"level\":3}},[_vm._v(_vm._s(_vm.title))]),_vm._v(\" \"),(_vm.$breakpoint.isS)?_c('Cta',{staticClass:\"g_sectionSubscription__filters\",attrs:{\"is-btn\":\"\",\"type\":\"button\"},on:{\"click\":_vm.onFiltersClick}},[_c('Visual',{attrs:{\"svg\":_vm.$landing.getImgUrl({ name: 'icon-levels', ext: 'svg' })}}),_vm._v(\"\\n            \"+_vm._s(_vm.filterButtonLabel)+\"\\n        \")],1):_c('SelectionFilters',{attrs:{\"remaining-filters\":_vm.remainingFilters,\"active-filters\":_vm.activeFilters,\"options\":_vm.filters,\"on-info-click\":_vm.onInfoClick,\"sorting\":_vm.sorting,\"conso\":_vm.consumption,\"sel-sort\":_vm.sort},on:{\"filter\":_vm.updateFilters,\"sort\":_vm.updateSort,\"toggle\":_vm.setOverlay,\"reset\":_vm.resetFilters}}),_vm._v(\" \"),_c('div',{ref:\"swiper\",staticClass:\"swiper-container g_sectionSubscription__list\"},[_c('transition-group',{staticClass:\"swiper-wrapper\",attrs:{\"name\":\"subscriptions\",\"tag\":\"ul\"},on:{\"after-enter\":_vm.updateSwiper}},_vm._l((_vm.filteredMachines),function(machine){return _c('SelectionOffer',{key:machine.id,staticClass:\"swiper-slide\",attrs:{\"subscription\":machine,\"show-info\":_vm.showInfo,\"on-info-click\":_vm.onInfoClick,\"on-subscribe\":_vm.onSubscribe}})}),1),_vm._v(\" \"),_c('div',{ref:\"swiperPrev\",staticClass:\"swiper-button-prev\"}),_vm._v(\" \"),_c('div',{ref:\"swiperNext\",staticClass:\"swiper-button-next\"})],1)],1):_vm._e(),_vm._v(\" \"),(_vm.$breakpoint.isS)?_c('Popin',{staticClass:\"g_popinFilters\",attrs:{\"close-label\":\"close\",\"is-open\":false},model:{value:(_vm.popinFiltersOpened),callback:function ($$v) {_vm.popinFiltersOpened=$$v},expression:\"popinFiltersOpened\"}},[_c('div',{staticClass:\"g_popinFilters__content\"},[_c('SelectionFilters',{attrs:{\"remaining-filters\":_vm.remainingFilters,\"active-filters\":_vm.activeFilters,\"options\":_vm.filters,\"on-info-click\":_vm.onInfoClick,\"sorting\":_vm.sorting},on:{\"filter\":_vm.updateFilters,\"sort\":_vm.updateSort,\"toggle\":_vm.setOverlay,\"reset\":_vm.resetFilters}}),_vm._v(\" \"),_c('div',{staticClass:\"g_popinFilters__button\"},[_c('Cta',{attrs:{\"is-btn\":\"\",\"type\":\"button\",\"content\":_vm.popinCtaLabel},on:{\"click\":_vm.goToFilters}})],1)],1)]):_vm._e()],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-06e23e4a\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/SubscriptionSelection.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-06e23e4a\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"indentedSyntax\\\":true,\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"/Users/nnjathanpr/NESPRESSO/projects/subscription-machine/src/assets/sass/_variables.sass\\\"}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./SubscriptionSelection.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./SubscriptionSelection.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./SubscriptionSelection.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-06e23e4a\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./SubscriptionSelection.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/SubscriptionSelection.vue\n// module id = null\n// module chunks = ","<template>\n    <Zone class=\"g_subscriptionTestimonials\"\n          :background-image=\"{ folder: 'backgrounds', name: 'testimonials' }\"\n          :data-label=\"dataLabel\"\n          :id=\"id\"\n    >\n        <Grid class=\"g_subscriptionTestimonials__content\"\n              row=\"\"\n              type=\"div\"\n        >\n            <GridItem class=\"g_subscriptionTestimonials__cover\">\n                <Visual class=\"g_subscriptionTestimonials__visual\"\n                        :src=\"{ name: image, sync: true}\"\n                        aria-hidden=\"true\"\n                />\n            </GridItem>\n            <GridItem class=\"g_subscriptionTestimonials__caption\">\n                <Heading :level=\"2\" v-html=\"title\"/>\n                <Cta class=\"g_btnWhite\"\n                     is-btn=\"\"\n                     type=\"button\"\n                     :content=\"cta\"\n                     @click=\"onPopinOpen\"\n                />\n            </GridItem>\n        </Grid>\n    </Zone>\n</template>\n\n<script>\n// Core components\nimport Cta from 'gvue/src/core/Cta'\nimport Heading from 'gvue/src/core/Heading'\nimport Paragraph from 'gvue/src/core/Paragraph'\nimport Visual from 'gvue/src/core/Visual'\nimport Zone from 'gvue/src/core/Zone'\nimport { Grid, GridItem } from 'gvue/src/core/Grid'\nimport ZoneTracking from 'gvue/src/assets/js/mixins/ZoneTracking'\n\nexport default {\n    name: 'SubscriptionHelp',\n    mixins: [ZoneTracking],\n    components: {\n        Cta,\n        Grid,\n        GridItem,\n        Heading,\n        Paragraph,\n        Visual,\n        Zone\n    },\n    props: {\n        onPopinOpen: { type: Function, required: true }\n    },\n    data () {\n        return {...this.$json.testimonials}\n    }\n}\n</script>\n\n<style lang=\"sass\">\n    @import ~nespresso-bi/utilities\n    @import ~nespresso-bi/brand/variables\n    @import ~nespresso-bi/layout/grids/grid\n    @import ~assets/sass/subscription_variables\n    @import SubscriptionTestimonials\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/components/SubscriptionTestimonials.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Zone',{staticClass:\"g_subscriptionTestimonials\",attrs:{\"background-image\":{ folder: 'backgrounds', name: 'testimonials' },\"data-label\":_vm.dataLabel,\"id\":_vm.id}},[_c('Grid',{staticClass:\"g_subscriptionTestimonials__content\",attrs:{\"row\":\"\",\"type\":\"div\"}},[_c('GridItem',{staticClass:\"g_subscriptionTestimonials__cover\"},[_c('Visual',{staticClass:\"g_subscriptionTestimonials__visual\",attrs:{\"src\":{ name: _vm.image, sync: true},\"aria-hidden\":\"true\"}})],1),_vm._v(\" \"),_c('GridItem',{staticClass:\"g_subscriptionTestimonials__caption\"},[_c('Heading',{attrs:{\"level\":2},domProps:{\"innerHTML\":_vm._s(_vm.title)}}),_vm._v(\" \"),_c('Cta',{staticClass:\"g_btnWhite\",attrs:{\"is-btn\":\"\",\"type\":\"button\",\"content\":_vm.cta},on:{\"click\":_vm.onPopinOpen}})],1)],1)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-4710c3b4\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/SubscriptionTestimonials.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-4710c3b4\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"indentedSyntax\\\":true,\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"/Users/nnjathanpr/NESPRESSO/projects/subscription-machine/src/assets/sass/_variables.sass\\\"}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./SubscriptionTestimonials.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./SubscriptionTestimonials.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./SubscriptionTestimonials.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-4710c3b4\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./SubscriptionTestimonials.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/SubscriptionTestimonials.vue\n// module id = null\n// module chunks = ","<template>\n    <div class=\"g_subscriptionVideo\">\n        <BackgroundVideo align=\"center\"\n                         class=\"g_subscriptionVideo__background\"\n                         :auto-play=\"true\"\n                         :background-image=\"{ folder: 'backgrounds', name: 'video' }\"\n                         :background-video=\"videoLoop\"\n                         :id=\"id\"\n        >\n            <Cta class=\"g_playVideo\"\n                 fontIcon=\"fn_videoCircle\"\n                 type=\"button\"\n                 v-if=\"video && video.id\"\n                 :class-name-content=\"['g_headline']\"\n                 :content=\"$json.config.watchVideo\"\n                 @click=\"isVideoOpen = true\"\n            />\n        </BackgroundVideo>\n        <Popin class=\"g_popinVideo\"\n               closeLabel=\"close\"\n               v-model=\"isVideoOpen\"\n               @change=\"playVideo\"\n        >\n            <EmbedVideo ref=\"video\"\n                        :auto-play=\"true\"\n                        :content=\"video\"\n                        :trackingLabel=\"trackingVideoLabel\"\n            />\n        </Popin>\n\n    </div>\n</template>\n\n<script>\nimport Tracking from 'nespresso-library/src/core/tracking'\nimport ZoneTracking from 'gvue/src/assets/js/mixins/ZoneTracking'\n\nimport BackgroundVideo from 'gvue/src/components/BackgroundVideo'\nimport Cta from 'gvue/src/core/Cta'\nimport EmbedVideo from 'gvue/src/core/EmbedVideo'\nimport Heading from 'gvue/src/core/Heading'\nimport Popin from 'gvue/src/core/Popin'\n\nexport default {\n    name: 'SubscriptionVideo',\n    mixins: [ZoneTracking],\n    components: {\n        BackgroundVideo,\n        Cta,\n        EmbedVideo,\n        Heading,\n        Popin\n    },\n    data () {\n        return {\n            ...this.$json.video,\n            isVideoOpen: false,\n            trackingVideoLabel: 'Video'\n        }\n    },\n    methods: {\n        playVideo (popinStatus) {\n            this.$nextTick(() => {\n                const video = this.$refs.video\n                if (popinStatus) {\n                    Tracking.customEvent({\n                        category: 'User Engagement',\n                        action: 'Click',\n                        label: `Subscription - Open video - ${video.getTrackingTitle()}`,\n                        interaction: 0\n                    })\n                }\n            })\n        }\n    }\n}\n</script>\n\n<style lang=\"sass\">\n    @import ~nespresso-bi/utilities\n    @import ~nespresso-bi/brand/variables\n    @import ~assets/sass/subscription_variables\n    @import SubscriptionVideo\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/components/SubscriptionVideo.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"g_subscriptionVideo\"},[_c('BackgroundVideo',{staticClass:\"g_subscriptionVideo__background\",attrs:{\"align\":\"center\",\"auto-play\":true,\"background-image\":{ folder: 'backgrounds', name: 'video' },\"background-video\":_vm.videoLoop,\"id\":_vm.id}},[(_vm.video && _vm.video.id)?_c('Cta',{staticClass:\"g_playVideo\",attrs:{\"fontIcon\":\"fn_videoCircle\",\"type\":\"button\",\"class-name-content\":['g_headline'],\"content\":_vm.$json.config.watchVideo},on:{\"click\":function($event){_vm.isVideoOpen = true}}}):_vm._e()],1),_vm._v(\" \"),_c('Popin',{staticClass:\"g_popinVideo\",attrs:{\"closeLabel\":\"close\"},on:{\"change\":_vm.playVideo},model:{value:(_vm.isVideoOpen),callback:function ($$v) {_vm.isVideoOpen=$$v},expression:\"isVideoOpen\"}},[_c('EmbedVideo',{ref:\"video\",attrs:{\"auto-play\":true,\"content\":_vm.video,\"trackingLabel\":_vm.trackingVideoLabel}})],1)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-43d68d34\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/SubscriptionVideo.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-43d68d34\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"indentedSyntax\\\":true,\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"/Users/nnjathanpr/NESPRESSO/projects/subscription-machine/src/assets/sass/_variables.sass\\\"}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./SubscriptionVideo.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./SubscriptionVideo.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./SubscriptionVideo.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-43d68d34\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./SubscriptionVideo.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/SubscriptionVideo.vue\n// module id = null\n// module chunks = ","<style lang=\"sass\">\n@import ~nespresso-bi/utilities\n@import ~nespresso-bi/brand/variables\n@import ../sass/variables\n@import sass/naturalScroll\n</style>\n\n<template>\n    <div ref=\"scroll\" class=\"g_naturalScrollContainer\">\n        <div class=\"g_naturalScroll\">\n            <div class=\"g_naturalScrollOverflow\">\n                <div class=\"g_naturalScrollPadding\">\n                    <slot />\n                </div>\n            </div>\n        </div>\n    </div>\n</template>\n\n<script>\nimport { outerHeight, parent, hasClass, find } from 'gaspard'\nimport { isIE10 } from 'nespresso-library/src/utils/userAgent'\n\nexport default {\n    name: 'NaturalScroll',\n    updated () {\n        this.load()\n    },\n    methods: {\n        load () {\n            if (isIE10() && (isIE10() <= 10)) {\n                const currentPopin = this.toParent(this.$el, 'g_popin')\n                const popin = find('.g_popinRestrict', currentPopin)\n                const header = find('.g_leftCol .g_header', currentPopin)\n                if (popin && header) {\n                    // console.log('before', this.$el.style.height, outerHeight(popin[0]), outerHeight(header[0]), outerHeight(footer[0]))\n                    this.$el.style.height = outerHeight(popin[0]) - outerHeight(header[0]) + 'px'\n                }\n            }\n        },\n        toParent (element, className) {\n            if (hasClass(element, className)) {\n                return element\n            } else if (!hasClass(element, className) && !hasClass(element, 'g')) {\n                return this.toParent(parent(element), className)\n            } else {\n                return null\n            }\n        }\n    }\n}\n</script>\n\n\n\n// WEBPACK FOOTER //\n// node_modules/gvue/src/core/Popin/Scrolls/NaturalScroll.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"scroll\",staticClass:\"g_naturalScrollContainer\"},[_c('div',{staticClass:\"g_naturalScroll\"},[_c('div',{staticClass:\"g_naturalScrollOverflow\"},[_c('div',{staticClass:\"g_naturalScrollPadding\"},[_vm._t(\"default\")],2)])])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-00ea174a\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./node_modules/gvue/src/core/Popin/Scrolls/NaturalScroll.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../../../extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../../vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-00ea174a\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"indentedSyntax\\\":true,\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"/Users/nnjathanpr/NESPRESSO/projects/subscription-machine/src/assets/sass/_variables.sass\\\"}!../../../../../vue-loader/lib/selector?type=styles&index=0!./NaturalScroll.vue\")\n}\nvar normalizeComponent = require(\"!../../../../../vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../../vue-loader/lib/selector?type=script&index=0!./NaturalScroll.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../../vue-loader/lib/selector?type=script&index=0!./NaturalScroll.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../../vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-00ea174a\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../../vue-loader/lib/selector?type=template&index=0!./NaturalScroll.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/gvue/src/core/Popin/Scrolls/NaturalScroll.vue\n// module id = null\n// module chunks = ","<template>\n    <div>\n        <Heading :level=\"3\" v-html=\"title\" />\n        <div class=\"g_subscriptionVisual\">\n            <img :src=\"machine.images.icon\" :alt=\"machine.internationalName\"/>\n        </div>\n        <Paragraph size=\"M\" :content=\"text\"/>\n        <div class=\"g_popinHelp__ctas\">\n            <Cta class=\"g_btnGhost\"\n                 is-btn\n                 type=\"text\"\n                 :content=\"this.$json.config.shopping\"\n                 :link=\"this.$json.config.shoppingLink ? this.$json.config.shoppingLink : '/'\"\n            />\n            <Cta class=\"g_btnSubscription\"\n                 is-btn\n                 type=\"text\"\n                 :content=\"this.$json.config.checkout\"\n                 :link=\"this.$json.config.checkoutLink ? this.$json.config.checkoutLink : '/'\"\n            />\n        </div>\n    </div>\n</template>\n\n<script>\nimport Cta from 'gvue/src/core/Cta/Cta'\nimport Heading from 'gvue/src/core/Heading/Heading'\nimport Paragraph from 'gvue/src/core/Paragraph'\n\nexport default {\n    name: 'PopinGuideStepConfirm',\n    components: {\n        Cta,\n        Heading,\n        Paragraph\n    },\n    props: {\n        title: { type: String, required: () => true },\n        text: { type: String, required: () => true },\n        machine: { type: Object, required: () => true }\n    },\n    methods: {\n    }\n}\n</script>\n\n<style lang=\"sass\">\n    @import ~nespresso-bi/utilities\n    @import ~nespresso-bi/brand/variables\n    @import ~assets/sass/subscription_variables\n    @import PopinGuide\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/components/PopinGuide/PopinGuideStepConfirm.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('Heading',{attrs:{\"level\":3},domProps:{\"innerHTML\":_vm._s(_vm.title)}}),_vm._v(\" \"),_c('div',{staticClass:\"g_subscriptionVisual\"},[_c('img',{attrs:{\"src\":_vm.machine.images.icon,\"alt\":_vm.machine.internationalName}})]),_vm._v(\" \"),_c('Paragraph',{attrs:{\"size\":\"M\",\"content\":_vm.text}}),_vm._v(\" \"),_c('div',{staticClass:\"g_popinHelp__ctas\"},[_c('Cta',{staticClass:\"g_btnGhost\",attrs:{\"is-btn\":\"\",\"type\":\"text\",\"content\":this.$json.config.shopping,\"link\":this.$json.config.shoppingLink ? this.$json.config.shoppingLink : '/'}}),_vm._v(\" \"),_c('Cta',{staticClass:\"g_btnSubscription\",attrs:{\"is-btn\":\"\",\"type\":\"text\",\"content\":this.$json.config.checkout,\"link\":this.$json.config.checkoutLink ? this.$json.config.checkoutLink : '/'}})],1)],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-23738aa6\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/PopinGuide/PopinGuideStepConfirm.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-23738aa6\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"indentedSyntax\\\":true,\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"/Users/nnjathanpr/NESPRESSO/projects/subscription-machine/src/assets/sass/_variables.sass\\\"}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./PopinGuideStepConfirm.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./PopinGuideStepConfirm.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./PopinGuideStepConfirm.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-23738aa6\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./PopinGuideStepConfirm.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/PopinGuide/PopinGuideStepConfirm.vue\n// module id = null\n// module chunks = ","<template>\r\n    <div>\r\n        <Heading :level=\"3\" v-html=\"estimation.title\"/>\r\n        <Paragraph class=\"g_popinHelp__subtitle\" size=\"L\" :content=\"estimation.question\"/>\r\n        <ul class=\"g_popinHelp__options\">\r\n            <li v-for=\"option in options\"\r\n                :class=\"['g_popinHelp__option', { active: isOptionActive(option.key) }]\"\r\n                :key=\"option.key\"\r\n                @click=\"selectOption(option.key)\"\r\n            >\r\n                {{ option.label }}\r\n            </li>\r\n        </ul>\r\n        <Paragraph size=\"L\" :content=\"estimation.result\"/>\r\n        <span class=\"g_popinHelp__count\">{{ capsEstimate }}</span>\r\n        <Heading :level=\"4\" v-html=\"this.$json.config.capsules\" fake/>\r\n        <Cta class=\"g_popinHelp__button\"\r\n             is-btn\r\n             type=\"button\"\r\n             :content=\"estimation.cta\"\r\n             @click=\"next\"\r\n        />\r\n    </div>\r\n</template>\r\n\r\n<script>\r\nimport Cta from 'gvue/src/core/Cta/Cta'\r\nimport Heading from 'gvue/src/core/Heading/Heading'\r\nimport Paragraph from 'gvue/src/core/Paragraph'\r\n\r\nconst AVERAGE_DAYS_IN_MONTH = 30.44\r\n\r\nexport default {\r\n    name: 'PopinGuideStepEstimate',\r\n    components: {\r\n        Cta,\r\n        Heading,\r\n        Paragraph\r\n    },\r\n    props: {\r\n        estimation: { type: Object, required: () => true },\r\n        options: { type: Array, required: () => true },\r\n        activeOption: { type: String, default: '1' }\r\n    },\r\n    computed: {\r\n        capsEstimate () {\r\n            return Math.round(AVERAGE_DAYS_IN_MONTH * parseInt(this.activeOption))\r\n        }\r\n    },\r\n    methods: {\r\n        isOptionActive (key) {\r\n            return key === this.activeOption\r\n        },\r\n        selectOption (value) {\r\n            this.$emit('update', value)\r\n        },\r\n        next () {\r\n            this.$emit('next')\r\n        }\r\n    }\r\n}\r\n</script>\r\n\r\n<style lang=\"sass\">\r\n    @import ~nespresso-bi/utilities\r\n    @import ~nespresso-bi/brand/variables\r\n    @import ~assets/sass/subscription_variables\r\n    @import PopinGuide\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/PopinGuide/PopinGuideStepEstimate.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('Heading',{attrs:{\"level\":3},domProps:{\"innerHTML\":_vm._s(_vm.estimation.title)}}),_vm._v(\" \"),_c('Paragraph',{staticClass:\"g_popinHelp__subtitle\",attrs:{\"size\":\"L\",\"content\":_vm.estimation.question}}),_vm._v(\" \"),_c('ul',{staticClass:\"g_popinHelp__options\"},_vm._l((_vm.options),function(option){return _c('li',{key:option.key,class:['g_popinHelp__option', { active: _vm.isOptionActive(option.key) }],on:{\"click\":function($event){return _vm.selectOption(option.key)}}},[_vm._v(\"\\n            \"+_vm._s(option.label)+\"\\n        \")])}),0),_vm._v(\" \"),_c('Paragraph',{attrs:{\"size\":\"L\",\"content\":_vm.estimation.result}}),_vm._v(\" \"),_c('span',{staticClass:\"g_popinHelp__count\"},[_vm._v(_vm._s(_vm.capsEstimate))]),_vm._v(\" \"),_c('Heading',{attrs:{\"level\":4,\"fake\":\"\"},domProps:{\"innerHTML\":_vm._s(this.$json.config.capsules)}}),_vm._v(\" \"),_c('Cta',{staticClass:\"g_popinHelp__button\",attrs:{\"is-btn\":\"\",\"type\":\"button\",\"content\":_vm.estimation.cta},on:{\"click\":_vm.next}})],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-646a2642\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/PopinGuide/PopinGuideStepEstimate.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-646a2642\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"indentedSyntax\\\":true,\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"/Users/nnjathanpr/NESPRESSO/projects/subscription-machine/src/assets/sass/_variables.sass\\\"}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./PopinGuideStepEstimate.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./PopinGuideStepEstimate.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./PopinGuideStepEstimate.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-646a2642\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./PopinGuideStepEstimate.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/PopinGuide/PopinGuideStepEstimate.vue\n// module id = null\n// module chunks = ","<template>\n    <div>\n        <Heading :level=\"3\" v-html=\"title\" />\n        <SelectionOffer prefix=\"guide\"\n                        v-if=\"subscription\"\n                        :subscription=\"subscription\"\n                        :on-info-click=\"onInfoClick\"\n                        :on-subscribe=\"onSubscribe\"\n                        :show-info=\"$root.hasDoubleTech\"\n                        @add=\"subscribe\"\n        />\n    </div>\n</template>\n\n<script>\nimport Heading from 'gvue/src/core/Heading/Heading'\nimport SelectionOffer from 'components/SelectionOffer/SelectionOffer'\n\nexport default {\n    name: 'PopinGuideStepReco',\n    components: {\n        Heading,\n        SelectionOffer\n    },\n    props: {\n        title: { type: String, required: () => true },\n        subscription: { type: Object, required: () => true },\n        onInfoClick: { type: Function, required: true },\n        onSubscribe: { type: Function, required: true }\n    },\n    methods: {\n        subscribe (variation) {\n            this.$emit('subscribe', variation)\n        }\n    }\n}\n</script>\n\n<style lang=\"sass\">\n    @import ~nespresso-bi/utilities\n    @import ~nespresso-bi/brand/variables\n    @import ~assets/sass/subscription_variables\n    @import PopinGuide\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/components/PopinGuide/PopinGuideStepReco.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('Heading',{attrs:{\"level\":3},domProps:{\"innerHTML\":_vm._s(_vm.title)}}),_vm._v(\" \"),(_vm.subscription)?_c('SelectionOffer',{attrs:{\"prefix\":\"guide\",\"subscription\":_vm.subscription,\"on-info-click\":_vm.onInfoClick,\"on-subscribe\":_vm.onSubscribe,\"show-info\":_vm.$root.hasDoubleTech},on:{\"add\":_vm.subscribe}}):_vm._e()],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-020aec76\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/PopinGuide/PopinGuideStepReco.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-020aec76\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"indentedSyntax\\\":true,\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"/Users/nnjathanpr/NESPRESSO/projects/subscription-machine/src/assets/sass/_variables.sass\\\"}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./PopinGuideStepReco.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./PopinGuideStepReco.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./PopinGuideStepReco.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-020aec76\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./PopinGuideStepReco.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/PopinGuide/PopinGuideStepReco.vue\n// module id = null\n// module chunks = ","<template>\n    <Popin class=\"g_popinHelp\"\n           close-label=\"close\"\n           ref=\"popin\"\n           v-model=\"popinOpened\"\n           :is-open=\"false\"\n           @change=\"resizePopin\"\n    >\n        <div class=\"g_popinHelp__content\">\n            <div class=\"g_popinHelp__scroll\" ref=\"scroll\">\n                <transition name=\"popin-slide\">\n                    <PopinGuideStepEstimate v-if=\"step === 1\"\n                                            :estimation=\"estimation\"\n                                            :options=\"options\"\n                                            :activeOption=\"selectedOption\"\n                                            @update=\"selectOption\"\n                                            @next=\"seeRecommendation\"\n                    ></PopinGuideStepEstimate>\n                    <PopinGuideStepReco v-if=\"step === 2\"\n                                        :title=\"recommendation.title\"\n                                        :subscription=\"machine\"\n                                        :on-info-click=\"onInfoClick\"\n                                        :on-subscribe=\"onSubscribe\"\n                                        @subscribe=\"addSubscription\"\n                    ></PopinGuideStepReco>\n                    <PopinGuideStepConfirm v-if=\"step === 3 && selectedVariation\"\n                                          :title=\"summaryTitle\"\n                                          :text=\"summary.text\"\n                                          :machine=\"selectedVariation\"\n                    >\n                    </PopinGuideStepConfirm>\n                </transition>\n            </div>\n        </div>\n    </Popin>\n</template>\n\n<script>\nimport Cta from 'gvue/src/core/Cta/Cta'\nimport Heading from 'gvue/src/core/Heading/Heading'\nimport Paragraph from 'gvue/src/core/Paragraph'\nimport Popin from 'gvue/src/core/Popin'\nimport NaturalScroll from 'gvue/src/core/Popin/Scrolls/NaturalScroll'\n\nimport SelectionOffer from 'components/SelectionOffer/SelectionOffer'\nimport PopinGuideStepConfirm from './PopinGuideStepConfirm'\nimport PopinGuideStepEstimate from './PopinGuideStepEstimate'\nimport PopinGuideStepReco from './PopinGuideStepReco'\n\nconst AVERAGE_DAYS_IN_MONTH = 30.44\n\nexport default {\n    name: 'PopinGuide',\n    components: {\n        Cta,\n        Heading,\n        NaturalScroll,\n        Paragraph,\n        Popin,\n        PopinGuideStepConfirm,\n        PopinGuideStepEstimate,\n        PopinGuideStepReco,\n        SelectionOffer\n    },\n    props: {\n        onInfoClick: { type: Function, required: true },\n        onSubscribe: { type: Function, required: true },\n        machines: { type: Array, required: () => true },\n        value: { type: Boolean, default: false }\n    },\n    data () {\n        return {\n            ...this.$json.popinGuide,\n            options: this.$json.selection.filters.consumption.options,\n            popinOpened: this.value,\n            step: 1,\n            selectedOption: '1',\n            selectedVariation: null\n        }\n    },\n    computed: {\n        capsEstimate () {\n            return Math.round(AVERAGE_DAYS_IN_MONTH * parseInt(this.selectedOption))\n        },\n        machine () {\n            const searchforFilter = machine => machine.filters.indexOf(this.selectedOption) >= 0\n            return this.machines.filter(searchforFilter).shift()\n        },\n        summaryTitle () {\n            return this.summary.title.replace('{{machineName}}', `<span>${this.selectedVariation.name}</span>`)\n        }\n    },\n    watch: {\n        value (state) {\n            if (!state) {\n                setTimeout(() => this.resetPopin(), 1000)\n            }\n            this.popinOpened = state\n        },\n        popinOpened (state) {\n            this.$emit('input', state)\n        }\n    },\n    methods: {\n        resetPopin () {\n            this.step = 1\n            this.selectedOption = '1'\n            this.selectedVariation = null\n        },\n\n        selectOption (value) {\n            this.selectedOption = value\n        },\n        seeRecommendation () {\n            this.step = 2\n            this.resizePopin()\n        },\n        addSubscription (variation) {\n            this.step = 3\n            this.selectedVariation = variation\n            this.resizePopin()\n        },\n        resizePopin () {\n            setTimeout(() => {\n                this.$refs.popin.$el.querySelector('.g_popinRestrict').style.height = `${this.$refs.scroll.children[0].offsetHeight + 114}px`\n            }, 350)\n        }\n    }\n}\n</script>\n\n<style lang=\"sass\">\n    @import ~nespresso-bi/utilities\n    @import ~nespresso-bi/brand/variables\n    @import ~assets/sass/subscription_variables\n    @import PopinGuide\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/components/PopinGuide/PopinGuide.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Popin',{ref:\"popin\",staticClass:\"g_popinHelp\",attrs:{\"close-label\":\"close\",\"is-open\":false},on:{\"change\":_vm.resizePopin},model:{value:(_vm.popinOpened),callback:function ($$v) {_vm.popinOpened=$$v},expression:\"popinOpened\"}},[_c('div',{staticClass:\"g_popinHelp__content\"},[_c('div',{ref:\"scroll\",staticClass:\"g_popinHelp__scroll\"},[_c('transition',{attrs:{\"name\":\"popin-slide\"}},[(_vm.step === 1)?_c('PopinGuideStepEstimate',{attrs:{\"estimation\":_vm.estimation,\"options\":_vm.options,\"activeOption\":_vm.selectedOption},on:{\"update\":_vm.selectOption,\"next\":_vm.seeRecommendation}}):_vm._e(),_vm._v(\" \"),(_vm.step === 2)?_c('PopinGuideStepReco',{attrs:{\"title\":_vm.recommendation.title,\"subscription\":_vm.machine,\"on-info-click\":_vm.onInfoClick,\"on-subscribe\":_vm.onSubscribe},on:{\"subscribe\":_vm.addSubscription}}):_vm._e(),_vm._v(\" \"),(_vm.step === 3 && _vm.selectedVariation)?_c('PopinGuideStepConfirm',{attrs:{\"title\":_vm.summaryTitle,\"text\":_vm.summary.text,\"machine\":_vm.selectedVariation}}):_vm._e()],1)],1)])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-4acce36e\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/PopinGuide/PopinGuide.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-4acce36e\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"indentedSyntax\\\":true,\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"/Users/nnjathanpr/NESPRESSO/projects/subscription-machine/src/assets/sass/_variables.sass\\\"}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./PopinGuide.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./PopinGuide.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./PopinGuide.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-4acce36e\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./PopinGuide.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/PopinGuide/PopinGuide.vue\n// module id = null\n// module chunks = ","<template>\n    <div class=\"g_split\">\n        <div :class=\"['g_splitPane', panel.id]\"\n             ref=\"panel\"\n             v-for=\"panel in panels\"\n             :key=\"panel.id\"\n        >\n            <div class=\"g_splitPane__content\"\n                 v-img-src=\"{ folder: 'backgrounds', name: panel.image }\"\n            >\n                <div class=\"g_splitPane__title\">\n                    <Heading :level=\"3\">{{ panel.title }}</Heading>\n                    <Paragraph size=\"L\"\n                               :content=\"panel.subtitle\"\n                    />\n                    <Cta class=\"g_btnGhost\"\n                         is-btn\n                         type=\"button\"\n                         :content=\"panel.ctaMore\"\n                         @click=\"playbackTo(panel.id)\"\n                    />\n                </div>\n                <div class=\"g_splitPane__caption\">\n                    <Heading :level=\"3\">{{ panel.title }}</Heading>\n                    <Paragraph size=\"XL\" :content=\"panel.subtitle\" />\n                    <Paragraph size=\"L\" :content=\"panel.text\" />\n                    <ul class=\"g_splitPane__icons\">\n                        <li v-for=\"highlight in panel.highlights\" :key=\"highlight.icon\">\n                            <Visual aria-hidden=\"true\"\n                                    :svg=\"$landing.getImgUrl({ name: highlight.icon, ext: 'svg' })\"\n                            />\n                            <Heading :level=\"4\" fake>{{ highlight.label }}</Heading>\n                        </li>\n                    </ul>\n                    <Cta class=\"g_btnGhost\"\n                         is-btn\n                         type=\"button\"\n                         :content=\"panel.ctaFilter\"\n                         @click=\"onFilter(panel.id)\"\n                    />\n                </div>\n\n            </div>\n        </div>\n        <div class=\"g_splitGutter\" ref=\"gutter\">\n            <div class=\"g_splitGutter__handle\">\n                <button class=\"g_splitGutter__button left\" @click=\"playbackTo('vertuo')\"></button>\n                <button class=\"g_splitGutter__button right\" @click=\"playbackTo('original')\"></button>\n            </div>\n        </div>\n    </div>\n</template>\n\n<script>\nimport TweenLite, { Power0, Power1 } from 'gsap/TweenLite'\nimport TimelineLite from 'gsap/TimelineLite'\nimport 'gsap/CSSPlugin.js'\nimport Split from 'split.js'\n\nimport Cta from 'gvue/src/core/Cta/Cta'\nimport Heading from 'gvue/src/core/Heading/Heading'\nimport Paragraph from 'gvue/src/core/Paragraph'\nimport Visual from 'gvue/src/core/Visual'\n\nexport default {\n    name: 'SplitWrapper',\n    components: {\n        Cta,\n        Heading,\n        Paragraph,\n        Visual\n    },\n    props: {\n        onFilter: {\n            type: Function,\n            required: true\n        },\n        panels: {\n            type: Array,\n            required: true\n        }\n    },\n    data () {\n        return {\n            split: null,\n            splitPanels: null,\n            timeline: new TimelineLite(),\n            activePanel: '',\n            isDragging: false\n        }\n    },\n    mounted () {\n        const panels = this.$refs.panel\n        this.split = this.initSplit(panels)\n        this.splitPanels = this.initPanels(panels)\n    },\n    methods: {\n        getPartialDuration (sizes) {\n            const delta = Math.max(...sizes, 50)\n            const isfullDelta = [50, 100].includes(delta)\n            const duration = Math.round((delta * 0.005) * 1e2) / 1e2\n            this.isDragging = !isfullDelta\n            return duration\n        },\n        initSplit (panels) {\n            return Split(panels, {\n                sizes: [50, 50],\n                minSize: 0,\n                gutterSize: 0,\n                snapOffset: 0,\n                gutter: () => this.$refs.gutter,\n                onDrag: this.setPlaybacks,\n                onDragEnd: this.stickToAnchor\n            })\n        },\n        initPanels (panels) {\n            const initPanelsWidth = (panel, index) => {\n                const timeline = new TimelineLite()\n                const direction = index === 0 ? -1 : 1\n                const backgroundOffset = this.$breakpoint.isS\n                    ? (direction === -1 ? 0 : 100) - 25\n                    : (direction === -1 ? 400 : 500) - 200\n\n                const panelWidth = this.$el.offsetWidth\n                const elContent = panel.querySelector('.g_splitPane__content')\n\n                const elTitle = panel.querySelector('.g_splitPane__title')\n                const elTitleTransition = {\n                    in: { ease: Power1.easeIn, x: (panelWidth / 4) * -direction, alpha: 1, zIndex: 1 },\n                    out: { ease: Power1.easeOut, x: (panelWidth / 4 + 100) * -direction, alpha: 0, zIndex: 0 }\n                }\n                const elsTitle = elTitle.children\n                const elsTitleTransition = {\n                    in: { ease: Power1.easeOut, x: 25 * -direction, alpha: 0 },\n                    out: { ease: Power1.easeIn, x: 0, alpha: 1 }\n                }\n\n                const elCaption = panel.querySelector('.g_splitPane__caption')\n                const elCaptionTransition = {\n                    in: { ease: Power1.easeOut, x: 100 * direction, alpha: 0, zIndex: 0 },\n                    out: { ease: Power1.easeIn, x: 0, alpha: 1, zIndex: 1 }\n                }\n                const elsCaption = [elCaption.children[3], elCaption.children[2], elCaption.children[4], elCaption.children[1], elCaption.children[0]]\n                const elsCaptionTransition = {\n                    in: { ease: Power1.easeIn, x: 50 * direction, alpha: 0 },\n                    out: { ease: Power1.easeOut, x: 0, alpha: 1 }\n                }\n\n                TweenLite.set(elsCaptionTransition, elsCaptionTransition.in)\n\n                timeline\n                    .call(() => { panel.classList.remove('active') })\n                    .fromTo(elContent, 0.5,\n                        { ease: Power0.easeNone, backgroundPositionX: `${backgroundOffset * direction}%` },\n                        { ease: Power0.easeNone, backgroundPositionX: '50%' }\n                    )\n                    .fromTo(elTitle, 0.25, elTitleTransition.in, elTitleTransition.out, '-=0.25')\n                    .staggerFromTo(elsTitle, 0.2, elsTitleTransition.out, elsTitleTransition.in, 0.02, '-=0.25')\n                    .fromTo(elCaption, 0.25, elCaptionTransition.in, elCaptionTransition.out, '-=0.3')\n                    .staggerFromTo(elsCaption, 0.2, elsCaptionTransition.in, elsCaptionTransition.out, 0.02, '-=0.3')\n                    .call(() => { panel.classList.add('active') })\n                    .pause()\n                panel.timeline = timeline\n                panel.firstChild.style.width = `${panelWidth}px`\n\n                return panel\n            }\n            return panels.map(initPanelsWidth)\n        },\n        playbackTo (target) {\n            if (!this.isDragging) {\n                const currentSizes = this.split.getSizes()\n                const getFinalSizes = target => {\n                    if (this.activePanel !== '') {\n                        this.activePanel = ''\n                        return [50, 50]\n                    } else {\n                        this.activePanel = target\n                        return target === 'original' ? [100, 0] : [0, 100]\n                    }\n                }\n                const sizesTo = getFinalSizes(target)\n                this.animateToAnchor({\n                    startSizes: currentSizes,\n                    stopSizes: sizesTo,\n                    duration: 0.45\n                })\n            }\n        },\n        setPlaybacks () {\n            const sizes = this.split.getSizes()\n            this.splitPanels.forEach((panel, index) => {\n                const delta = (50 - sizes[index]) * -1\n                const progress = delta > 0 ? Math.round((delta / 50) * 1e2) / 1e2 : 0\n                panel.timeline.progress(progress)\n            })\n        },\n        stickToAnchor (currentSizes) {\n            const SIZE_TRIGGER = 70\n            const duration = this.getPartialDuration(currentSizes)\n            const getFinalSizes = ([left, right]) => {\n                this.activePanel = ''\n                if (left > SIZE_TRIGGER) {\n                    this.activePanel = 'original'\n                    return [100, 0]\n                }\n                if (right > SIZE_TRIGGER) {\n                    this.activePanel = 'vertuo'\n                    return [0, 100]\n                }\n                return [50, 50]\n            }\n            if (this.isDragging) {\n                const sizesTo = getFinalSizes(currentSizes)\n                this.animateToAnchor({\n                    startSizes: currentSizes,\n                    stopSizes: sizesTo,\n                    duration: duration\n                })\n            }\n        },\n        animateToAnchor ({startSizes, stopSizes, duration, target}) {\n            stopSizes.onUpdate = () => this.updateSizes(startSizes)\n            stopSizes.onComplete = () => { this.isDragging = false }\n            this.timeline\n                .clear()\n                .to(startSizes, duration, stopSizes)\n        },\n        updateSizes (sizes) {\n            this.split.setSizes(sizes)\n            this.setPlaybacks()\n        }\n    }\n}\n</script>\n\n<style lang=\"sass\">\n    @import ~nespresso-bi/utilities\n    @import ~nespresso-bi/brand/variables\n    @import ~assets/sass/subscription_variables\n    @import SplitWrapper\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/components/Split/SplitWrapper.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"g_split\"},[_vm._l((_vm.panels),function(panel){return _c('div',{key:panel.id,ref:\"panel\",refInFor:true,class:['g_splitPane', panel.id]},[_c('div',{directives:[{name:\"img-src\",rawName:\"v-img-src\",value:({ folder: 'backgrounds', name: panel.image }),expression:\"{ folder: 'backgrounds', name: panel.image }\"}],staticClass:\"g_splitPane__content\"},[_c('div',{staticClass:\"g_splitPane__title\"},[_c('Heading',{attrs:{\"level\":3}},[_vm._v(_vm._s(panel.title))]),_vm._v(\" \"),_c('Paragraph',{attrs:{\"size\":\"L\",\"content\":panel.subtitle}}),_vm._v(\" \"),_c('Cta',{staticClass:\"g_btnGhost\",attrs:{\"is-btn\":\"\",\"type\":\"button\",\"content\":panel.ctaMore},on:{\"click\":function($event){return _vm.playbackTo(panel.id)}}})],1),_vm._v(\" \"),_c('div',{staticClass:\"g_splitPane__caption\"},[_c('Heading',{attrs:{\"level\":3}},[_vm._v(_vm._s(panel.title))]),_vm._v(\" \"),_c('Paragraph',{attrs:{\"size\":\"XL\",\"content\":panel.subtitle}}),_vm._v(\" \"),_c('Paragraph',{attrs:{\"size\":\"L\",\"content\":panel.text}}),_vm._v(\" \"),_c('ul',{staticClass:\"g_splitPane__icons\"},_vm._l((panel.highlights),function(highlight){return _c('li',{key:highlight.icon},[_c('Visual',{attrs:{\"aria-hidden\":\"true\",\"svg\":_vm.$landing.getImgUrl({ name: highlight.icon, ext: 'svg' })}}),_vm._v(\" \"),_c('Heading',{attrs:{\"level\":4,\"fake\":\"\"}},[_vm._v(_vm._s(highlight.label))])],1)}),0),_vm._v(\" \"),_c('Cta',{staticClass:\"g_btnGhost\",attrs:{\"is-btn\":\"\",\"type\":\"button\",\"content\":panel.ctaFilter},on:{\"click\":function($event){return _vm.onFilter(panel.id)}}})],1)])])}),_vm._v(\" \"),_c('div',{ref:\"gutter\",staticClass:\"g_splitGutter\"},[_c('div',{staticClass:\"g_splitGutter__handle\"},[_c('button',{staticClass:\"g_splitGutter__button left\",on:{\"click\":function($event){return _vm.playbackTo('vertuo')}}}),_vm._v(\" \"),_c('button',{staticClass:\"g_splitGutter__button right\",on:{\"click\":function($event){return _vm.playbackTo('original')}}})])])],2)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-23e2333e\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/Split/SplitWrapper.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-23e2333e\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"indentedSyntax\\\":true,\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"/Users/nnjathanpr/NESPRESSO/projects/subscription-machine/src/assets/sass/_variables.sass\\\"}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./SplitWrapper.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./SplitWrapper.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./SplitWrapper.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-23e2333e\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./SplitWrapper.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/Split/SplitWrapper.vue\n// module id = null\n// module chunks = ","<template>\r\n    <Popin class=\"g_popinSystem\"\r\n           close-label=\"close\"\r\n           v-model=\"popinOpened\"\r\n           :is-open=\"false\"\r\n    >\r\n        <SplitWrapper :on-filter=\"filterTo\"\r\n                      :panels=\"panels\"\r\n        />\r\n    </Popin>\r\n</template>\r\n\r\n<script>\r\nimport Popin from 'gvue/src/core/Popin'\r\n\r\nimport SplitWrapper from 'components/Split/SplitWrapper'\r\n\r\nexport default {\r\n    name: 'PopinSystem',\r\n    components: {\r\n        Popin,\r\n        SplitWrapper\r\n    },\r\n    props: {\r\n        value: { type: Boolean, default: false }\r\n    },\r\n    data () {\r\n        return {\r\n            ...this.$json.popinSystem,\r\n            popinOpened: this.value\r\n        }\r\n    },\r\n    watch: {\r\n        value (state) {\r\n            this.popinOpened = state\r\n        },\r\n        popinOpened (state) {\r\n            this.$emit('input', state)\r\n        }\r\n    },\r\n    methods: {\r\n        filterTo (filter) {\r\n            this.popinOpened = false\r\n            this.$emit('filter', filter)\r\n        }\r\n    }\r\n}\r\n</script>\r\n\r\n<style lang=\"sass\">\r\n    @import ~nespresso-bi/utilities\r\n    @import ~nespresso-bi/brand/variables\r\n    @import ~assets/sass/subscription_variables\r\n    @import PopinSystem\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/PopinSystem/PopinSystem.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Popin',{staticClass:\"g_popinSystem\",attrs:{\"close-label\":\"close\",\"is-open\":false},model:{value:(_vm.popinOpened),callback:function ($$v) {_vm.popinOpened=$$v},expression:\"popinOpened\"}},[_c('SplitWrapper',{attrs:{\"on-filter\":_vm.filterTo,\"panels\":_vm.panels}})],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-c018c2c2\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/PopinSystem/PopinSystem.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-c018c2c2\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"indentedSyntax\\\":true,\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"/Users/nnjathanpr/NESPRESSO/projects/subscription-machine/src/assets/sass/_variables.sass\\\"}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./PopinSystem.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./PopinSystem.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./PopinSystem.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-c018c2c2\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./PopinSystem.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/PopinSystem/PopinSystem.vue\n// module id = null\n// module chunks = ","<template>\r\n    <Popin class=\"g_popinTestimonials\"\r\n           close-label=\"close\"\r\n           v-model=\"popinOpened\"\r\n    >\r\n        <div class=\"g_popinTestimonials__content\">\r\n            <Heading :level=\"2\" v-html=\"title\"/>\r\n            <div class=\"swiper-container g_popinTestimonials__list\" ref=\"swiper\">\r\n                <div class=\"swiper-wrapper\">\r\n                    <div class=\"swiper-slide g_popinTestimonials__testimonial\"\r\n                         v-for=\"(testimonial, index) in list\"\r\n                         :key=\"index\"\r\n                    >\r\n                        <Visual aria-hidden=\"true\"\r\n                                class=\"g_popinTestimonials__portrait\"\r\n                                :src=\"{ folder: 'portraits', name: testimonial.image }\"\r\n                        />\r\n                        <div class=\"g_popinTestimonials__quote\">\r\n                            <Visual :svg=\"$landing.getImgUrl({ name: 'lquote', ext: 'svg' })\"/>\r\n                            <Paragraph size=\"M\" :content=\"testimonial.quote\"/>\r\n                            <Visual :svg=\"$landing.getImgUrl({ name: 'rquote', ext: 'svg' })\"/>\r\n                        </div>\r\n                        <Heading :level=\"4\">{{ testimonial.author }}</Heading>\r\n                    </div>\r\n                </div>\r\n            </div>\r\n            <div class=\"g_popinTestimonials__button\">\r\n                <Cta is-btn\r\n                     type=\"button\"\r\n                     :content=\"cta\"\r\n                     @click=\"onClick\"\r\n                />\r\n            </div>\r\n        </div>\r\n    </Popin>\r\n</template>\r\n\r\n<script>\r\nimport Swiper from 'swiper/dist/js/swiper.js'\r\n\r\nimport Cta from 'gvue/src/core/Cta/Cta'\r\nimport Heading from 'gvue/src/core/Heading/Heading'\r\nimport Paragraph from 'gvue/src/core/Paragraph'\r\nimport Popin from 'gvue/src/core/Popin'\r\nimport Visual from 'gvue/src/core/Visual'\r\nexport default {\r\n    name: 'PopinTestimonials',\r\n    components: {\r\n        Cta,\r\n        Heading,\r\n        Paragraph,\r\n        Popin,\r\n        Visual\r\n    },\r\n    props: {\r\n        onClick: { type: Function, required: true },\r\n        value: { type: Boolean, default: false }\r\n    },\r\n    data () {\r\n        return {\r\n            ...this.$json.popinTestimonials,\r\n            popinOpened: this.value,\r\n            swiper: null\r\n        }\r\n    },\r\n    mounted () {\r\n        if (this.$refs.swiper !== undefined) {\r\n            this.initSwiper()\r\n        }\r\n    },\r\n    updated () {\r\n        if (this.$refs.swiper !== undefined && this.swiper === null) {\r\n            this.initSwiper()\r\n        }\r\n    },\r\n    watch: {\r\n        value (state) {\r\n            this.popinOpened = state\r\n        },\r\n        popinOpened (state) {\r\n            if (!state) {\r\n                this.swiper.destroy()\r\n                this.swiper = null\r\n            }\r\n            this.$emit('input', state)\r\n        }\r\n    },\r\n    methods: {\r\n        initSwiper () {\r\n            this.swiper = new Swiper(this.$refs.swiper, {\r\n                slidesPerView: this.$breakpoint.isS ? 1 : 3,\r\n                spaceBetween: this.$breakpoint.isS ? 0 : 20,\r\n                simulateTouch: false\r\n            })\r\n        }\r\n    }\r\n}\r\n</script>\r\n\r\n<style lang=\"sass\">\r\n    @import ~nespresso-bi/utilities\r\n    @import ~nespresso-bi/brand/variables\r\n    @import ~assets/sass/subscription_variables\r\n    @import PopinTestimonials\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/PopinTestimonials/PopinTestimonials.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Popin',{staticClass:\"g_popinTestimonials\",attrs:{\"close-label\":\"close\"},model:{value:(_vm.popinOpened),callback:function ($$v) {_vm.popinOpened=$$v},expression:\"popinOpened\"}},[_c('div',{staticClass:\"g_popinTestimonials__content\"},[_c('Heading',{attrs:{\"level\":2},domProps:{\"innerHTML\":_vm._s(_vm.title)}}),_vm._v(\" \"),_c('div',{ref:\"swiper\",staticClass:\"swiper-container g_popinTestimonials__list\"},[_c('div',{staticClass:\"swiper-wrapper\"},_vm._l((_vm.list),function(testimonial,index){return _c('div',{key:index,staticClass:\"swiper-slide g_popinTestimonials__testimonial\"},[_c('Visual',{staticClass:\"g_popinTestimonials__portrait\",attrs:{\"aria-hidden\":\"true\",\"src\":{ folder: 'portraits', name: testimonial.image }}}),_vm._v(\" \"),_c('div',{staticClass:\"g_popinTestimonials__quote\"},[_c('Visual',{attrs:{\"svg\":_vm.$landing.getImgUrl({ name: 'lquote', ext: 'svg' })}}),_vm._v(\" \"),_c('Paragraph',{attrs:{\"size\":\"M\",\"content\":testimonial.quote}}),_vm._v(\" \"),_c('Visual',{attrs:{\"svg\":_vm.$landing.getImgUrl({ name: 'rquote', ext: 'svg' })}})],1),_vm._v(\" \"),_c('Heading',{attrs:{\"level\":4}},[_vm._v(_vm._s(testimonial.author))])],1)}),0)]),_vm._v(\" \"),_c('div',{staticClass:\"g_popinTestimonials__button\"},[_c('Cta',{attrs:{\"is-btn\":\"\",\"type\":\"button\",\"content\":_vm.cta},on:{\"click\":_vm.onClick}})],1)],1)])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-c58a2a16\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/PopinTestimonials/PopinTestimonials.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-c58a2a16\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"indentedSyntax\\\":true,\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"/Users/nnjathanpr/NESPRESSO/projects/subscription-machine/src/assets/sass/_variables.sass\\\"}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./PopinTestimonials.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./PopinTestimonials.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./PopinTestimonials.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-c58a2a16\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./PopinTestimonials.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/PopinTestimonials/PopinTestimonials.vue\n// module id = null\n// module chunks = ","<style lang=\"sass\">\n    @import ~assets/sass/common\n    @import ~assets/sass/_main\n    @import ~assets/sass/subscription_variables\n    @import ~assets/sass/subscription\n</style>\n\n<template>\n    <div class=\"g g_subscription\" v-if=\"$json\">\n        <SubscriptionHero v-if=\"!$json.hero.hide\" :machine=\"heroMachine\"\n                          :on-popin-open=\"onPopinGuideOpen\"\n        />\n        <SubscriptionVideo v-if=\"!$json.video.hide\"/>\n        <SubscriptionSelection ref=\"subscription\"\n                               v-if=\"selectionMachines.length !== 0\"\n                               :machines=\"selectionMachines\"\n                               :consumption=\"selectionConsumption\"\n                               :sort=\"selectionSort\"\n                               :system=\"selectionSystem\"\n                               :route-filters=\"selectionFilters\"\n                               :on-info-click=\"onInfoClick\"\n                               :on-subscribe=\"addSubscription\"\n        />\n        <SubscriptionHelp :on-popin-open=\"onPopinGuideOpen\"/>\n        <SubscriptionFaq/>\n        <SubscriptionTestimonials v-if=\"!$json.testimonials.hide\"\n                                  :on-popin-open=\"onPopinTestimonialsOpen\"\n        />\n        <PopinGuide v-model=\"popinGuideOpened\"\n                    :machines=\"selectionMachines\"\n                    :on-info-click=\"onInfoClick\"\n                    :on-subscribe=\"addSubscription\"\n        />\n        <PopinTestimonials v-if=\"!$json.testimonials.hide\"\n                           v-model=\"popinTestimonialsOpened\"\n                           :on-click=\"onPopinGuideOpen\"\n        />\n        <PopinSystem v-model=\"popinSystemOpened\"\n                     @filter=\"presetSystem\"\n        />\n    </div>\n</template>\n\n<script>\nimport Nespresso from 'nespresso-library/src/core/api'\n// import dataLayer from 'nespresso-library/src/core/dataLayer'\nimport queryParams from 'nespresso-library/src/utils/queryParams'\nimport Tracking from 'nespresso-library/src/core/tracking'\n\nimport SubscriptionFaq from './SubscriptionFaq'\nimport SubscriptionHelp from './SubscriptionHelp'\nimport SubscriptionHero from './SubscriptionHero'\nimport SubscriptionSelection from './SubscriptionSelection'\nimport SubscriptionTestimonials from './SubscriptionTestimonials'\nimport SubscriptionVideo from './SubscriptionVideo'\n\nimport PopinGuide from './PopinGuide/PopinGuide'\nimport PopinSystem from './PopinSystem/PopinSystem'\nimport PopinTestimonials from './PopinTestimonials/PopinTestimonials'\n\nconst napi = new Nespresso()\n\nexport default {\n    name: 'SubscriptionView',\n    components: {\n        PopinGuide,\n        PopinSystem,\n        PopinTestimonials,\n        SubscriptionFaq,\n        SubscriptionHelp,\n        SubscriptionHero,\n        SubscriptionSelection,\n        SubscriptionTestimonials,\n        SubscriptionVideo\n    },\n    data () {\n        return {\n            heroMachine: {},\n            selectionSystem: '',\n            selectionConsumption: null,\n            selectionSort: null,\n            selectionFilters: {},\n            selectionMachines: [],\n            subscriptionInCart: false,\n            popinGuideOpened: false,\n            popinSystemOpened: false,\n            popinTestimonialsOpened: false\n        }\n    },\n    async created () {\n        const api = window.napi.market()\n        try {\n            const marketApiData = await api.read()\n            let apiSubscriptions = typeof api.getSubscriptions === 'function'\n                ? await api.getSubscriptions()\n                : marketApiData.subscriptionConfig\n            apiSubscriptions = apiSubscriptions.subscriptionProfiles\n            const filteredSubscriptions = apiSubscriptions.filter(this.checkSubscriptionHasProducts)\n            const napiMachinesSkus = filteredSubscriptions.reduce(this.extractMachinesSkus, [])\n            const napiMachinesPromises = napiMachinesSkus.map(sku => napi.getProduct(sku))\n            const napiMachinesInfos = await Promise.all(napiMachinesPromises)\n            const machinesInfosMap = napiMachinesInfos.reduce(this.reduceMachineById, {})\n            this.setHeroMachine(napiMachinesInfos)\n            this.setSelectionMachines(filteredSubscriptions, machinesInfosMap)\n            let timer = setInterval(() => {\n                setTimeout(() => {\n                    if (this.$refs.subscription) {\n                        clearInterval(timer)\n                        if (queryParams.system) {\n                            this.presetSystem(queryParams.system)\n                        } if (queryParams.consumption) {\n                            this.presetConsumption(queryParams.consumption)\n                        } else if (queryParams.sort) {\n                            this.presetSort(queryParams.sort)\n                        } else if (queryParams.plans) {\n                            this.presetSystem(null)\n                        }\n                    }\n                }, 1000)\n            }, 200)\n            // read cart to select if already in cart\n            this.readCart()\n            // mini cart event for removing sub\n            this._cartEvent = ['cart.update', (event, data) => this.cartEvent(event, data)]\n            try {\n                window.napi.data().on(...this._cartEvent)\n            } catch (e) {}\n        } catch (error) {\n            console.error('Error while fetching subscriptions', error)\n        }\n    },\n    watch: {\n        $route: {\n            handler: 'watchRoute',\n            immediate: true\n        }\n    },\n    methods: {\n        cartEvent (event, data) {\n            if (data && data.cartUpdates && data.cartUpdates.item) {\n                let cSku\n                let cQuantity\n                data.cartUpdates.item.forEach(el => {\n                    if (el.productInfo && el.productInfo.productLocalSKU && el.productInfo.productLocalSKU.indexOf('SUB') > -1) {\n                        cSku = el.productInfo.productLocalSKU\n                        cQuantity = el.quantity.productQuantity\n                    }\n                })\n                if (cQuantity === -1 && cSku.indexOf('SUB') > -1) {\n                    for (const sub of this.selectionMachines) {\n                        sub.ctaLabel = this.$json.selection.config.subscribe\n                    }\n                }\n            }\n        },\n        readCart () {\n            napi\n                .readCart()\n                .then(products => {\n                    let cSku = ''\n                    for (const product of products) {\n                        if (product.nonRemovable) {\n                            cSku = product.productId\n                            break\n                        }\n                    }\n\n                    for (const sub of this.selectionMachines) {\n                        const hasMachine = sub.machines.filter(m => m.id === cSku)\n                        if (hasMachine.length === 1) {\n                            sub.ctaLabel = this.$json.selection.config.added\n                            break\n                        }\n                    }\n                })\n        },\n        async addSubscription (id, sku) {\n            this.selectionMachines = this.selectionMachines.map(this.updateMachineButtonlabel(id))\n            try {\n                this.subscriptionInCart = !this.subscriptionInCart\n                    ? await window.CartManager.addSubscription(id, sku)\n                    : await window.CartManager.updateSubscription(id, sku)\n\n                this.productClick(id, sku)\n            } catch (error) {\n                console.error('Error while adding/updating subscription', error)\n            }\n        },\n        productClick (id, sku) {\n            console.log('---', id, sku)\n            // const currentPlan = this.selectionMachines.filter(plan => { return id === plan.id })[0]\n            // const technology = currentPlan.machines[0].technologies[0].split('/').pop()\n\n            // const gtmObj = {\n            //     event: 'addToCart',\n            //     eventRaisedBy: 'FreeHTML',\n            //     currencyCode: dataLayer.currency,\n            //     subscriptionIncludedInProductAction: 'true',\n            //     ecommerce: {\n            //         add: {\n            //             actionField: {},\n            //             products: [{\n            //                 'brand': 'Nespresso',\n            //                 'category': 'machine',\n            //                 'dimension43': 'false', // \"true\" or \"false\" (in lower case)\n            //                 'dimension44': 'false', // \"true\" or \"false\" (in lower case)\n            //                 'dimension53': 'SUB',\n            //                 'dimension54': 'Subscription Fee', // plan name\n            //                 'dimension55': 'subscription_range',\n            //                 'dimension56': technology, // ie: \"Original|||Pro|||Vertuo\"\n            //                 'dimension57': 'single', // \"single\" or \"bundle\"\n            //                 'dimension59': 'true',\n            //                 'dimension165': 'Machine',\n            //                 'dimension166': `${currentPlan.firstFee}_${currentPlan.periodicFee}`,\n            //                 'id': '70000',\n            //                 'metric10': 0, // Quantity of capsules added to the cart\n            //                 'metric11': 1, // Quantity of machines added to the cart\n            //                 'metric12': 0, // Quantity of accessories added to the cart\n            //                 'name': `Subscription Fee - ${currentPlan.id}`,\n            //                 'price': currentPlan.firstFee,\n            //                 'quantity': 1 // Product quantity added to the cart\n            //             }]\n            //         }\n            //     }\n            // }\n            // window.gtmDataObject.push(gtmObj)\n        },\n        updateMachineButtonlabel (id) {\n            return machine => ({\n                ...machine,\n                ctaLabel: this.$json.selection.config[machine.id === id ? 'added' : 'subscribe']\n            })\n        },\n        onInfoClick () {\n            this.popinSystemOpened = true\n        },\n        onPopinGuideOpen () {\n            if (this.popinTestimonialsOpened === true) {\n                this.popinTestimonialsOpened = false\n            }\n            this.popinGuideOpened = true\n            Tracking.customEvent({\n                category: 'User Engagement',\n                action: 'Click',\n                label: `${this.$landing.trackingLabelPrefix} - Choose your plan now`,\n                interaction: 0\n            })\n        },\n        onPopinTestimonialsOpen () {\n            this.popinTestimonialsOpened = true\n            Tracking.customEvent({\n                category: 'User Engagement',\n                action: 'Click',\n                label: `${this.$landing.trackingLabelPrefix} - User Click - Testimonials`,\n                interaction: 0\n            })\n        },\n        presetSystem (filter) {\n            if (filter) this.selectionSystem = filter\n            const subscription = this.$refs.subscription\n            window.scrollTo({\n                top: subscription.$el.offsetTop,\n                behavior: 'smooth'\n            })\n        },\n        presetConsumption (cons) {\n            this.selectionConsumption = cons\n            const subscription = this.$refs.subscription\n            window.scrollTo({\n                top: subscription.$el.offsetTop,\n                behavior: 'smooth'\n            })\n        },\n        presetSort (sort) {\n            this.selectionSort = sort\n            const subscription = this.$refs.subscription\n            window.scrollTo({\n                top: subscription.$el.offsetTop,\n                behavior: 'smooth'\n            })\n        },\n        watchRoute (to) {\n            this.selectionFilters = to.query\n        },\n        extractMachinesSkus (skus, machine) {\n            return [\n                ...skus,\n                ...machine.productChoices\n            ]\n        },\n        reduceMachineById (machines, machine) {\n            return {\n                ...machines,\n                [machine.legacyId]: machine\n            }\n        },\n        checkSubscriptionHasProducts (subscriptionProfile) {\n            return subscriptionProfile.productChoices && subscriptionProfile.productChoices.length\n        },\n        setHeroMachine (machinesInfos) {\n            const heroMachineId = this.$json.hero.machineId\n            this.heroMachine = machinesInfos.find(machine => machine.legacyId === heroMachineId)\n        },\n        setSelectionMachines (subscriptions, machinesInfos) {\n            this.selectionMachines = subscriptions\n                .reduce(this.mergeProfileInSubscription.bind(this), [])\n                .map(this.populateMachinesInfosInSubscription(machinesInfos).bind(this))\n        },\n        mergeProfileInSubscription (subscriptions, subscription) {\n            const matchingProfile = this.findSubscriptionInProfiles(subscription.id, this.$json.profiles)\n            if (matchingProfile) {\n                subscriptions.push({\n                    ...subscription,\n                    ...matchingProfile\n                })\n            }\n            return subscriptions\n        },\n        findSubscriptionInProfiles (subscriptionId, profiles) {\n            return profiles.find(profile => profile.id === subscriptionId)\n        },\n        populateMachinesInfosInSubscription (machinesInfos) {\n            return subscription => ({\n                ...subscription,\n                ctaLabel: this.$json.selection.config.subscribe,\n                machines: subscription.productChoices.map(sku => machinesInfos[sku])\n            })\n        }\n    }\n}\n</script>\n\n\n\n// WEBPACK FOOTER //\n// src/components/SubscriptionView.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.$json)?_c('div',{staticClass:\"g g_subscription\"},[(!_vm.$json.hero.hide)?_c('SubscriptionHero',{attrs:{\"machine\":_vm.heroMachine,\"on-popin-open\":_vm.onPopinGuideOpen}}):_vm._e(),_vm._v(\" \"),(!_vm.$json.video.hide)?_c('SubscriptionVideo'):_vm._e(),_vm._v(\" \"),(_vm.selectionMachines.length !== 0)?_c('SubscriptionSelection',{ref:\"subscription\",attrs:{\"machines\":_vm.selectionMachines,\"consumption\":_vm.selectionConsumption,\"sort\":_vm.selectionSort,\"system\":_vm.selectionSystem,\"route-filters\":_vm.selectionFilters,\"on-info-click\":_vm.onInfoClick,\"on-subscribe\":_vm.addSubscription}}):_vm._e(),_vm._v(\" \"),_c('SubscriptionHelp',{attrs:{\"on-popin-open\":_vm.onPopinGuideOpen}}),_vm._v(\" \"),_c('SubscriptionFaq'),_vm._v(\" \"),(!_vm.$json.testimonials.hide)?_c('SubscriptionTestimonials',{attrs:{\"on-popin-open\":_vm.onPopinTestimonialsOpen}}):_vm._e(),_vm._v(\" \"),_c('PopinGuide',{attrs:{\"machines\":_vm.selectionMachines,\"on-info-click\":_vm.onInfoClick,\"on-subscribe\":_vm.addSubscription},model:{value:(_vm.popinGuideOpened),callback:function ($$v) {_vm.popinGuideOpened=$$v},expression:\"popinGuideOpened\"}}),_vm._v(\" \"),(!_vm.$json.testimonials.hide)?_c('PopinTestimonials',{attrs:{\"on-click\":_vm.onPopinGuideOpen},model:{value:(_vm.popinTestimonialsOpened),callback:function ($$v) {_vm.popinTestimonialsOpened=$$v},expression:\"popinTestimonialsOpened\"}}):_vm._e(),_vm._v(\" \"),_c('PopinSystem',{on:{\"filter\":_vm.presetSystem},model:{value:(_vm.popinSystemOpened),callback:function ($$v) {_vm.popinSystemOpened=$$v},expression:\"popinSystemOpened\"}})],1):_vm._e()}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-6e11dada\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/SubscriptionView.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-6e11dada\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"indentedSyntax\\\":true,\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"/Users/nnjathanpr/NESPRESSO/projects/subscription-machine/src/assets/sass/_variables.sass\\\"}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./SubscriptionView.vue\")\n}\nvar normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./SubscriptionView.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./SubscriptionView.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-6e11dada\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./SubscriptionView.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/SubscriptionView.vue\n// module id = null\n// module chunks = ","import Vue from 'vue'\r\nimport Router from 'vue-router'\r\n\r\nimport SubscriptionView from '@/components/SubscriptionView'\r\n\r\nVue.use(Router)\r\n\r\nexport default new Router({\r\n    mode: 'hash',\r\n    routes: [\r\n        {\r\n            path: '/',\r\n            name: 'service',\r\n            component: SubscriptionView\r\n        }\r\n    ]\r\n})\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/router/router.js","<style lang=\"sass\">\n@import ../node_modules/swiper/dist/css/swiper.css\n</style>\n\n<template>\n    <div class=\"g g_subscription\" v-if=\"$json\">\n        <router-view></router-view>\n    </div>\n</template>\n\n<script>\nimport SubscriptionView from './components/SubscriptionView'\n\nexport default {\n    name: 'app',\n    components: {\n        SubscriptionView\n    },\n    data () {\n        return {\n            hasDoubleTech: true\n        }\n    }\n}\n</script>\n\n\n\n// WEBPACK FOOTER //\n// src/App.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.$json)?_c('div',{staticClass:\"g g_subscription\"},[_c('router-view')],1):_vm._e()}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-a524d298\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/App.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-a524d298\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"indentedSyntax\\\":true,\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"/Users/nnjathanpr/NESPRESSO/projects/subscription-machine/src/assets/sass/_variables.sass\\\"}!../node_modules/vue-loader/lib/selector?type=styles&index=0!./App.vue\")\n}\nvar normalizeComponent = require(\"!../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./App.vue\"\nimport __vue_script__ from \"!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./App.vue\"\n/* template */\nimport __vue_template__ from \"!!../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-a524d298\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../node_modules/vue-loader/lib/selector?type=template&index=0!./App.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/App.vue\n// module id = null\n// module chunks = ","import 'assets/js/bootstrap'\n\nimport router from './router/router'\nimport Vue from 'vue'\nimport VueLanding from 'nespresso-components/landing/VueLanding'\nimport Tracking from 'nespresso-library/src/core/tracking'\n\n// The Vue build version to load with the `import` command\n// (runtime-only or standalone) has been set in webpack.base.conf with an alias.\nimport App from './App'\n\nrequire('./polyfills/polyfills')\n\nVue.config.performance = process.env.NODE_ENV === 'development'\nVue.config.devtools = process.env.NODE_ENV === 'development'\nVue.config.productionTip = process.env.NODE_ENV === 'development'\n\nVue.use(VueLanding, {\n    project: 'subscription',\n    landing: 'subscription',\n    projectPath: 'subscription',\n    trackingLabelPrefix: 'Subscription',\n    skipMutationKeys: [\n        'standard'\n    ],\n    sectionTrackingLabels: {\n        heroCaption: 'Hero',\n        video: 'Video',\n        subscriptionList: 'Machines',\n        faq: 'FAQ',\n        help: 'Help me choose',\n        testimonials: 'Testimonials'\n    }\n})\n\nTracking.globalTracking('Subscription Machine')\n/* eslint-disable no-new */\nnew Vue({\n    el: '#agilityApp',\n    router,\n    components: { App },\n    template: '<App/>'\n})\n\n\n\n// WEBPACK FOOTER //\n// ./src/main.js","<style lang=\"sass\">\n@import ~nespresso-bi/utilities\n@import ~nespresso-bi/brand/variables\n$cta_has_btnRound: true !important\n$cta_has_btnRound_S: true !important\n@import ../Cta/sass/btnRound\n@import sass/scrollLock\n@import sass/variables\n@import sass/common\n@import sass/table\n</style>\n\n<template lang=\"html\">\n    <div class=\"g_popin\" :class=\"{ g_popinOpened: isOpen, g_popinSlide: isSlide }\" role=\"dialog\">\n        <div class=\"g_popinOverlay\"/>\n        <div class=\"g_popinFixed\">\n            <div class=\"g_popinRestrict g_light\">\n                <template v-if=\"isOpen\">\n                    <Cta\n                        ref=\"close\"\n                        class=\"g_btnRoundS g_btnClose\"\n                        type=\"button\"\n                        fontIcon=\"fn_close\"\n                        @click=\"close\"\n                        :content=\"closeLabel\"\n                        :aria-label=\"closeLabel\"/>\n                    <div class=\"g_popinContent\">\n                        <slot/>\n                    </div>\n                </template>\n            </div>\n        </div>\n    </div>\n</template>\n\n<script>\nimport { toggleClass, off, on } from 'gaspard'\nimport { constants } from '../../assets/js/utils'\nimport Cta from '../Cta'\n\nexport default {\n    model: {\n        prop: 'isOpen'\n    },\n    components: {\n        Cta\n    },\n    props: {\n        isOpen: {\n            type: Boolean,\n            required: true\n        },\n        closeLabel: {\n            type: String,\n            required: true\n        }\n    },\n    data () {\n        return {\n            isSlide: false\n        }\n    },\n    watch: {\n        isOpen (value) {\n            toggleClass(document.documentElement, 'g_scrollLock', value)\n\n            if (value) {\n                this.bindEvent()\n                this.$nextTick(() => this.$refs.close.$el.focus())\n            } else {\n                this.$emit('focusBack')\n                this.unbindEvent()\n            }\n\n            this.$emit('change', value)\n        }\n    },\n    beforeDestroy () {\n        this.close()\n    },\n    methods: {\n        bindEvent () {\n            on(document, 'keyup', this.closeDiscoverEchap)\n            on(document, 'click', this.closeDiscoverOverlay)\n        },\n        unbindEvent () {\n            off(document, 'keyup', this.closeDiscoverEchap)\n            off(document, 'click', this.closeDiscoverOverlay)\n        },\n        closeDiscoverEchap (e) {\n            const keyCode = e.keyCode || e.which\n            if (keyCode === constants.ESC) {\n                e.preventDefault()\n                this.close()\n                return false\n            }\n        },\n        closeDiscoverOverlay (e) {\n            const { className } = e.target\n            if (['g_popinFixed', 'g_popinOverlay'].indexOf(className) > -1) {\n                this.close()\n            }\n        },\n        close () {\n            this.unbindEvent()\n            this.$emit('input', false)\n        },\n        slide () {\n            if (!this.$breakpoint.isS) {\n                return\n            }\n            this.isSlide = true\n        },\n        unslide () {\n            this.isSlide = false\n        }\n    }\n}\n</script>\n\n\n\n// WEBPACK FOOTER //\n// node_modules/gvue/src/core/Popin/Popin.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"g_popin\",class:{ g_popinOpened: _vm.isOpen, g_popinSlide: _vm.isSlide },attrs:{\"role\":\"dialog\"}},[_c('div',{staticClass:\"g_popinOverlay\"}),_vm._v(\" \"),_c('div',{staticClass:\"g_popinFixed\"},[_c('div',{staticClass:\"g_popinRestrict g_light\"},[(_vm.isOpen)?[_c('Cta',{ref:\"close\",staticClass:\"g_btnRoundS g_btnClose\",attrs:{\"type\":\"button\",\"fontIcon\":\"fn_close\",\"content\":_vm.closeLabel,\"aria-label\":_vm.closeLabel},on:{\"click\":_vm.close}}),_vm._v(\" \"),_c('div',{staticClass:\"g_popinContent\"},[_vm._t(\"default\")],2)]:_vm._e()],2)])])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-f3804eea\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./node_modules/gvue/src/core/Popin/Popin.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n  require(\"!!../../../../extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-f3804eea\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"indentedSyntax\\\":true,\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"/Users/nnjathanpr/NESPRESSO/projects/subscription-machine/src/assets/sass/_variables.sass\\\"}!../../../../vue-loader/lib/selector?type=styles&index=0!./Popin.vue\")\n}\nvar normalizeComponent = require(\"!../../../../vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../vue-loader/lib/selector?type=script&index=0!./Popin.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../vue-loader/lib/selector?type=script&index=0!./Popin.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-f3804eea\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../vue-loader/lib/selector?type=template&index=0!./Popin.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/gvue/src/core/Popin/Popin.vue\n// module id = null\n// module chunks = ","/* eslint-disable */\r\n// https://tc39.github.io/ecma262/#sec-array.prototype.includes\r\nif (!Array.prototype.includes) {\r\n    Object.defineProperty(Array.prototype, 'includes', {\r\n        value: function(searchElement, fromIndex) {\r\n\r\n            if (this == null) {\r\n                throw new TypeError('\"this\" est nul ou non défini');\r\n            }\r\n\r\n            // 1. Soit o égal à ? Object(cette valeur).\r\n            var o = Object(this);\r\n\r\n            // 2. Soit len égal à ? Length(? Get(o, \"length\")).\r\n            var len = o.length >>> 0;\r\n\r\n            // 3. Si len = 0, renvoyer \"false\".\r\n            if (len === 0) {\r\n                return false;\r\n            }\r\n\r\n            // 4. Soit n = ? ToInteger(fromIndex).\r\n            // Pour la cohérence du code, on gardera le nom anglais \"fromIndex\" pour la variable auparavant appelée \"indiceDépart\"\r\n            //    (Si fromIndex n'est pas défini, cette étape produit la valeur 0.)\r\n            var n = fromIndex | 0;\r\n\r\n            // 5. Si n ≥ 0,\r\n            //  a. Alors k = n.\r\n            // 6. Sinon, si n < 0,\r\n            //  a. Alors k = len + n.\r\n            //  b. Si k < 0, alors k = 0.\r\n            var k = Math.max(n >= 0 ? n : len - Math.abs(n), 0);\r\n\r\n            function sameValueZero(x, y) {\r\n                return x === y || (typeof x === 'number' && typeof y === 'number' && isNaN(x) && isNaN(y));\r\n            }\r\n\r\n            // 7. Répéter tant que k < len\r\n            while (k < len) {\r\n                // a. Soit elementK le résultat de ? Get(O, ! ToString(k)).\r\n                // b. Si SameValueZero(searchElement, elementK) est vrai, renvoyer \"true\".\r\n                if (sameValueZero(o[k], searchElement)) {\r\n                    return true;\r\n                }\r\n                // c. Augmenter la valeur de k de 1.\r\n                k++;\r\n            }\r\n\r\n            // 8. Renvoyer \"false\"\r\n            return false;\r\n        }\r\n    });\r\n}\r\n\r\n// https://tc39.github.io/ecma262/#sec-array.prototype.find\r\nif (!Array.prototype.find) {\r\n    Object.defineProperty(Array.prototype, 'find', {\r\n        value: function(predicate) {\r\n            // 1. Let O be ? ToObject(this value).\r\n            if (this == null) {\r\n                throw new TypeError('\"this\" is null or not defined');\r\n            }\r\n\r\n            var o = Object(this);\r\n\r\n            // 2. Let len be ? ToLength(? Get(O, \"length\")).\r\n            var len = o.length >>> 0;\r\n\r\n            // 3. If IsCallable(predicate) is false, throw a TypeError exception.\r\n            if (typeof predicate !== 'function') {\r\n                throw new TypeError('predicate must be a function');\r\n            }\r\n\r\n            // 4. If thisArg was supplied, let T be thisArg; else let T be undefined.\r\n            var thisArg = arguments[1];\r\n\r\n            // 5. Let k be 0.\r\n            var k = 0;\r\n\r\n            // 6. Repeat, while k < len\r\n            while (k < len) {\r\n                // a. Let Pk be ! ToString(k).\r\n                // b. Let kValue be ? Get(O, Pk).\r\n                // c. Let testResult be ToBoolean(? Call(predicate, T, « kValue, k, O »)).\r\n                // d. If testResult is true, return kValue.\r\n                var kValue = o[k];\r\n                if (predicate.call(thisArg, kValue, k, o)) {\r\n                    return kValue;\r\n                }\r\n                // e. Increase k by 1.\r\n                k++;\r\n            }\r\n\r\n            // 7. Return undefined.\r\n            return undefined;\r\n        },\r\n        configurable: true,\r\n        writable: true\r\n    });\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/polyfills/polyfills.js","<template>\n    <li>\n        <slot></slot>\n    </li>\n</template>\n<script>\nexport default {\n    name: 'GridItem'\n}\n</script>\n\n\n\n// WEBPACK FOOTER //\n// node_modules/gvue/src/core/Grid/GridItem.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-0e77d3d5\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./node_modules/gvue/src/core/Grid/GridItem.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../vue-loader/lib/selector?type=script&index=0!./GridItem.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../vue-loader/lib/selector?type=script&index=0!./GridItem.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-0e77d3d5\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../vue-loader/lib/selector?type=template&index=0!./GridItem.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/gvue/src/core/Grid/GridItem.vue\n// module id = null\n// module chunks = ","<template lang=\"html\">\n    <div class=\"g_embedVideo\" :class=\"{ v_isPlaying: isPlaying }\" v-if=\"content\">\n        <p v-html=\"content.title\" class=\"g_visually_hidden\"></p>\n        <div class=\"g_embedVideoPlayer\">\n            <div v-if=\"content.type === 'youtube'\" ref=\"video\"/>\n            <div v-else-if=\"content.type === 'youku'\" :id=\"`youkuplayer${_uid}`\"/>\n            <div v-else-if=\"content.type === 'local'\">\n                <video\n                    class=\"g_fixHtml5Video\"\n                    ref=\"video\"/>\n            </div>\n        </div>\n    </div>\n</template>\n\n<script>\nimport { capitalize } from '../../assets/js/utils'\nimport correspondenceLang from './correspondenceLang'\nimport Tracking from 'nespresso-library/src/core/tracking'\n\nexport default {\n    props: {\n        isBackground: Boolean,\n        autoPlay: Boolean,\n        preload: {\n            type: String,\n            default: 'metadata'\n        },\n        content: {\n            type: Object\n        },\n        trackingLabel: String,\n        controlPanel: {\n            type: String,\n            default: '0'\n        },\n        ccPolicy: {\n            type: Object\n        },\n        mute: {\n            type: Boolean,\n            default: true\n        }\n    },\n    data () {\n        this._hasBeenTrack = false\n        return {\n            isPlaying: false,\n            canvas: null\n        }\n    },\n    watch: {\n        '$json' () {\n            this.init()\n        },\n        isPlaying (value) {\n            this.$emit('onPlay', value)\n            this.track()\n        }\n    },\n    mounted () {\n        this.init()\n    },\n    methods: {\n        moveTo () {\n        },\n        pause () {\n        },\n        play () {\n        },\n        stop () {\n        },\n        load () {\n        },\n        getDuration () {\n            return 0\n        },\n        getCurrentTime () {\n            return 0\n        },\n        getTrackingTitle () {\n            return this.trackingLabel || this.content.tracking || this.content.title\n        },\n        track () {\n            if (this._hasBeenTrack) {\n                return\n            } else {\n                this._hasBeenTrack = true\n            }\n            const type = capitalize(this.content.type)\n            if (this.content.type !== 'youtube') {\n                Tracking.customEvent({\n                    category: 'User Engagement',\n                    action: `${type} Video - Play`,\n                    label: `${this.$trackingLandingLabel} - Video : ${this.getTrackingTitle()}`,\n                    interaction: 0\n                })\n            }\n        },\n        init () {\n            const video = this.content\n            if (!video) {\n                return\n            }\n            if (video.type === 'youtube') {\n                import(/* webpackChunkName: \"ytPlayer\" */ 'nespresso-library/src/utils/ytPlayer').then(YtPlayer => {\n                    YtPlayer = YtPlayer.default\n                    let additionnalParams = { controls: this.controlPanel }\n                    if (this.ccPolicy !== null && typeof this.ccPolicy === 'object') {\n                        Object.assign(additionnalParams, {\n                            cc_load_policy: 1,\n                            cc_lang_pref: correspondenceLang[`${this.ccPolicy.language}-${this.ccPolicy.country}`]\n                        })\n                    }\n                    YtPlayer.attach(this.$refs.video, video.id, this.isBackground, this.autoPlay, additionnalParams).then(player => {\n                        this.player = player\n                        this.play = () => player.playVideo()\n                        this.pause = () => player.pauseVideo()\n                        this.stop = () => player.stopVideo()\n                        this.moveTo = time => { this.player.seekTo(time, true) }\n                        this.getDuration = () => Number(this.player.getDuration() * 1000).toFixed(0)\n                        this.getCurrentTime = () => Number(this.player.getCurrentTime() * 1000).toFixed(0)\n                        player.addEventListener('onStateChange', event => {\n                            if (event.data === window.YT.PlayerState.PLAYING) {\n                                this.isPlaying = true\n                            } else if (event.data === window.YT.PlayerState.ENDED) {\n                                // this.isPlaying = false\n                            }\n                        })\n                        this.$emit('onReady')\n                    })\n                })\n            } else if (video.type === 'youku') {\n                import(/* webpackChunkName: \"ykPlayer\" */ 'nespresso-library/src/utils/ykPlayer').then(YkPlayer => {\n                    YkPlayer = YkPlayer.default\n                    YkPlayer.attach(`youkuplayer${this._uid}`, video.id, this.isBackground, this.autoPlay)\n                        .then(player => {\n                            this.player = player\n                            this.play = () => player.playVideo()\n                            this.pause = () => player.pauseVideo()\n                            this.stop = () => player.pauseVideo()\n                            window.onPlay = () => {\n                                this.isPlaying = true\n                            }\n                            window.onPlayerComplete = () => {\n                                this.isPlaying = false\n                            }\n                            this.$emit('onReady')\n                        })\n                })\n            } else if (video.type === 'local') {\n                if (!this.player) {\n                    this.player = this.$refs.video\n                    this.player.src = this.content.src\n                    this.player.preload = this.preload\n                    this.player.muted = this.mute\n                    this.player.setAttribute('playsinline', true)\n                    this.player.controls = false\n                    this.player.type = 'video/mp4'\n                    this.player.autoplay = false\n                    this.$emit('onReady')\n                }\n\n                if (this.autoPlay) {\n                    this.play()\n                }\n\n                this.play = () => {\n                    this.isPlaying = true\n                    this.player.play()\n                }\n                this.pause = () => {\n                    const videos = document.querySelectorAll('.g_fixHtml5Video')\n                    videos.forEach(video => {\n                        video.pause()\n                    })\n                }\n                this.load = () => this.player.load()\n                this.stop = () => {\n                    this.pause()\n                    this.isPlaying = false\n                    const videos = document.querySelectorAll('.g_fixHtml5Video')\n                    videos.forEach(video => {\n                        video.currentTime = 0\n                    })\n                }\n                this.moveTo = time => { this.player.currentTime = time }\n                this.getDuration = () => Number(this.player.duration * 1000).toFixed(0)\n                this.getCurrentTime = () => Number(this.player.currentTime * 1000).toFixed(0)\n            }\n        }\n    }\n}\n</script>\n\n\n\n// WEBPACK FOOTER //\n// node_modules/gvue/src/core/EmbedVideo/EmbedVideo.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.content)?_c('div',{staticClass:\"g_embedVideo\",class:{ v_isPlaying: _vm.isPlaying }},[_c('p',{staticClass:\"g_visually_hidden\",domProps:{\"innerHTML\":_vm._s(_vm.content.title)}}),_vm._v(\" \"),_c('div',{staticClass:\"g_embedVideoPlayer\"},[(_vm.content.type === 'youtube')?_c('div',{ref:\"video\"}):(_vm.content.type === 'youku')?_c('div',{attrs:{\"id\":(\"youkuplayer\" + _vm._uid)}}):(_vm.content.type === 'local')?_c('div',[_c('video',{ref:\"video\",staticClass:\"g_fixHtml5Video\"})]):_vm._e()])]):_vm._e()}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-4333137a\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./node_modules/gvue/src/core/EmbedVideo/EmbedVideo.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../../../vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../vue-loader/lib/selector?type=script&index=0!./EmbedVideo.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../vue-loader/lib/selector?type=script&index=0!./EmbedVideo.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../../vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-4333137a\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../vue-loader/lib/selector?type=template&index=0!./EmbedVideo.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/gvue/src/core/EmbedVideo/EmbedVideo.vue\n// module id = null\n// module chunks = ","<script>\nconst ROW_CLASS = 'g_row'\nconst ROW_MAX_COL_CLASS = 6\n// stack si stack ou non add class css\nexport default {\n    name: 'Grid',\n    props: {\n        type: {\n            type: String,\n            required: true,\n            validator: function (value) {\n                return !!~['ul', 'ol', 'div'].indexOf(value)\n            }\n        },\n        row: {\n            type: String,\n            validator (value) {\n                return value === '' || (Number(value) > 0 && Number(value) <= ROW_MAX_COL_CLASS)\n            }\n        }\n    },\n    render: function (createElement) {\n        if (typeof this.row !== 'undefined') {\n            import(/* webpackChunkName: \"grid\" */ `gvue/src/core/Grid/sass/grid.sass`)\n        }\n\n        let classNames = ''\n        if (this.row !== undefined) {\n            classNames = ROW_CLASS + this.row\n        }\n        return createElement(\n            this.type,\n            {\n                class: classNames\n            },\n            this.$slots.default\n        )\n    }\n}\n</script>\n\n\n\n// WEBPACK FOOTER //\n// node_modules/gvue/src/core/Grid/Grid.vue","var normalizeComponent = require(\"!../../../../vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../vue-loader/lib/selector?type=script&index=0!./Grid.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../vue-loader/lib/selector?type=script&index=0!./Grid.vue\"\n/* template */\nvar __vue_template__ = null\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/gvue/src/core/Grid/Grid.vue\n// module id = null\n// module chunks = ","<style lang=\"sass\">\n@import ~nespresso-bi/utilities\n@import ~nespresso-bi/brand/variables\n@import sass/paragraph\n@import sass/link\n@import sass/tooltip\n</style>\n\n<script>\nconst TXT_CLASS = 'g_txt_'\nconst TXT_SIZES = ['XS', 'S', 'M', 'L', 'XL']\n\nexport default {\n    name: 'paragraph',\n    props: {\n        content: {\n            type: String,\n            default: ''\n        },\n        size: {\n            type: String,\n            default: 'M',\n            validator (value) {\n                return !!~TXT_SIZES.indexOf(value)\n            }\n        },\n        sizeMobile: {\n            type: String,\n            validator (value) {\n                return !!~TXT_SIZES.indexOf(value)\n            }\n        }\n    },\n    render (createElement) {\n        let size = this.size\n        let children = this.content\n        let attributes = {\n            domProps: {\n                innerHTML: children\n            }\n        }\n        if (children.charAt(0) === '<' && ['p', 'u', 'o'].indexOf(children.charAt(1)) > -1) {\n            children = null\n        } else {\n            children = [createElement('p', attributes)]\n            attributes = {}\n        }\n\n        if (this.sizeMobile && this.$breakpoint.isS) {\n            size = this.sizeMobile\n        }\n\n        return createElement('div', {\n            ...attributes,\n            class: ['g_wysiwyg', TXT_CLASS + size]\n        }, children)\n    }\n}\n</script>\n\n\n\n// WEBPACK FOOTER //\n// node_modules/gvue/src/core/Paragraph/Paragraph.vue","function injectStyle (ssrContext) {\n  require(\"!!../../../../extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-7e69063b\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"indentedSyntax\\\":true,\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"/Users/nnjathanpr/NESPRESSO/projects/subscription-machine/src/assets/sass/_variables.sass\\\"}!../../../../vue-loader/lib/selector?type=styles&index=0!./Paragraph.vue\")\n}\nvar normalizeComponent = require(\"!../../../../vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../vue-loader/lib/selector?type=script&index=0!./Paragraph.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../vue-loader/lib/selector?type=script&index=0!./Paragraph.vue\"\n/* template */\nvar __vue_template__ = null\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/gvue/src/core/Paragraph/Paragraph.vue\n// module id = null\n// module chunks = ","<style lang=\"sass\">\n@import ~nespresso-bi/utilities\n@import ~nespresso-bi/brand/variables\n@import sass/variables\n@import sass/heading\n</style>\n<script>\nfunction isHeadingLevel (value) {\n    return value <= 6 || !value\n}\n\nexport default {\n    name: 'heading',\n    props: {\n        content: {\n            type: String,\n            default: ''\n        },\n        level: {\n            type: Number,\n            default: 2,\n            validator: isHeadingLevel\n        },\n        levelClass: {\n            type: Number,\n            default: null,\n            validator: isHeadingLevel\n        },\n        fake: Boolean,\n        noMargin: Boolean,\n        hidden: Boolean\n    },\n    render: function (createElement) {\n        let el = `h${this.level}`\n        let className = `g_${el}`\n\n        // If we have an H1 in hero\n        if (this.level === 1) {\n            className = `g_h1`\n        } else {\n            // Overwrte default classe lvl\n            if (this.levelClass) {\n                className = `g_h${this.levelClass}`\n            }\n        }\n\n        if (this.noMargin) {\n            className += '_nomargin'\n        }\n\n        if (this.hidden) {\n            className += ` g_visually_hidden`\n        }\n\n        if (this.fake) {\n            el = 'p'\n        }\n\n        return createElement(\n            el,\n            {\n                attrs: {\n                    class: className.trim()\n                }\n            },\n            [this.$slots.default, this.content]\n        )\n    }\n}\n</script>\n\n\n\n// WEBPACK FOOTER //\n// node_modules/gvue/src/core/Heading/Heading.vue","function injectStyle (ssrContext) {\n  require(\"!!../../../../extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../../vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-696a3a16\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"indentedSyntax\\\":true,\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"/Users/nnjathanpr/NESPRESSO/projects/subscription-machine/src/assets/sass/_variables.sass\\\"}!../../../../vue-loader/lib/selector?type=styles&index=0!./Heading.vue\")\n}\nvar normalizeComponent = require(\"!../../../../vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../../vue-loader/lib/selector?type=script&index=0!./Heading.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../vue-loader/lib/selector?type=script&index=0!./Heading.vue\"\n/* template */\nvar __vue_template__ = null\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n  __vue_script__,\n  __vue_template__,\n  __vue_template_functional__,\n  __vue_styles__,\n  __vue_scopeId__,\n  __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/gvue/src/core/Heading/Heading.vue\n// module id = null\n// module chunks = "],"sourceRoot":""}