exports.ids = [4];
exports.modules = {

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

"use strict";
/* harmony import */ var _util_mixins__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3);
/* harmony import */ var _mixins_binds_attrs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(31);
/* harmony import */ var _mixins_registrable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(39);
// Mixins



/* @vue/component */

/* harmony default export */ __webpack_exports__["a"] = (Object(_util_mixins__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(_mixins_binds_attrs__WEBPACK_IMPORTED_MODULE_1__[/* default */ "a"], Object(_mixins_registrable__WEBPACK_IMPORTED_MODULE_2__[/* provide */ "b"])('form')
/* @vue/component */).extend({
  name: 'v-form',
  provide() {
    return {
      form: this
    };
  },
  inheritAttrs: false,
  props: {
    disabled: Boolean,
    lazyValidation: Boolean,
    readonly: Boolean,
    value: Boolean
  },
  data: () => ({
    inputs: [],
    watchers: [],
    errorBag: {}
  }),
  watch: {
    errorBag: {
      handler(val) {
        const errors = Object.values(val).includes(true);
        this.$emit('input', !errors);
      },
      deep: true,
      immediate: true
    }
  },
  methods: {
    watchInput(input) {
      const watcher = input => {
        return input.$watch('hasError', val => {
          this.$set(this.errorBag, input._uid, val);
        }, {
          immediate: true
        });
      };
      const watchers = {
        _uid: input._uid,
        valid: () => {},
        shouldValidate: () => {}
      };
      if (this.lazyValidation) {
        // Only start watching inputs if we need to
        watchers.shouldValidate = input.$watch('shouldValidate', val => {
          if (!val) return; // Only watch if we're not already doing it

          if (this.errorBag.hasOwnProperty(input._uid)) return;
          watchers.valid = watcher(input);
        });
      } else {
        watchers.valid = watcher(input);
      }
      return watchers;
    },
    /** @public */
    validate() {
      return this.inputs.filter(input => !input.validate(true)).length === 0;
    },
    /** @public */
    reset() {
      this.inputs.forEach(input => input.reset());
      this.resetErrorBag();
    },
    resetErrorBag() {
      if (this.lazyValidation) {
        // Account for timeout in validatable
        setTimeout(() => {
          this.errorBag = {};
        }, 0);
      }
    },
    /** @public */
    resetValidation() {
      this.inputs.forEach(input => input.resetValidation());
      this.resetErrorBag();
    },
    register(input) {
      this.inputs.push(input);
      this.watchers.push(this.watchInput(input));
    },
    unregister(input) {
      const found = this.inputs.find(i => i._uid === input._uid);
      if (!found) return;
      const unwatch = this.watchers.find(i => i._uid === found._uid);
      if (unwatch) {
        unwatch.valid();
        unwatch.shouldValidate();
      }
      this.watchers = this.watchers.filter(i => i._uid !== found._uid);
      this.inputs = this.inputs.filter(i => i._uid !== found._uid);
      this.$delete(this.errorBag, found._uid);
    }
  },
  render(h) {
    return h('form', {
      staticClass: 'v-form',
      attrs: {
        novalidate: true,
        ...this.attrs$
      },
      on: {
        submit: e => this.$emit('submit', e)
      }
    }, this.$slots.default);
  }
}));

/***/ }),

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

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

// EXTERNAL MODULE: ./node_modules/vuetify/lib/components/VBtn/VBtn.js
var VBtn = __webpack_require__(87);

// EXTERNAL MODULE: ./node_modules/vuetify/lib/components/VCard/VCard.js
var VCard = __webpack_require__(88);

// EXTERNAL MODULE: ./node_modules/vuetify/lib/components/VCard/index.js
var components_VCard = __webpack_require__(14);

// EXTERNAL MODULE: ./node_modules/vuetify/lib/components/VForm/VForm.js
var VForm = __webpack_require__(253);

// EXTERNAL MODULE: ./node_modules/vuetify/lib/components/VGrid/VSpacer.js
var VSpacer = __webpack_require__(223);

// CONCATENATED MODULE: ./node_modules/vuetify-loader/lib/loader.js??ref--4!./node_modules/cache-loader/dist/cjs.js??ref--2-0!./node_modules/babel-loader/lib??ref--2-1!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--7!./node_modules/pug-plain-loader??ref--1-oneOf-0-0!./node_modules/vue-loader/lib??vue-loader-options!./pages/Authorize.vue?vue&type=template&id=87a60782&lang=pug








var Authorizevue_type_template_id_87a60782_lang_pug_render = function render() {
  var _vm = this,
    _c = _vm._self._c;
  return _c(VForm["a" /* default */], {
    staticClass: "d-flex justify-space-around",
    attrs: {
      "method": "post",
      "action": "/oauth/authorize"
    }
  }, [_c(VCard["a" /* default */], {
    staticClass: "mt-5",
    attrs: {
      "max-width": "600px"
    }
  }, [_c(components_VCard["d" /* VCardTitle */], [_vm._v(_vm._s(_vm.settings.title) + " - " + _vm._s(_vm.$t('common.authorize')))]), _c(components_VCard["c" /* VCardText */], [_c('h2', [_vm._v(_vm._s(_vm.$auth.user.email))]), _c('input', {
    attrs: {
      "name": "transaction_id",
      "type": "hidden"
    },
    domProps: {
      "value": _vm.transactionID
    }
  }), _c('u', [_vm._v(_vm._s(_vm.$auth.user.email))]), _c('div', [_c('p', {
    domProps: {
      "innerHTML": _vm._s(_vm.$t('oauth.authorization_request', {
        app: _vm.client,
        instance_name: _vm.settings.title
      }))
    }
  }), _c('ul', {
    staticClass: "mb-2"
  }, [_c('li', [_vm._v(_vm._s(_vm.$t(`oauth.scopes.${_vm.scope}`)))])]), _c('span', {
    domProps: {
      "innerHTML": _vm._s(_vm.$t('oauth.redirected_to', {
        url: _vm.redirect_uri
      }))
    }
  })])]), _c(components_VCard["a" /* VCardActions */], [_c(VSpacer["a" /* default */]), _c(VBtn["a" /* default */], {
    attrs: {
      "color": "error",
      "to": "/",
      "outlined": ""
    }
  }, [_vm._v(_vm._s(_vm.$t('common.cancel')))]), _c(VBtn["a" /* default */], {
    attrs: {
      "type": "submit",
      "color": "success",
      "outlined": ""
    }
  }, [_vm._v(_vm._s(_vm.$t('common.authorize')))])], 1)], 1)], 1);
};
var staticRenderFns = [];

// CONCATENATED MODULE: ./pages/Authorize.vue?vue&type=template&id=87a60782&lang=pug

// EXTERNAL MODULE: external "vuex"
var external_vuex_ = __webpack_require__(9);

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--2-0!./node_modules/babel-loader/lib??ref--2-1!./node_modules/vue-loader/lib??vue-loader-options!./pages/Authorize.vue?vue&type=script&lang=js

/* harmony default export */ var Authorizevue_type_script_lang_js = ({
  name: 'Authorize',
  layout: 'modal',
  middleware: ['auth'],
  async asyncData({
    $axios,
    query,
    error,
    req
  }) {
    const {
      transactionID,
      client,
      scope,
      redirect_uri
    } = query;
    return {
      transactionID,
      client,
      redirect_uri,
      scope
    };
  },
  computed: Object(external_vuex_["mapState"])(['settings']),
  head() {
    return {
      title: `${this.settings.title} - Authorize`
    };
  }
});
// CONCATENATED MODULE: ./pages/Authorize.vue?vue&type=script&lang=js
 /* harmony default export */ var pages_Authorizevue_type_script_lang_js = (Authorizevue_type_script_lang_js); 
// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__(7);

// CONCATENATED MODULE: ./pages/Authorize.vue





/* normalize component */

var component = Object(componentNormalizer["a" /* default */])(
  pages_Authorizevue_type_script_lang_js,
  Authorizevue_type_template_id_87a60782_lang_pug_render,
  staticRenderFns,
  false,
  null,
  null,
  "a560f756"
  
)

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

/***/ })

};;
//# sourceMappingURL=Authorize.js.map