{"version":3,"sources":["webpack:///./src/components/Testimonials/TestimonialCards.vue?1147","webpack:///./src/components/Testimonials/TestimonialCards.vue","webpack:///./src/components/Testimonials/TestimonialCards.vue?cbe7","webpack:///./src/components/Testimonials/TestimonialCards.vue?8702","webpack:///./src/components/Cycler/ItemCycler.vue?91c5","webpack:///./src/components/Cycler/ItemCycler.vue?94c3","webpack:///./src/components/Cycler/ItemCyclerItem.vue?936c","webpack:///./src/views/Testimonials.vue?d672","webpack:///./src/views/Testimonials.vue","webpack:///./src/views/Testimonials.vue?5e90","webpack:///./src/views/Testimonials.vue?c819","webpack:///./src/views/Testimonials.vue?e2ba","webpack:///./node_modules/client-website-ts-library/types/EmbeddedContent/EmbeddedContent.ts","webpack:///./src/app_code/ItemCycler.ts","webpack:///./src/components/Common/Embeddable.vue?fd67","webpack:///./src/components/Common/Embeddable.vue?f9b2","webpack:///./src/components/Common/Embeddable.vue","webpack:///./src/components/Common/Embeddable.vue?eee3","webpack:///./src/components/Common/Embeddable.vue?a431","webpack:///./src/components/Cycler/ItemCycler.vue?e280","webpack:///./src/components/Cycler/ItemCyclerItem.vue?3360","webpack:///./src/components/Cycler/ItemCyclerItem.vue","webpack:///./src/components/Cycler/ItemCyclerItem.vue?2d26","webpack:///./src/components/Cycler/ItemCyclerItem.vue?e628","webpack:///./src/components/Cycler/ItemCycler.vue","webpack:///./src/components/Cycler/ItemCycler.vue?8a7c","webpack:///./src/components/Cycler/ItemCycler.vue?28c9","webpack:///./src/components/Testimonials/TestimonialCard.vue?5f91","webpack:///./src/components/Testimonials/TestimonialCard.vue?0d44","webpack:///./src/components/Testimonials/TestimonialCard.vue","webpack:///./src/components/Testimonials/TestimonialCard.vue?2db9","webpack:///./src/components/Testimonials/TestimonialCard.vue?c3dc"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","_l","testimonial","key","Id","attrs","staticRenderFns","testimonials","updateTestimonials","Testimonials","Search","filter","then","$emit","length","deep","components","TestimonialCard","component","cyclerItems","_e","on","handleGotTestimonials","t","Video","map","TestimonialCards","ItemCycler","EmbeddedContentType","ItemCyclerSlideType","ItemCyclerSlide","type","id","GetGuid","ItemCyclerImageSlide","image","super","Image","ItemCyclerEmbeddableSlide","embeddable","Embeddable","class","Type","EmbedId","origin","window","location","required","ref","center","autoAdvance","autoAdvanceInterval","speed","items","loop","hideNav","darken","responsive","handleUpdate","scopedSlots","_u","fn","active","showVideoNav","navToVideo","_v","proxy","item","idx","index","getEmbeddableSlide","getImageSlide","getResizableImageSlide","ar","objects","findIndex","obj","EmbeddedContent","Youtube","Vimeo","videoIndex","$refs","cycler","goToIndex","data","default","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-6ed8e590.0c1d79b7.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Cards',{staticClass:\"testimonial-cards\"},_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\r\nimport { TestimonialFilter } from 'client-website-ts-library/filters';\r\nimport { API } from 'client-website-ts-library/services';\r\nimport { Testimonial } from 'client-website-ts-library/types';\r\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\r\nimport TestimonialCard from './TestimonialCard.vue';\r\n\r\n@Component({\r\n components: {\r\n TestimonialCard,\r\n },\r\n})\r\nexport default class TestimonialCards extends Vue {\r\n private testimonials: Testimonial[] = [];\r\n\r\n @Prop()\r\n private readonly filter!: TestimonialFilter;\r\n\r\n mounted() {\r\n this.updateTestimonials();\r\n }\r\n\r\n @Watch('filter', { deep: true })\r\n updateTestimonials() {\r\n API.Testimonials.Search(this.filter, true).then((testimonials) => {\r\n this.testimonials = testimonials;\r\n\r\n this.$emit('got_testimonial_count', testimonials.length);\r\n\r\n this.$emit('got_testimonials', testimonials);\r\n });\r\n }\r\n}\r\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=eb6269b6&\"\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!./ItemCycler.vue?vue&type=style&index=0&id=58f1de6b&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=58f1de6b&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!./ItemCyclerItem.vue?vue&type=style&index=0&id=c862e528&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=c862e528&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\"}}),(_vm.cyclerItems.length)?_c('ContentRow',[_c('ContentContainer',[_c('div',{staticClass:\"testimonial-video-carousel-wrap\"},[_c('ItemCycler',{staticClass:\"testimonial-video-carousel\",attrs:{\"inset\":true,\"objects\":_vm.cyclerItems,\"speed\":1000,\"items\":1,\"touch\":\"true\",\"center\":true,\"loop\":true,\"force-height\":true}})],1)])],1):_vm._e(),_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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Mixins } from 'vue-property-decorator';\r\nimport { TestimonialFilter } from 'client-website-ts-library/filters';\r\nimport { View } from 'client-website-ts-library/plugins';\r\n\r\nimport TestimonialCards from '@/components/Testimonials/TestimonialCards.vue';\r\nimport ItemCycler from '@/components/Cycler/ItemCycler.vue';\r\nimport { ItemCyclerEmbeddableSlide, ItemCyclerSlide } from '@/app_code/ItemCycler';\r\nimport { EmbeddedContentType } from 'client-website-ts-library/types/EmbeddedContent/EmbeddedContent';\r\nimport { Testimonial } from 'client-website-ts-library/types';\r\n\r\n@Component({\r\n components: {\r\n TestimonialCards,\r\n ItemCycler,\r\n },\r\n})\r\nexport default class Testimonials extends Mixins(View) {\r\n private filter: TestimonialFilter = new TestimonialFilter();\r\n\r\n private cyclerItems: ItemCyclerSlide[] = [];\r\n\r\n handleGotTestimonials(testimonials: Testimonial[]) {\r\n this.cyclerItems = testimonials.filter((t) => t.Video !== null).map((t) => new ItemCyclerEmbeddableSlide(t.Video!));\r\n }\r\n}\r\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=db818910&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=db818910&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 \"db818910\",\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=db818910&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=db818910&scoped=true&lang=css&\"","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';\r\nimport { EmbeddedContent } from 'client-website-ts-library/types/EmbeddedContent/EmbeddedContent';\r\nimport { Utils } from 'client-website-ts-library/util/Utils';\r\nimport { ImageSourceSet } from 'client-website-ts-library/types';\r\n\r\nenum ItemCyclerSlideType {\r\n Embeddable = 'embeddable',\r\n Image = 'image',\r\n LazyImage = 'lazyimage'\r\n}\r\n\r\nclass ItemCyclerSlide {\r\n public type: ItemCyclerSlideType;\r\n\r\n public readonly id: string = Utils.GetGuid();\r\n\r\n constructor(type: ItemCyclerSlideType) {\r\n this.type = type;\r\n }\r\n}\r\n\r\nclass ItemCyclerImageSlide extends ItemCyclerSlide {\r\n public image: string | ImageSourceSet;\r\n\r\n constructor(image: string | ImageSourceSet) {\r\n super(ItemCyclerSlideType.Image);\r\n\r\n this.image = image;\r\n }\r\n}\r\n\r\nclass ItemCyclerReiszableImageSlide extends ItemCyclerSlide {\r\n public image: ResizableImage;\r\n\r\n public ar: number;\r\n\r\n constructor(image: ResizableImage, ar = 0.75) {\r\n super(ItemCyclerSlideType.LazyImage);\r\n\r\n this.image = image;\r\n this.ar = ar;\r\n }\r\n}\r\n\r\nclass ItemCyclerEmbeddableSlide extends ItemCyclerSlide {\r\n public embeddable: EmbeddedContent;\r\n\r\n constructor(embeddable: EmbeddedContent) {\r\n super(ItemCyclerSlideType.Embeddable);\r\n\r\n this.embeddable = embeddable;\r\n }\r\n}\r\n\r\nexport { ItemCyclerSlide, ItemCyclerSlideType, ItemCyclerImageSlide, ItemCyclerEmbeddableSlide, ItemCyclerReiszableImageSlide };\r\n","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=4b41ebe1&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=4b41ebe1&scoped=true&lang=css&\"","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\r\nimport { Component, Vue, Prop } from 'vue-property-decorator';\r\nimport { EmbeddedContent, EmbeddedContentType } from 'client-website-ts-library/types/EmbeddedContent/EmbeddedContent';\r\n\r\n@Component\r\nexport default class Embeddable extends Vue {\r\n @Prop({ required: true })\r\n private readonly embeddable!: EmbeddedContent;\r\n\r\n private readonly origin: string = window.location.origin;\r\n}\r\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=4b41ebe1&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=4b41ebe1&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 \"4b41ebe1\",\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('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},[_c('ItemCyclerItem',{attrs:{\"item\":item,\"active\":idx == _vm.index}})],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}})]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Vue, Prop } from 'vue-property-decorator';\r\n\r\nimport Embeddable from '../Common/Embeddable.vue';\r\n\r\nimport { ItemCyclerSlide, ItemCyclerImageSlide, ItemCyclerEmbeddableSlide, ItemCyclerReiszableImageSlide } from '../../app_code/ItemCycler';\r\n\r\n@Component({\r\n components: {\r\n Embeddable,\r\n },\r\n})\r\nexport default class ItemCyclerItem extends Vue {\r\n @Prop()\r\n private readonly item!: ItemCyclerSlide;\r\n\r\n @Prop()\r\n private readonly active!: boolean;\r\n\r\n getEmbeddableSlide(): ItemCyclerEmbeddableSlide {\r\n return this.item as ItemCyclerEmbeddableSlide;\r\n }\r\n\r\n getImageSlide(): ItemCyclerImageSlide {\r\n return this.item as ItemCyclerImageSlide;\r\n }\r\n\r\n getResizableImageSlide(): ItemCyclerReiszableImageSlide {\r\n return this.item as ItemCyclerReiszableImageSlide;\r\n }\r\n}\r\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=c862e528&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=c862e528&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 \"c862e528\",\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\r\nimport { Component, Vue, Prop } from 'vue-property-decorator';\r\nimport { EmbeddedContentType } from 'client-website-ts-library/types/EmbeddedContent/EmbeddedContent';\r\n\r\nimport { ItemCyclerSlide, ItemCyclerSlideType, ItemCyclerEmbeddableSlide } from '../../app_code/ItemCycler';\r\nimport { CarouselBreakpoint } from '../../app_code/CarouselBreakpoint';\r\n\r\nimport Cycler from './Cycler.vue';\r\nimport CyclerItem from './CyclerItem.vue';\r\nimport ItemCyclerItem from './ItemCyclerItem.vue';\r\n\r\n@Component({\r\n components: {\r\n Cycler,\r\n CyclerItem,\r\n ItemCyclerItem,\r\n },\r\n})\r\nexport default class ItemCycler extends Vue {\r\n @Prop()\r\n private readonly objects!: ItemCyclerSlide[];\r\n\r\n @Prop()\r\n private readonly darken!: boolean;\r\n\r\n @Prop({ required: true })\r\n private readonly items!: number;\r\n\r\n @Prop()\r\n private readonly autoAdvance!: boolean;\r\n\r\n @Prop({ default: 5000 })\r\n private readonly autoAdvanceInterval!: number;\r\n\r\n @Prop({ default: 2500 })\r\n private readonly speed!: number;\r\n\r\n @Prop({ default: true })\r\n private readonly loop!: boolean;\r\n\r\n @Prop()\r\n private readonly hideNav!: boolean;\r\n\r\n @Prop()\r\n private readonly center!: boolean;\r\n\r\n @Prop({ default: () => [] })\r\n private readonly responsive!: CarouselBreakpoint[];\r\n\r\n private index = 0;\r\n\r\n get videoIndex(): number {\r\n return this.objects.findIndex((obj) => obj.type === ItemCyclerSlideType.Embeddable && ((obj as ItemCyclerEmbeddableSlide).embeddable.Type === EmbeddedContentType.Youtube || (obj as ItemCyclerEmbeddableSlide).embeddable.Type === EmbeddedContentType.Vimeo));\r\n }\r\n\r\n get showVideoNav(): boolean {\r\n const idx = this.videoIndex;\r\n\r\n return idx !== -1 && idx !== this.index;\r\n }\r\n\r\n navToVideo(): void {\r\n (this.$refs.cycler as any).goToIndex(this.videoIndex);\r\n\r\n this.$emit('viewVideo');\r\n }\r\n\r\n handleUpdate(data: any): void {\r\n this.index = data.index;\r\n }\r\n}\r\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=58f1de6b&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=58f1de6b&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 \"58f1de6b\",\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!./TestimonialCard.vue?vue&type=style&index=0&id=2cb77966&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=2cb77966&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\r\nimport { Testimonial } from 'client-website-ts-library/types';\r\nimport { Component, Prop, Vue, Watch } from 'vue-property-decorator';\r\n\r\n@Component\r\nexport default class TestimonialCard extends Vue {\r\n @Prop()\r\n private readonly testimonial!: Testimonial;\r\n\r\n private cleanedContent = ''\r\n\r\n mounted() {\r\n this.cleanContent();\r\n }\r\n\r\n get formattedAddress(): string {\r\n const parts = [];\r\n\r\n if (this.testimonial.Address) parts.push(this.testimonial.Address);\r\n if (this.testimonial.Suburb) parts.push(this.testimonial.Suburb);\r\n\r\n return parts.join(', ');\r\n }\r\n\r\n @Watch('testimonial')\r\n cleanContent(): void {\r\n const el = document.createElement('div');\r\n\r\n el.innerHTML = this.testimonial.Description;\r\n\r\n this.cleanedContent = el.innerText;\r\n }\r\n\r\n popupActive = false\r\n\r\n showTestimonial(): void {\r\n this.popupActive = true;\r\n }\r\n\r\n hideTestimonial(): void {\r\n this.popupActive = false;\r\n }\r\n}\r\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=2cb77966&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=2cb77966&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 \"2cb77966\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}