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