{"version":3,"sources":["webpack:///./src/modules/PortraitCarouselModule/PortraitCarouselModule.vue?8a5f","webpack:///./src/modules/PortraitCarouselModule/PortraitCarouselModule.ts?336c","webpack:///./src/modules/PortraitCarouselModule/PortraitCarouselModule.ts","webpack:///./src/modules/PortraitCarouselModule/PortraitCarouselModule.vue","webpack:///./src/common/interfaces/CtaLinkItem.ts","webpack:///./src/components/CtaButton/CtaButton.vue?e691","webpack:///./src/components/CtaButton/CtaButton.ts?4ae3","webpack:///./src/components/CtaButton/CtaButton.ts","webpack:///./src/components/CtaButton/CtaButton.vue","webpack:///./src/assets/icons/arrow-long.svg","webpack:///./src/components/CarouselPagination/CarouselPagination.vue?52c4","webpack:///./src/components/CarouselPagination/CarouselPagination.ts?8791","webpack:///./src/components/CarouselPagination/CarouselPagination.ts","webpack:///./src/components/CarouselPagination/CarouselPagination.vue","webpack:///./src/components/CarouselArrow/CarouselArrow.vue?d3dc","webpack:///./src/components/CarouselArrow/CarouselArrow.ts?aa93","webpack:///./src/components/CarouselArrow/CarouselArrow.ts","webpack:///./src/components/CarouselArrow/CarouselArrow.vue","webpack:///./src/assets/icons/ArrowNextLong.svg","webpack:///./src/assets/icons/play-round.svg"],"names":["interactionCount","realIndex","activeIndex","windowWidth","this","uuid","slidesPerView","spaceBetween","centeredSlides","loop","p","Items","length","speed","observeParents","observer","breakpoints","sm","lg","on","transitionStart","onModuleInteraction","SegmentElement","sendEvent","component_name","module_type_id","$attrs","module_type_name","type","interaction_type","position","filter","item","Ship","data","tabletMobile","Boolean","mobile","created","mounted","swiper","window","addEventListener","handleResizeEvent","destroyed","removeEventListener","newWidth","document","documentElement","clientWidth","PortraitCarouselModule","components","ArrowLong","ArrowShort","Cross","ArticleCardComponent","PlayButton","CarouselPagination","CarouselArrow","CtaButton","props","Title","CtaLink","Link","StandFirst","ArticleLink","Image","Url","Alt","Date","Type","ContentType","Read","Minutes","Category","ContentCategory","WildLife","CategoryLink","IsRightToLeft","SwiperMixin","component","_vm","_h","$createElement","_c","_self","staticClass","class","IfShips","getBreakpoints","md","_v","_s","_e","attrs","ref","swiperOption","_l","slide","index","key","directives","name","rawName","arg","value","expression","CtaButtonStyle","getButtonClass","ButtonStyle","Primary","Secondary","Tertiary","White","Black","Ghost","PrimaryDarkBlack","None","Action","prefix","state","Meta","BookingUrl","customClasses","buttonStyleClass","isPhone","removeClasses","link","endsWith","onLinkClick","e","includes","URL","pathname","location","preventDefault","$emit","split","CtaButtonComponent","Phone","extend","Object","disabled","startsWith","buttonClass","replace","_t","Target","downloadTitle","$event","module","exports","functional","render","children","classNames","style","staticStyle","rest","assign","concat","setColorFromProps","color","String","default","controlId","paginationClass","controlsWrapper","shouldAnimate","setClassesFromProps","direction","weight","setStyleFromProps","width","maxWidth","navigationId"],"mappings":"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","file":"74.87471503a9e6545ecd0e.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.p.Items.length)?_c('section',{staticClass:\"module portrait-carousel module--mb\",class:[\n { 'portrait-carousel--right-to-left': _vm.p.IsRightToLeft },\n { 'portrait-carousel--ships': _vm.IfShips } ]},[_c('div',{staticClass:\"portrait-carousel__wrapper noselect\"},[(_vm.windowWidth < _vm.getBreakpoints.md)?_c('h2',{staticClass:\"portrait-carousel__title portrait-carousel__title--mobile\"},[_vm._v(\"\\n \"+_vm._s(_vm.p.Title)+\"\\n \")]):_vm._e(),_c('div',{staticClass:\"portrait-carousel__controls\"},[(this.p.Items.length > 1)?_c('div',{staticClass:\"portrait-carousel__lockup-item portrait-carousel__carousel-arrow-holder portrait-carousel__carousel-arrow-holder--next\"},[_c('CarouselArrow',{attrs:{\"direction\":\"right\",\"color\":\"black\",\"weight\":\"1\",\"controlId\":(\"\" + _vm.uuid)}})],1):_vm._e(),(_vm.windowWidth >= _vm.getBreakpoints.md)?_c('h2',{staticClass:\"portrait-carousel__lockup-item portrait-carousel__title\"},[_vm._v(\"\\n \"+_vm._s(_vm.p.Title)+\"\\n \")]):_vm._e(),_c('div',{staticClass:\"portrait-carousel__cta-wrapper\"},[(_vm.p.CtaLink)?_c('CtaButton',{staticClass:\"button button--white portrait-carousel__cta\",attrs:{\"item\":_vm.p.CtaLink}}):_vm._e()],1),(this.p.Items.length > 1)?_c('div',{staticClass:\"portrait-carousel__lockup-item portrait-carousel__carousel-arrow-holder portrait-carousel__carousel-arrow-holder--prev\"},[_c('CarouselArrow',{attrs:{\"direction\":\"left\",\"color\":\"black\",\"weight\":\"1\",\"controlId\":(\"\" + _vm.uuid)}})],1):_vm._e(),(this.p.Items.length > 1)?_c('CarouselPagination',{staticClass:\"portrait-carousel__carousel-pagination\",attrs:{\"controlId\":(\"\" + _vm.uuid)}}):_vm._e()],1),_c('swiper',{ref:\"swiper\",staticClass:\"portrait-carousel__slider\",attrs:{\"options\":_vm.swiperOption,\"dir\":_vm.p.IsRightToLeft ? 'rtl' : '',\"lang\":\"en\"}},_vm._l((_vm.p.Items),function(slide,index){return _c('swiper-slide',{key:(index + \"-\" + _vm.uuid),staticClass:\"portrait-carousel__slide portrait-carousel__slide--landscape\"},[_c('div',{staticClass:\"portrait-carousel__media-content\"},[_c('ArticleCardComponent',{directives:[{name:\"segment\",rawName:\"v-segment:moduleClicked\",arg:\"moduleClicked\"},{name:\"segment\",rawName:\"v-segment:params\",value:({position: index + 1, component_name: 'Article'}),expression:\"{position: index + 1, component_name: 'Article'}\",arg:\"params\"}],attrs:{\"card\":slide,\"dir\":_vm.p.IsRightToLeft ? 'ltr' : ''}})],1)])}),1)],1)]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/ts-loader/index.js??ref--0!./PortraitCarouselModule.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/ts-loader/index.js??ref--0!./PortraitCarouselModule.ts?vue&type=script&lang=ts&\"","import { Component, Vue } from 'vue-property-decorator';\nimport { SwiperOptions } from '@/utils/swiperUtils';\n\nimport ArrowShort from '@/assets/icons/arrow-long.svg?inline';\nimport ArrowLong from '@/assets/icons/ArrowNextLong.svg?inline';\nimport Cross from '@/assets/icons/cross.svg?inline';\nimport PlayButton from '@/assets/icons/play-round.svg?inline';\n\nimport { PortraitCarouselBlockViewModel } from './PortraitCarouselModule.types';\nimport { getComponentProps } from '@/utils/vueUtils';\n\nimport ContentType from '@/common/interfaces/enums/ContentType';\nimport ContentCategory from '@/common/interfaces/enums/ContentCategory';\n\nimport ArticleCardComponent from '@/components/ArticleCard/ArticleCard.vue';\nimport { getDefaultSwiperOptions } from '@/utils/vueUtils';\nimport { BREAKPOINTS } from '@/common/interfaces/SizeBreakpoints';\nimport { getResizeImage } from '@/utils/commonUtils';\nimport CtaButton from '@/components/CtaButton/CtaButton.vue';\n\nimport CarouselPagination from '@/components/CarouselPagination/CarouselPagination.vue';\nimport CarouselArrow from '@/components/CarouselArrow/CarouselArrow.vue';\n\nimport { Getter, Mutation } from 'vuex-class';\nimport SizeBreakpoints from '@/common/interfaces/SizeBreakpoints';\nimport { mixins } from 'vue-class-component';\nimport SwiperMixin from '@/mixins/SwiperMixin';\nimport { CLEAR_MODULE_GROUP_URI } from '@/store/modules/modulesLoadModule';\nimport { SegmentElement } from '@/plugins/utm/SegmentElement';\n\n@Component({\n components: {\n ArrowLong,\n ArrowShort,\n Cross,\n ArticleCardComponent,\n PlayButton,\n CarouselPagination,\n CarouselArrow,\n CtaButton,\n },\n props: getComponentProps({\n Title: 'Wildlife and Nature',\n CtaLink: { Title: 'View More', Link: '#' },\n Items: [\n {\n StandFirst: 'Meet the inhabitants',\n ArticleLink: { Title: 'Underwater colour', Link: '#' },\n Image: {\n Url: getResizeImage('coral.jpg'),\n Alt: 'Coral',\n },\n Date: 'JUN 2019',\n Ship: 'NG Explorer',\n Type: ContentType.Read,\n Minutes: 4,\n Category: ContentCategory.WildLife,\n CategoryLink: '#',\n },\n ],\n IsRightToLeft: true,\n }),\n})\nexport default class PortraitCarouselModule extends mixins(SwiperMixin) {\n p!: PortraitCarouselBlockViewModel;\n interactionCount: number = -1;\n realIndex: number = 0;\n\n activeIndex: number = 0;\n\n get swiperOption(): SwiperOptions {\n return {\n ...getDefaultSwiperOptions(this.uuid),\n slidesPerView: 'auto',\n spaceBetween: 40,\n centeredSlides: false,\n loop: this.p.Items.length > 3,\n speed: 700,\n observeParents: true,\n observer: true,\n breakpoints: {\n // breakpoints work down from these values not up\n [BREAKPOINTS.sm]: {\n spaceBetween: 10,\n slidesPerView: 1.1,\n },\n [BREAKPOINTS.lg]: {\n spaceBetween: 20,\n },\n },\n on: {\n transitionStart: () => this.onModuleInteraction(),\n },\n };\n }\n\n onModuleInteraction() {\n this.interactionCount++\n if (this.interactionCount === 1) {\n SegmentElement.sendEvent('moduleInteraction', {\n component_name: 'Article',\n module_type_id: this.$attrs['data-segmentid'],\n module_type_name: this.$attrs.type,\n interaction_type: 'carousel',\n position: this.realIndex + 1,\n })\n }\n }\n\n @Mutation\n [CLEAR_MODULE_GROUP_URI]: (groupUri: string) => void\n\n get IfShips() {\n return this.p.Items.filter((item) => item.Ship).length > 0;\n }\n\n get getBreakpoints() {\n return BREAKPOINTS;\n }\n\n @Getter isInBreakpoint!: (breakpoints: SizeBreakpoints[] | SizeBreakpoints) => boolean;\n @Getter windowSize!: SizeBreakpoints;\n\n windowWidth: number = 0;\n\n data() {\n return {\n tabletMobile: Boolean,\n mobile: Boolean,\n };\n }\n\n created() {\n if (!this.p.Items.length) {\n this[CLEAR_MODULE_GROUP_URI]('daily-expedition-reports')\n }\n }\n\n mounted() {\n this.swiper?.on('transitionStart', () => {\n this.activeIndex = this.swiper.activeIndex;\n this.realIndex = this.swiper.realIndex;\n });\n\n window.addEventListener('resize', this.handleResizeEvent);\n this.handleResizeEvent();\n }\n\n destroyed() {\n window.removeEventListener('resize', this.handleResizeEvent);\n }\n\n handleResizeEvent() {\n let newWidth = document.documentElement.clientWidth;\n this.windowWidth = newWidth;\n }\n}\n","import { render, staticRenderFns } from \"./PortraitCarouselModule.vue?vue&type=template&id=1b8196e6&\"\nimport script from \"./PortraitCarouselModule.ts?vue&type=script&lang=ts&\"\nexport * from \"./PortraitCarouselModule.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./PortraitCarouselModule.scss?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import LinkItem from './LinkItem';\n\nexport type ActionType = 'Button' | 'Phone' | 'Book' | 'Custom';\n\nexport enum CtaButtonStyle {\n Primary = 1,\n Secondary = 2,\n Tertiary = 3,\n White = 4,\n Black = 5,\n Ghost = 6,\n PrimaryDarkBlack = 7,\n None = 99,\n}\n\nexport default interface CtaLinkItem extends LinkItem {\n Action?: ActionType;\n ButtonStyle?: CtaButtonStyle;\n}\n\nexport const getButtonClass = (ButtonStyle: CtaButtonStyle) => {\n switch (ButtonStyle) {\n case CtaButtonStyle.Primary:\n return 'button--primary';\n case CtaButtonStyle.Secondary:\n return 'button--secondary';\n case CtaButtonStyle.Tertiary:\n return 'button--tertiary';\n case CtaButtonStyle.White:\n return 'button--white';\n case CtaButtonStyle.Black:\n return 'button--black';\n case CtaButtonStyle.Ghost:\n return 'button--ghost';\n case CtaButtonStyle.PrimaryDarkBlack:\n return 'button--primary button--primary--dark';\n case CtaButtonStyle.None:\n return '';\n default:\n return 'button--primary';\n }\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.link && _vm.link.startsWith('tel:'))?_c('a',{staticClass:\"button\",class:_vm.buttonClass,attrs:{\"href\":_vm.link.replace(/ /g,'.')}},[_vm._t(\"icon\",[(_vm.isPhone)?_c('Phone',{staticClass:\"button__icon\"}):_vm._e()]),_vm._v(\"\\n \"+_vm._s(_vm.item.Title)+\"\\n\")],2):(_vm.link)?_c('a',{staticClass:\"button\",class:_vm.buttonClass,attrs:{\"target\":_vm.item.Target,\"href\":_vm.link,\"title\":_vm.downloadTitle},on:{\"click\":_vm.onLinkClick}},[_vm._t(\"icon\",[(_vm.isPhone)?_c('Phone',{staticClass:\"button__icon\"}):_vm._e()]),_vm._v(\"\\n \"+_vm._s(_vm.item.Title)+\"\\n\")],2):_c('button',{staticClass:\"button\",class:_vm.buttonClass,attrs:{\"disabled\":_vm.disabled},on:{\"click\":function($event){$event.preventDefault();return _vm.$emit('click')}}},[_vm._t(\"icon\",[(_vm.isPhone)?_c('Phone',{staticClass:\"button__icon\"}):_vm._e()]),_vm._v(\"\\n \"+_vm._s(_vm.item.Title)+\"\\n\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/ts-loader/index.js??ref--0!./CtaButton.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/ts-loader/index.js??ref--0!./CtaButton.ts?vue&type=script&lang=ts&\"","import Vue from 'vue';\nimport { Component } from 'vue-property-decorator';\nimport CtaLinkItem, { getButtonClass } from '@/common/interfaces/CtaLinkItem';\n\nimport Phone from '@/assets/icons/phone.svg?inline';\nimport { getStore } from '@/store';\n\nconst CtaButtonProps = Vue.extend({\n props: {\n item: Object as () => CtaLinkItem,\n removeClasses: Boolean,\n customClasses: Boolean,\n disabled: Boolean,\n },\n});\n\n@Component({ components: { Phone } })\nexport default class CtaButtonComponent extends CtaButtonProps {\n get link() {\n const { Action, Link } = this.item;\n if (this.item.Action !== 'Custom') {\n let prefix = '';\n switch (Action) {\n case 'Phone':\n {\n prefix = 'tel:';\n }\n break;\n case 'Book':\n {\n return getStore()?.state?.Meta?.BookingUrl as string;\n }\n break;\n }\n\n return `${prefix}${this.item.Link}`;\n }\n\n return null;\n }\n\n get isPhone() {\n return this.item.Action === 'Phone';\n }\n\n get buttonClass() {\n if (this.customClasses) return '';\n\n const buttonStyleClass = getButtonClass(this.item.ButtonStyle)\n\n return {\n 'cta-item__call-cta': this.isPhone && !this.removeClasses,\n [buttonStyleClass]: true,\n };\n }\n\n get downloadTitle() {\n if (this.link && this.link.endsWith('.pdf')) return 'PDF download';\n }\n\n onLinkClick(e: Event) {\n if (this.link.includes('#')) {\n let btnLink = new URL(`https://www.expeditions.com${this.link}`)\n if (btnLink.pathname === window.location.pathname) {\n e.preventDefault()\n this.$emit('click', `#${this.link.split('#')[1]}`)\n }\n }\n }\n}\n","import { render, staticRenderFns } from \"./CtaButton.vue?vue&type=template&id=f0be7acc&\"\nimport script from \"./CtaButton.ts?vue&type=script&lang=ts&\"\nexport * from \"./CtaButton.ts?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"viewBox\":\"0 0 57 14\",\"xmlns\":\"http://www.w3.org/2000/svg\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{attrs:{\"d\":\"M56.92 7.419l-.472-.471-5.84-5.834a.668.668 0 00-.943 0 .666.666 0 000 .943l4.699 4.695H.748c-.369 0-.667 0-.667.667s.298.667.667.667h53.616l-4.7 4.695a.665.665 0 000 .943.67.67 0 00.945 0l6.31-6.305z\",\"fill-rule\":\"evenodd\"}})])\n )\n }\n }\n ","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"carousel-pagination noselect\",class:_vm.setColorFromProps()},[_c('div',{directives:[{name:\"animate\",rawName:\"v-animate\",value:(_vm.shouldAnimate ? 'slideUp' : null),expression:\"shouldAnimate ? 'slideUp' : null\"}],ref:\"carouselPagination\",class:_vm.paginationClass,attrs:{\"id\":(\"s-pagination-\" + _vm.controlId)}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/ts-loader/index.js??ref--0!./CarouselPagination.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/ts-loader/index.js??ref--0!./CarouselPagination.ts?vue&type=script&lang=ts&\"","import { Component, Vue, Ref } from 'vue-property-decorator';\n\nconst CarouselPaginationProps = Vue.extend({\n props: {\n color: {\n type: String,\n default: 'black',\n },\n controlId: String,\n paginationClass: {\n type: String,\n default: '',\n },\n controlsWrapper: {\n type: String,\n default: '',\n },\n shouldAnimate: {\n type: Boolean,\n default: true,\n },\n },\n});\n\n@Component({})\nexport default class CarouselPagination extends CarouselPaginationProps {\n setColorFromProps() {\n return 'carousel-pagination--color-' + this.color;\n }\n}\n","import { render, staticRenderFns } from \"./CarouselPagination.vue?vue&type=template&id=06fe7f80&\"\nimport script from \"./CarouselPagination.ts?vue&type=script&lang=ts&\"\nexport * from \"./CarouselPagination.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./CarouselPagination.scss?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"carousel-arrow-parent\",attrs:{\"id\":_vm.navigationId\n ? _vm.navigationId\n : (\"s-button-\" + (_vm.direction === 'left' ? 'prev' : 'next') + \"-\" + _vm.controlId)}},[_c('div',{staticClass:\"carousel-arrow\",class:_vm.setClassesFromProps(),style:(_vm.setStyleFromProps())})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/ts-loader/index.js??ref--0!./CarouselArrow.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/ts-loader/index.js??ref--0!./CarouselArrow.ts?vue&type=script&lang=ts&\"","import { Component, Vue } from 'vue-property-decorator';\n\nconst CarouselArrowProps = Vue.extend({\n props: {\n color: {\n type: String,\n default: 'black',\n },\n weight: {\n type: String,\n default: '1',\n },\n direction: {\n type: String,\n default: 'left',\n },\n width: {\n type: String,\n default: '100%',\n },\n maxWidth: {\n type: String,\n default: '100%',\n },\n navigationId: String,\n controlId: String,\n },\n});\n\nexport default class CarouselArrow extends CarouselArrowProps {\n setClassesFromProps() {\n return [\n 'carousel-arrow--' + this.direction,\n 'carousel-arrow--weight-' + this.weight,\n 'carousel-arrow--color-' + this.color,\n ];\n }\n\n setStyleFromProps() {\n return {\n width: this.width,\n maxWidth: this.maxWidth,\n };\n }\n}\n","import { render, staticRenderFns } from \"./CarouselArrow.vue?vue&type=template&id=579ac000&\"\nimport script from \"./CarouselArrow.ts?vue&type=script&lang=ts&\"\nexport * from \"./CarouselArrow.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./CarouselArrow.scss?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"width\":\"172\",\"height\":\"14\",\"xmlns\":\"http://www.w3.org/2000/svg\"}, attrs),\n ...rest,\n },\n children.concat([_c('g',{attrs:{\"id\":\"ArrowNextLong-Page-1\",\"stroke\":\"none\",\"stroke-width\":\"1\",\"fill\":\"none\",\"fill-rule\":\"evenodd\"}},[_c('g',{attrs:{\"id\":\"ArrowNextLong-MVP\",\"transform\":\"translate(-156 -402)\",\"fill\":\"#000\"}},[_c('g',{attrs:{\"id\":\"ArrowNextLong-M024-Carousel-Right-/-01-Desktop\",\"transform\":\"translate(0 320)\"}},[_c('g',{attrs:{\"id\":\"ArrowNextLong-Carousel-Right-/-01-Desktop\"}},[_c('g',{attrs:{\"id\":\"ArrowNextLong-Pagination\",\"transform\":\"translate(156 82)\"}},[_c('g',{attrs:{\"id\":\"ArrowNextLong-Icon-/-Arrow\",\"transform\":\"matrix(0 -1 -1 0 171.5 14.5)\"}},[_c('path',{attrs:{\"d\":\"M7.164.333l-.47.471L.862 6.636a.667.667 0 00.942.943l4.694-4.694v167.047c0 .369 0 .667.666.667.667 0 .667-.298.667-.667V2.885l4.693 4.694a.665.665 0 00.943 0 .666.666 0 000-.943L7.164.333z\",\"id\":\"ArrowNextLong-Fill-1\"}})])])])])])])])\n )\n }\n }\n ","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 204 204\"}, attrs),\n ...rest,\n },\n children.concat([_c('path',{staticClass:\"play-round-cls-1\",attrs:{\"fill\":\"#1d1d1b\",\"d\":\"M172.85 31.27a99.46 99.46 0 00-70.77-29.39H102a100.12 100.12 0 00-.08 200.24h.08a100.11 100.11 0 0070.85-170.85zM102 201.12h-.08A99.12 99.12 0 01102 2.88h.08a99.12 99.12 0 01-.08 198.24z\"}}),_c('path',{attrs:{\"fill\":\"#1d1d1b\",\"d\":\"M94.98 111.87l19.75-9.87-19.75-9.87v19.74z\"}})])\n )\n }\n }\n "],"sourceRoot":""}