{"version":3,"sources":["webpack:///./src/components/Forms/FieldTypes/MultiFileUploader/FormMultiFileUploaderField.vue?51ad","webpack:///./src/components/Forms/FieldTypes/MultiFileUploader/Modules/FormMultiFileUploaderGenericFileModule.vue?18d6","webpack:///./src/components/Forms/FieldTypes/MultiFileUploader/Modules/FormMultiFileUploaderGenericFileModule.vue","webpack:///./src/components/Forms/FieldTypes/MultiFileUploader/Modules/FormMultiFileUploaderGenericFileModule.vue?8362","webpack:///./src/components/Forms/FieldTypes/MultiFileUploader/Modules/FormMultiFileUploaderGenericFileModule.vue?9a55","webpack:///./src/components/Forms/FieldTypes/MultiFileUploader/Modules/FormMultiFileUploaderImageModule.vue?b160","webpack:///./src/components/Forms/FieldTypes/MultiFileUploader/Modules/FormMultiFileUploaderImageModule.vue","webpack:///./src/components/Forms/FieldTypes/MultiFileUploader/Modules/FormMultiFileUploaderImageModule.vue?7007","webpack:///./src/components/Forms/FieldTypes/MultiFileUploader/Modules/FormMultiFileUploaderImageModule.vue?1a52","webpack:///./src/components/Forms/FieldTypes/MultiFileUploader/Modules/FormMultiFileUploaderVideoModule.vue?b0f9","webpack:///./src/components/Forms/FieldTypes/MultiFileUploader/Modules/FormMultiFileUploaderVideoModule.vue","webpack:///./src/components/Forms/FieldTypes/MultiFileUploader/Modules/FormMultiFileUploaderVideoModule.vue?4b68","webpack:///./src/components/Forms/FieldTypes/MultiFileUploader/Modules/FormMultiFileUploaderVideoModule.vue?d616","webpack:///./src/components/Forms/FieldTypes/MultiFileUploader/FormMultiFileUploaderField.vue","webpack:///./src/components/Forms/FieldTypes/MultiFileUploader/FormMultiFileUploaderField.vue?a25c","webpack:///./src/components/Forms/FieldTypes/MultiFileUploader/FormMultiFileUploaderField.vue?4217","webpack:///./src/components/Forms/FieldTypes/MultiFileUploader/FormMultiFileUploaderField.vue?e115"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","class","hasErrors","def","TypeName","_l","file","idx","key","id","_v","_s","name","formatFileSize","size","attrs","on","$event","removeFile","files","length","Labels","NoFiles","_e","MaximumUploadSize","FormattedTotalMaxFileSize","mod","Type","_b","tag","handleAddFiles","staticRenderFns","uploadFiles","UploadButton","isMobile","canUploadImages","test","navigator","userAgent","AcceptableMIMETypes","some","m","indexOf","capture","fi","document","createElement","type","accept","join","multiple","style","display","setAttribute","onchange","$emit","remove","onblur","setTimeout","body","appendChild","click","component","ref","handleDone","video","File","lastModifiedDate","Date","components","VideoRecorder","errors","map","f","reduce","acc","current","index","splice","i","totalFileSize","TotalMaxFileSize","push","GetGuid","Log","Debug","b","u","s","toFixed","Key","Value","value","Array","filter","v","val","FormMultiFileUploaderGenericFileModule","FormMultiFileUploaderImageModule","FormMultiFileUploaderVideoModule"],"mappings":"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","file":"js/chunk-6065764b.e3ca826f.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"form-field\",class:[{'has-errors': _vm.hasErrors}, 'form-field--' + _vm.def.TypeName]},[_c('div',{staticClass:\"mfu__files\"},[_c('ul',{staticClass:\"mfu__files__list\"},[_vm._l((_vm.files),function(file,idx){return _c('li',{key:file.id},[_c('span',{staticClass:\"mfu__files__list__item__label\"},[_vm._v(_vm._s(file.file.name)+\" - \"+_vm._s(_vm.formatFileSize(file.file.size)))]),_c('span',{staticClass:\"mfu__files__list__item__remove\"},[_c('Button',{attrs:{\"size\":\"tiny\"},on:{\"click\":function($event){return _vm.removeFile(idx)}}},[_vm._v(\"Remove\")])],1)])}),(_vm.files.length === 0)?_c('li',{staticClass:\"mfu__files__list__no-items\"},[_vm._v(\" \"+_vm._s(_vm.def.Labels.NoFiles)+\" \")]):_vm._e()],2)]),_c('div',{staticClass:\"mfu__upload-size center-text\"},[_vm._v(\" \"+_vm._s(_vm.def.Labels.MaximumUploadSize)+_vm._s(_vm.def.FormattedTotalMaxFileSize)+\" \")]),_c('div',{staticClass:\"mfu__modules\"},_vm._l((_vm.def.Modules),function(mod){return _c('div',{key:mod.Type,staticClass:\"mfu__module__wrap\"},[_c('Form' + mod.Type,_vm._b({tag:\"component\",on:{\"add_files\":_vm.handleAddFiles}},'component',{'def': mod},false))],1)}),0)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"mfu-module\"},[_c('ButtonGroup',[_c('Button',{on:{\"click\":function($event){return _vm.uploadFiles(false)}}},[_vm._v(_vm._s(_vm.def.Labels.UploadButton))]),(_vm.isMobile && _vm.canUploadImages)?_c('Button',{on:{\"click\":function($event){return _vm.uploadFiles(true)}}},[_vm._v(\"Take Photo\")]):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\nimport { Component, Vue, Prop } from 'vue-property-decorator';\nimport { MultiFileUploaderGenericFileModule } from 'client-website-ts-library/types/Forms/FieldTypes';\n\n@Component\nexport default class FormMultiFileUploaderGenericFileModule extends Vue {\n @Prop()\n private readonly def!: MultiFileUploaderGenericFileModule;\n\n private get isMobile(): boolean {\n return /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);\n }\n\n private get canUploadImages() {\n return this.def.AcceptableMIMETypes.some((m) => m.indexOf('image/') !== -1);\n }\n\n private uploadFiles(capture: boolean): void {\n const fi = document.createElement('input') as HTMLInputElement;\n\n fi.type = 'file';\n fi.accept = this.def.AcceptableMIMETypes.join(',');\n fi.multiple = true;\n fi.style.display = 'none';\n\n if (capture) {\n fi.setAttribute('capture', 'envionment');\n }\n\n fi.onchange = () => {\n if (fi.files!.length) {\n this.$emit('add_files', fi.files!);\n\n fi.remove();\n }\n };\n\n fi.onblur = () => {\n setTimeout(() => {\n fi.remove();\n }, 100);\n };\n\n document.body.appendChild(fi);\n\n fi.click();\n }\n}\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormMultiFileUploaderGenericFileModule.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormMultiFileUploaderGenericFileModule.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FormMultiFileUploaderGenericFileModule.vue?vue&type=template&id=cf0acd88&\"\nimport script from \"./FormMultiFileUploaderGenericFileModule.vue?vue&type=script&lang=ts&\"\nexport * from \"./FormMultiFileUploaderGenericFileModule.vue?vue&type=script&lang=ts&\"\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 null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"mfu-module\"},[_c('ButtonGroup',[_c('Button',{on:{\"click\":function($event){return _vm.uploadFiles(true)}}},[_vm._v(_vm._s(_vm.def.Labels.UploadButton))])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\nimport { Component, Vue, Prop } from 'vue-property-decorator';\nimport { MultiFileUploaderImageModule } from 'client-website-ts-library/types/Forms/FieldTypes';\n\n@Component\nexport default class FormMultiFileUploaderImageModule extends Vue {\n @Prop()\n private readonly def!: MultiFileUploaderImageModule;\n\n private uploadFiles(capture: boolean): void {\n const fi = document.createElement('input') as HTMLInputElement;\n\n fi.type = 'file';\n fi.accept = this.def.AcceptableMIMETypes.join(',');\n fi.multiple = true;\n fi.style.display = 'none';\n\n if (capture) {\n fi.setAttribute('capture', 'envionment');\n }\n\n fi.onchange = () => {\n if (fi.files!.length) {\n this.$emit('add_files', fi.files!);\n\n fi.remove();\n }\n };\n\n fi.onblur = () => {\n setTimeout(() => {\n fi.remove();\n }, 100);\n };\n\n document.body.appendChild(fi);\n\n fi.click();\n }\n}\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormMultiFileUploaderImageModule.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormMultiFileUploaderImageModule.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FormMultiFileUploaderImageModule.vue?vue&type=template&id=8babc446&\"\nimport script from \"./FormMultiFileUploaderImageModule.vue?vue&type=script&lang=ts&\"\nexport * from \"./FormMultiFileUploaderImageModule.vue?vue&type=script&lang=ts&\"\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 null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"mfu-module\"},[_c('VideoRecorder',{ref:\"recorder\",attrs:{\"def\":_vm.def},on:{\"done\":_vm.handleDone}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\nimport { Component, Vue, Prop } from 'vue-property-decorator';\nimport { MultiFileUploaderVideoModule } from 'client-website-ts-library/types/Forms/FieldTypes';\nimport { VideoRecorder } from 'client-website-ts-library/components';\n\n@Component({\n components: {\n VideoRecorder,\n },\n})\nexport default class FormMultiFileUploaderVideoModule extends Vue {\n @Prop()\n private readonly def!: MultiFileUploaderVideoModule;\n\n private get isMobile(): boolean {\n return /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);\n }\n\n handleDone(video: Blob | null) {\n if (video !== null) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const file = video as any;\n\n if (!(video instanceof File)) {\n file.lastModifiedDate = new Date();\n file.name = 'Video';\n }\n\n this.$emit('add_files', [file as File]);\n }\n }\n}\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormMultiFileUploaderVideoModule.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormMultiFileUploaderVideoModule.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FormMultiFileUploaderVideoModule.vue?vue&type=template&id=3d09c4ab&\"\nimport script from \"./FormMultiFileUploaderVideoModule.vue?vue&type=script&lang=ts&\"\nexport * from \"./FormMultiFileUploaderVideoModule.vue?vue&type=script&lang=ts&\"\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 null,\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue, Prop } from 'vue-property-decorator';\nimport { IFormField, MultiFileUploader } from 'client-website-ts-library/types/Forms/FieldTypes';\nimport { FormSubmissionValidationError, FormValue } from 'client-website-ts-library/types/Forms';\nimport { Utils } from 'client-website-ts-library/util';\nimport { Logger, LogLevel } from 'client-website-ts-library/services';\n\nimport FormMultiFileUploaderGenericFileModule from './Modules/FormMultiFileUploaderGenericFileModule.vue';\nimport FormMultiFileUploaderImageModule from './Modules/FormMultiFileUploaderImageModule.vue';\nimport FormMultiFileUploaderVideoModule from './Modules/FormMultiFileUploaderVideoModule.vue';\n\ninterface MFUItem {\n file: File;\n id: string;\n}\n\n@Component({\n components: {\n FormMultiFileUploaderGenericFileModule,\n FormMultiFileUploaderImageModule,\n FormMultiFileUploaderVideoModule,\n },\n})\nexport default class FormMultiFileUploaderField extends Vue implements IFormField {\n @Prop()\n private readonly def!: MultiFileUploader;\n\n @Prop()\n private readonly errors!: FormSubmissionValidationError[];\n\n private files: MFUItem[] = [];\n\n get hasErrors(): boolean {\n return this.errors.length > 0;\n }\n\n get totalFileSize(): number {\n return this.files.map((f) => f.file.size).reduce((acc, current) => acc + current, 0);\n }\n\n private removeFile(index: number): void {\n this.files.splice(index, 1);\n }\n\n private handleAddFiles(files: File[]): void {\n for (let i = 0; i < files.length; i += 1) {\n const file = files[i];\n\n if (this.totalFileSize + file.size <= this.def.TotalMaxFileSize) {\n this.files.push({\n file,\n id: Utils.GetGuid(),\n });\n } else {\n Logger.Log(LogLevel.Debug, '[MFU]', 'Max file size will be exceded, skipping file.');\n }\n }\n }\n\n private formatFileSize(size: number): string {\n let b = size;\n\n let u = 0;\n const s = 1024;\n\n while (b >= s || -b >= s) {\n b /= s;\n u += 1;\n }\n\n return `${u ? `${b.toFixed(1)} ` : b} ${' KMGTPEZY'[u]}B`;\n // return (u ? b.toFixed(1) + ' ' : b) + ' KMGTPEZY'[u] + 'B';\n }\n\n getValue(): FormValue {\n return {\n Key: this.def.Key,\n Value: this.files.map((f) => f.file),\n };\n }\n\n setValue(value: FormValue) {\n if (value.Value instanceof Array) {\n this.files = (value.Value as unknown[])\n .filter((v: unknown) => v instanceof File)\n .map((v: unknown) => {\n const val = v as File;\n\n return { file: val, id: Utils.GetGuid() } as MFUItem;\n });\n }\n }\n}\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormMultiFileUploaderField.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormMultiFileUploaderField.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FormMultiFileUploaderField.vue?vue&type=template&id=d8464c12&scoped=true&\"\nimport script from \"./FormMultiFileUploaderField.vue?vue&type=script&lang=ts&\"\nexport * from \"./FormMultiFileUploaderField.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./FormMultiFileUploaderField.vue?vue&type=style&index=0&id=d8464c12&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 \"d8464c12\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.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/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormMultiFileUploaderField.vue?vue&type=style&index=0&id=d8464c12&scoped=true&lang=css&\""],"sourceRoot":""}