{"version":3,"sources":["webpack:///./src/components/lists/FeatureBlocks.vue?d209","webpack:///./src/mixins/ImageRenderer.js","webpack:///./src/components/lists/FeatureBlocks.vue?bd5b","webpack:///./src/mixins/parse.js","webpack:///./src/components/lists/FeatureBlocks.vue?3b2b","webpack:///./src/components/lists/FeatureBlocks.vue?f26b","webpack:///src/components/lists/FeatureBlocks.vue","webpack:///./src/components/lists/FeatureBlocks.vue?5903","webpack:///./src/components/lists/FeatureBlocks.vue"],"names":["exports","module","push","i","data","currentScreenSize","imageWidth","computed","isRetina","window","devicePixelRatio","methods","throttle","fn","wait","time","Date","now","handleResize","addEventListener","this","handleImages","innerWidth","setImageWidth","mounted","content","__esModule","default","locals","add","parse","item","value","JSON","render","_vm","_h","$createElement","_c","_self","staticClass","domProps","_s","title","_e","_l","index","key","attrs","link","images","imageAlt","_v","heading","class","entry_animation","text","link_text","separator","staticRenderFns","name","props","mixins","ImageRenderer","components","SectionSeparator","ResponsiveImage","screenSize","siteBackground","site","background_color","image","injectStyles","context","style0","__inject__","component"],"mappings":"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","file":"js/chunks/feature-blocks.js?id=d98231887c0c9b286840","sourcesContent":["exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".home-list h1,.home-list h2{width:100%;text-align:center}@media screen and (min-width:600px){.home-list .responsive-image{width:100%}}@media screen and (min-width:959px){.home-list .responsive-image{height:100%}}.home-list .responsive-image img{-o-object-fit:cover;object-fit:cover;-o-object-position:50% 50%;object-position:50% 50%;height:100%}@media screen and (min-width:600px){.home-list .responsive-image img{width:100%}}.home-list .list-title{margin-bottom:10px}@media screen and (min-width:959px){.home-list .list-title{margin-bottom:40px}}.theme-clean-dark .home-list .list-title{color:#fff}.theme-clean-light .home-list .list-title{color:#333}.theme-vantage-dark .home-list .list-title{color:#fff}.theme-vantage-light .home-list .list-title{color:#333}.theme-slanted-dark .home-list .list-title{color:#fff}.theme-slanted-light .home-list .list-title{color:#333}.home-list .list-content{overflow:hidden}@media screen and (min-width:959px){.home-list .list-content{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.04),0 2px 4px rgba(0,0,0,.04),0 4px 8px rgba(0,0,0,.04),0 8px 16px rgba(0,0,0,.04),0 16px 32px rgba(0,0,0,.04),0 32px 64px rgba(0,0,0,.04);box-shadow:0 1px 2px rgba(0,0,0,.04),0 2px 4px rgba(0,0,0,.04),0 4px 8px rgba(0,0,0,.04),0 8px 16px rgba(0,0,0,.04),0 16px 32px rgba(0,0,0,.04),0 32px 64px rgba(0,0,0,.04)}.theme-clean-dark .home-list .list-content{color:#fff}.theme-clean-light .home-list .list-content{color:#333}.theme-vantage-dark .home-list .list-content{color:#fff}.theme-vantage-light .home-list .list-content{color:#333}.theme-slanted-dark .home-list .list-content{color:#fff}.theme-slanted-light .home-list .list-content{color:#333}}.home-list .item-content{z-index:10;text-align:center}.home-list .item-content h1,.home-list .item-content h2{display:none}@media screen and (min-width:959px){.home-list .item-content{padding:20px}.home-list .item-content h1,.home-list .item-content h2{display:block}}.home-list .item-text{padding:40px 20px}@media screen and (min-width:959px){.home-list .item-text{display:-webkit-box;display:-ms-flexbox;display:flex;padding:80px;text-align:center}}.home-list .item-text p{font-size:12px}.home-list .item-inner{-ms-flex-preferred-size:50%;flex-basis:50%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin:0}@media screen and (min-width:959px){.home-list .item-inner{height:auto}}.home-list .list-item{overflow:hidden;margin:40px 0;border-radius:10px}.theme-clean-dark .home-list .list-item{background:rgba(0,0,0,.5)}.theme-clean-light .home-list .list-item{background:hsla(0,0%,100%,.85)}.theme-vantage-dark .home-list .list-item{background:rgba(0,0,0,.5)}.theme-vantage-light .home-list .list-item{background:#fff}.theme-slanted-dark .home-list .list-item{background:rgba(0,0,0,.5)}.theme-slanted-light .home-list .list-item{background:#fff}@media screen and (min-width:959px){.home-list .list-item{padding:0;border-radius:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin:0}.home-list .list-item:nth-child(odd){-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}}.home-list .list-item .item-link{font-weight:700;text-decoration:none}.home-list .list-item .item-image{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:275px;overflow:hidden;cursor:default;position:relative;width:100%}@media screen and (min-width:600px){.home-list .list-item .item-image>div{width:100%}}@media screen and (min-width:959px){.home-list .list-item .item-image{height:auto}.home-list .list-item .item-image>div{height:100%}}.home-list .list-item .image-content{text-align:center;width:100%;color:#fff;position:absolute;z-index:1}@media screen and (min-width:959px){.home-list .list-item .image-content{display:none}}.home-list .list-item .image-content a,.home-list .list-item .image-content h1,.home-list .list-item .image-content h2,.home-list .list-item .image-content h3{color:#fff}\", \"\"]);\n\n// exports\n","export default {\n  data() {\n    return {\n      currentScreenSize: '',\n      imageWidth: ''\n    }\n  },\n\n  computed: {\n    isRetina() {\n      return window.devicePixelRatio > 1\n    }\n  },\n\n  methods: {\n    throttle(fn, wait) {\n      let time = Date.now()\n\n      return () => {\n        if((time + wait - Date.now()) < 0 ) {\n          fn()\n          time = Date.now()\n        }\n      }\n    },\n\n    handleResize() {\n      window.addEventListener('resize', this.throttle(this.handleImages, 300))\n    },\n\n    handleImages() {\n      this.currentScreenSize = window.innerWidth\n      this.setImageWidth()\n    }\n  },\n\n  mounted() {\n    this.handleImages()\n    this.handleResize()\n  }\n}\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/css-loader/index.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-3!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FeatureBlocks.vue?vue&type=style&index=0&lang=sass&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"afdd44cc\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","export default {\n  computed: {\n    parse() {\n      return (item) => {\n        if (typeof (item.value) === 'string') {\n          return JSON.parse(item.value)\n        } else {\n          return item.value\n        }\n      }\n    }\n  }\n}\n","export * from \"-!../../../node_modules/vue-style-loader/index.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-3!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-4!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FeatureBlocks.vue?vue&type=style&index=0&lang=sass&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"page-section home-list\"},[_c('div',{staticClass:\"container\"},[(_vm.title)?_c('h2',{staticClass:\"list-title\",domProps:{\"innerHTML\":_vm._s(_vm.title)}}):_vm._e(),_c('div',{staticClass:\"list-content\"},_vm._l((_vm.items),function(item,index){return _c('div',{key:(\"home-item-\" + index),staticClass:\"list-item\"},[(_vm.parse(item).link)?_c('router-link',{staticClass:\"item-inner item-image\",attrs:{\"to\":_vm.parse(item).link}},[_c('ResponsiveImage',{attrs:{\"imageVersions\":_vm.images(item),\"description\":_vm.imageAlt(item),\"width\":_vm.imageWidth}}),_c('div',{staticClass:\"image-content\"},[_c('h2',[_vm._v(_vm._s(_vm.parse(item).heading))])])],1):_vm._e(),_c('div',{staticClass:\"item-inner item-text animate-trigger\",class:_vm.parse(item).entry_animation},[_c('div',{staticClass:\"item-content\"},[_c('h2',[_vm._v(_vm._s(_vm.parse(item).heading))]),_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.parse(item).text)}}),(_vm.parse(item).link)?_c('router-link',{staticClass:\"item-link btn\",attrs:{\"to\":_vm.parse(item).link}},[_vm._v(\"\\n              \"+_vm._s(_vm.parse(item).link_text)+\"\\n            \")]):_vm._e()],1)])],1)}),0)]),(_vm.separator)?_c('SectionSeparator',{attrs:{\"separator\":_vm.separator}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template lang=\"html\">\n  <div class=\"page-section home-list\">\n    <div class=\"container\">\n\n      <h2 class=\"list-title\" v-if=\"title\" v-html=\"title\"></h2>\n\n      <div class=\"list-content\">\n        <div\n          class=\"list-item\"\n          v-for=\"(item, index) in items\"\n          :key=\"`home-item-${index}`\">\n\n          <router-link\n            v-if=\"parse(item).link\"\n            :to=\"parse(item).link\"\n            class=\"item-inner item-image\">\n\n            <ResponsiveImage\n              :imageVersions=\"images(item)\"\n              :description=\"imageAlt(item)\"\n              :width=\"imageWidth\"/>\n\n            <div class=\"image-content\">\n              <h2>{{parse(item).heading}}</h2>\n            </div>\n          </router-link>\n\n          <div class=\"item-inner item-text animate-trigger\" :class=\"parse(item).entry_animation\">\n            <div class=\"item-content\">\n              <h2>{{parse(item).heading}}</h2>\n              <div v-html=\"parse(item).text\"></div>\n              <router-link\n                class=\"item-link btn\"\n                v-if=\"parse(item).link\"\n                :to=\"parse(item).link\">\n                {{parse(item).link_text}}\n              </router-link>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n\n    <SectionSeparator v-if=\"separator\" :separator=\"separator\"/>\n  </div>\n</template>\n\n<script>\nimport {mapState} from 'vuex'\n\nimport SectionSeparator from '@/components/lists/SectionSeparator'\nimport ResponsiveImage from '@/components/ResponsiveImage'\n\nimport parse from '@/mixins/parse'\nimport ImageRenderer from '@/mixins/ImageRenderer'\n\nexport default {\n  name: 'FeatureBlocks',\n\n  props: ['items', 'title', 'separator'],\n\n  mixins: [ImageRenderer, parse],\n\n  components: {\n    SectionSeparator,\n    ResponsiveImage\n  },\n\n  methods: {\n    setImageWidth() {\n      let screenSize = this.currentScreenSize\n\n      if (screenSize >= 1100) {\n        this.imageWidth = 768\n\n        if(this.isRetina) {\n          this.imageWidth = 1800\n        }\n\n      } else {\n        this.imageWidth = 600\n\n        if(this.isRetina) {\n          this.imageWidth = 768\n        }\n      }\n    }\n  },\n\n  computed: {\n    ...mapState(['site']),\n\n    siteBackground() {\n      return this.site.background_color ? this.site.background_color : '#8e8e8e'\n    },\n\n    imageAlt() {\n      return (item) => {\n        return this.parse(item).image_alt_text || 'Feature block image'\n      }\n    },\n\n    images() {\n      return (item) => {\n        let image = item.image_versions.length ? item.image_versions : []\n        return image\n      }\n    }\n  }\n}\n</script>\n\n<style lang=\"sass\">\n@import '../../stylesheets/base/variables'\n@import '../../stylesheets/helpers/mixins'\n@import '../../stylesheets/base/theme'\n\n.home-list\n  h1, h2\n    width: 100%\n    text-align: center\n\n  .responsive-image\n    @include media($media-gt-small)\n      width: 100%\n\n    @include media($media-gt-medium)\n      height: 100%\n\n    img\n      object-fit: cover\n      object-position: 50% 50%\n      height: 100%\n\n      @include media($media-gt-small)\n        width: 100%\n\n  .list-title\n    margin-bottom: $gap-small\n\n    @include media($media-gt-medium)\n      margin-bottom: $gap-large\n\n    @include themify($themes)\n      color: themed('text')\n\n  .list-content\n    overflow: hidden\n\n    @include media($media-gt-medium)\n      box-shadow: $content-shadow\n\n      @include themify($themes)\n        color: themed('text')\n\n  .item-content\n    z-index: 10\n    text-align: center\n\n    h1, h2\n      display: none\n\n    @include media($media-gt-medium)\n      padding: $gap-medium\n\n      h1, h2\n        display: block\n\n  .item-text\n    padding: $gap-large $gap-medium\n\n    @include media($media-gt-medium)\n      display: flex\n      padding: $gap-x-large\n      text-align: center\n\n    p\n      font-size: 12px\n\n  .item-inner\n    flex-basis: percentage(1/2)\n    display: flex\n    flex-direction: column\n    align-items: center\n    justify-content: center\n    margin: 0\n\n    @include media($media-gt-medium)\n      height: auto\n\n  .list-item\n    overflow: hidden\n    margin: $gap-large 0\n    border-radius: 10px\n\n    @include themify($themes)\n      background: themed('content-bg')\n\n    @include media($media-gt-medium)\n      padding: 0\n      border-radius: 0\n      display: flex\n      align-items: stretch\n      flex-wrap: wrap\n      justify-content: center\n      margin: 0\n\n      &:nth-child(odd)\n        flex-direction: row-reverse\n\n    .item-link\n      font-weight: bold\n      text-decoration: none\n\n    .item-image\n      display: flex\n      align-items: center\n      height: 275px\n      overflow: hidden\n      cursor: default\n      position: relative\n      width: 100%\n\n      @include media($media-gt-small)\n        > div\n          width: 100%\n\n      @include media($media-gt-medium)\n        height: auto\n\n        > div\n          height: 100%\n\n    .image-content\n      text-align: center\n      width: 100%\n      color: #fff\n      position: absolute\n      z-index: 1\n\n      @include media($media-gt-medium)\n        display: none\n\n      a, h1, h2, h3\n        color: #fff\n</style>","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FeatureBlocks.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FeatureBlocks.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FeatureBlocks.vue?vue&type=template&id=2ea70d7d&lang=html&\"\nimport script from \"./FeatureBlocks.vue?vue&type=script&lang=js&\"\nexport * from \"./FeatureBlocks.vue?vue&type=script&lang=js&\"\nfunction injectStyles (context) {\n  \n  var style0 = require(\"./FeatureBlocks.vue?vue&type=style&index=0&lang=sass&\")\nif (style0.__inject__) style0.__inject__(context)\n\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  injectStyles,\n  null,\n  \"05ef3e16\"\n  \n)\n\nexport default component.exports"],"sourceRoot":""}