{"version":3,"sources":["webpack:///./src/assets/js/bootstrap.js","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/Section/SectionBullets.vue","webpack:///./src/components/Section/SectionBullets.vue?7662","webpack:///./src/components/Section/SectionBullets.vue","webpack:///src/components/Section/SectionFaq.vue","webpack:///./src/components/Section/SectionFaq.vue?e0bc","webpack:///./src/components/Section/SectionFaq.vue","webpack:///src/components/Section/SectionHelp.vue","webpack:///./src/components/Section/SectionHelp.vue?44e3","webpack:///./src/components/Section/SectionHelp.vue","webpack:///src/components/Section/SectionHero.vue","webpack:///./src/components/Section/SectionHero.vue?dc4d","webpack:///./src/components/Section/SectionHero.vue","webpack:///src/components/FiltersList/FiltersList.vue","webpack:///./src/components/FiltersList/FiltersList.vue?0d03","webpack:///./src/components/FiltersList/FiltersList.vue","webpack:///./src/bus.js","webpack:///src/components/SelectionFilters/SelectionFiltersOptions.vue","webpack:///./src/components/SelectionFilters/SelectionFiltersOptions.vue?1864","webpack:///./src/components/SelectionFilters/SelectionFiltersOptions.vue","webpack:///src/components/SelectionFilters/SelectionFiltersPanel.vue","webpack:///./src/components/SelectionFilters/SelectionFiltersPanel.vue?d96d","webpack:///./src/components/SelectionFilters/SelectionFiltersPanel.vue","webpack:///src/components/SelectionFilters/SelectionFilters.vue","webpack:///./src/components/SelectionFilters/SelectionFilters.vue?a780","webpack:///./src/components/SelectionFilters/SelectionFilters.vue","webpack:///src/components/SelectionPlan/SelectionPlan.vue","webpack:///./src/components/SelectionPlan/SelectionPlan.vue?b32f","webpack:///./src/components/SelectionPlan/SelectionPlan.vue","webpack:///./src/helpers/helpers.js","webpack:///src/components/Section/SectionSelection.vue","webpack:///./src/components/Section/SectionSelection.vue?8097","webpack:///./src/components/Section/SectionSelection.vue","webpack:///src/components/PopinTestimonials/PopinTestimonials.vue","webpack:///./src/components/PopinTestimonials/PopinTestimonials.vue?9de1","webpack:///./src/components/PopinTestimonials/PopinTestimonials.vue","webpack:///src/components/Section/SectionTestimonials.vue","webpack:///./src/components/Section/SectionTestimonials.vue?828f","webpack:///./src/components/Section/SectionTestimonials.vue","webpack:///src/components/PopinDiscover/PopinDiscover.vue","webpack:///./src/components/PopinDiscover/PopinDiscover.vue?8bc1","webpack:///./src/components/PopinDiscover/PopinDiscover.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?9884","webpack:///./src/components/PopinGuide/PopinGuideStepConfirm.vue","webpack:///src/components/PopinGuide/PopinGuideStepEstimate.vue","webpack:///./src/components/PopinGuide/PopinGuideStepEstimate.vue?096a","webpack:///./src/components/PopinGuide/PopinGuideStepEstimate.vue","webpack:///src/components/PopinGuide/PopinGuideStepReco.vue","webpack:///./src/components/PopinGuide/PopinGuideStepReco.vue?d9ca","webpack:///./src/components/PopinGuide/PopinGuideStepReco.vue","webpack:///src/components/PopinGuide/PopinGuide.vue","webpack:///./src/components/PopinGuide/PopinGuide.vue?d6cf","webpack:///./src/components/PopinGuide/PopinGuide.vue","webpack:///src/components/SubscriptionCoffeeView.vue","webpack:///./src/components/SubscriptionCoffeeView.vue?2c0a","webpack:///./src/components/SubscriptionCoffeeView.vue","webpack:///./src/router/router.js","webpack:///src/App.vue","webpack:///./src/App.vue?ff89","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/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","CollapseButton","name","props","index","type","Number","required","total","feature","id","String","methods","toggle","this","isOpen","_feature","trackingLabel","title","tracking","customEvent","category","action","label","$landing","trackingLabelPrefix","interaction","Accordion_CollapseButton","render","_vm","_h","$createElement","_c","_self","staticClass","class","g_open","attrs","aria-expanded","data-translate","data-of","tabindex","on","click","$event","_v","_s","_t","staticRenderFns","components_Accordion_CollapseButton","__webpack_require__","normalizeComponent","Collapsible","Accordion_Collapsible","aria-hidden","role","domProps","innerHTML","content","components_Accordion_Collapsible","Collapsible_normalizeComponent","ssrContext","Accordion","list","Object","limit","data","showAll","components","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","_e","showLess","showMore","Accordion_Component","Accordion_normalizeComponent","__webpack_exports__","Zone","mixins","dataLabel","contrast","validator","value","constants","indexOf","autoHeight","Boolean","align","position","mobilePosition","classNamesBg","classNamesRestrict","classNamesContent","backgroundImage","restrict","default","parallax","speed","height","parallaxLoaded","classNames","push","hasParallax","e","then","bind","VueParallaxJs","vue_esm","use","minWidth","$parallaxjs","directive","mounted","parallaxRules","$breakpoint","isS","css","document","styleSheets","insertRule","Zone_Zone","data-label","directives","rawName","expression","g_parallax","style","backgroundPosition","backgroundSize","size","backgroundColor","color","backgroundAttachment","attachment","$slots","g_content","Component","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","$emit","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","SectionBullets","Heading","Paragraph","dico","$json","folder","Section_SectionBullets","background-image","level","bullet","components_Section_SectionBullets","SectionFaq","extends_default","faq","leftImage","mode","ext","sync","rightImage","Section_SectionFaq","components_Section_SectionFaq","SectionFaq_normalizeComponent","SectionHelp","ZoneTracking","help","iconImage","getImgUrl","openPopin","Section_SectionHelp","text","is-btn","cta","components_Section_SectionHelp","SectionHelp_normalizeComponent","SectionHero","hero","benefits","background","trim","promoClick","gtmDataObject","event","ecommerce","promotions","$refs","shc","$attrs","creative","addLogoCountry","addStr","_$landing","country","language","Section_SectionHero","suffix","subtitle","ref","data-promotion-item-id","data-promotion-creative","data-promotion-position","data-promotion-name","components_Section_SectionHero","SectionHero_normalizeComponent","FiltersList","isSort","options","activeFilter","classes","select","sort","option","active","isOptionActive","selectOption","FiltersList_FiltersList","components_FiltersList_FiltersList","FiltersList_normalizeComponent","EventBus","Vue","SelectionFiltersOptions","isOpened","tickImage","selectedOption","SelectionFilters_SelectionFiltersOptions","opened","selection","config","filterConsumption","is-sort","active-filter","change","components_SelectionFilters_SelectionFiltersOptions","SelectionFiltersOptions_normalizeComponent","SelectionFiltersPanel","filterValue","placeholderLabel","getPlaceholderLabel","toggleOptions","values","find","placeholder","SelectionFilters_SelectionFiltersPanel","font-icon","is-opened","components_SelectionFilters_SelectionFiltersPanel","SelectionFiltersPanel_normalizeComponent","SelectionFilters","activeSort","openedFilter","openedSorting","resetImage","resetFilters","$on","updateFilter","updateSort","toggleFilter","toggleSorting","SelectionFilters_SelectionFilters","filter-value","reset","components_SelectionFilters_SelectionFilters","SelectionFilters_normalizeComponent","SelectionPlan","prefix","plan","selected","popular","$config","formatter","currency","extraLabel","extra","replace","totalFee","finalFee","periodicFee","formatPrice","feeRecurrence","isSmall","imgParam","width","$root","asyncToGenerator_default","regenerator_default","a","mark","_callee","wrap","_context","prev","next","napi","priceFormat","sent","catalog","getPrices","stop","price","short","getName","planId","addSubscription","discover","SelectionPlan_SelectionPlan","image","description","pay","extraFreeText","is-link","added","subscribe","components_SelectionPlan_SelectionPlan","SelectionPlan_normalizeComponent","filterPlans","filters","filter","filterPlan","mergePlansFilters","plans","newArray","_iteratorNormalCompletion","_didIteratorError","_iteratorError","undefined","_step","_iterator","get_iterator_default","done","toConsumableArray_default","err","return","from_default","set_default","SectionSelection","Popin","routeFilters","selectedPlan","isFiltering","popinFiltersOpened","swiper","filteredOption","plansFilters","filtered","assign_default","some","f","filteredPlans","filtersPlans","sortPlans","filterButtonLabel","mostPopularPlan","plansClone","concat","shift","titleClass","showPagination","$nextTick","initSwiper","_$refs","slidesPerView","spaceBetween","navigation","nextEl","swiperNext","prevEl","swiperPrev","pagination","swiperPagination","clickable","breakpoints","767","js_swiper","updateSwiper","update","b","popularity","openFiltersPopin","setOverlay","state","goToResults","zone","top","$el","getBoundingClientRect","pageYOffset","behavior","onSubscribe","onDiscover","Section_SectionSelection","overlay","close-label","is-open","model","callback","$$v","active-sort","popinCta","components_Section_SectionSelection","SectionSelection_normalizeComponent","PopinTestimonials","Cta_Cta","Heading_Heading","popinTestimonials","popinOpened","watch","destroy","updated","onClick","simulateTouch","swiper_default","PopinTestimonials_PopinTestimonials","testimonial","quote","author","components_PopinTestimonials_PopinTestimonials","PopinTestimonials_normalizeComponent","SectionTestimonials","Grid","GridItem","testimonials","Section_SectionTestimonials","row","components_Section_SectionTestimonials","SectionTestimonials_normalizeComponent","PopinDiscover","popinDiscover","PopinDiscover_PopinDiscover","components_PopinDiscover_PopinDiscover","PopinDiscover_normalizeComponent","NaturalScroll","load","userAgent","currentPopin","toParent","popin","header","element","className","Scrolls_NaturalScroll","Popin_Scrolls_NaturalScroll","NaturalScroll_normalizeComponent","PopinGuideStepConfirm","PopinGuide_PopinGuideStepConfirm","shopping","shoppingLink","checkout","checkoutLink","components_PopinGuide_PopinGuideStepConfirm","PopinGuideStepConfirm_normalizeComponent","PopinGuideStepEstimate","texts","capsEstimate","Math","round","PopinGuide_PopinGuideStepEstimate","question","result","fake","capsules","components_PopinGuide_PopinGuideStepEstimate","PopinGuideStepEstimate_normalizeComponent","PopinGuideStepReco","PopinGuide_PopinGuideStepReco","components_PopinGuide_PopinGuideStepReco","PopinGuideStepReco_normalizeComponent","PopinGuide","popinGuide","step","displayEstimate","displayReco","displayConfirm","summaryTitle","summary","setTimeout","resetPopin","resizePopin","scroll","querySelector","children","offsetHeight","seeRecommendation","PopinGuide_PopinGuide","estimation","recommendation","components_PopinGuide_PopinGuide","PopinGuide_normalizeComponent","nespresso","SubscriptionCoffeeView","selectionFilters","discoveredPlan","popinGuideOpened","popinDiscoverOpened","subscriptionInCart","showSelectionSection","showTestimonialsSection","hide","apiPlans","_window$napi$data","fetchSubscriptionsPlansFromApi","initSelectionPlans","readCart","_cartEvent","cartEvent","apply","$route","handler","immediate","cartUpdates","cSku","cQuantity","productInfo","productLocalSKU","quantity","productQuantity","products","_loop","product","productId","p","unitPrice","_this3","_callee2","api","marketApiData","subs","_context2","market","read","getSubscriptions","t0","subscriptionConfig","abrupt","subscriptionProfiles","t1","console","error","_this4","_callee3","_context3","CartManager","updateSubscription","productClick","log","emptySubscriptionCoffee","removeItem","openPopinGuide","openPopinDiscover","pop","watchRoute","to","query","reduce","mergeProfileInPlans","profiles","matchingProfile","findPlanInProfiles","profile","components_SubscriptionCoffeeView","route-filters","selected-plan","src_components_SubscriptionCoffeeView","SubscriptionCoffeeView_normalizeComponent","Router","router","routes","path","App","selectortype_template_index_0_src_App","src_App","App_normalizeComponent","require","performance","process","devtools","productionTip","VueLanding","project","landing","projectPath","skipMutationKeys","sectionTrackingLabels","video","howto","Tracking","globalTracking","template","prop","closeLabel","isSlide","documentElement","bindEvent","close","focus","unbindEvent","beforeDestroy","closeDiscoverEchap","closeDiscoverOverlay","keyCode","which","ESC","slide","unslide","Popin_Popin","g_popinOpened","g_popinSlide","aria-label","includes","defineProperty","searchElement","fromIndex","TypeError","o","len","x","y","n","k","max","abs","isNaN","predicate","thisArg","arguments","kValue","call","configurable","writable","Grid_GridItem","attributes","charAt","isHeadingLevel","levelClass","noMargin","hidden"],"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","<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-coffee/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-coffee/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-coffee/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-coffee/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-coffee/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 align=\"center\"\n class=\"g_sectionBullets\"\n :background-image=\"backgroundImage\"\n :data-label=\"dico.dataLabel\"\n :id=\"dico.id\"\n >\n <Heading :level=\"2\" v-html=\"dico.title\"></Heading>\n <ol class=\"g_sectionBullets__bullets\">\n <li v-for=\"bullet in dico.bullets\"\n class=\"g_sectionBullets__bullet\"\n :key=\"bullet.title\"\n >\n <Heading v-html=\"bullet.title\"\n :level=\"3\"\n />\n <Paragraph size=\"L\"\n :content=\"bullet.content\"\n />\n </li>\n </ol>\n </Zone>\n</template>\n\n<script>\nimport Heading from 'gvue/src/core/Heading'\nimport Paragraph from 'gvue/src/core/Paragraph'\nimport Zone from 'gvue/src/core/Zone'\n\nexport default {\n name: 'SectionBullets',\n components: {\n Heading,\n Paragraph,\n Zone\n },\n props: {\n id: {\n type: String,\n required: true\n }\n },\n data () {\n return {\n dico: this.$json[this.id]\n }\n },\n computed: {\n backgroundImage () {\n return { folder: 'backgrounds', name: this.id }\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/subscriptionCoffee_variables\n @import SectionBullets\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/components/Section/SectionBullets.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Zone',{staticClass:\"g_sectionBullets\",attrs:{\"align\":\"center\",\"background-image\":_vm.backgroundImage,\"data-label\":_vm.dico.dataLabel,\"id\":_vm.dico.id}},[_c('Heading',{attrs:{\"level\":2},domProps:{\"innerHTML\":_vm._s(_vm.dico.title)}}),_vm._v(\" \"),_c('ol',{staticClass:\"g_sectionBullets__bullets\"},_vm._l((_vm.dico.bullets),function(bullet){return _c('li',{key:bullet.title,staticClass:\"g_sectionBullets__bullet\"},[_c('Heading',{attrs:{\"level\":3},domProps:{\"innerHTML\":_vm._s(bullet.title)}}),_vm._v(\" \"),_c('Paragraph',{attrs:{\"size\":\"L\",\"content\":bullet.content}})],1)}),0)],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-62efdf14\",\"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/Section/SectionBullets.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-62efdf14\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"indentedSyntax\\\":true,\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"/Users/nnjathanpr/NESPRESSO/projects/subscription-coffee/src/assets/sass/_variables.sass\\\"}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./SectionBullets.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!./SectionBullets.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./SectionBullets.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-62efdf14\\\",\\\"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!./SectionBullets.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/Section/SectionBullets.vue\n// module id = null\n// module chunks = ","<template>\r\n <Zone contrast=\"light\"\r\n :background-image=\"backgroundImage\"\r\n :class=\"['g_sectionFaq', mode]\"\r\n :dataLabel=\"dataLabel\"\r\n :id=\"id\"\r\n >\r\n <Visual class=\"g_sectionFaq__visual left\"\r\n :src=\"leftImage\"\r\n />\r\n <Visual class=\"g_sectionFaq__visual right\"\r\n :src=\"rightImage\"\r\n />\r\n <div class=\"g_sectionFaq__content\">\r\n <Heading :level=\"2\" v-html=\"title\"/>\r\n <Accordion :list=\"list\"/>\r\n </div>\r\n </Zone>\r\n</template>\r\n\r\n<script>\r\nimport Heading from 'gvue/src/core/Heading'\r\nimport Visual from 'gvue/src/core/Visual'\r\nimport Zone from 'gvue/src/core/Zone'\r\n\r\nimport Accordion from 'gvue/src/components/Accordion'\r\n\r\nexport default {\r\n name: 'SectionFaq',\r\n components: {\r\n Accordion,\r\n Heading,\r\n Visual,\r\n Zone\r\n },\r\n data () {\r\n return {...this.$json.faq}\r\n },\r\n computed: {\r\n backgroundImage () {\r\n return { folder: 'backgrounds', name: 'faq' }\r\n },\r\n leftImage () {\r\n let name = 'original_green'\r\n if (this.mode === 'vertuo') {\r\n name = 'vertuo_yellow'\r\n }\r\n return { folder: 'faq', name: name, ext: 'png', sync: true }\r\n },\r\n rightImage () {\r\n let name = 'vertuo_grenat'\r\n if (this.mode === 'original') {\r\n name = 'original_purple'\r\n }\r\n return { folder: 'faq', name: name, ext: 'png', sync: true }\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 SectionFaq\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/Section/SectionFaq.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Zone',{class:['g_sectionFaq', _vm.mode],attrs:{\"contrast\":\"light\",\"background-image\":_vm.backgroundImage,\"dataLabel\":_vm.dataLabel,\"id\":_vm.id}},[_c('Visual',{staticClass:\"g_sectionFaq__visual left\",attrs:{\"src\":_vm.leftImage}}),_vm._v(\" \"),_c('Visual',{staticClass:\"g_sectionFaq__visual right\",attrs:{\"src\":_vm.rightImage}}),_vm._v(\" \"),_c('div',{staticClass:\"g_sectionFaq__content\"},[_c('Heading',{attrs:{\"level\":2},domProps:{\"innerHTML\":_vm._s(_vm.title)}}),_vm._v(\" \"),_c('Accordion',{attrs:{\"list\":_vm.list}})],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-1ddaaa7a\",\"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/Section/SectionFaq.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-1ddaaa7a\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"indentedSyntax\\\":true,\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"/Users/nnjathanpr/NESPRESSO/projects/subscription-coffee/src/assets/sass/_variables.sass\\\"}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./SectionFaq.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!./SectionFaq.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./SectionFaq.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-1ddaaa7a\\\",\\\"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!./SectionFaq.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/Section/SectionFaq.vue\n// module id = null\n// module chunks = ","<template>\n <Zone align=\"center\"\n class=\"g_sectionHelp\"\n :background-image=\"backgroundImage\"\n :data-label=\"dataLabel\"\n :id=\"id\"\n >\n <Visual class=\"g_sectionHelp__icon\"\n :svg=\"iconImage\"\n />\n <Heading v-html=\"title\"\n class=\"g_sectionHelp__title g_h2\"\n :level=\"2\"\n />\n <Paragraph size=\"XL\"\n :content=\"text\"\n />\n <Cta is-btn\n class=\"g_btnWhite\"\n type=\"button\"\n :content=\"cta\"\n @click=\"openPopin\"\n />\n </Zone>\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 Zone from 'gvue/src/core/Zone'\nimport Tracking from 'nespresso-library/src/core/tracking'\nimport ZoneTracking from 'gvue/src/assets/js/mixins/ZoneTracking'\n\nexport default {\n name: 'SubscriptionCoffeeHelp',\n mixins: [ZoneTracking],\n components: {\n Cta,\n Heading,\n Paragraph,\n Visual,\n Zone\n },\n data () {\n return {...this.$json.help}\n },\n computed: {\n backgroundImage () {\n return { folder: 'backgrounds', name: 'help' }\n },\n iconImage () {\n return this.$landing.getImgUrl({ name: 'icon-cup', ext: 'svg' })\n }\n },\n methods: {\n openPopin () {\n this.$emit('popin')\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 }\n\n}\n</script>\n\n<style lang=\"sass\">\n @import ~nespresso-bi/utilities\n @import ~nespresso-bi/brand/variables\n @import ~assets/sass/subscriptionCoffee_variables\n @import SectionHelp\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/components/Section/SectionHelp.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Zone',{staticClass:\"g_sectionHelp\",attrs:{\"align\":\"center\",\"background-image\":_vm.backgroundImage,\"data-label\":_vm.dataLabel,\"id\":_vm.id}},[_c('Visual',{staticClass:\"g_sectionHelp__icon\",attrs:{\"svg\":_vm.iconImage}}),_vm._v(\" \"),_c('Heading',{staticClass:\"g_sectionHelp__title g_h2\",attrs:{\"level\":2},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},on:{\"click\":_vm.openPopin}})],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-10da9f85\",\"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/Section/SectionHelp.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-10da9f85\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"indentedSyntax\\\":true,\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"/Users/nnjathanpr/NESPRESSO/projects/subscription-coffee/src/assets/sass/_variables.sass\\\"}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./SectionHelp.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!./SectionHelp.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./SectionHelp.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-10da9f85\\\",\\\"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!./SectionHelp.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/Section/SectionHelp.vue\n// module id = null\n// module chunks = ","<template>\n <Zone :background-image=\"backgroundImage\"\n :class=\"['g_sectionHero', dico.mode]\"\n :data-label=\"dico.dataLabel\"\n :id=\"dico.id\"\n >\n <div class=\"g_sectionHero__header\">\n <Visual class=\"g_sectionHero__visual\"\n :src=\"{ suffix: false, name: 'logo-subscription' + addLogoCountry(), ext: 'png' }\"\n />\n <Paragraph class=\"g_sectionHero__title\"\n size=\"XL\"\n :content=\"dico.title\"\n />\n <Paragraph class=\"g_sectionHero__subtitle\"\n size=\"XL\"\n v-html=\"dico.subtitle\"\n />\n <Heading :level=\"3\">{{ benefits.title }}</Heading>\n <ol class=\"g_sectionHero__bullets\">\n <li v-for=\"bullet in benefits.bullets\"\n class=\"g_sectionHero__bullet\"\n :key=\"bullet.title\"\n >\n <Heading v-html=\"bullet.title\"\n :level=\"4\"\n />\n <Paragraph size=\"L\"\n :content=\"bullet.content\"\n />\n </li>\n </ol>\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=\"dico.cta\"\n class=\"g_btnWhite track-promotion-impression track-promotion-click\"\n is-btn\n type=\"button\"\n :content=\"dico.cta\"\n ref=\"shc\"\n @click=\"openPopin\"\n />\n </div>\n </Zone>\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 Zone from 'gvue/src/core/Zone'\nimport Tracking from 'nespresso-library/src/core/tracking'\n\nexport default {\n name: 'SubscriptionHero',\n components: {\n Cta,\n Heading,\n Paragraph,\n Visual,\n Zone\n },\n data () {\n return {\n dico: {...this.$json.hero},\n benefits: {...this.$json.benefits}\n }\n },\n computed: {\n backgroundImage () {\n let name = `hero_${this.dico.mode}`\n if (this.dico.hasOwnProperty('background') && this.dico.background.trim()) {\n name = this.dico.background\n }\n return { folder: 'backgrounds', name: name }\n }\n },\n methods: {\n promoClick () {\n window.gtmDataObject.push({\n 'event': 'promoClick',\n 'ecommerce': {\n 'promoClick': {\n 'promotions': [{\n 'name': this.$refs.shc.$attrs['data-promotion-name'],\n 'id': this.$refs.shc.$attrs['data-promotion-item-id'],\n 'creative': this.$refs.shc.$attrs['data-promotion-creative'],\n 'position': this.$refs.shc.$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' && language === 'de') addStr = '_de'\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 === 'RO' && language === 'ro') addStr = '_ro_ro'\n if (country === 'LU' && (language === 'en' || language === 'fr')) addStr = '_lu'\n if (country === 'ES') addStr = '_es'\n return addStr\n },\n openPopin () {\n this.$emit('popin')\n this.promoClick()\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 }\n}\n</script>\n\n<style lang=\"sass\">\n @import ~nespresso-bi/utilities\n @import ~nespresso-bi/brand/variables\n @import ~assets/sass/subscriptionCoffee_variables\n @import SectionHero\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/components/Section/SectionHero.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Zone',{class:['g_sectionHero', _vm.dico.mode],attrs:{\"background-image\":_vm.backgroundImage,\"data-label\":_vm.dico.dataLabel,\"id\":_vm.dico.id}},[_c('div',{staticClass:\"g_sectionHero__header\"},[_c('Visual',{staticClass:\"g_sectionHero__visual\",attrs:{\"src\":{ suffix: false, name: 'logo-subscription' + _vm.addLogoCountry(), ext: 'png' }}}),_vm._v(\" \"),_c('Paragraph',{staticClass:\"g_sectionHero__title\",attrs:{\"size\":\"XL\",\"content\":_vm.dico.title}}),_vm._v(\" \"),_c('Paragraph',{staticClass:\"g_sectionHero__subtitle\",attrs:{\"size\":\"XL\"},domProps:{\"innerHTML\":_vm._s(_vm.dico.subtitle)}}),_vm._v(\" \"),_c('Heading',{attrs:{\"level\":3}},[_vm._v(_vm._s(_vm.benefits.title))]),_vm._v(\" \"),_c('ol',{staticClass:\"g_sectionHero__bullets\"},_vm._l((_vm.benefits.bullets),function(bullet){return _c('li',{key:bullet.title,staticClass:\"g_sectionHero__bullet\"},[_c('Heading',{attrs:{\"level\":4},domProps:{\"innerHTML\":_vm._s(bullet.title)}}),_vm._v(\" \"),_c('Paragraph',{attrs:{\"size\":\"L\",\"content\":bullet.content}})],1)}),0),_vm._v(\" \"),_c('Cta',{ref:\"shc\",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.dico.cta,\"is-btn\":\"\",\"type\":\"button\",\"content\":_vm.dico.cta},on:{\"click\":_vm.openPopin}})],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-793a03bc\",\"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/Section/SectionHero.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-793a03bc\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"indentedSyntax\\\":true,\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"/Users/nnjathanpr/NESPRESSO/projects/subscription-coffee/src/assets/sass/_variables.sass\\\"}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./SectionHero.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!./SectionHero.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./SectionHero.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-793a03bc\\\",\\\"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!./SectionHero.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/Section/SectionHero.vue\n// module id = null\n// module chunks = ","<template>\n <ul :class=\"classes.select\">\n <li v-for=\"option in options\"\n :class=\"classes.option(option.key)\"\n :key=\"option.key\"\n @click=\"selectOption(option.key)\"\n >{{ option.label }}</li>\n </ul>\n</template>\n\n<script>\nexport default {\n name: 'FiltersList',\n props: {\n isSort: { type: Boolean, default: false },\n options: { type: Array, required: () => true },\n activeFilter: { type: String, default: '' }\n },\n computed: {\n classes () {\n return {\n select: ['g_filtersList', {sort: this.isSort}],\n option: key => ['g_filtersList__option', {active: this.isOptionActive(key)}]\n }\n }\n },\n methods: {\n isOptionActive (key) {\n return key === this.activeFilter\n },\n selectOption (value) {\n this.$emit('change', 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/subscriptionCoffee_variables\n @import FiltersList\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/components/FiltersList/FiltersList.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{class:_vm.classes.select},_vm._l((_vm.options),function(option){return _c('li',{key:option.key,class:_vm.classes.option(option.key),on:{\"click\":function($event){return _vm.selectOption(option.key)}}},[_vm._v(_vm._s(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-6f435057\",\"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/FiltersList/FiltersList.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-6f435057\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"indentedSyntax\\\":true,\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"/Users/nnjathanpr/NESPRESSO/projects/subscription-coffee/src/assets/sass/_variables.sass\\\"}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./FiltersList.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!./FiltersList.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./FiltersList.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-6f435057\\\",\\\"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!./FiltersList.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/FiltersList/FiltersList.vue\n// module id = null\n// module chunks = ","import Vue from 'vue'\nexport const EventBus = new Vue()\n\n\n\n// WEBPACK FOOTER //\n// ./src/bus.js","<template>\r\n <div :class=\"['g_selectionFilters__options', {opened: isOpened}]\">\r\n <Paragraph v-if=\"!isSort\" size=\"S\" :content=\"$json.selection.config.filterConsumption\"/>\r\n <FiltersList :is-sort=\"isSort\"\r\n :options=\"options\"\r\n :active-filter=\"value\"\r\n @change=\"selectOption\"\r\n ></FiltersList>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport Paragraph from 'gvue/src/core/Paragraph'\r\n\r\nimport FiltersList from '../FiltersList/FiltersList'\r\n\r\nimport { EventBus } from '../../bus'\r\n\r\nexport default {\r\n name: 'SelectionFiltersOptions',\r\n components: {\r\n FiltersList,\r\n Paragraph\r\n },\r\n props: {\r\n value: { type: String },\r\n name: { type: String, required: true },\r\n isOpened: { type: Boolean, default: false },\r\n options: { type: Array, required: true }\r\n },\r\n computed: {\r\n isSort () {\r\n return this.name === 'sort'\r\n },\r\n tickImage () {\r\n return this.$landing.getImgUrl({ name: 'picto-tick', ext: 'svg' })\r\n }\r\n },\r\n methods: {\r\n isOptionActive (key) {\r\n return +key === this.selectedOption\r\n },\r\n selectOption (value) {\r\n EventBus.$emit(`updateSelection${this.isSort ? 'Sort' : 'Filter'}`, value)\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/subscriptionCoffee_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',{class:['g_selectionFilters__options', {opened: _vm.isOpened}]},[(!_vm.isSort)?_c('Paragraph',{attrs:{\"size\":\"S\",\"content\":_vm.$json.selection.config.filterConsumption}}):_vm._e(),_vm._v(\" \"),_c('FiltersList',{attrs:{\"is-sort\":_vm.isSort,\"options\":_vm.options,\"active-filter\":_vm.value},on:{\"change\":_vm.selectOption}})],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-7a735446\",\"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-7a735446\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"indentedSyntax\\\":true,\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"/Users/nnjathanpr/NESPRESSO/projects/subscription-coffee/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-7a735446\\\",\\\"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 {{ options.label }}\r\n </span>\r\n </Heading>\r\n <Cta fontIcon=\"fn_chevronDown\"\r\n type=\"button\"\r\n :content=\"placeholderLabel\"\r\n :class=\"['g_selectionFilters__toggle', {opened: isOpened}]\"\r\n @click=\"toggleOptions\"\r\n />\r\n <SelectionFiltersOptions :name=\"name\"\r\n :is-opened=\"isOpened\"\r\n :options=\"options.values\"\r\n :value=\"filterValue\"\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 SelectionFiltersOptions from 'components/SelectionFilters/SelectionFiltersOptions'\r\n\r\nexport default {\r\n name: 'SelectionFiltersPanel',\r\n components: {\r\n Cta,\r\n Heading,\r\n SelectionFiltersOptions\r\n },\r\n props: {\r\n isOpened: { type: Boolean, default: false },\r\n filterValue: { type: String },\r\n name: { type: String, required: true },\r\n options: { type: Object, required: true }\r\n },\r\n computed: {\r\n placeholderLabel () {\r\n return this.getPlaceholderLabel(this.filterValue)\r\n }\r\n },\r\n methods: {\r\n toggleOptions () {\r\n this.$emit('toggle')\r\n },\r\n getPlaceholderLabel (filterValue) {\r\n const option = this.options.values.find(option => option.key === filterValue)\r\n return option ? option.label : this.options.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/subscriptionCoffee_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.options.label)+\"\\n \")],1)]),_vm._v(\" \"),_c('Cta',{class:['g_selectionFilters__toggle', {opened: _vm.isOpened}],attrs:{\"fontIcon\":\"fn_chevronDown\",\"type\":\"button\",\"content\":_vm.placeholderLabel},on:{\"click\":_vm.toggleOptions}}),_vm._v(\" \"),_c('SelectionFiltersOptions',{attrs:{\"name\":_vm.name,\"is-opened\":_vm.isOpened,\"options\":_vm.options.values,\"value\":_vm.filterValue}})],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-07aff28c\",\"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-07aff28c\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"indentedSyntax\\\":true,\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"/Users/nnjathanpr/NESPRESSO/projects/subscription-coffee/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-07aff28c\\\",\\\"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>\r\n <div>\r\n <ul class=\"g_selectionFilters\">\r\n <SelectionFiltersPanel name=\"consumption\"\r\n :filter-value=\"activeFilter\"\r\n :is-opened=\"openedFilter\"\r\n :options=\"option\"\r\n @change=\"updateFilter\"\r\n @toggle=\"toggleFilter\"\r\n ></SelectionFiltersPanel>\r\n <SelectionFiltersPanel name=\"sort\"\r\n :filter-value=\"activeSort\"\r\n :is-opened=\"openedSorting\"\r\n :options=\"sort\"\r\n @change=\"updateSort\"\r\n @toggle=\"toggleSorting\"\r\n ></SelectionFiltersPanel>\r\n </ul>\r\n <Cta class=\"g_selectionReset\"\r\n type=\"button\"\r\n @click=\"resetFilters()\"\r\n >\r\n <Visual :svg=\"resetImage\"/> {{ reset }}\r\n </Cta>\r\n </div>\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\nimport SelectionFiltersPanel from 'components/SelectionFilters/SelectionFiltersPanel'\r\n\r\nimport { EventBus } from '../../bus'\r\n\r\nexport default {\r\n name: 'SelectionFilters',\r\n components: {\r\n Cta,\r\n SelectionFiltersPanel,\r\n Visual\r\n },\r\n props: {\r\n activeFilter: { type: String, required: true },\r\n activeSort: { type: String, required: true },\r\n option: { type: Object, required: true },\r\n sort: { type: Object, required: true }\r\n },\r\n data () {\r\n return {\r\n ...this.$json.selection.config,\r\n openedFilter: false,\r\n openedSorting: false\r\n }\r\n },\r\n computed: {\r\n resetImage () {\r\n return this.$landing.getImgUrl({ name: 'picto-reset', ext: 'svg' })\r\n }\r\n },\r\n created () {\r\n this.resetFilters()\r\n EventBus.$on('updateSelectionFilter', this.updateFilter)\r\n EventBus.$on('updateSelectionSort', this.updateSort)\r\n },\r\n methods: {\r\n resetFilters () {\r\n this.openedFilter = false\r\n this.openedSorting = false\r\n this.$emit('reset', true)\r\n },\r\n toggleFilter () {\r\n this.openedFilter = !this.openedFilter\r\n this.openedSorting = false\r\n this.$emit('toggle', this.openedFilter)\r\n },\r\n toggleSorting () {\r\n this.openedSorting = !this.openedSorting\r\n this.openedFilter = false\r\n this.$emit('toggle', this.openedSorting)\r\n },\r\n updateSort (sort) {\r\n this.$emit('sort', sort)\r\n this.toggleSorting()\r\n },\r\n updateFilter (value) {\r\n this.$emit('filter', value)\r\n this.toggleFilter()\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/subscriptionCoffee_variables\r\n @import SelectionFilters\r\n</style>\r\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('ul',{staticClass:\"g_selectionFilters\"},[_c('SelectionFiltersPanel',{attrs:{\"name\":\"consumption\",\"filter-value\":_vm.activeFilter,\"is-opened\":_vm.openedFilter,\"options\":_vm.option},on:{\"change\":_vm.updateFilter,\"toggle\":_vm.toggleFilter}}),_vm._v(\" \"),_c('SelectionFiltersPanel',{attrs:{\"name\":\"sort\",\"filter-value\":_vm.activeSort,\"is-opened\":_vm.openedSorting,\"options\":_vm.sort},on:{\"change\":_vm.updateSort,\"toggle\":_vm.toggleSorting}})],1),_vm._v(\" \"),_c('Cta',{staticClass:\"g_selectionReset\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.resetFilters()}}},[_c('Visual',{attrs:{\"svg\":_vm.resetImage}}),_vm._v(\" \"+_vm._s(_vm.reset)+\"\\n \")],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-7f0ce9db\",\"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-7f0ce9db\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"indentedSyntax\\\":true,\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"/Users/nnjathanpr/NESPRESSO/projects/subscription-coffee/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-7f0ce9db\\\",\\\"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 <div :class=\"['g_selectionPlan', {selected: selected}]\">\n <Paragraph v-if=\"popular\"\n class=\"g_selectionPlan__label\"\n size=\"M\"\n :content=\"config.popular\"\n />\n\n <div class=\"g_selectionPlan__visual\">\n <img v-if=\"plan.image\" :src=\"plan.image + imgParam\" :alt=\"plan.title\"/>\n <!-- <Visual :src=\"{ name: 'pack_preview', ext: 'png' }\" alt=\"\"/> -->\n </div>\n <Heading v-html=\"plan.title\"\n class=\"g_selectionPlan__title g_h4\"\n :level=\"4\"\n />\n <Paragraph class=\"g_selectionPlan__description\"\n size=\"S\"\n :content=\"plan.description\"\n />\n\n <div class=\"g_selectionPlan__offer\">\n <Heading class=\"g_selectionPlan__fee g_h5\"\n :level=\"5\"\n v-html=\"config.pay + '<span>' + formatPrice(plan.periodicFee) + '</span>' + config.feeRecurrence\"\n ></Heading>\n <Heading v-if=\"plan.extra\" class=\"g_selectionPlan__promo g_h5\"\n :level=\"5\"\n >{{ extraLabel }}</Heading>\n <Heading v-else class=\"g_selectionPlan__promo g_h5\"\n :level=\"5\"\n >{{ plan.extraFreeText }}</Heading>\n <Paragraph v-if=\"plan.extra\" class=\"g_selectionPlan__credit\"\n size=\"S\"\n :content=\"totalFee\"\n />\n </div>\n <Cta is-link\n class=\"g_selectionPlan__link\"\n fontIcon=\"fn_angleLink\"\n type=\"button\"\n :content=\"config.discover\"\n @click=\"discover(plan.id)\"\n ></Cta>\n <Cta is-btn\n type=\"button\"\n class=\"g_selectionPlan__button\"\n @click=\"addSubscription(plan.id)\"\n >\n <div class=\"active\">\n <span>{{ config.added }}</span><i class=\"fn_tick\"></i>\n </div>\n <div class=\"default\">\n <i class=\"fn_basket\"></i><span>{{ config.subscribe }}</span><i class=\"fn_addToCart\"></i>\n </div>\n </Cta>\n </div>\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'\n\nexport default {\n name: 'SelectionPlan',\n components: {\n Cta,\n Heading,\n Paragraph,\n Visual\n },\n props: {\n prefix: { type: String, default: '' },\n plan: { type: Object, required: true },\n selected: { type: Boolean, default: false },\n popular: { type: Boolean, default: false }\n },\n data () {\n return {\n config: this.$config,\n ...this.$json.selection,\n formatter: null,\n currency: null\n }\n },\n computed: {\n extraLabel () {\n return this.config.extra.replace('{{extraValue}}', `${this.plan.extra}%`)\n },\n totalFee () {\n const finalFee = this.plan.periodicFee + (this.plan.periodicFee * this.plan.extra) / 100\n return `${this.config.total} <strong>${this.formatPrice(finalFee)}${this.config.feeRecurrence}</strong>`\n },\n isSmall () {\n return this.$breakpoint.isS\n },\n imgParam () {\n let width = 200\n switch (this.$root.$breakpoint.name) {\n case 'XL':\n width = 400\n break\n case 'S':\n width = 400\n break\n default:\n }\n return `?impolicy=product&imwidth=${width}`\n }\n },\n async mounted () {\n this.formatter = await window.napi.priceFormat()\n this.currency = await window.napi.catalog().getPrices().then(data => data.currency)\n },\n methods: {\n formatPrice (value) {\n let price = value\n if (this.formatter) {\n price = this.formatter.short(\n this.currency,\n price\n )\n }\n return price\n },\n getName (planId) {\n return `${this.prefix}${planId}`\n },\n addSubscription (planId) {\n this.$emit('subscribe', planId)\n },\n discover (planId) {\n this.$emit('discover', planId)\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/subscriptionCoffee_variables\n @import SelectionPlan\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/components/SelectionPlan/SelectionPlan.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:['g_selectionPlan', {selected: _vm.selected}]},[(_vm.popular)?_c('Paragraph',{staticClass:\"g_selectionPlan__label\",attrs:{\"size\":\"M\",\"content\":_vm.config.popular}}):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"g_selectionPlan__visual\"},[(_vm.plan.image)?_c('img',{attrs:{\"src\":_vm.plan.image + _vm.imgParam,\"alt\":_vm.plan.title}}):_vm._e()]),_vm._v(\" \"),_c('Heading',{staticClass:\"g_selectionPlan__title g_h4\",attrs:{\"level\":4},domProps:{\"innerHTML\":_vm._s(_vm.plan.title)}}),_vm._v(\" \"),_c('Paragraph',{staticClass:\"g_selectionPlan__description\",attrs:{\"size\":\"S\",\"content\":_vm.plan.description}}),_vm._v(\" \"),_c('div',{staticClass:\"g_selectionPlan__offer\"},[_c('Heading',{staticClass:\"g_selectionPlan__fee g_h5\",attrs:{\"level\":5},domProps:{\"innerHTML\":_vm._s(_vm.config.pay + '<span>' + _vm.formatPrice(_vm.plan.periodicFee) + '</span>' + _vm.config.feeRecurrence)}}),_vm._v(\" \"),(_vm.plan.extra)?_c('Heading',{staticClass:\"g_selectionPlan__promo g_h5\",attrs:{\"level\":5}},[_vm._v(_vm._s(_vm.extraLabel))]):_c('Heading',{staticClass:\"g_selectionPlan__promo g_h5\",attrs:{\"level\":5}},[_vm._v(_vm._s(_vm.plan.extraFreeText))]),_vm._v(\" \"),(_vm.plan.extra)?_c('Paragraph',{staticClass:\"g_selectionPlan__credit\",attrs:{\"size\":\"S\",\"content\":_vm.totalFee}}):_vm._e()],1),_vm._v(\" \"),_c('Cta',{staticClass:\"g_selectionPlan__link\",attrs:{\"is-link\":\"\",\"fontIcon\":\"fn_angleLink\",\"type\":\"button\",\"content\":_vm.config.discover},on:{\"click\":function($event){return _vm.discover(_vm.plan.id)}}}),_vm._v(\" \"),_c('Cta',{staticClass:\"g_selectionPlan__button\",attrs:{\"is-btn\":\"\",\"type\":\"button\"},on:{\"click\":function($event){return _vm.addSubscription(_vm.plan.id)}}},[_c('div',{staticClass:\"active\"},[_c('span',[_vm._v(_vm._s(_vm.config.added))]),_c('i',{staticClass:\"fn_tick\"})]),_vm._v(\" \"),_c('div',{staticClass:\"default\"},[_c('i',{staticClass:\"fn_basket\"}),_c('span',[_vm._v(_vm._s(_vm.config.subscribe))]),_c('i',{staticClass:\"fn_addToCart\"})])])],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-0f74ad40\",\"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/SelectionPlan/SelectionPlan.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-0f74ad40\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"indentedSyntax\\\":true,\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"/Users/nnjathanpr/NESPRESSO/projects/subscription-coffee/src/assets/sass/_variables.sass\\\"}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./SelectionPlan.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!./SelectionPlan.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./SelectionPlan.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-0f74ad40\\\",\\\"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!./SelectionPlan.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/SelectionPlan/SelectionPlan.vue\n// module id = null\n// module chunks = ","const filterPlan = activeFilter => filter =>\n activeFilter === '' ? true : filter === +activeFilter\n\nexport const filterPlans = activeFilter => plan =>\n plan.filters.find(filterPlan(activeFilter))\n\nexport const filterSelectOptions = (options, plans) => {\n let plansFilters = mergePlansFilters(plans)\n let filteredOptions = options.filter(option => plansFilters.some(f => f === parseInt(option.key)))\n return filteredOptions\n}\n\nconst mergePlansFilters = plans => {\n let newArray = []\n for (const plan of plans) {\n newArray = [...newArray, ...plan.filters]\n }\n return Array.from(new Set(newArray))\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/helpers/helpers.js","<template>\n <Zone contrast=\"light\"\n ref=\"zone\"\n :class=\"['g_sectionSelection', {overlay: isFiltering}]\"\n >\n <Heading :class=\"titleClass\" :level=\"2\">{{ title }}</Heading>\n\n <template v-if=\"isSmall\">\n <Cta is-btn\n class=\"g_sectionSelection__filters\"\n type=\"button\"\n @click=\"openFiltersPopin\"\n >\n <Visual :svg=\"$landing.getImgUrl({ name: 'icon-levels', ext: 'svg', sync: true })\"/>\n {{ config.filter }}\n </Cta>\n <Popin v-model=\"popinFiltersOpened\"\n class=\"g_popinFilters\"\n close-label=\"\"\n :is-open=\"false\"\n >\n <div class=\"g_popinFilters__content\">\n <SelectionFilters :active-filter=\"activeFilter\"\n :active-sort=\"activeSort\"\n :option=\"filteredOption\"\n :sort=\"sort\"\n @filter=\"updateFilter\"\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=\"popinCta\"\n @click=\"goToResults\"\n />\n </div>\n </div>\n </Popin>\n </template>\n\n <template v-else>\n <SelectionFilters :active-filter=\"activeFilter\"\n :active-sort=\"activeSort\"\n :option=\"filteredOption\"\n :sort=\"sort\"\n @filter=\"updateFilter\"\n @sort=\"updateSort\"\n @toggle=\"setOverlay\"\n @reset=\"resetFilters\"\n />\n </template>\n\n <div class=\"swiper-container g_sectionSelection__list\"\n ref=\"swiper\"\n >\n <div class=\"swiper-wrapper\">\n <SelectionPlan class=\"swiper-slide\"\n v-for=\"plan in filteredPlans\"\n :key=\"plan.id\"\n :plan=\"plan\"\n :selected=\"selectedPlan === plan.id\"\n :popular=\"mostPopularPlan.id === plan.id\"\n @discover=\"onDiscover\"\n @subscribe=\"onSubscribe\"\n />\n </div>\n </div>\n <div class=\"swiper-button-prev\" ref=\"swiperPrev\"></div>\n <div class=\"swiper-button-next\" ref=\"swiperNext\"></div>\n <div v-if=\"showPagination\" class=\"swiper-pagination\" ref=\"swiperPagination\"></div>\n\n </Zone>\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 Visual from 'gvue/src/core/Visual'\nimport Zone from 'gvue/src/core/Zone'\nimport ZoneTracking from 'gvue/src/assets/js/mixins/ZoneTracking'\n\nimport SelectionFilters from 'components/SelectionFilters/SelectionFilters'\nimport SelectionPlan from 'components/SelectionPlan/SelectionPlan'\n\nimport { filterPlans, filterSelectOptions } from '../../helpers/helpers'\n\nexport default {\n name: 'SectionSelection',\n mixins: [ZoneTracking],\n components: {\n Cta,\n Heading,\n Popin,\n SelectionFilters,\n SelectionPlan,\n Zone,\n Visual\n },\n props: {\n plans: { type: Array, required: () => true },\n routeFilters: { type: Object, required: () => true },\n selectedPlan: { type: String, default: '' }\n },\n data () {\n return {\n ...this.$json.selection,\n isFiltering: false,\n activeFilter: '',\n activeSort: '',\n popinFiltersOpened: false,\n swiper: null\n }\n },\n computed: {\n filteredOption () {\n let filtered = Object.assign({}, this.option)\n filtered.values = filterSelectOptions(filtered.values, this.plans)\n return filtered\n },\n filteredPlans () {\n const filtersPlans = this.plans.filter(filterPlans(this.activeFilter))\n filtersPlans.sort(this.sortPlans(this.activeSort))\n return filtersPlans\n },\n filterButtonLabel () {\n // TODO: remplacer par la bonne clé de dico\n return 'Show filters'\n },\n isSmall () {\n return this.$breakpoint.isS\n },\n mostPopularPlan () {\n const plansClone = [...this.plans]\n plansClone.sort(this.sortPlans('popularity'))\n return plansClone.shift()\n },\n titleClass () {\n return this.isSmall ? 'g_h3' : 'g_h2'\n },\n showPagination () {\n return this.plans.length > 3\n }\n },\n created () {\n this.resetFilters()\n },\n mounted () {\n this.$nextTick(() => this.initSwiper())\n },\n methods: {\n initSwiper () {\n const { swiper, swiperNext, swiperPrev, swiperPagination } = this.$refs\n let options = {\n slidesPerView: 3,\n spaceBetween: 30,\n navigation: {\n nextEl: swiperNext,\n prevEl: swiperPrev\n },\n pagination: {\n el: swiperPagination,\n type: 'bullets',\n clickable: true\n },\n breakpoints: {\n 767: {\n slidesPerView: 1,\n spaceBetween: 20\n }\n }\n }\n this.swiper = new Swiper(swiper, options)\n },\n updateSwiper () {\n this.$nextTick(() => {\n if (this.swiper) {\n this.swiper.update()\n }\n })\n },\n\n sortPlans (activeSort) {\n return (a, b) => {\n if (activeSort === 'price') {\n return a.periodicFee - b.periodicFee\n }\n if (activeSort === 'popularity') {\n return b.popularity - a.popularity\n }\n }\n },\n openFiltersPopin () {\n this.popinFiltersOpened = true\n },\n updateFilter (filter) {\n this.activeFilter = filter\n this.updateSwiper()\n },\n updateSort (sort) {\n this.activeSort = sort\n this.updateSwiper()\n },\n resetFilters () {\n this.activeFilter = ''\n this.activeSort = 'price'\n this.setOverlay(false)\n this.updateSwiper()\n },\n setOverlay (state) {\n this.isFiltering = state\n },\n goToResults () {\n const { zone } = this.$refs\n window.scrollTo({\n top: zone.$el.getBoundingClientRect().top + window.pageYOffset,\n behavior: 'smooth'\n })\n this.isFiltering = false\n this.popinFiltersOpened = false\n },\n onSubscribe (planId) {\n this.$emit('subscribe', planId)\n },\n onDiscover (planId) {\n this.$emit('discover', planId)\n }\n }\n}\n</script>\n\n<style lang=\"sass\">\n @import \"../../../node_modules/swiper/dist/css/swiper.css\"\n @import ~nespresso-bi/utilities\n @import ~nespresso-bi/brand/variables\n @import ~assets/sass/subscriptionCoffee_variables\n @import SectionSelection\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/components/Section/SectionSelection.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Zone',{ref:\"zone\",class:['g_sectionSelection', {overlay: _vm.isFiltering}],attrs:{\"contrast\":\"light\"}},[_c('Heading',{class:_vm.titleClass,attrs:{\"level\":2}},[_vm._v(_vm._s(_vm.title))]),_vm._v(\" \"),(_vm.isSmall)?[_c('Cta',{staticClass:\"g_sectionSelection__filters\",attrs:{\"is-btn\":\"\",\"type\":\"button\"},on:{\"click\":_vm.openFiltersPopin}},[_c('Visual',{attrs:{\"svg\":_vm.$landing.getImgUrl({ name: 'icon-levels', ext: 'svg', sync: true })}}),_vm._v(\"\\n \"+_vm._s(_vm.config.filter)+\"\\n \")],1),_vm._v(\" \"),_c('Popin',{staticClass:\"g_popinFilters\",attrs:{\"close-label\":\"\",\"is-open\":false},model:{value:(_vm.popinFiltersOpened),callback:function ($$v) {_vm.popinFiltersOpened=$$v},expression:\"popinFiltersOpened\"}},[_c('div',{staticClass:\"g_popinFilters__content\"},[_c('SelectionFilters',{attrs:{\"active-filter\":_vm.activeFilter,\"active-sort\":_vm.activeSort,\"option\":_vm.filteredOption,\"sort\":_vm.sort},on:{\"filter\":_vm.updateFilter,\"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.popinCta},on:{\"click\":_vm.goToResults}})],1)],1)])]:[_c('SelectionFilters',{attrs:{\"active-filter\":_vm.activeFilter,\"active-sort\":_vm.activeSort,\"option\":_vm.filteredOption,\"sort\":_vm.sort},on:{\"filter\":_vm.updateFilter,\"sort\":_vm.updateSort,\"toggle\":_vm.setOverlay,\"reset\":_vm.resetFilters}})],_vm._v(\" \"),_c('div',{ref:\"swiper\",staticClass:\"swiper-container g_sectionSelection__list\"},[_c('div',{staticClass:\"swiper-wrapper\"},_vm._l((_vm.filteredPlans),function(plan){return _c('SelectionPlan',{key:plan.id,staticClass:\"swiper-slide\",attrs:{\"plan\":plan,\"selected\":_vm.selectedPlan === plan.id,\"popular\":_vm.mostPopularPlan.id === plan.id},on:{\"discover\":_vm.onDiscover,\"subscribe\":_vm.onSubscribe}})}),1)]),_vm._v(\" \"),_c('div',{ref:\"swiperPrev\",staticClass:\"swiper-button-prev\"}),_vm._v(\" \"),_c('div',{ref:\"swiperNext\",staticClass:\"swiper-button-next\"}),_vm._v(\" \"),(_vm.showPagination)?_c('div',{ref:\"swiperPagination\",staticClass:\"swiper-pagination\"}):_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-1a5d55a8\",\"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/Section/SectionSelection.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-1a5d55a8\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"indentedSyntax\\\":true,\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"/Users/nnjathanpr/NESPRESSO/projects/subscription-coffee/src/assets/sass/_variables.sass\\\"}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./SectionSelection.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!./SectionSelection.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./SectionSelection.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-1a5d55a8\\\",\\\"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!./SectionSelection.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/Section/SectionSelection.vue\n// module id = null\n// module chunks = ","<template>\r\n <Popin class=\"g_popinTestimonials\"\r\n close-label=\"close\"\r\n v-model=\"value\"\r\n :is-open=\"false\"\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 <Cta is-btn\r\n class=\"g_popinTestimonials__button\"\r\n type=\"button\"\r\n :content=\"cta\"\r\n @click=\"onClick\"\r\n />\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 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 computed: {\r\n isSmall () {\r\n return this.$breakpoint.isS\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 (!this.swiper) {\r\n this.initSwiper()\r\n }\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 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 methods: {\r\n onClick () {\r\n this.$emit('click')\r\n },\r\n initSwiper () {\r\n this.$nextTick(() => {\r\n const { swiper } = this.$refs\r\n let options = {\r\n slidesPerView: 3,\r\n spaceBetween: 20,\r\n simulateTouch: false\r\n }\r\n if (this.isSmall) {\r\n options = {\r\n ...options,\r\n slidesPerView: 1,\r\n spaceBetween: 0\r\n }\r\n }\r\n this.swiper = new Swiper(swiper, options)\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/subscriptionCoffee_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\",\"is-open\":false},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}},[_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('Cta',{staticClass:\"g_popinTestimonials__button\",attrs:{\"is-btn\":\"\",\"type\":\"button\",\"content\":_vm.cta},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-7d140d5c\",\"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-7d140d5c\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"indentedSyntax\\\":true,\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"/Users/nnjathanpr/NESPRESSO/projects/subscription-coffee/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-7d140d5c\\\",\\\"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 = ","<template>\n <Zone class=\"g_sectionTestimonials\"\n :background-image=\"backgroundImage\"\n :data-label=\"dataLabel\"\n :id=\"id\"\n >\n <Grid class=\"g_sectionTestimonials__content\"\n row=\"\"\n type=\"div\"\n >\n <GridItem class=\"g_sectionTestimonials__cover\">\n <Visual class=\"g_sectionTestimonials__visual\"\n :src=\"{ name: image, sync: true}\"\n />\n </GridItem>\n <GridItem class=\"g_sectionTestimonials__caption\">\n <Heading :level=\"2\" v-html=\"title\"/>\n <Cta is-btn\n class=\"g_btnWhite\"\n type=\"button\"\n :content=\"cta\"\n @click=\"openPopin\"\n />\n </GridItem>\n </Grid>\n\n <PopinTestimonials v-model=\"popinOpened\"\n @click=\"onClick\"\n />\n\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 PopinTestimonials from '../PopinTestimonials/PopinTestimonials'\nimport Tracking from 'nespresso-library/src/core/tracking'\nimport ZoneTracking from 'gvue/src/assets/js/mixins/ZoneTracking'\n\nexport default {\n name: 'SectionTestimonials',\n mixins: [ZoneTracking],\n components: {\n Cta,\n Heading,\n Paragraph,\n Visual,\n Zone,\n Grid,\n GridItem,\n PopinTestimonials\n },\n data () {\n return {\n ...this.$json.testimonials,\n popinOpened: false\n }\n },\n computed: {\n backgroundImage () {\n return { folder: 'backgrounds', name: 'testimonials' }\n }\n },\n methods: {\n openPopin () {\n this.popinOpened = 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 onClick () {\n this.popinOpened = false\n this.$emit('click')\n }\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/subscriptionCoffee_variables\n @import SectionTestimonials\n</style>\n\n\n\n// WEBPACK FOOTER //\n// src/components/Section/SectionTestimonials.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Zone',{staticClass:\"g_sectionTestimonials\",attrs:{\"background-image\":_vm.backgroundImage,\"data-label\":_vm.dataLabel,\"id\":_vm.id}},[_c('Grid',{staticClass:\"g_sectionTestimonials__content\",attrs:{\"row\":\"\",\"type\":\"div\"}},[_c('GridItem',{staticClass:\"g_sectionTestimonials__cover\"},[_c('Visual',{staticClass:\"g_sectionTestimonials__visual\",attrs:{\"src\":{ name: _vm.image, sync: true}}})],1),_vm._v(\" \"),_c('GridItem',{staticClass:\"g_sectionTestimonials__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.openPopin}})],1)],1),_vm._v(\" \"),_c('PopinTestimonials',{on:{\"click\":_vm.onClick},model:{value:(_vm.popinOpened),callback:function ($$v) {_vm.popinOpened=$$v},expression:\"popinOpened\"}})],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-523f41cd\",\"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/Section/SectionTestimonials.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-523f41cd\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"indentedSyntax\\\":true,\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"/Users/nnjathanpr/NESPRESSO/projects/subscription-coffee/src/assets/sass/_variables.sass\\\"}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./SectionTestimonials.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!./SectionTestimonials.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./SectionTestimonials.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-523f41cd\\\",\\\"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!./SectionTestimonials.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/Section/SectionTestimonials.vue\n// module id = null\n// module chunks = ","<template>\r\n <Popin v-model=\"popinOpened\"\r\n class=\"g_popinDiscover\"\r\n close-label=\"close\"\r\n :is-open=\"false\"\r\n >\r\n <SelectionPlan class=\"g_popinDiscover__plan\"\r\n :plan=\"plan\"\r\n @subscribe=\"onSubscribe\"\r\n />\r\n <div class=\"g_popinDiscover__legend\">\r\n <Heading class=\"g_popinDiscover__title g_h2\"\r\n :level=\"2\"\r\n >{{ dico.title }}</Heading>\r\n <ol class=\"g_popinDiscover__bullets\">\r\n <li v-for=\"(bullet, index) in dico.bullets\"\r\n class=\"g_popinDiscover__bullet\"\r\n :key=\"index\"\r\n >\r\n <Paragraph size=\"S\"\r\n :content=\"bullet\"\r\n />\r\n </li>\r\n </ol>\r\n </div>\r\n </Popin>\r\n</template>\r\n\r\n<script>\r\nimport Heading from 'gvue/src/core/Heading'\r\nimport Paragraph from 'gvue/src/core/Paragraph'\r\nimport Popin from 'gvue/src/core/Popin'\r\nimport SelectionPlan from 'components/SelectionPlan/SelectionPlan'\r\n\r\nexport default {\r\n name: 'PopinDiscover',\r\n components: {\r\n Heading,\r\n Paragraph,\r\n Popin,\r\n SelectionPlan\r\n },\r\n props: {\r\n plan: { type: Object, required: true },\r\n value: { type: Boolean, default: false }\r\n },\r\n data () {\r\n return {\r\n dico: {...this.$json.popinDiscover},\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 onSubscribe (planId) {\r\n this.popinOpened = false\r\n this.$emit('subscribe', planId)\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/subscriptionCoffee_variables\r\n @import PopinDiscover\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/components/PopinDiscover/PopinDiscover.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Popin',{staticClass:\"g_popinDiscover\",attrs:{\"close-label\":\"close\",\"is-open\":false},model:{value:(_vm.popinOpened),callback:function ($$v) {_vm.popinOpened=$$v},expression:\"popinOpened\"}},[_c('SelectionPlan',{staticClass:\"g_popinDiscover__plan\",attrs:{\"plan\":_vm.plan},on:{\"subscribe\":_vm.onSubscribe}}),_vm._v(\" \"),_c('div',{staticClass:\"g_popinDiscover__legend\"},[_c('Heading',{staticClass:\"g_popinDiscover__title g_h2\",attrs:{\"level\":2}},[_vm._v(_vm._s(_vm.dico.title))]),_vm._v(\" \"),_c('ol',{staticClass:\"g_popinDiscover__bullets\"},_vm._l((_vm.dico.bullets),function(bullet,index){return _c('li',{key:index,staticClass:\"g_popinDiscover__bullet\"},[_c('Paragraph',{attrs:{\"size\":\"S\",\"content\":bullet}})],1)}),0)],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-3ef40462\",\"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/PopinDiscover/PopinDiscover.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-3ef40462\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"indentedSyntax\\\":true,\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"/Users/nnjathanpr/NESPRESSO/projects/subscription-coffee/src/assets/sass/_variables.sass\\\"}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./PopinDiscover.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!./PopinDiscover.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./PopinDiscover.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-3ef40462\\\",\\\"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!./PopinDiscover.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/PopinDiscover/PopinDiscover.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-coffee/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_subscriptionCoffeeVisual\"\n v-if=\"plan.image\"\n >\n <img height=\"100%\" :src=\"plan.image + imgParam\" :alt=\"plan.title\"/>\n </div>\n <Paragraph size=\"M\" :content=\"text\"/>\n <div class=\"g_popinGuide__ctas\">\n <Cta class=\"g_btnGhost\"\n is-btn\n type=\"button\"\n :content=\"config.shopping\"\n :link=\"this.$json.config.shoppingLink ? this.$json.config.shoppingLink : '/'\"\n />\n <Cta class=\"g_btnSubscription\"\n is-btn\n type=\"button\"\n :content=\"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 plan: { type: Object, required: () => true }\n },\n data () {\n return {\n config: this.$json.config\n }\n },\n computed: {\n imgParam () {\n let width = 200\n switch (this.$root.$breakpoint.name) {\n case 'XL':\n width = 400\n break\n case 'S':\n width = 400\n break\n default:\n }\n return `?impolicy=product&imwidth=${width}`\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/subscriptionCoffee_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(\" \"),(_vm.plan.image)?_c('div',{staticClass:\"g_subscriptionCoffeeVisual\"},[_c('img',{attrs:{\"height\":\"100%\",\"src\":_vm.plan.image + _vm.imgParam,\"alt\":_vm.plan.title}})]):_vm._e(),_vm._v(\" \"),_c('Paragraph',{attrs:{\"size\":\"M\",\"content\":_vm.text}}),_vm._v(\" \"),_c('div',{staticClass:\"g_popinGuide__ctas\"},[_c('Cta',{staticClass:\"g_btnGhost\",attrs:{\"is-btn\":\"\",\"type\":\"button\",\"content\":_vm.config.shopping,\"link\":this.$json.config.shoppingLink ? this.$json.config.shoppingLink : '/'}}),_vm._v(\" \"),_c('Cta',{staticClass:\"g_btnSubscription\",attrs:{\"is-btn\":\"\",\"type\":\"button\",\"content\":_vm.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-416b1b36\",\"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-416b1b36\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"indentedSyntax\\\":true,\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"/Users/nnjathanpr/NESPRESSO/projects/subscription-coffee/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-416b1b36\\\",\\\"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 v-html=\"texts.title\"\r\n :level=\"3\"\r\n />\r\n <Paragraph class=\"g_popinGuide__subtitle\"\r\n size=\"L\"\r\n :content=\"texts.question\"\r\n />\r\n <FiltersList :options=\"options\"\r\n :active-filter=\"selectedOption\"\r\n @change=\"selectOption\"\r\n ></FiltersList>\r\n <Paragraph size=\"L\" :content=\"texts.result\"/>\r\n <span class=\"g_popinGuide__count\">{{ capsEstimate }}</span>\r\n <Heading :level=\"4\" v-html=\"this.$json.config.capsules\" fake/>\r\n <Cta class=\"g_popinGuide__button\"\r\n is-btn\r\n type=\"button\"\r\n :content=\"texts.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\nimport FiltersList from '../FiltersList/FiltersList'\r\n\r\nimport { EventBus } from '../../bus'\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 FiltersList,\r\n Heading,\r\n Paragraph\r\n },\r\n props: {\r\n texts: { type: Object, required: () => true },\r\n options: { type: Array, required: () => true },\r\n selectedOption: { type: String, required: () => true }\r\n },\r\n computed: {\r\n capsEstimate () {\r\n return Math.round(AVERAGE_DAYS_IN_MONTH * this.selectedOption)\r\n }\r\n },\r\n methods: {\r\n isOptionActive (key) {\r\n return +key === this.selectedOption\r\n },\r\n selectOption (value) {\r\n EventBus.$emit('updatePopinFilter', 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/subscriptionCoffee_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.texts.title)}}),_vm._v(\" \"),_c('Paragraph',{staticClass:\"g_popinGuide__subtitle\",attrs:{\"size\":\"L\",\"content\":_vm.texts.question}}),_vm._v(\" \"),_c('FiltersList',{attrs:{\"options\":_vm.options,\"active-filter\":_vm.selectedOption},on:{\"change\":_vm.selectOption}}),_vm._v(\" \"),_c('Paragraph',{attrs:{\"size\":\"L\",\"content\":_vm.texts.result}}),_vm._v(\" \"),_c('span',{staticClass:\"g_popinGuide__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_popinGuide__button\",attrs:{\"is-btn\":\"\",\"type\":\"button\",\"content\":_vm.texts.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-00273e5c\",\"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-00273e5c\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"indentedSyntax\\\":true,\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"/Users/nnjathanpr/NESPRESSO/projects/subscription-coffee/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-00273e5c\\\",\\\"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>\r\n <div>\r\n <Heading v-html=\"title\"\r\n :level=\"3\"\r\n />\r\n <SelectionPlan prefix=\"guide\"\r\n v-if=\"plan\"\r\n :plan=\"plan\"\r\n @subscribe=\"onSubscribe\"\r\n />\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport Heading from 'gvue/src/core/Heading/Heading'\r\nimport SelectionPlan from 'components/SelectionPlan/SelectionPlan'\r\n\r\nexport default {\r\n name: 'PopinGuideStepReco',\r\n components: {\r\n Heading,\r\n SelectionPlan\r\n },\r\n props: {\r\n title: { type: String, required: () => true },\r\n plan: { type: Object, required: () => true }\r\n },\r\n methods: {\r\n onSubscribe (planId) {\r\n this.$emit('subscribe', planId)\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/subscriptionCoffee_variables\r\n @import PopinGuide\r\n</style>\r\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.plan)?_c('SelectionPlan',{attrs:{\"prefix\":\"guide\",\"plan\":_vm.plan},on:{\"subscribe\":_vm.onSubscribe}}):_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-0cd89cfb\",\"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-0cd89cfb\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"indentedSyntax\\\":true,\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"/Users/nnjathanpr/NESPRESSO/projects/subscription-coffee/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-0cd89cfb\\\",\\\"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>\r\n <Popin class=\"g_popinGuide\"\r\n close-label=\"close\"\r\n ref=\"popin\"\r\n v-model=\"popinOpened\"\r\n :is-open=\"false\"\r\n @change=\"resizePopin\"\r\n >\r\n <div class=\"g_popinGuide__content\">\r\n <div class=\"g_popinGuide__scroll\" ref=\"scroll\">\r\n <transition name=\"popin-slide\">\r\n <PopinGuideStepEstimate v-if=\"displayEstimate\"\r\n :texts=\"dico.estimation\"\r\n :options=\"options\"\r\n :selectedOption=\"selectedOption\"\r\n @next=\"seeRecommendation\"\r\n ></PopinGuideStepEstimate>\r\n <PopinGuideStepReco v-if=\"displayReco\"\r\n :title=\"dico.recommendation.title\"\r\n :plan=\"selectedPlan\"\r\n @subscribe=\"addSubscription\"\r\n ></PopinGuideStepReco>\r\n <PopinGuideStepConfirm v-if=\"displayConfirm\"\r\n :title=\"summaryTitle\"\r\n :text=\"dico.summary.text\"\r\n :plan=\"selectedPlan\"\r\n >\r\n </PopinGuideStepConfirm>\r\n </transition>\r\n </div>\r\n </div>\r\n </Popin>\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\nimport Popin from 'gvue/src/core/Popin'\r\nimport NaturalScroll from 'gvue/src/core/Popin/Scrolls/NaturalScroll'\r\n\r\nimport SelectionPlan from 'components/SelectionPlan/SelectionPlan'\r\nimport PopinGuideStepConfirm from './PopinGuideStepConfirm'\r\nimport PopinGuideStepEstimate from './PopinGuideStepEstimate'\r\nimport PopinGuideStepReco from './PopinGuideStepReco'\r\n\r\nimport { EventBus } from '../../bus'\r\nimport { filterPlans } from '../../helpers/helpers'\r\n\r\nexport default {\r\n name: 'PopinGuide',\r\n components: {\r\n Cta,\r\n Heading,\r\n NaturalScroll,\r\n Paragraph,\r\n Popin,\r\n PopinGuideStepConfirm,\r\n PopinGuideStepEstimate,\r\n PopinGuideStepReco,\r\n SelectionPlan\r\n },\r\n props: {\r\n plans: { type: Array, required: () => true },\r\n value: { type: Boolean, default: false }\r\n },\r\n data () {\r\n return {\r\n dico: {...this.$json.popinGuide},\r\n options: this.$json.selection.option.values,\r\n popinOpened: this.value,\r\n step: 1,\r\n selectedOption: '1'\r\n }\r\n },\r\n computed: {\r\n displayEstimate () {\r\n return this.step === 1\r\n },\r\n displayReco () {\r\n return this.step === 2\r\n },\r\n displayConfirm () {\r\n return this.step === 3\r\n },\r\n selectedPlan () {\r\n return this.plans.filter(filterPlans(this.selectedOption)).shift()\r\n },\r\n summaryTitle () {\r\n return this.dico.summary.title.replace('{{plan}}', `<span>${this.selectedPlan.title}</span>`)\r\n }\r\n },\r\n watch: {\r\n value (state) {\r\n if (!state) {\r\n setTimeout(() => this.resetPopin(), 1000)\r\n }\r\n this.popinOpened = state\r\n },\r\n popinOpened (state) {\r\n this.$emit('input', state)\r\n }\r\n },\r\n created () {\r\n EventBus.$on('updatePopinFilter', this.selectOption)\r\n },\r\n methods: {\r\n resizePopin () {\r\n setTimeout(() => {\r\n const { popin, scroll } = this.$refs\r\n const PADDING = 114\r\n if (scroll) {\r\n popin.$el.querySelector('.g_popinRestrict').style.height = `${scroll.children[0].offsetHeight + PADDING}px`\r\n }\r\n }, 350)\r\n },\r\n selectOption (value) {\r\n this.selectedOption = value\r\n },\r\n resetPopin () {\r\n this.step = 1\r\n this.selectOption('1')\r\n },\r\n seeRecommendation () {\r\n this.step = 2\r\n this.resizePopin()\r\n },\r\n addSubscription (planId) {\r\n this.step = 3\r\n this.resizePopin()\r\n this.$emit('subscribe', planId)\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/subscriptionCoffee_variables\r\n @import PopinGuide\r\n</style>\r\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_popinGuide\",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_popinGuide__content\"},[_c('div',{ref:\"scroll\",staticClass:\"g_popinGuide__scroll\"},[_c('transition',{attrs:{\"name\":\"popin-slide\"}},[(_vm.displayEstimate)?_c('PopinGuideStepEstimate',{attrs:{\"texts\":_vm.dico.estimation,\"options\":_vm.options,\"selectedOption\":_vm.selectedOption},on:{\"next\":_vm.seeRecommendation}}):_vm._e(),_vm._v(\" \"),(_vm.displayReco)?_c('PopinGuideStepReco',{attrs:{\"title\":_vm.dico.recommendation.title,\"plan\":_vm.selectedPlan},on:{\"subscribe\":_vm.addSubscription}}):_vm._e(),_vm._v(\" \"),(_vm.displayConfirm)?_c('PopinGuideStepConfirm',{attrs:{\"title\":_vm.summaryTitle,\"text\":_vm.dico.summary.text,\"plan\":_vm.selectedPlan}}):_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-eeccd9ee\",\"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-eeccd9ee\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"indentedSyntax\\\":true,\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"/Users/nnjathanpr/NESPRESSO/projects/subscription-coffee/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-eeccd9ee\\\",\\\"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 = ","<style lang=\"sass\">\n @import ~assets/sass/common\n @import ~assets/sass/_main\n @import ~assets/sass/subscriptionCoffee_variables\n @import ~assets/sass/subscriptionCoffee\n</style>\n\n<template>\n <div class=\"g g_subscriptionCoffee\">\n <SectionHero @popin=\"openPopinGuide\"/>\n <SectionSelection v-if=\"showSelectionSection\"\n ref=\"subscription\"\n :plans=\"plans\"\n :route-filters=\"selectionFilters\"\n :selected-plan=\"selectedPlan\"\n @subscribe=\"addSubscription\"\n @discover=\"openPopinDiscover\"\n />\n <SectionBullets id=\"howto\" />\n <SectionHelp @popin=\"openPopinGuide\"/>\n <SectionFaq />\n <SectionTestimonials v-if=\"showTestimonialsSection\"\n @click=\"openPopinGuide\"\n />\n\n <PopinGuide v-model=\"popinGuideOpened\"\n :plans=\"plans\"\n @subscribe=\"addSubscription\"\n />\n <PopinDiscover v-if=\"discoveredPlan\"\n v-model=\"popinDiscoverOpened\"\n :plan=\"discoveredPlan\"\n @subscribe=\"addSubscription\"\n />\n\n </div>\n</template>\n\n<script>\nimport SectionBullets from './Section/SectionBullets'\nimport SectionFaq from './Section/SectionFaq'\nimport SectionHelp from './Section/SectionHelp'\nimport SectionHero from './Section/SectionHero'\nimport SectionSelection from './Section/SectionSelection'\nimport SectionTestimonials from './Section/SectionTestimonials'\n\nimport PopinDiscover from './PopinDiscover/PopinDiscover'\nimport PopinGuide from './PopinGuide/PopinGuide'\n// import dataLayer from 'nespresso-library/src/core/dataLayer'\nimport Nespresso from 'nespresso-library/src/core/api'\n\nconst nespresso = new Nespresso()\n\nexport default {\n name: 'SubscriptionCoffeeView',\n components: {\n PopinDiscover,\n PopinGuide,\n SectionHero,\n SectionFaq,\n SectionHelp,\n SectionBullets,\n SectionSelection,\n SectionTestimonials\n },\n data () {\n return {\n plans: [],\n selectionFilters: {},\n selectedPlan: '',\n discoveredPlan: null,\n popinGuideOpened: false,\n popinDiscoverOpened: false,\n subscriptionInCart: false\n }\n },\n computed: {\n showSelectionSection () {\n return this.plans.length !== 0\n },\n showTestimonialsSection () {\n return !this.$json.testimonials.hide\n }\n },\n async created () {\n const apiPlans = await this.fetchSubscriptionsPlansFromApi()\n this.plans = this.initSelectionPlans(apiPlans)\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 },\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 this.selectedPlan = ''\n }\n }\n },\n readCart () {\n nespresso\n .readCart()\n .then(products => {\n for (const product of products) {\n if (product.productId.indexOf('/SUB') > -1) {\n const filtered = this.plans.filter(p => p.periodicFee === product.unitPrice)\n if (filtered && filtered.length) {\n this.selectedPlan = filtered[0].id\n }\n break\n }\n }\n })\n },\n async fetchSubscriptionsPlansFromApi () {\n const api = window.napi.market()\n try {\n const marketApiData = await api.read()\n let subs = typeof api.getSubscriptions === 'function'\n ? await api.getSubscriptions()\n : marketApiData.subscriptionConfig\n return subs.subscriptionProfiles\n } catch (error) {\n console.error('Error while fetching subscriptions', error)\n }\n },\n async addSubscription (planId) {\n this.selectedPlan = planId\n try {\n this.subscriptionInCart = !this.subscriptionInCart\n ? await window.CartManager.addSubscription(this.selectedPlan)\n : await window.CartManager.updateSubscription(this.selectedPlan)\n\n this.productClick(this.selectedPlan)\n } catch (error) {\n console.error('Error while adding/updating subscription', error)\n }\n },\n productClick (product) {\n console.log('---', product)\n // const currentPlan = this.plans.filter(plan => { return product === plan.id })[0]\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': 'accessory',\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': '', // ie: \"Original|||Pro|||Vertuo\"\n // 'dimension59': 'true',\n // 'dimension57': 'single', // \"single\" or \"bundle\"\n // 'dimension165': 'Coffee',\n // 'dimension166': `${currentPlan.firstFee}_${currentPlan.periodicFee}`,\n // 'id': '70000',\n // 'metric10': 0, // Quantity of capsules added to the cart\n // 'metric11': 0, // Quantity of machines added to the cart\n // 'metric12': 1, // 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 emptySubscriptionCoffee () {\n window.CartManager.removeItem(this.selectedPlan)\n },\n openPopinGuide () {\n this.popinGuideOpened = true\n },\n openPopinDiscover (planId) {\n this.discoveredPlan = this.plans.filter(plan => plan.id === planId).pop()\n this.popinDiscoverOpened = true\n },\n watchRoute (to) {\n this.selectionFilters = to.query\n },\n initSelectionPlans (apiPlans) {\n return apiPlans.reduce(\n this.mergeProfileInPlans.bind(this), []\n )\n },\n mergeProfileInPlans (plans, plan) {\n const { profiles } = this.$json\n const matchingProfile = this.findPlanInProfiles(plan.id, profiles)\n if (matchingProfile) {\n plans.push({ ...plan, ...matchingProfile })\n }\n return plans\n },\n findPlanInProfiles (planId, profiles) {\n return profiles.find(profile => profile.id === planId)\n }\n }\n}\n</script>\n\n\n\n// WEBPACK FOOTER //\n// src/components/SubscriptionCoffeeView.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"g g_subscriptionCoffee\"},[_c('SectionHero',{on:{\"popin\":_vm.openPopinGuide}}),_vm._v(\" \"),(_vm.showSelectionSection)?_c('SectionSelection',{ref:\"subscription\",attrs:{\"plans\":_vm.plans,\"route-filters\":_vm.selectionFilters,\"selected-plan\":_vm.selectedPlan},on:{\"subscribe\":_vm.addSubscription,\"discover\":_vm.openPopinDiscover}}):_vm._e(),_vm._v(\" \"),_c('SectionBullets',{attrs:{\"id\":\"howto\"}}),_vm._v(\" \"),_c('SectionHelp',{on:{\"popin\":_vm.openPopinGuide}}),_vm._v(\" \"),_c('SectionFaq'),_vm._v(\" \"),(_vm.showTestimonialsSection)?_c('SectionTestimonials',{on:{\"click\":_vm.openPopinGuide}}):_vm._e(),_vm._v(\" \"),_c('PopinGuide',{attrs:{\"plans\":_vm.plans},on:{\"subscribe\":_vm.addSubscription},model:{value:(_vm.popinGuideOpened),callback:function ($$v) {_vm.popinGuideOpened=$$v},expression:\"popinGuideOpened\"}}),_vm._v(\" \"),(_vm.discoveredPlan)?_c('PopinDiscover',{attrs:{\"plan\":_vm.discoveredPlan},on:{\"subscribe\":_vm.addSubscription},model:{value:(_vm.popinDiscoverOpened),callback:function ($$v) {_vm.popinDiscoverOpened=$$v},expression:\"popinDiscoverOpened\"}}):_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-51f1bf70\",\"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/SubscriptionCoffeeView.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-51f1bf70\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!sass-loader?{\\\"indentedSyntax\\\":true,\\\"sourceMap\\\":true}!sass-resources-loader?{\\\"resources\\\":\\\"/Users/nnjathanpr/NESPRESSO/projects/subscription-coffee/src/assets/sass/_variables.sass\\\"}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./SubscriptionCoffeeView.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!./SubscriptionCoffeeView.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./SubscriptionCoffeeView.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-51f1bf70\\\",\\\"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!./SubscriptionCoffeeView.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/SubscriptionCoffeeView.vue\n// module id = null\n// module chunks = ","import Vue from 'vue'\nimport Router from 'vue-router'\n\nimport SubscriptionCoffeeView from '@/components/SubscriptionCoffeeView'\n\nVue.use(Router)\n\nexport default new Router({\n mode: 'hash',\n routes: [\n {\n path: '/',\n name: 'service',\n component: SubscriptionCoffeeView\n },\n {\n path: '/machines',\n name: 'machines',\n component: SubscriptionCoffeeView\n }\n ]\n})\n\n\n\n// WEBPACK FOOTER //\n// ./src/router/router.js","<template>\r\n <router-view v-if=\"$json\"></router-view>\r\n</template>\r\n\r\n<script>\r\nimport SubscriptionCoffeeView from './components/SubscriptionCoffeeView'\r\n\r\nexport default {\r\n name: 'app',\r\n components: {\r\n SubscriptionCoffeeView\r\n }\r\n}\r\n</script>\r\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('router-view'):_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-1882228c\",\"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 = ","var 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-1882228c\\\",\\\"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__ = 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// ./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// 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: 'subscriptionCoffee',\n landing: 'subscriptionCoffee',\n projectPath: 'subscriptionCoffee',\n trackingLabelPrefix: 'Subscription',\n skipMutationKeys: [\n 'standard',\n 'image'\n ],\n sectionTrackingLabels: {\n hero: 'Hero',\n video: 'Video',\n howto: 'How does it work?',\n selection: 'Coffees',\n faq: 'FAQ',\n help: 'Help me choose',\n testimonials: 'Testimonials'\n }\n})\nTracking.globalTracking('Subscription Coffee')\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-coffee/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 = ","<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-coffee/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-coffee/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":""}