{"version":3,"sources":["webpack:///./src/components/Testimonials/TestimonialCards.vue?2c79","webpack:///./src/components/Testimonials/TestimonialCards.vue","webpack:///./src/components/Testimonials/TestimonialCards.vue?cbe7","webpack:///./src/components/Testimonials/TestimonialCards.vue?8702","webpack:///./src/views/Testimonials.vue?7637","webpack:///./src/views/Testimonials.vue?ac19","webpack:///./src/views/Testimonials.vue","webpack:///./src/views/Testimonials.vue?5e90","webpack:///./src/views/Testimonials.vue?c819","webpack:///./src/components/Testimonials/TestimonialCard.vue?dfbd","webpack:///./src/components/Testimonials/TestimonialCard.vue?0229","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","attrs","_l","testimonial","key","Id","staticRenderFns","testimonials","updateTestimonials","Testimonials","Search","filter","then","$emit","length","deep","components","TestimonialCard","component","source","formats","fallback","on","handleGotTestimonials","cyclerItems","t","Video","map","TestimonialCards","ItemCycler","Profile","Photo","Thumbs","Url","_e","_v","_s","cleanedContent","$event","showTestimonial","staticStyle","ClientName","Address","Suburb","formattedAddress","hideTestimonial","popupActive","cleanContent","el","document","createElement","innerHTML","Description","innerText","parts","push","join"],"mappings":"kHAAA,IAAIA,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACE,YAAY,oBAAoBC,MAAM,CAAC,OAAS,IAAIP,EAAIQ,GAAIR,EAAgB,cAAE,SAASS,GAAa,OAAOL,EAAG,kBAAkB,CAACM,IAAID,EAAYE,GAAGJ,MAAM,CAAC,YAAcE,QAAiB,IAClSG,EAAkB,G,kfCiBD,EAArB,yG,0BACU,EAAAC,aAA8B,GADxC,2DAOIZ,KAAKa,uBAPT,2CAWoB,WAChB,OAAIC,aAAaC,OAAOf,KAAKgB,QAAQ,GAAMC,MAAK,SAACL,GAC/C,EAAKA,aAAeA,EAEpB,EAAKM,MAAM,wBAAyBN,EAAaO,QAEjD,EAAKD,MAAM,mBAAoBN,UAjBrC,GAA8C,QAI5C,GADC,kB,6BAQD,GADC,eAAM,SAAU,CAAEQ,MAAM,K,iCASxB,MAnBkB,EAAgB,GALpC,eAAU,CACTC,WAAY,CACVC,kBAAA,SAGiB,WClBwY,I,YCOzZC,EAAY,eACd,EACAzB,EACAa,GACA,EACA,KACA,KACA,MAIa,OAAAY,E,6CClBf,yBAA2e,EAAG,G,2CCA9e,IAAIzB,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,OAAO,CAACA,EAAG,eAAe,CAACG,MAAM,CAAC,KAAO,OAAO,MAAQ,mEAAmE,MAAQ,CAAEkB,OAAQ,oCAAqCC,QAAS,CAAC,OAAQ,OAAQ,OAAQC,SAAU,UAAWvB,EAAG,aAAa,CAACA,EAAG,mBAAmB,CAACA,EAAG,mBAAmB,CAACG,MAAM,CAAC,OAASP,EAAIiB,QAAQW,GAAG,CAAC,iBAAmB5B,EAAI6B,0BAA0B,IAAI,IAAI,IAChejB,EAAkB,G,giBC2BD,EAArB,yG,0BACY,EAAAK,OAA4B,IAAI,OAEhC,EAAAa,YAAiC,GAH7C,uEAK0BjB,GACpBZ,KAAK6B,YAAcjB,EAAaI,QAAO,SAACc,GAAD,OAAmB,OAAZA,EAAEC,SAAgBC,KAAI,SAACF,GAAD,OAAO,IAAI,OAA0BA,EAAEC,cANjH,GAA0C,eAAO,SAA5B,EAAY,GANhC,eAAU,CACTV,WAAY,CACVY,mBAAA,KACAC,aAAA,SAGiB,WC5BkX,I,wBCQnYX,EAAY,eACd,EACAzB,EACAa,GACA,EACA,KACA,WACA,MAIa,aAAAY,E,oECnBf,yBAAggB,EAAG,G,kCCAngB,IAAIzB,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,0BAA0B,CAACF,EAAG,MAAM,CAACE,YAAY,sBAAsB,CAAEN,EAAIS,YAAY2B,QAAa,MAAEhC,EAAG,MAAM,CAACE,YAAY,4BAA4BC,MAAM,CAAC,IAAMP,EAAIS,YAAY2B,QAAQC,MAAMC,OAAOC,OAAOvC,EAAIwC,OAAOpC,EAAG,MAAM,CAACE,YAAY,wBAAwB,CAACN,EAAIyC,GAAG,IAAIzC,EAAI0C,GAAG1C,EAAI2C,gBAAgB,OAAQ3C,EAAI2C,eAAevB,OAAS,IAAKhB,EAAG,SAAS,CAACE,YAAY,yBAAyBC,MAAM,CAAC,KAAO,UAAUqB,GAAG,CAAC,MAAQ,SAASgB,GAAQ,OAAO5C,EAAI6C,qBAAqB,CAAC7C,EAAIyC,GAAG,eAAerC,EAAG,MAAM,CAAC0C,YAAY,CAAC,YAAY,OAAO1C,EAAG,MAAM,CAACE,YAAY,4BAA4B,CAACF,EAAG,KAAK,CAACE,YAAY,yBAAyB,CAACN,EAAIyC,GAAGzC,EAAI0C,GAAG1C,EAAIS,YAAYsC,eAAgB/C,EAAIS,YAAYuC,SAAWhD,EAAIS,YAAYwC,OAAQ7C,EAAG,KAAK,CAACE,YAAY,wBAAwB,CAACN,EAAIyC,GAAG,IAAIzC,EAAI0C,GAAG1C,EAAIkD,kBAAkB,OAAOlD,EAAIwC,OAAQxC,EAAe,YAAE,CAACI,EAAG,SAAS,CAACG,MAAM,CAAC,GAAK,aAAa,CAACH,EAAG,MAAM,CAACE,YAAY,0BAA0B,CAACF,EAAG,MAAM,CAACE,YAAY,0BAA0BsB,GAAG,CAAC,MAAQ,SAASgB,GAAQ,OAAO5C,EAAImD,sBAAsB/C,EAAG,MAAM,CAACE,YAAY,8BAA8B,CAACF,EAAG,SAAS,CAACE,YAAY,oBAAoBC,MAAM,CAAC,KAAO,UAAUqB,GAAG,CAAC,MAAQ,SAASgB,GAAQ,OAAO5C,EAAImD,qBAAqB,CAAC/C,EAAG,OAAO,CAACG,MAAM,CAAC,KAAO,mBAAmB,GAAGH,EAAG,MAAM,CAACE,YAAY,8BAA8B,CAACN,EAAIyC,GAAG,IAAIzC,EAAI0C,GAAG1C,EAAI2C,gBAAgB,OAAOvC,EAAG,MAAM,CAACE,YAAY,4BAA4B,CAACF,EAAG,KAAK,CAACE,YAAY,yBAAyB,CAACN,EAAIyC,GAAGzC,EAAI0C,GAAG1C,EAAIS,YAAYsC,eAAgB/C,EAAIS,YAAYuC,SAAWhD,EAAIS,YAAYwC,OAAQ7C,EAAG,KAAK,CAACE,YAAY,wBAAwB,CAACN,EAAIyC,GAAG,IAAIzC,EAAI0C,GAAG1C,EAAIkD,kBAAkB,OAAOlD,EAAIwC,cAAcxC,EAAIwC,MAAM,IAC/xD5B,EAAkB,G,0dC+CD,EAArB,yG,0BAIU,EAAA+B,eAAiB,GAwBzB,EAAAS,aAAc,EA5BhB,2DAOInD,KAAKoD,iBAPT,qCAqBI,IAAMC,EAAKC,SAASC,cAAc,OAElCF,EAAGG,UAAYxD,KAAKQ,YAAYiD,YAEhCzD,KAAK0C,eAAiBW,EAAGK,YAzB7B,wCA+BI1D,KAAKmD,aAAc,IA/BvB,wCAmCInD,KAAKmD,aAAc,IAnCvB,uCAWI,IAAMQ,EAAQ,GAKd,OAHI3D,KAAKQ,YAAYuC,SAASY,EAAMC,KAAK5D,KAAKQ,YAAYuC,SACtD/C,KAAKQ,YAAYwC,QAAQW,EAAMC,KAAK5D,KAAKQ,YAAYwC,QAElDW,EAAME,KAAK,UAhBtB,GAA6C,QAE3C,GADC,kB,kCAmBD,GADC,eAAM,gB,2BAON,MA1BkB,EAAe,GADnC,QACoB,WChDuY,I,wBCQxZtC,EAAY,eACd,EACAzB,EACAa,GACA,EACA,KACA,WACA,MAIa,OAAAY,E","file":"js/chunk-4e121922.658976cd.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!./Testimonials.vue?vue&type=style&index=0&id=5b068904&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=5b068904&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\":\"“It’s the pursuit of excellence that underpins everything we do”\",\"image\":{ source: '/assets/images/photos/testimonial', formats: ['avif', 'webp', 'jpg'], fallback: 'jpg' }}}),_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=5b068904&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=5b068904&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 \"5b068904\",\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=72d94a16&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=72d94a16&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=72d94a16&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=72d94a16&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 \"72d94a16\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}