{"version":3,"sources":["webpack:///./src/components/Testimonials/TestimonialCards.vue?461e","webpack:///./src/components/Testimonials/TestimonialCards.vue","webpack:///./src/components/Testimonials/TestimonialCards.vue?cbe7","webpack:///./src/components/Testimonials/TestimonialCards.vue?8702","webpack:///./src/components/Common/Embeddable.vue?b88d","webpack:///./src/components/Cycler/ItemCycler.vue?94c3","webpack:///./src/components/Cycler/ItemCycler.vue?ca9a","webpack:///./src/views/Testimonials.vue?213a","webpack:///./src/views/Testimonials.vue?0e95","webpack:///./src/views/Testimonials.vue?5e90","webpack:///./src/views/Testimonials.vue?c819","webpack:///./node_modules/client-website-ts-library/types/EmbeddedContent/EmbeddedContent.ts","webpack:///./src/app_code/ItemCycler.ts","webpack:///./node_modules/client-website-ts-library/plugins/view/index.ts","webpack:///./src/components/Cycler/ItemCycler.vue?fa02","webpack:///./src/components/Cycler/ItemCyclerItem.vue?97c0","webpack:///./src/components/Common/Embeddable.vue?142b","webpack:///./src/components/Common/Embeddable.vue?1185","webpack:///./src/components/Common/Embeddable.vue?eee3","webpack:///./src/components/Common/Embeddable.vue?a431","webpack:///./src/components/Cycler/ItemCyclerItem.vue?10c2","webpack:///./src/components/Cycler/ItemCyclerItem.vue?2d26","webpack:///./src/components/Cycler/ItemCyclerItem.vue?e628","webpack:///./src/components/Cycler/ItemCycler.vue?6c67","webpack:///./src/components/Cycler/ItemCycler.vue?8a7c","webpack:///./src/components/Cycler/ItemCycler.vue?28c9","webpack:///./src/components/Cycler/ItemCyclerItem.vue?f8d4","webpack:///./src/components/Testimonials/TestimonialCard.vue?d4c2","webpack:///./src/components/Testimonials/TestimonialCard.vue?8ac4","webpack:///./src/components/Testimonials/TestimonialCard.vue?2729","webpack:///./src/components/Testimonials/TestimonialCard.vue?2db9","webpack:///./src/components/Testimonials/TestimonialCard.vue?c3dc","webpack:///./src/views/Testimonials.vue?47c7"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","_l","testimonial","key","Id","staticRenderFns","testimonials","updateTestimonials","Testimonials","Search","filter","then","$emit","length","deep","components","TestimonialCard","component","on","handleGotTestimonials","cyclerItems","t","Video","map","TestimonialCards","ItemCycler","EmbeddedContentType","ItemCyclerSlideType","ItemCyclerSlide","type","id","GetGuid","ItemCyclerImageSlide","image","super","Image","ItemCyclerReiszableImageSlide","ar","LazyImage","ItemCyclerEmbeddableSlide","embeddable","Embeddable","prolistAnalyticsService","ServiceManager","Get","Analytics","headService","Require","Head","evt","obj","getAnalyticsEvent","call","getAnalyticsData","$route","path","name","undefined","triggerAnalyticsEvent","event","GetAll","forEach","adapter","Record","result","head","bind","Promise","meta","Update","UpdateWithStatic","View","requestAnimationFrame","updateHead","updateAnalytics","AsyncView","$on","ref","class","center","autoAdvance","autoAdvanceInterval","speed","items","loop","hideNav","darken","responsive","handleUpdate","scopedSlots","_u","fn","active","showVideoNav","navToVideo","_v","proxy","item","idx","listingId","index","size","getEmbeddableSlide","getImageSlide","getResizableImageSlide","_e","Type","EmbedId","origin","window","location","required","default","objects","findIndex","EmbeddedContent","Youtube","Vimeo","videoIndex","$refs","cycler","goToIndex","data","Cycler","CyclerItem","ItemCyclerItem","Profile","Photo","Thumbs","Url","_s","cleanedContent","$event","showTestimonial","staticStyle","ClientName","Address","Suburb","formattedAddress","hideTestimonial","popupActive","cleanContent","parts","push","join","el","document","createElement","innerHTML","Description","innerText"],"mappings":"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","file":"js/chunk-df4e90f4.41116bab.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Cards',{staticClass:\"testimonial-cards\",attrs:{\"perRow\":4}},_vm._l((_vm.testimonials),function(testimonial){return _c('TestimonialCard',{key:testimonial.Id,attrs:{\"testimonial\":testimonial}})}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\nimport { TestimonialFilter } from 'client-website-ts-library/filters';\nimport { API } from 'client-website-ts-library/services';\nimport { Testimonial } from 'client-website-ts-library/types';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\nimport TestimonialCard from './TestimonialCard.vue';\n\n@Component({\n components: {\n TestimonialCard,\n },\n})\nexport default class TestimonialCards extends Vue {\n private testimonials: Testimonial[] = [];\n\n @Prop()\n private readonly filter!: TestimonialFilter;\n\n mounted() {\n this.updateTestimonials();\n }\n\n @Watch('filter', { deep: true })\n updateTestimonials() {\n API.Testimonials.Search(this.filter, true).then((testimonials) => {\n this.testimonials = testimonials;\n\n this.$emit('got_testimonial_count', testimonials.length);\n\n this.$emit('got_testimonials', testimonials);\n });\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TestimonialCards.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TestimonialCards.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TestimonialCards.vue?vue&type=template&id=3d0472f1&\"\nimport script from \"./TestimonialCards.vue?vue&type=script&lang=ts&\"\nexport * from \"./TestimonialCards.vue?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","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Embeddable.vue?vue&type=style&index=0&id=c6d266a6&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Embeddable.vue?vue&type=style&index=0&id=c6d266a6&scoped=true&lang=css&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemCycler.vue?vue&type=style&index=1&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemCycler.vue?vue&type=style&index=1&lang=css&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemCycler.vue?vue&type=style&index=0&id=4360adf4&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemCycler.vue?vue&type=style&index=0&id=4360adf4&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Page',[_c('SiteMasthead',{attrs:{\"mini\":\"true\",\"title\":\"Testimonials\"}}),_c('ContentRow',[_c('ContentContainer',[_c('TestimonialCards',{attrs:{\"filter\":_vm.filter},on:{\"got_testimonials\":_vm.handleGotTestimonials}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Mixins } from 'vue-property-decorator';\nimport { TestimonialFilter } from 'client-website-ts-library/filters';\nimport { View } from 'client-website-ts-library/plugins';\n\nimport TestimonialCards from '@/components/Testimonials/TestimonialCards.vue';\nimport ItemCycler from '@/components/Cycler/ItemCycler.vue';\nimport { ItemCyclerEmbeddableSlide, ItemCyclerSlide } from '@/app_code/ItemCycler';\nimport { EmbeddedContentType } from 'client-website-ts-library/types/EmbeddedContent/EmbeddedContent';\nimport { Testimonial } from 'client-website-ts-library/types';\n\n@Component({\n components: {\n TestimonialCards,\n ItemCycler,\n },\n})\nexport default class Testimonials extends Mixins(View) {\n private filter: TestimonialFilter = new TestimonialFilter();\n\n private cyclerItems: ItemCyclerSlide[] = [];\n\n handleGotTestimonials(testimonials: Testimonial[]) {\n this.cyclerItems = testimonials.filter((t) => t.Video !== null).map((t) => new ItemCyclerEmbeddableSlide(t.Video!));\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Testimonials.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Testimonials.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Testimonials.vue?vue&type=template&id=4b16b7fa&scoped=true&\"\nimport script from \"./Testimonials.vue?vue&type=script&lang=ts&\"\nexport * from \"./Testimonials.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Testimonials.vue?vue&type=style&index=0&id=4b16b7fa&scoped=true&lang=css&\"\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 \"4b16b7fa\",\n null\n \n)\n\nexport default component.exports","enum EmbeddedContentType {\r\n RawUrl,\r\n Youtube,\r\n Vimeo,\r\n VirtualTour\r\n}\r\n\r\ninterface EmbeddedContent {\r\n Type: EmbeddedContentType;\r\n EmbedId: string;\r\n}\r\n\r\nexport { EmbeddedContentType, EmbeddedContent }","import { ResizableImage } from 'client-website-ts-library/types/ResizableImage';\nimport { EmbeddedContent } from 'client-website-ts-library/types/EmbeddedContent/EmbeddedContent';\nimport { Utils } from 'client-website-ts-library/util/Utils';\nimport { ImageSourceSet } from 'client-website-ts-library/types';\n\nenum ItemCyclerSlideType {\n Embeddable = 'embeddable',\n Image = 'image',\n LazyImage = 'lazyimage'\n}\n\nclass ItemCyclerSlide {\n public type: ItemCyclerSlideType;\n\n public readonly id: string = Utils.GetGuid();\n\n constructor(type: ItemCyclerSlideType) {\n this.type = type;\n }\n}\n\nclass ItemCyclerImageSlide extends ItemCyclerSlide {\n public image: string | ImageSourceSet;\n\n constructor(image: string | ImageSourceSet) {\n super(ItemCyclerSlideType.Image);\n\n this.image = image;\n }\n}\n\nclass ItemCyclerReiszableImageSlide extends ItemCyclerSlide {\n public image: ResizableImage;\n\n public ar: number;\n\n constructor(image: ResizableImage, ar = 0.75) {\n super(ItemCyclerSlideType.LazyImage);\n\n this.image = image;\n this.ar = ar;\n }\n}\n\nclass ItemCyclerEmbeddableSlide extends ItemCyclerSlide {\n public embeddable: EmbeddedContent;\n\n constructor(embeddable: EmbeddedContent) {\n super(ItemCyclerSlideType.Embeddable);\n\n this.embeddable = embeddable;\n }\n}\n\nexport { ItemCyclerSlide, ItemCyclerSlideType, ItemCyclerImageSlide, ItemCyclerEmbeddableSlide, ItemCyclerReiszableImageSlide };\n","import Vue from \"vue\";\r\nimport { Component } from \"vue-property-decorator\";\r\nimport { AnalyticsEvent, AnalyticsEventObject, AnalyticsPageView, IAnalyticsAdapter, PROListAnalyticsAdapter } from \"../../services/Analytics\";\r\nimport { HeadService } from \"../../services/HeadService\";\r\nimport { ServiceManager, ServiceType } from \"../../services/ServiceManager\";\r\nimport { RouteMeta } from \"../meta\";\r\n\r\ninterface ViewBase {\r\n getAnalyticsEvent?(): AnalyticsEvent | null;\r\n getAnalyticsData?(): AnalyticsEventObject | null;\r\n head?(): RouteMeta | Promise | null;\r\n}\r\n\r\n@Component\r\nclass ViewBase extends Vue {\r\n protected prolistAnalyticsService = ServiceManager.Get(ServiceType.Analytics, 'PROListAnalyticsAdapter');\r\n protected headService = ServiceManager.Require(ServiceType.Head)!;\r\n\r\n public updateAnalytics() {\r\n let evt: AnalyticsEvent | null = null;\r\n let obj: AnalyticsEventObject | null = null;\r\n\r\n if (typeof this.getAnalyticsEvent !== 'undefined') {\r\n evt = this.getAnalyticsEvent.call(this);\r\n } else if(typeof this.getAnalyticsData !== 'undefined') {\r\n obj = this.getAnalyticsData.call(this);\r\n }\r\n\r\n if (evt === null) evt = new AnalyticsPageView(this.$route.path, this.$route.name || '', obj || undefined);\r\n\r\n this.triggerAnalyticsEvent(evt);\r\n }\r\n\r\n public triggerAnalyticsEvent(event: AnalyticsEvent) {\r\n ServiceManager.GetAll(ServiceType.Analytics).forEach((adapter) => {\r\n adapter.Record(event);\r\n });\r\n }\r\n\r\n public triggerCustomAnalyticsEvent(event: AnalyticsEvent) {\r\n if (this.prolistAnalyticsService !== null) this.prolistAnalyticsService.Record(event);\r\n }\r\n\r\n protected updateHead() {\r\n if ('head' in this) {\r\n const result = this.head!.bind(this)();\r\n\r\n if(result instanceof Promise) {\r\n result.then((meta: RouteMeta | null) => {\r\n this.headService.Update(meta);\r\n });\r\n } else {\r\n this.headService.Update(result as RouteMeta | null);\r\n }\r\n } else {\r\n this.headService.UpdateWithStatic(this.$route.path);\r\n }\r\n }\r\n}\r\n\r\n@Component\r\nclass View extends ViewBase {\r\n public mounted() {\r\n requestAnimationFrame(() => {\r\n this.updateHead();\r\n this.updateAnalytics();\r\n });\r\n }\r\n}\r\n\r\n@Component\r\nclass AsyncView extends ViewBase {\r\n public mounted() {\r\n this.$on('updateView', () => {\r\n requestAnimationFrame(() => {\r\n this.updateHead();\r\n this.updateAnalytics();\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport {\r\n View,\r\n AsyncView\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Cycler',{ref:\"cycler\",staticClass:\"item-cycler\",class:{center: _vm.center},attrs:{\"inset\":true,\"auto-advance\":_vm.autoAdvance,\"auto-advance-interval\":_vm.autoAdvanceInterval,\"speed\":_vm.speed,\"items\":_vm.items,\"loop\":_vm.loop,\"always-navigable\":\"loop\",\"hide-nav\":_vm.hideNav,\"center\":_vm.center,\"darken\":_vm.darken,\"responsive\":_vm.responsive},on:{\"update\":_vm.handleUpdate},scopedSlots:_vm._u([{key:\"auxiliary\",fn:function(){return [_c('div',{staticClass:\"item-cycler__auxiliary\",class:{active: _vm.showVideoNav}},[_c('ContentContainer',[_c('button',{staticClass:\"item-cycler__yt-nav\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.navToVideo}},[_vm._v(\" Play Video \")])])],1)]},proxy:true}])},_vm._l((_vm.objects),function(item,idx){return _c('CyclerItem',{key:item.id},[(_vm.listingId)?_c('a',{attrs:{\"href\":'/listings/' + _vm.listingId}},[_c('ItemCyclerItem',{attrs:{\"item\":item,\"active\":idx == _vm.index,\"size\":_vm.size}})],1):_c('ItemCyclerItem',{attrs:{\"item\":item,\"active\":idx == _vm.index,\"size\":_vm.size}})],1)}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"item-cycler__item\",class:['item-cycler__item--' + _vm.item.type, {active: _vm.active}],attrs:{\"data-type\":_vm.item.type}},[(_vm.item.type === 'embeddable')?[_c('Embeddable',{attrs:{\"embeddable\":_vm.getEmbeddableSlide().embeddable}})]:(_vm.item.type === 'image')?[_c('OptimisedImage',{attrs:{\"src\":_vm.getImageSlide().image}})]:(_vm.item.type === 'lazyimage')?[_c('LazyImage',{attrs:{\"image\":_vm.getResizableImageSlide().image,\"ar\":_vm.item.ar,\"preview-width\":_vm.size}})]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"embeddable\",class:'embeddable--' + _vm.embeddable.Type},[(_vm.embeddable.Type == 1)?[_c('iframe',{staticClass:\"embeddable__frame\",attrs:{\"type\":\"text/html\",\"src\":'https://www.youtube.com/embed/' + _vm.embeddable.EmbedId + '?enablejsapi=1&origin=' + _vm.origin,\"enablejsapi\":\"1\",\"frameborder\":\"0\",\"allowtransparency\":\"true\",\"allowfullscreen\":\"\"}})]:(_vm.embeddable.Type == 2)?[_c('iframe',{staticClass:\"embeddable__frame\",attrs:{\"type\":\"text/html\",\"src\":'https://player.vimeo.com/video/' + _vm.embeddable.EmbedId,\"frameborder\":\"0\",\"webkitallowfullscreen\":\"\",\"mozallowfullscreen\":\"\",\"allowfullscreen\":\"\"}})]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue, Prop } from 'vue-property-decorator';\nimport { EmbeddedContent, EmbeddedContentType } from 'client-website-ts-library/types/EmbeddedContent/EmbeddedContent';\n\n@Component\nexport default class Embeddable extends Vue {\n @Prop({ required: true })\n private readonly embeddable!: EmbeddedContent;\n\n private readonly origin: string = window.location.origin;\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Embeddable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Embeddable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Embeddable.vue?vue&type=template&id=c6d266a6&scoped=true&\"\nimport script from \"./Embeddable.vue?vue&type=script&lang=ts&\"\nexport * from \"./Embeddable.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Embeddable.vue?vue&type=style&index=0&id=c6d266a6&scoped=true&lang=css&\"\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 \"c6d266a6\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue, Prop } from 'vue-property-decorator';\n\nimport Embeddable from '../Common/Embeddable.vue';\n\nimport { ItemCyclerSlide, ItemCyclerImageSlide, ItemCyclerEmbeddableSlide, ItemCyclerReiszableImageSlide } from '../../app_code/ItemCycler';\n\n@Component({\n components: {\n Embeddable,\n },\n})\nexport default class ItemCyclerItem extends Vue {\n @Prop()\n private readonly item!: ItemCyclerSlide;\n\n @Prop()\n private readonly active!: boolean;\n\n @Prop({ default: 1200 })\n private readonly size!: number;\n\n getEmbeddableSlide(): ItemCyclerEmbeddableSlide {\n return this.item as ItemCyclerEmbeddableSlide;\n }\n\n getImageSlide(): ItemCyclerImageSlide {\n return this.item as ItemCyclerImageSlide;\n }\n\n getResizableImageSlide(): ItemCyclerReiszableImageSlide {\n return this.item as ItemCyclerReiszableImageSlide;\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemCyclerItem.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemCyclerItem.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ItemCyclerItem.vue?vue&type=template&id=6940e010&scoped=true&\"\nimport script from \"./ItemCyclerItem.vue?vue&type=script&lang=ts&\"\nexport * from \"./ItemCyclerItem.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ItemCyclerItem.vue?vue&type=style&index=0&id=6940e010&scoped=true&lang=css&\"\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 \"6940e010\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue, Prop } from 'vue-property-decorator';\nimport { EmbeddedContentType } from 'client-website-ts-library/types/EmbeddedContent/EmbeddedContent';\n\nimport { ItemCyclerSlide, ItemCyclerSlideType, ItemCyclerEmbeddableSlide } from '../../app_code/ItemCycler';\nimport { CarouselBreakpoint } from '../../app_code/CarouselBreakpoint';\n\nimport Cycler from './Cycler.vue';\nimport CyclerItem from './CyclerItem.vue';\nimport ItemCyclerItem from './ItemCyclerItem.vue';\n\n@Component({\n components: {\n Cycler,\n CyclerItem,\n ItemCyclerItem,\n },\n})\nexport default class ItemCycler extends Vue {\n @Prop()\n private readonly objects!: ItemCyclerSlide[];\n\n @Prop()\n private readonly darken!: boolean;\n\n @Prop({ required: true })\n private readonly items!: number;\n\n @Prop()\n private readonly autoAdvance!: boolean;\n\n @Prop({ default: 5000 })\n private readonly autoAdvanceInterval!: number;\n\n @Prop({ default: 2500 })\n private readonly speed!: number;\n\n @Prop({ default: true })\n private readonly loop!: boolean;\n\n @Prop()\n private readonly hideNav!: boolean;\n\n @Prop()\n private readonly center!: boolean;\n\n @Prop()\n private readonly listingId!: string;\n\n @Prop({ default: 1200 })\n private readonly size!: number;\n\n @Prop({ default: () => [] })\n private readonly responsive!: CarouselBreakpoint[];\n\n private index = 0;\n\n get videoIndex(): number {\n return this.objects.findIndex((obj) => obj.type === ItemCyclerSlideType.Embeddable && ((obj as ItemCyclerEmbeddableSlide).embeddable.Type === EmbeddedContentType.Youtube || (obj as ItemCyclerEmbeddableSlide).embeddable.Type === EmbeddedContentType.Vimeo));\n }\n\n get showVideoNav(): boolean {\n const idx = this.videoIndex;\n\n return idx !== -1 && idx !== this.index;\n }\n\n navToVideo(): void {\n (this.$refs.cycler as any).goToIndex(this.videoIndex);\n\n this.$emit('viewVideo');\n }\n\n handleUpdate(data: any): void {\n this.index = data.index;\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemCycler.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemCycler.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ItemCycler.vue?vue&type=template&id=4360adf4&scoped=true&\"\nimport script from \"./ItemCycler.vue?vue&type=script&lang=ts&\"\nexport * from \"./ItemCycler.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ItemCycler.vue?vue&type=style&index=0&id=4360adf4&scoped=true&lang=css&\"\nimport style1 from \"./ItemCycler.vue?vue&type=style&index=1&lang=css&\"\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 \"4360adf4\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemCyclerItem.vue?vue&type=style&index=0&id=6940e010&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemCyclerItem.vue?vue&type=style&index=0&id=6940e010&scoped=true&lang=css&\"","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TestimonialCard.vue?vue&type=style&index=0&id=5683ed41&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TestimonialCard.vue?vue&type=style&index=0&id=5683ed41&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"card card--testimonial\"},[_c('div',{staticClass:\"testimonial__agent\"},[(_vm.testimonial.Profile.Photo)?_c('img',{staticClass:\"testimonial__agent__image\",attrs:{\"src\":_vm.testimonial.Profile.Photo.Thumbs.Url}}):_vm._e()]),_c('div',{staticClass:\"testimonial__content\"},[_vm._v(\" \"+_vm._s(_vm.cleanedContent)+\" \")]),(_vm.cleanedContent.length > 110)?_c('button',{staticClass:\"testimonial__read-more\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.showTestimonial()}}},[_vm._v(\"Read More\")]):_c('div',{staticStyle:{\"flex-grow\":\"1\"}}),_c('div',{staticClass:\"testimonial__attribution\"},[_c('h5',{staticClass:\"testimonial__customer\"},[_vm._v(_vm._s(_vm.testimonial.ClientName))]),(_vm.testimonial.Address || _vm.testimonial.Suburb)?_c('h6',{staticClass:\"testimonial__address\"},[_vm._v(\" \"+_vm._s(_vm.formattedAddress)+\" \")]):_vm._e()]),(_vm.popupActive)?[_c('portal',{attrs:{\"to\":\"overlays\"}},[_c('div',{staticClass:\"testimonial-popup-wrap\"},[_c('div',{staticClass:\"testimonial-popup-abyss\",on:{\"click\":function($event){return _vm.hideTestimonial()}}}),_c('div',{staticClass:\"testtimonial-popup__window\"},[_c('button',{staticClass:\"testimonial-close\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){return _vm.hideTestimonial()}}},[_c('Icon',{attrs:{\"icon\":\"close-button\"}})],1),_c('div',{staticClass:\"testimonial-popup__content\"},[_vm._v(\" \"+_vm._s(_vm.cleanedContent)+\" \")]),_c('div',{staticClass:\"testimonial__attribution\"},[_c('h5',{staticClass:\"testimonial__customer\"},[_vm._v(_vm._s(_vm.testimonial.ClientName))]),(_vm.testimonial.Address || _vm.testimonial.Suburb)?_c('h6',{staticClass:\"testimonial__address\"},[_vm._v(\" \"+_vm._s(_vm.formattedAddress)+\" \")]):_vm._e()])])])])]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Testimonial } from 'client-website-ts-library/types';\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\n\n@Component\nexport default class TestimonialCard extends Vue {\n @Prop()\n private readonly testimonial!: Testimonial;\n\n private cleanedContent = ''\n\n mounted() {\n this.cleanContent();\n }\n\n get formattedAddress(): string {\n const parts = [];\n\n if (this.testimonial.Address) parts.push(this.testimonial.Address);\n if (this.testimonial.Suburb) parts.push(this.testimonial.Suburb);\n\n return parts.join(', ');\n }\n\n @Watch('testimonial')\n cleanContent(): void {\n const el = document.createElement('div');\n\n el.innerHTML = this.testimonial.Description;\n\n this.cleanedContent = el.innerText;\n }\n\n popupActive = false\n\n showTestimonial(): void {\n this.popupActive = true;\n }\n\n hideTestimonial(): void {\n this.popupActive = false;\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TestimonialCard.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TestimonialCard.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TestimonialCard.vue?vue&type=template&id=5683ed41&scoped=true&\"\nimport script from \"./TestimonialCard.vue?vue&type=script&lang=ts&\"\nexport * from \"./TestimonialCard.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TestimonialCard.vue?vue&type=style&index=0&id=5683ed41&scoped=true&lang=css&\"\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 \"5683ed41\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Testimonials.vue?vue&type=style&index=0&id=4b16b7fa&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Testimonials.vue?vue&type=style&index=0&id=4b16b7fa&scoped=true&lang=css&\""],"sourceRoot":""}