exports.ids = [13,11];
exports.modules = {

/***/ 123:
/***/ (function(module, exports, __webpack_require__) {

// style-loader: Adds some css to the DOM by adding a <style> tag

// load the styles
var content = __webpack_require__(126);
if(content.__esModule) content = content.default;
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add CSS to SSR context
var add = __webpack_require__(5).default
module.exports.__inject__ = function (context) {
  add("ad0f22d8", content, true, context)
};

/***/ }),

/***/ 124:
/***/ (function(module, exports, __webpack_require__) {

// style-loader: Adds some css to the DOM by adding a <style> tag

// load the styles
var content = __webpack_require__(129);
if(content.__esModule) content = content.default;
if(typeof content === 'string') content = [[module.i, content, '']];
if(content.locals) module.exports = content.locals;
// add CSS to SSR context
var add = __webpack_require__(5).default
module.exports.__inject__ = function (context) {
  add("659a930c", content, true, context)
};

/***/ }),

/***/ 125:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_nuxt_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Pagination_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(123);
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_nuxt_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Pagination_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_nuxt_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Pagination_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_nuxt_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Pagination_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_nuxt_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Pagination_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));


/***/ }),

/***/ 126:
/***/ (function(module, exports, __webpack_require__) {

// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(4);
var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
// Module
___CSS_LOADER_EXPORT___.push([module.i, ".pagination{display:flex;justify-content:center}.pagination__next,.pagination__prev{width:2rem;height:2rem}.pagination__btn,.pagination__next,.pagination__prev{margin-left:.25rem;margin-right:.25rem;border-radius:9999px}.pagination__btn{font-weight:600;font-size:.75rem;line-height:1rem;background-color:var(--color-shade-2);color:var(--color-negative-1);height:1.75rem;width:1.75rem}.pagination__btn--active{background-color:var(--color-accent-1);color:#fff}", ""]);
// Exports
module.exports = ___CSS_LOADER_EXPORT___;


/***/ }),

/***/ 127:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);

// CONCATENATED MODULE: D:/Development/StarlaneStudios/vindigo/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!D:/Development/StarlaneStudios/vindigo/node_modules/nuxt/node_modules/@nuxt/components/dist/loader.js??ref--0-0!D:/Development/StarlaneStudios/vindigo/node_modules/vue-loader/lib??vue-loader-options!./components/Pagination.vue?vue&type=template&id=5f36c2a7&
var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"pagination"},[(_vm.showArrows)?_c('w-button',{staticClass:"pagination__prev",attrs:{"icon":"mdi mdi-chevron-left","bg-color":"transparent","lg":"","disabled":_vm.pageNumber <= 1},on:{"click":function($event){return _vm.$emit('input', _vm.value - 1)}}}):_vm._e(),_vm._ssrNode(" "),_vm._l((_vm.visiblePages),function(i,j){return _c('w-button',{key:j,staticClass:"pagination__btn",class:_vm.buttonClass(i),attrs:{"bg-color":"accent-1"},on:{"click":function($event){return _vm.$emit('input', i - 1)}}},[_vm._v("\n\t\t"+_vm._s(i)+"\n\t")])}),_vm._ssrNode(" "),(_vm.showArrows)?_c('w-button',{staticClass:"pagination__next",attrs:{"icon":"mdi mdi-chevron-right","bg-color":"transparent","lg":"","disabled":_vm.pageNumber >= _vm.total},on:{"click":function($event){return _vm.$emit('input', _vm.value + 1)}}}):_vm._e()],2)}
var staticRenderFns = []


// CONCATENATED MODULE: ./components/Pagination.vue?vue&type=template&id=5f36c2a7&

// EXTERNAL MODULE: external "lodash"
var external_lodash_ = __webpack_require__(7);

// EXTERNAL MODULE: external "vue"
var external_vue_ = __webpack_require__(1);
var external_vue_default = /*#__PURE__*/__webpack_require__.n(external_vue_);

// CONCATENATED MODULE: D:/Development/StarlaneStudios/vindigo/node_modules/babel-loader/lib??ref--13-0!D:/Development/StarlaneStudios/vindigo/node_modules/ts-loader??ref--13-1!D:/Development/StarlaneStudios/vindigo/node_modules/nuxt/node_modules/@nuxt/components/dist/loader.js??ref--0-0!D:/Development/StarlaneStudios/vindigo/node_modules/vue-loader/lib??vue-loader-options!./components/Pagination.vue?vue&type=script&lang=ts&


/* harmony default export */ var Paginationvue_type_script_lang_ts_ = (external_vue_default.a.extend({
  name: 'Pagination',
  props: {
    value: {
      type: Number,
      required: true
    },
    total: {
      type: Number,
      required: true
    },
    visible: {
      type: Number,
      default: 5
    },
    showArrows: {
      type: Boolean,
      default: true
    }
  },
  computed: {
    pageNumber() {
      return this.value + 1;
    },

    visiblePages() {
      if (this.visible % 2 == 0) {
        throw new Error('visible must be odd');
      }

      const amount = Math.max(Math.min(this.total, this.visible), 1);
      const offset = Math.floor(amount / 2);
      return Object(external_lodash_["range"])(Math.min(Math.max(this.pageNumber - offset, 1), this.total - amount + 1), Math.min(Math.max(this.pageNumber + offset, amount), this.total) + 1);
    }

  },
  methods: {
    buttonClass(i) {
      return i == this.pageNumber || !this.total ? 'pagination__btn--active' : undefined;
    }

  }
}));
// CONCATENATED MODULE: ./components/Pagination.vue?vue&type=script&lang=ts&
 /* harmony default export */ var components_Paginationvue_type_script_lang_ts_ = (Paginationvue_type_script_lang_ts_); 
// EXTERNAL MODULE: D:/Development/StarlaneStudios/vindigo/node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__(2);

// CONCATENATED MODULE: ./components/Pagination.vue



function injectStyles (context) {
  
  var style0 = __webpack_require__(125)
if (style0.__inject__) style0.__inject__(context)

}

/* normalize component */

var component = Object(componentNormalizer["a" /* default */])(
  components_Paginationvue_type_script_lang_ts_,
  render,
  staticRenderFns,
  false,
  injectStyles,
  null,
  "75010324"
  
)

/* harmony default export */ var Pagination = __webpack_exports__["default"] = (component.exports);

/***/ }),

/***/ 128:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_nuxt_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ProjectList_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(124);
/* harmony import */ var _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_nuxt_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ProjectList_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_nuxt_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ProjectList_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__);
/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_nuxt_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ProjectList_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _node_modules_vue_style_loader_index_js_ref_7_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_7_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_7_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_7_oneOf_1_3_node_modules_sass_resources_loader_lib_loader_js_ref_7_oneOf_1_4_node_modules_nuxt_node_modules_nuxt_components_dist_loader_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ProjectList_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));


/***/ }),

/***/ 129:
/***/ (function(module, exports, __webpack_require__) {

// Imports
var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(4);
var ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(false);
// Module
___CSS_LOADER_EXPORT___.push([module.i, ".project-list__tab{padding-top:1rem;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-gap:1.25rem;gap:1.25rem}.project-list__tabs{border:none}.project-list__tabs .w-tabs__bar{display:none}.project-list__tabs .w-tabs__content{padding:0}.project-list__pagination{margin-top:1rem}.project-tile{border-radius:.75rem;padding:1rem;height:8rem;background-color:var(--color-shade-2);grid-column:span 12/span 12;background-size:cover;position:relative;overflow:hidden;color:unset}@media(min-width:901px){.project-tile{grid-column:span 6/span 6}}@media(min-width:1201px){.project-tile{grid-column:span 3/span 3}}.project-tile__title{font-weight:700;color:var(--color-negative-4)}.project-tile__title__badge{display:inline-block;height:20px;width:20px}.project-tile .project-tile__overlay{transition-property:background-color,border-color,color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;background-color:transparent;position:absolute;top:0;right:0;bottom:0;left:0}.project-tile:hover .project-tile__overlay{background-color:rgba(0,0,0,.1)}.project-tile .project-tile__cover{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s;position:absolute;left:0;right:0;top:0;min-height:5px;background-position:50%;background-size:cover}.project-tile--cover .project-tile__cover{bottom:0}.project-tile--cover .project-tile__title{position:relative;color:#fff;pointer-events:none;text-shadow:0 1px 2px rgba(0,0,0,.6),1px 1px 9px rgba(75,75,75,.5)}.project-tile--cover .project-tile__overlay{background-color:rgba(0,0,0,.2)}.project-tile--cover:hover .project-tile__cover{transform:scale(1.05)}", ""]);
// Exports
module.exports = ___CSS_LOADER_EXPORT___;


/***/ }),

/***/ 130:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);

// CONCATENATED MODULE: D:/Development/StarlaneStudios/vindigo/node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!D:/Development/StarlaneStudios/vindigo/node_modules/nuxt/node_modules/@nuxt/components/dist/loader.js??ref--0-0!D:/Development/StarlaneStudios/vindigo/node_modules/vue-loader/lib??vue-loader-options!./components/ProjectList.vue?vue&type=template&id=14c396dc&
var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"project-list"},[(!_vm.projects.length)?_vm._ssrNode("<div class=\"project-list__empty\">","</div>",[_vm._t("empty")],2):_c('w-tabs',{ref:"tabs",staticClass:"project-list__tabs",attrs:{"items":_vm.pageContents},scopedSlots:_vm._u([{key:"item-content",fn:function(ref){
var item = ref.item;
return [_c('div',{staticClass:"project-list__tab"},_vm._l((item.content),function(project){return _c('router-link',{key:project.id,staticClass:"project-tile",class:_vm.tileClass(project),attrs:{"to":project.projectUrl || '/'}},[_c('div',{staticClass:"project-tile__cover",style:(_vm.tileStyle(project))}),_vm._v(" "),_c('div',{staticClass:"project-tile__overlay"}),_vm._v(" "),_c('div',{staticClass:"project-tile__title"},[_vm._v("\n\t\t\t\t\t\t"+_vm._s(project.name)+"\n\n\t\t\t\t\t\t"),_c('authentic-badge',{directives:[{name:"show",rawName:"v-show",value:(project.isAuthentic),expression:"project.isAuthentic"}],staticClass:"project-tile__title__badge",attrs:{"color":project.accentColor}})],1)])}),1)]}}]),model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:"currentPage"}}),_vm._ssrNode(" "),(_vm.projects.length > _vm.projectsPerPage)?_c('pagination',{staticClass:"project-list__pagination",attrs:{"value":_vm.currentPage,"total":_vm.pageCount,"visible":5},on:{"input":_vm.openPage}}):_vm._e()],2)}
var staticRenderFns = []


// CONCATENATED MODULE: ./components/ProjectList.vue?vue&type=template&id=14c396dc&

// EXTERNAL MODULE: external "lodash"
var external_lodash_ = __webpack_require__(7);

// EXTERNAL MODULE: ./components/AuthenticBadge.vue + 4 modules
var AuthenticBadge = __webpack_require__(14);

// EXTERNAL MODULE: external "vue"
var external_vue_ = __webpack_require__(1);
var external_vue_default = /*#__PURE__*/__webpack_require__.n(external_vue_);

// CONCATENATED MODULE: D:/Development/StarlaneStudios/vindigo/node_modules/babel-loader/lib??ref--13-0!D:/Development/StarlaneStudios/vindigo/node_modules/ts-loader??ref--13-1!D:/Development/StarlaneStudios/vindigo/node_modules/nuxt/node_modules/@nuxt/components/dist/loader.js??ref--0-0!D:/Development/StarlaneStudios/vindigo/node_modules/vue-loader/lib??vue-loader-options!./components/ProjectList.vue?vue&type=script&lang=ts&



/* harmony default export */ var ProjectListvue_type_script_lang_ts_ = (external_vue_default.a.extend({
  name: 'ProjectList',
  components: {
    AuthenticBadge: AuthenticBadge["default"]
  },
  props: {
    projects: {
      type: Array,
      required: true
    },
    rows: {
      type: Number,
      required: true
    }
  },
  data: () => ({
    currentPage: 0
  }),
  computed: {
    projectsPerPage() {
      return this.rows * 4;
    },

    pageCount() {
      return Math.ceil(this.projects.length / this.projectsPerPage);
    },

    pageContents() {
      const grouped = Object(external_lodash_["chunk"])(this.projects, this.projectsPerPage);
      return grouped.map(group => ({
        title: 'Bruh',
        content: group
      }));
    }

  },
  methods: {
    openPage(page) {
      const tabs = this.$refs.tabs;
      tabs.openTab({
        _index: page
      });
    },

    tileStyle(project) {
      return project.coverImage ? {
        backgroundImage: `url(${project.coverImage})`
      } : project.accentColor ? {
        backgroundColor: project.accentColor
      } : undefined;
    },

    tileClass(project) {
      return {
        'project-tile--cover': project.coverImage
      };
    }

  }
}));
// CONCATENATED MODULE: ./components/ProjectList.vue?vue&type=script&lang=ts&
 /* harmony default export */ var components_ProjectListvue_type_script_lang_ts_ = (ProjectListvue_type_script_lang_ts_); 
// EXTERNAL MODULE: D:/Development/StarlaneStudios/vindigo/node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__(2);

// CONCATENATED MODULE: ./components/ProjectList.vue



function injectStyles (context) {
  
  var style0 = __webpack_require__(128)
if (style0.__inject__) style0.__inject__(context)

}

/* normalize component */

var component = Object(componentNormalizer["a" /* default */])(
  components_ProjectListvue_type_script_lang_ts_,
  render,
  staticRenderFns,
  false,
  injectStyles,
  null,
  "5d86b2bd"
  
)

/* harmony default export */ var ProjectList = __webpack_exports__["default"] = (component.exports);

/* nuxt-component-imports */
installComponents(component, {AuthenticBadge: __webpack_require__(14).default,Pagination: __webpack_require__(127).default})


/***/ })

};;
//# sourceMappingURL=project-list.js.map