{"version":3,"sources":["webpack:///./src/components/GalleryImage.vue?09f0","webpack:///./src/components/Overlay.vue?6c9f","webpack:///./src/components/lists/BasicGallery.vue?4ed8","webpack:///./src/components/Overlay.vue?26ed","webpack:///./src/mixins/parse.js","webpack:///./src/components/lists/BasicGallery.vue?03b9","webpack:///./src/components/GalleryImage.vue?9da4","webpack:///./src/components/Overlay.vue?c468","webpack:///./src/components/lists/BasicGallery.vue?fce5","webpack:///./src/components/GalleryImage.vue?6fec","webpack:///src/components/GalleryImage.vue","webpack:///./src/components/GalleryImage.vue?d84b","webpack:///./src/components/GalleryImage.vue","webpack:///src/components/lists/BasicGallery.vue","webpack:///./src/components/lists/BasicGallery.vue?ae31","webpack:///./src/components/lists/BasicGallery.vue","webpack:///./src/components/lists/BasicGallery.vue?c1e1","webpack:///./src/components/Overlay.vue?0483","webpack:///src/components/Overlay.vue","webpack:///./src/components/Overlay.vue?3525","webpack:///./src/components/Overlay.vue","webpack:///./src/components/GalleryImage.vue?decc"],"names":["exports","module","push","i","content","__esModule","default","locals","add","computed","parse","item","value","JSON","render","_vm","this","_h","$createElement","_c","_self","staticClass","domProps","_s","title","_e","_l","index","key","on","$event","activateItem","attrs","closeOverlay","activeItem","isFirstItem","goPrev","isLastItem","goNext","separator","staticRenderFns","images","ref","class","inOverlay","imageAlt","imageWidth","name","props","Object","Boolean","mixins","components","ResponsiveImage","image","image_alt_text","injectStyles","context","style0","__inject__","component","data","itemActive","GalleryImage","Overlay","Sprite","SectionSeparator","activeIndex","items","indexOf","totalItems","length","first","methods","target","currentTarget","apply","arguments","_t","$emit"],"mappings":"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","file":"js/chunks/basic-gallery.js?id=9e62948d1075b4851690","sourcesContent":["exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".gallery-image.is-overlay img{width:auto;height:auto;max-height:700px}.gallery-image img{height:100%;width:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:50% 50%;object-position:50% 50%}.gallery-image .gallery-image{text-align:center;height:100%}\", \"\"]);\n\n// exports\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!./Overlay.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(\"f894c77e\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","exports = module.exports = require(\"../../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".theme-clean-dark .basic-gallery{background:rgba(0,0,0,.5)}.theme-clean-light .basic-gallery{background:hsla(0,0%,100%,.85)}.theme-vantage-dark .basic-gallery{background:rgba(0,0,0,.5)}.theme-vantage-light .basic-gallery{background:#fff}.theme-slanted-dark .basic-gallery{background:rgba(0,0,0,.5)}.theme-slanted-light .basic-gallery{background:#fff}.basic-gallery .overlay .inner{padding:5px;width:auto}@media screen and (min-width:959px){.basic-gallery .overlay .inner{margin:0 80px}}.basic-gallery .overlay .responsive-image{display:-webkit-box;display:-ms-flexbox;display:flex}.basic-gallery h2{width:100%;text-align:center;padding:40px auto}.theme-clean-dark .basic-gallery h2{color:#fff}.theme-clean-light .basic-gallery h2{color:#333}.theme-vantage-dark .basic-gallery h2{color:#fff}.theme-vantage-light .basic-gallery h2{color:#333}.theme-slanted-dark .basic-gallery h2{color:#fff}.theme-slanted-light .basic-gallery h2{color:#333}.basic-gallery .gallery .item{margin:auto;cursor:-webkit-zoom-in;cursor:zoom-in}.basic-gallery .gallery .responsive-image{width:100%;height:100%}.basic-gallery .gallery .responsive-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:50% 50%;object-position:50% 50%}@media screen and (min-width:959px){.basic-gallery .gallery{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.basic-gallery .gallery .item{-ms-flex-preferred-size:50%;flex-basis:50%;margin:0}}@media screen and (min-width:1100px){.basic-gallery .gallery .item{-ms-flex-preferred-size:33.3333333333%;flex-basis:33.3333333333%}}@media screen and (min-width:1500px){.basic-gallery .gallery .item{-ms-flex-preferred-size:25%;flex-basis:25%}}.btn-next,.btn-prev{position:absolute;background:#fff;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.btn-next:disabled .sprite,.btn-prev:disabled .sprite{opacity:.25}.btn-next .sprite,.btn-prev .sprite{width:20px;height:20px;-webkit-transition:opacity .3s ease-in-out;transition:opacity .3s ease-in-out}.btn-prev{left:0}@media screen and (min-width:959px){.btn-prev{left:-50px}}.btn-prev .sprite{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.btn-next{right:0}@media screen and (min-width:959px){.btn-next{right:-50px}}\", \"\"]);\n\n// exports\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!./Overlay.vue?vue&type=style&index=0&lang=sass&\"","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","// 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!./BasicGallery.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(\"524622f8\", content, true, {\"sourceMap\":false,\"shadowMode\":false});","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!./GalleryImage.vue?vue&type=style&index=0&lang=sass&\"","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")(false);\n// imports\n\n\n// module\nexports.push([module.id, \".overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:10;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;cursor:-webkit-zoom-out;cursor:zoom-out}.overlay .inner{background:#fff;-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);padding:10px;margin:10px;border-radius:5px;position:relative;width:90%;height:auto;max-height:80vh;cursor:auto}@media screen and (min-width:959px){.overlay .inner{padding:20px;width:60%}}.overlay img{max-width:100%;max-height:100%}\", \"\"]);\n\n// exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"page-section basic-gallery\"},[_c('div',{staticClass:\"container\"},[(_vm.title)?_c('h2',{staticClass:\"list-title\",domProps:{\"innerHTML\":_vm._s(_vm.title)}}):_vm._e(),_c('div',{staticClass:\"gallery\"},_vm._l((_vm.items),function(item,index){return _c('div',{key:(\"gallery-item-\" + index),staticClass:\"item\",on:{\"click\":function($event){return _vm.activateItem(item)}}},[_c('GalleryImage',{attrs:{\"content\":item}})],1)}),0)]),_c('transition',{attrs:{\"name\":\"fade\"}},[(_vm.itemActive)?_c('div',[_c('Overlay',{on:{\"close\":_vm.closeOverlay}},[_c('GalleryImage',{attrs:{\"inOverlay\":\"\",\"content\":_vm.activeItem}}),_c('button',{staticClass:\"btn btn-prev\",attrs:{\"disabled\":_vm.isFirstItem},on:{\"click\":_vm.goPrev}},[_c('Sprite',{attrs:{\"name\":\"arrow\"}})],1),_c('button',{staticClass:\"btn btn-next\",attrs:{\"disabled\":_vm.isLastItem},on:{\"click\":_vm.goNext}},[_c('Sprite',{attrs:{\"name\":\"arrow\"}})],1)],1)],1):_vm._e()]),(_vm.separator)?_c('SectionSeparator',{attrs:{\"separator\":_vm.separator}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.images.length)?_c('ResponsiveImage',{ref:\"image\",staticClass:\"gallery-image\",class:{'is-overlay': _vm.inOverlay},attrs:{\"imageVersions\":_vm.images,\"description\":_vm.imageAlt,\"width\":_vm.imageWidth}}):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template lang=\"html\">\n  <ResponsiveImage\n    ref=\"image\"\n    v-if=\"images.length\"\n    class=\"gallery-image\"\n    :class=\"{'is-overlay': inOverlay}\"\n    :imageVersions=\"images\"\n    :description=\"imageAlt\"\n    :width=\"imageWidth\"\n  />\n</template>\n\n<script>\nimport parse from '@/mixins/parse'\n\nimport ResponsiveImage from '@/components/ResponsiveImage'\n\nexport default {\n  name: 'GalleryImage',\n\n  props: {\n    content: Object,\n    inOverlay: Boolean\n  },\n\n  mixins: [parse],\n\n  components: {\n    ResponsiveImage\n  },\n\n  computed: {\n    images() {\n      let image = this.content.image_versions.length\n        ? this.content.image_versions\n        : []\n      return image\n    },\n\n    imageAlt() {\n      return this.parse(this.content).image_alt_text || 'Gallery image'\n    },\n\n    imageWidth() {\n      return this.inOverlay ? 1800 : 600\n    }\n  }\n}\n</script>\n\n<style lang=\"sass\">\n.gallery-image\n  &.is-overlay\n    img\n      width: auto\n      height: auto\n      max-height: 700px\n\n  img\n    height: 100%\n    width: 100%\n    object-fit: cover\n    object-position: 50% 50%\n\n  .gallery-image\n    text-align: center\n    height: 100%\n</style>\n","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!./GalleryImage.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!./GalleryImage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./GalleryImage.vue?vue&type=template&id=656333ca&lang=html&\"\nimport script from \"./GalleryImage.vue?vue&type=script&lang=js&\"\nexport * from \"./GalleryImage.vue?vue&type=script&lang=js&\"\nfunction injectStyles (context) {\n  \n  var style0 = require(\"./GalleryImage.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  \"67917366\"\n  \n)\n\nexport default component.exports","<template lang=\"html\">\n  <div class=\"page-section basic-gallery\">\n    <div class=\"container\">\n      <h2 v-if=\"title\" class=\"list-title\" v-html=\"title\"></h2>\n\n      <div class=\"gallery\">\n        <div\n          class=\"item\"\n          v-for=\"(item, index) in items\"\n          :key=\"`gallery-item-${index}`\"\n          @click=\"activateItem(item)\">\n          <GalleryImage :content=\"item\"/>\n        </div>\n      </div>\n    </div>\n\n    <transition name=\"fade\">\n      <div v-if=\"itemActive\">\n        <Overlay @close=\"closeOverlay\">\n          <GalleryImage inOverlay :content=\"activeItem\"/>\n\n          <button @click=\"goPrev\" class=\"btn btn-prev\" :disabled=\"isFirstItem\">\n            <Sprite name=\"arrow\"/>\n          </button>\n          <button @click=\"goNext\" class=\"btn btn-next\" :disabled=\"isLastItem\">\n            <Sprite name=\"arrow\"/>\n          </button>\n        </Overlay>\n      </div>\n    </transition>\n\n    <SectionSeparator v-if=\"separator\" :separator=\"separator\"/>\n  </div>\n</template>\n\n<script>\nimport GalleryImage from '@/components/GalleryImage'\nimport Overlay from '@/components/Overlay'\nimport Sprite from '@/components/Sprite'\nimport SectionSeparator from '@/components/lists/SectionSeparator'\n\nexport default {\n  name: 'basic-gallery',\n\n  data() {\n    return {\n      itemActive: false,\n      activeItem: {}\n    }\n  },\n\n  props: ['items', 'title', 'separator'],\n\n  components: {\n    GalleryImage,\n    Overlay,\n    Sprite,\n    SectionSeparator\n  },\n\n  computed: {\n    activeIndex() {\n      return this.items.indexOf(this.activeItem)\n    },\n\n    totalItems() {\n      return this.items ? this.items.length : 0\n    },\n\n    isFirstItem() {\n      let index = this.activeIndex + 1\n      const first = 1\n      return index === first\n    },\n\n    isLastItem() {\n      let index = this.activeIndex + 1\n      return index === this.totalItems\n    }\n  },\n\n  methods: {\n    activateItem(item) {\n      this.itemActive = true\n      this.activeItem = item\n    },\n\n    closeOverlay() {\n      this.itemActive = false\n      this.activeItem = {}\n    },\n\n    goPrev() {\n      this.activeItem = this.items[this.activeIndex - 1]\n    },\n\n    goNext() {\n      this.activeItem = this.items[this.activeIndex + 1]\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.basic-gallery\n  @include themify($themes)\n    background: themed('content-bg')\n\n  .overlay\n    .inner\n      padding: $gap-x-small\n      width: auto\n\n      @include media($media-gt-medium)\n        margin: 0 $gap-x-large\n\n    .responsive-image\n      display: flex\n\n  h2\n    width: 100%\n    text-align: center\n    padding: $gap-large auto\n\n    @include themify($themes)\n      color: themed('text')\n\n  .gallery\n    .item\n      margin: auto\n      cursor: zoom-in\n\n    .responsive-image\n      width: 100%\n      height: 100%\n\n      img\n        width: 100%\n        height: 100%\n        object-fit: cover\n        object-position: 50% 50%\n\n    @include media($media-gt-medium)\n      display: flex\n      flex-wrap: wrap\n      justify-content: center\n\n      .item\n        flex-basis: percentage(1/2)\n        margin: 0\n\n    @include media($media-gt-large)\n      .item\n        flex-basis: percentage(1/3)\n\n    @include media($media-gt-x-large)\n      .item\n        flex-basis: percentage(1/4)\n\n.btn-prev, .btn-next\n  position: absolute\n  background: #FFF\n  top: 50%\n  transform: translateY(-50%)\n\n  &:disabled\n    .sprite\n      opacity: 0.25\n\n  .sprite\n    width: 20px\n    height: 20px\n    transition: opacity .3s ease-in-out\n\n.btn-prev\n  left: 0\n\n  @include media($media-gt-medium)\n    left: -50px\n\n  .sprite\n    transform: scaleX(-1)\n\n.btn-next\n  right: 0\n\n  @include media($media-gt-medium)\n    right: -50px\n</style>\n","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!./BasicGallery.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!./BasicGallery.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./BasicGallery.vue?vue&type=template&id=d492f96e&lang=html&\"\nimport script from \"./BasicGallery.vue?vue&type=script&lang=js&\"\nexport * from \"./BasicGallery.vue?vue&type=script&lang=js&\"\nfunction injectStyles (context) {\n  \n  var style0 = require(\"./BasicGallery.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  \"cc5d910a\"\n  \n)\n\nexport default component.exports","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!./BasicGallery.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:\"overlay\",on:{\"click\":function($event){if($event.target !== $event.currentTarget){ return null; }return _vm.closeOverlay.apply(null, arguments)}}},[_c('div',{staticClass:\"inner\"},[_vm._t(\"default\")],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template lang=\"html\">\n  <div class=\"overlay\" @click.self=\"closeOverlay\">\n    <div class=\"inner\">\n      <slot/>\n    </div>\n  </div>\n</template>\n\n<script>\nexport default {\n  name: 'Overlay',\n\n  methods: {\n    closeOverlay() {\n      this.$emit('close')\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.overlay\n  position: fixed\n  top: 0\n  left: 0\n  width: 100%\n  height: 100%\n  background: rgba(0, 0, 0, 0.5)\n  z-index: 10\n  display: flex\n  align-items: center\n  justify-content: center\n  cursor: zoom-out\n\n  .inner\n    background: #fff\n    box-shadow: $content-shadow\n    padding: $gap-small\n    margin: $gap-small\n    border-radius: 5px\n    position: relative\n    width: 90%\n    height: auto\n    max-height: 80vh\n    cursor: initial\n\n    @include media($media-gt-medium)\n      padding: $gap-medium\n      width: 60%\n\n  img\n    max-width: 100%\n    max-height: 100%\n</style>\n","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!./Overlay.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!./Overlay.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Overlay.vue?vue&type=template&id=3c666f86&lang=html&\"\nimport script from \"./Overlay.vue?vue&type=script&lang=js&\"\nexport * from \"./Overlay.vue?vue&type=script&lang=js&\"\nfunction injectStyles (context) {\n  \n  var style0 = require(\"./Overlay.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  \"239c93a3\"\n  \n)\n\nexport default component.exports","// 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!./GalleryImage.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(\"5cf3f77e\", content, true, {\"sourceMap\":false,\"shadowMode\":false});"],"sourceRoot":""}