{"version":3,"sources":["webpack:///./src/modules/auth/Auth.vue?60f6","webpack:///./src/global/viewmodels/steppable.ts","webpack:///./src/modules/auth/Auth.vue","webpack:///./src/modules/auth/Auth.vue?e0bb","webpack:///./src/modules/auth/Auth.vue?337c","webpack:///./src/modules/auth/model/loginModel.ts","webpack:///./src/modules/auth/model/registerModel.ts","webpack:///./src/modules/auth/Auth.vue?3a48","webpack:///./src/plugins/mixins/mobileTypeMixin.ts","webpack:///./src/plugins/mixins/validationMixin.ts","webpack:///./src/layout/assets/img/biobank-bg.png"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","isMobileDevice","staticClass","class","model","staticRenderFns","max","current","min","check","step","id","mobileTypeMixin","validationMixin","routeMixin","extend","components","Login","data","stepper","component","options","type","LoginModel","email","password","Object","assign","prenom","nom","confirmPassword","methods","isAndroid","navigator","userAgent","match","isBlackBerry","isiOS","isOpera","isWindows","rules","required","value","$translator","language","plugins","validation","size","length","pattern","test","module","exports"],"mappings":"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","file":"js/chunk-61f1fa95.da77df8b.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{attrs:{\"fill-height\":_vm.isMobileDevice() ? false : true}},[_c('v-img',{staticClass:\"background\",attrs:{\"src\":require('@/layout/assets/img/biobank-bg.png')}}),_c('v-row',{attrs:{\"dense\":\"\",\"no-gutters\":\"\",\"justify\":\"center\"}},[_c('v-card',{staticClass:\"text-center rounded-tl-xl rounded-br-xl slide-in-left\",class:_vm.isMobileDevice() ? 'col-12' : 'col-5',attrs:{\"min-height\":_vm.isMobileDevice() ? '95vh' : '',\"elevation\":\"24\"}},[_c('Login',{attrs:{\"model\":_vm.model}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default class Steppable {\r\n public step!: number\r\n public min = 0\r\n public max!: number\r\n\r\n constructor(max: number, current = 0) {\r\n this.max = max\r\n if (this.check(current)) this.step = current\r\n }\r\n public previous() {\r\n if (this.step > 0) this.step--\r\n }\r\n public next() {\r\n if (this.step < this.max) this.step++\r\n }\r\n public goToStep(id: number) {\r\n if (this.check(id)) this.step = id\r\n }\r\n\r\n public check(id: number) {\r\n return id >= this.min && id <= this.max\r\n }\r\n}\r\n","\n\n\n\n\n\n\n\n\n\n\n\r\nimport mobileTypeMixin from '@/plugins/mixins/mobileTypeMixin'\r\nimport validationMixin from '@/plugins/mixins/validationMixin'\r\nimport mixins from 'vue-typed-mixins'\r\nimport RegisterModel from './model/registerModel'\r\nimport routeMixin from '@/router/routeMixin'\r\nimport Steppable from '@/global/viewmodels/steppable'\r\n\r\nexport default mixins(mobileTypeMixin, validationMixin, routeMixin).extend({\r\n components: { Login: () => import('./components/Login.vue') },\r\n data() {\r\n return {\r\n stepper: new Steppable(1, 0),\r\n model: new RegisterModel()\r\n }\r\n }\r\n})\r\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!./Auth.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!./Auth.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Auth.vue?vue&type=template&id=3957841e&scoped=true&\"\nimport script from \"./Auth.vue?vue&type=script&lang=ts&\"\nexport * from \"./Auth.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Auth.vue?vue&type=style&index=0&id=3957841e&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 \"3957841e\",\n null\n \n)\n\nexport default component.exports","export default class LoginModel {\r\n public type = LoginModel\r\n\r\n public email = ''\r\n public password = ''\r\n\r\n constructor(options?: Partial) {\r\n Object.assign(this, options)\r\n }\r\n}\r\n","import LoginModel from './loginModel'\r\n\r\nexport default class RegisterModel {\r\n public prenom = ''\r\n public nom = ''\r\n public email = ''\r\n public password = ''\r\n public confirmPassword = ''\r\n\r\n public asLoginModel() {\r\n return new LoginModel({ email: this.email, password: this.password })\r\n }\r\n}\r\n","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!./Auth.vue?vue&type=style&index=0&id=3957841e&scoped=true&lang=css&\"","// Pour le mixin :https://stackoverflow.com/questions/48515023/display-different-vuejs-components-for-mobile-browsers\r\n\r\nimport Vue from 'vue'\r\n\r\n// Pour la détection : https://stackoverflow.com/questions/11381673/detecting-a-mobile-browser\r\nexport default Vue.extend({\r\n methods: {\r\n isAndroid() {\r\n return navigator.userAgent.match(/Android/i)\r\n },\r\n isBlackBerry: function() {\r\n return navigator.userAgent.match(/BlackBerry/i)\r\n },\r\n isiOS: function() {\r\n return navigator.userAgent.match(/iPhone|iPad|iPod/i)\r\n },\r\n isOpera: function() {\r\n return navigator.userAgent.match(/Opera Mini/i)\r\n },\r\n isWindows: function() {\r\n return navigator.userAgent.match(/IEMobile/i) || navigator.userAgent.match(/WPDesktop/i)\r\n },\r\n isMobileDevice() {\r\n return this.isAndroid() || this.isBlackBerry() || this.isiOS() || this.isOpera() || this.isWindows()\r\n }\r\n }\r\n})\r\n","import Vue from 'vue'\r\n\r\nexport default Vue.extend({\r\n data() {\r\n return {\r\n rules: {\r\n required: (value: string) => !!value || this.$translator.language.data.plugins.validation.required,\r\n min: (value: string, size = 8) => value?.length >= size || `${this.$translator.language.data.plugins.validation.min}${size}`,\r\n\r\n max: (value: string, size = 255) => value.length <= size || `${this.$translator.language.data.plugins.validation.max}${size}`,\r\n\r\n email: (value: string) => {\r\n const pattern = /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/\r\n return pattern.test(value) || this.$translator.language.data.plugins.validation.email\r\n }\r\n }\r\n }\r\n }\r\n})\r\n","module.exports = __webpack_public_path__ + \"img/biobank-bg.984b2cf5.png\";"],"sourceRoot":""}