{"version":3,"sources":["webpack:///./src/common/utils/fileUtils.ts","webpack:///../../../src/components/VFileInput/VFileInput.ts","webpack:///../../../src/components/VTextField/index.ts","webpack:///../../../src/components/VToolbar/index.ts","webpack:///./src/common/components/CDeleteConfirm.vue?5439","webpack:///./src/common/components/CDeleteConfirm.vue","webpack:///./src/common/components/CDeleteConfirm.vue?7057","webpack:///./src/common/components/CDeleteConfirm.vue?5752","webpack:///./src/common/components/CForm.vue?f82c","webpack:///./src/common/components/CForm.vue","webpack:///./src/common/components/CForm.vue?8ca1","webpack:///./src/common/components/CForm.vue?393b","webpack:///./src/common/components/CDeleteConfirm.vue?b3c3","webpack:///../../../src/mixins/rippleable/index.ts","webpack:///./src/common/validators/rules.ts","webpack:///../../../src/components/VSwitch/VSwitch.ts","webpack:///../../../src/components/VChip/VChip.ts","webpack:///./src/components/documents/Documents.vue?2e63","webpack:///./src/store/documents-api.ts","webpack:///./src/components/documents/DocumentsForm.vue?bdd1","webpack:///./src/components/documents/DocumentsForm.vue","webpack:///./src/components/documents/DocumentsForm.vue?8d27","webpack:///./src/components/documents/DocumentsForm.vue?b5dc","webpack:///./src/components/documents/Documents.vue","webpack:///./src/components/documents/Documents.vue?3c40","webpack:///./src/components/documents/Documents.vue?1338","webpack:///../../../src/mixins/selectable/index.ts"],"names":["objectToFormData","obj","formData","options","pre","this","isFormData","indices","FormData","isUndefined","isNull","isArray","forEach","value","index","key","isFile","isDate","append","toISOString","isObject","isBlob","name","Object","keys","prop","length","lastIndexOf","substring","undefined","Array","Date","size","type","slice","lastModifiedDate","lastModified","model","event","props","chips","clearable","default","counterSizeString","counterString","hideInput","multiple","placeholder","prependIcon","readonly","showSize","Boolean","validator","v","includes","smallChips","truncateLength","Number","val","computed","classes","computedCounterValue","fileCount","lazyValue","$vuetify","lang","t","bytes","internalArrayValue","reduce","base","internalValue","get","set","isDirty","isLabelActive","text","persistentPlaceholder","map","file","truncatedText","hasChips","watch","handler","immediate","$refs","input","methods","clearableCallback","genChips","small","on","genControl","render","display","genInput","genPrependSlot","icon","genIcon","genSlot","genSelectionText","genSelections","children","$scopedSlots","$createElement","staticClass","class","selection","genTextFieldSlot","node","click","e","onInput","files","onKeyDown","truncateText","str","charsKeepOneSide","Math","VToolbarTitle","VToolbarItems","_vm","_h","_c","_self","hasActivator","attrs","callback","$$v","dialog","expression","_v","_t","_s","titleText","close","confirmed","open","staticRenderFns","item","activator","title","Function","CDeleteConfirm","components","VProgressLinear","VForm","VDivider","component","VBtn","VCard","VCardActions","VCardText","VCardTitle","VDialog","VSpacer","loading","ref","$event","preventDefault","submit","_e","validate","form","reset","resetValidation","String","CForm","VIcon","VToolbar","directives","ripple","genRipple","data","center","required","toString","trim","maxLength","email","test","requiredIf","other","message","Touch","inset","flat","role","validationState","hasError","hasColor","switchData","setTextColor","themeClasses","genDefaultSlot","genSwitch","switchAttrs","left","right","onSwipeRight","genProgress","$slots","progress","color","width","indeterminate","onSwipeLeft","onChange","onKeydown","active","activeClass","chipGroup","closeIcon","closeLabel","disabled","draggable","filter","filterIcon","label","link","outlined","pill","tag","textColor","proxyClass","groupClasses","hasClose","isClickable","created","breakingProps","original","replacement","genFilter","genClose","genContent","tabindex","setBackgroundColor","h","upsertItem","_l","idx","mediaUri","confirmDelete","deleteConfirmed","getAll","axios","save","document","id","put","post","delete","documentId","scopedSlots","_u","fn","formTitle","proxy","$set","validators","documentsStore","assign","$nextTick","then","finally","DocumentsForm","VCol","VFileInput","VRow","VSwitch","VTextField","documentStore","documents","mounted","res","upsert","Documents","inputValue","falseValue","trueValue","computedColor","isDark","isMultiple","isActive","valueComparator","rippleState","genLabel","prevent","domProps","checked","blur","change","focus","keydown","onClick","onFocus","onBlur"],"mappings":"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","file":"js/document.62de7fc6.js","sourcesContent":["export default class FileUtils {\n static objectToFormData(obj: any, formData?: any, options?: any, pre?: any) {\n // takes a {} object and returns a FormData object\n // https://gist.github.com/ghinda/8442a57f22099bdb2e34\n // https://github.com/therealparmesh/object-to-formdata/blob/master/index.js\n //objectToFormData(\n // object,\n // existingFormData, // optional\n // options, // optional\n // keyPrefix // optional\n //)\n\n // whether or not to include array indices in FormData keys\n // defaults to true\n // const options = {\n // indices: true\n //}\n if (this.isFormData(options)) {\n pre = formData;\n formData = options;\n options = null;\n }\n\n options = options || {};\n options.indices = options.indices || true;\n formData = formData || new FormData();\n\n if (this.isUndefined(obj) || this.isNull(obj)) {\n return formData;\n } else if (this.isArray(obj)) {\n obj.forEach((value: any, index: any) => {\n // FILES do not appear to work with an index anymore on core\n let key = pre;\n if (!this.isFile(value)) {\n key = pre + \"[\" + (options.indices ? index : \"\") + \"]\";\n }\n this.objectToFormData(value, formData, options, key);\n });\n } else if (this.isDate(obj)) {\n formData.append(pre, obj.toISOString());\n } else if (this.isObject(obj) && !this.isFile(obj) && !this.isBlob(obj)) {\n Object.keys(obj).forEach((prop) => {\n const value = obj[prop];\n if (this.isArray(value)) {\n while (prop.length > 2 && prop.lastIndexOf(\"[]\") === prop.length - 2) {\n prop = prop.substring(0, prop.length - 2);\n }\n }\n\n const key = pre ? pre + \".\" + prop : prop;\n\n this.objectToFormData(value, formData, options, key);\n });\n } else if (this.isBlob(obj)) {\n formData.append(pre, obj, obj.name);\n } else {\n formData.append(pre, obj);\n }\n\n return formData;\n }\n\n static isUndefined(value: any) {\n return value === undefined;\n }\n static isNull(value: any) {\n return value === null;\n }\n static isObject(value: any) {\n return value === Object(value);\n }\n static isArray(value: any) {\n return Array.isArray(value);\n }\n static isDate(value: any) {\n return value instanceof Date;\n }\n static isBlob(value: any) {\n return (\n value &&\n typeof value.size === \"number\" &&\n typeof value.type === \"string\" &&\n typeof value.slice === \"function\"\n );\n }\n static isFile(value: any) {\n return (\n this.isBlob(value) &&\n (typeof value.lastModifiedDate === \"object\" || typeof value.lastModified === \"number\") &&\n typeof value.name === \"string\"\n );\n }\n static isFormData(value: any) {\n return value instanceof FormData;\n }\n}\n","// Styles\nimport './VFileInput.sass'\n\n// Extensions\nimport VTextField from '../VTextField'\n\n// Components\nimport { VChip } from '../VChip'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\n\n// Utilities\nimport { deepEqual, humanReadableFileSize, wrapInArray } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\nimport { mergeStyles } from '../../util/mergeData'\n\nexport default VTextField.extend({\n name: 'v-file-input',\n\n model: {\n prop: 'value',\n event: 'change',\n },\n\n props: {\n chips: Boolean,\n clearable: {\n type: Boolean,\n default: true,\n },\n counterSizeString: {\n type: String,\n default: '$vuetify.fileInput.counterSize',\n },\n counterString: {\n type: String,\n default: '$vuetify.fileInput.counter',\n },\n hideInput: Boolean,\n multiple: Boolean,\n placeholder: String,\n prependIcon: {\n type: String,\n default: '$file',\n },\n readonly: {\n type: Boolean,\n default: false,\n },\n showSize: {\n type: [Boolean, Number],\n default: false,\n validator: (v: boolean | number) => {\n return (\n typeof v === 'boolean' ||\n [1000, 1024].includes(v)\n )\n },\n } as PropValidator,\n smallChips: Boolean,\n truncateLength: {\n type: [Number, String],\n default: 22,\n },\n type: {\n type: String,\n default: 'file',\n },\n value: {\n default: undefined,\n validator: val => {\n return wrapInArray(val).every(v => v != null && typeof v === 'object')\n },\n } as PropValidator,\n },\n\n computed: {\n classes (): object {\n return {\n ...VTextField.options.computed.classes.call(this),\n 'v-file-input': true,\n }\n },\n computedCounterValue (): string {\n const fileCount = (this.multiple && this.lazyValue)\n ? this.lazyValue.length\n : (this.lazyValue instanceof File) ? 1 : 0\n\n if (!this.showSize) return this.$vuetify.lang.t(this.counterString, fileCount)\n\n const bytes = this.internalArrayValue.reduce((bytes: number, { size = 0 }: File) => {\n return bytes + size\n }, 0)\n\n return this.$vuetify.lang.t(\n this.counterSizeString,\n fileCount,\n humanReadableFileSize(bytes, this.base === 1024)\n )\n },\n internalArrayValue (): File[] {\n return wrapInArray(this.internalValue)\n },\n internalValue: {\n get (): File[] {\n return this.lazyValue\n },\n set (val: File | File[]) {\n this.lazyValue = val\n this.$emit('change', this.lazyValue)\n },\n },\n isDirty (): boolean {\n return this.internalArrayValue.length > 0\n },\n isLabelActive (): boolean {\n return this.isDirty\n },\n text (): string[] {\n if (!this.isDirty && (this.persistentPlaceholder || this.isFocused || !this.hasLabel)) return [this.placeholder]\n\n return this.internalArrayValue.map((file: File) => {\n const {\n name = '',\n size = 0,\n } = file\n\n const truncatedText = this.truncateText(name)\n\n return !this.showSize\n ? truncatedText\n : `${truncatedText} (${humanReadableFileSize(size, this.base === 1024)})`\n })\n },\n base (): 1000 | 1024 | undefined {\n return typeof this.showSize !== 'boolean' ? this.showSize : undefined\n },\n hasChips (): boolean {\n return this.chips || this.smallChips\n },\n },\n\n watch: {\n readonly: {\n handler (v) {\n if (v === true) consoleError('readonly is not supported on ', this)\n },\n immediate: true,\n },\n value (v) {\n const value = this.multiple ? v : v ? [v] : []\n if (!deepEqual(value, this.$refs.input.files)) {\n // When the input value is changed programatically, clear the\n // internal input's value so that the `onInput` handler\n // can be triggered again if the user re-selects the exact\n // same file(s). Ideally, `input.files` should be\n // manipulated directly but that property is readonly.\n this.$refs.input.value = ''\n }\n },\n },\n\n methods: {\n clearableCallback () {\n this.internalValue = this.multiple ? [] : null\n this.$refs.input.value = ''\n },\n genChips () {\n if (!this.isDirty) return []\n\n return this.text.map((text, index) => this.$createElement(VChip, {\n props: { small: this.smallChips },\n on: {\n 'click:close': () => {\n const internalValue = this.internalValue\n internalValue.splice(index, 1)\n this.internalValue = internalValue // Trigger the watcher\n },\n },\n }, [text]))\n },\n genControl () {\n const render = VTextField.options.methods.genControl.call(this)\n\n if (this.hideInput) {\n render.data!.style = mergeStyles(\n render.data!.style,\n { display: 'none' }\n )\n }\n\n return render\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n input.data!.attrs!.multiple = this.multiple\n\n // We should not be setting value\n // programmatically on the input\n // when it is using type=\"file\"\n delete input.data!.domProps!.value\n\n // This solves an issue in Safari where\n // nothing happens when adding a file\n // due to the input event not firing\n // https://github.com/vuetifyjs/vuetify/issues/7941\n delete input.data!.on!.input\n input.data!.on!.change = this.onInput\n\n return [this.genSelections(), input]\n },\n genPrependSlot () {\n if (!this.prependIcon) return null\n\n const icon = this.genIcon('prepend', () => {\n this.$refs.input.click()\n })\n\n return this.genSlot('prepend', 'outer', [icon])\n },\n genSelectionText (): string[] {\n const length = this.text.length\n\n if (length < 2) return this.text\n if (this.showSize && !this.counter) return [this.computedCounterValue]\n return [this.$vuetify.lang.t(this.counterString, length)]\n },\n genSelections () {\n const children = []\n\n if (this.isDirty && this.$scopedSlots.selection) {\n this.internalArrayValue.forEach((file: File, index: number) => {\n if (!this.$scopedSlots.selection) return\n\n children.push(\n this.$scopedSlots.selection({\n text: this.text[index],\n file,\n index,\n })\n )\n })\n } else {\n children.push(this.hasChips && this.isDirty ? this.genChips() : this.genSelectionText())\n }\n\n return this.$createElement('div', {\n staticClass: 'v-file-input__text',\n class: {\n 'v-file-input__text--placeholder': this.placeholder && !this.isDirty,\n 'v-file-input__text--chips': this.hasChips && !this.$scopedSlots.selection,\n },\n }, children)\n },\n genTextFieldSlot () {\n const node = VTextField.options.methods.genTextFieldSlot.call(this)\n\n node.data!.on = {\n ...(node.data!.on || {}),\n click: (e: MouseEvent) => {\n // Clicking the label already delegates to input element, so we shouldn't click it twice\n if (e.target && (e.target as HTMLElement).nodeName === 'LABEL') return\n\n this.$refs.input.click()\n },\n }\n\n return node\n },\n onInput (e: Event) {\n const files = [...(e.target as HTMLInputElement).files || []]\n\n this.internalValue = this.multiple ? files : files[0]\n\n // Set initialValue here otherwise isFocused\n // watcher in VTextField will emit a change\n // event whenever the component is blurred\n this.initialValue = this.internalValue\n },\n onKeyDown (e: KeyboardEvent) {\n this.$emit('keydown', e)\n },\n truncateText (str: string) {\n if (str.length < Number(this.truncateLength)) return str\n const charsKeepOneSide = Math.floor((Number(this.truncateLength) - 1) / 2)\n return `${str.slice(0, charsKeepOneSide)}…${str.slice(str.length - charsKeepOneSide)}`\n },\n },\n})\n","import VTextField from './VTextField'\n\nexport { VTextField }\nexport default VTextField\n","// Components\nimport VToolbar from './VToolbar'\n\n// Utilities\nimport { createSimpleFunctional } from '../../util/helpers'\n\nconst VToolbarTitle = createSimpleFunctional('v-toolbar__title')\nconst VToolbarItems = createSimpleFunctional('v-toolbar__items')\n\nexport {\n VToolbar,\n VToolbarItems,\n VToolbarTitle,\n}\n\nexport default {\n $_vuetify_subcomponents: {\n VToolbar,\n VToolbarItems,\n VToolbarTitle,\n },\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:_vm.hasActivator ? '' : 'd-none'},[_c('v-dialog',{attrs:{\"width\":\"400\"},model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}},[_c('v-card',[_c('v-card-title',[_vm._v(\"Delete Confirmation\")]),_c('v-card-text',[_vm._t(\"default\",[_vm._v(\"This will delete \"+_vm._s(_vm.titleText)+\". Are you sure?\")])],2),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"blue darken-1\",\"text\":\"\"},on:{\"click\":_vm.close}},[_vm._v(\" Cancel \")]),_c('v-btn',{attrs:{\"color\":\"error darken-1\",\"text\":\"\"},on:{\"click\":_vm.confirmed}},[_vm._v(\" Delete \")])],1)],1)],1),_vm._t(\"activator\",null,{\"on\":{ click: _vm.open }})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue, Emit, Prop } from \"vue-property-decorator\";\nimport { VProgressLinear, VForm, VDivider } from \"vuetify/lib\";\n\n@Component({ components: { VProgressLinear, VForm, VDivider } })\nexport default class CDeleteConfirm extends Vue {\n @Prop({ type: Function }) title!: any;\n\n dialog = false;\n item: any = {} as any;\n\n get hasActivator() {\n return !!this.$scopedSlots.activator;\n }\n\n get titleText() {\n return this.title(this.item);\n }\n\n open(item: any) {\n this.item = item;\n this.dialog = true;\n }\n\n close() {\n this.dialog = false;\n }\n\n @Emit()\n confirmed() {\n this.dialog = false;\n return this.item;\n }\n}\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!./CDeleteConfirm.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!./CDeleteConfirm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CDeleteConfirm.vue?vue&type=template&id=50f3a48e&scoped=true&\"\nimport script from \"./CDeleteConfirm.vue?vue&type=script&lang=ts&\"\nexport * from \"./CDeleteConfirm.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./CDeleteConfirm.vue?vue&type=style&index=0&id=50f3a48e&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 \"50f3a48e\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCardTitle,VDialog,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{attrs:{\"loading\":_vm.loading}},[_c('v-form',{ref:\"form\",on:{\"submit\":function($event){$event.preventDefault();return _vm.submit($event)}}},[_c('v-toolbar',{attrs:{\"flat\":\"\",\"dark\":\"\",\"color\":\"primary\"}},[(_vm.allowClose)?_c('v-btn',{attrs:{\"icon\":\"\",\"dark\":\"\"},on:{\"click\":_vm.close}},[_c('v-icon',[_vm._v(\"mdi-close\")])],1):_vm._e(),_c('v-toolbar-title',[_vm._t(\"header\")],2),_c('v-spacer'),_c('v-toolbar-items',[_vm._t(\"actions\",[_c('v-btn',{attrs:{\"dark\":\"\",\"text\":\"\",\"type\":\"submit\"}},[_vm._v(\"Save\")])])],2)],1),_c('v-divider'),_c('v-card-text',[_vm._t(\"default\")],2)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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, Emit, Prop } from \"vue-property-decorator\";\nimport { VProgressLinear, VForm, VDivider } from \"vuetify/lib\";\n\n@Component({ components: { VProgressLinear, VForm, VDivider } })\nexport default class CForm extends Vue {\n @Prop({ type: Boolean }) loading!: boolean | false;\n @Prop({ type: String }) title!: string;\n @Prop({ type: Boolean, default: true }) allowClose!: boolean;\n\n validate() {\n return (this.$refs.form as any).validate();\n }\n\n reset() {\n return (this.$refs.form as any).reset();\n }\n\n resetValidation() {\n return (this.$refs.form as any).resetValidation();\n }\n\n @Emit()\n close() {\n return;\n }\n\n @Emit()\n submit() {\n return true;\n }\n}\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!./CForm.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!./CForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CForm.vue?vue&type=template&id=71560bd6&\"\nimport script from \"./CForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./CForm.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarItems } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCard,VCardText,VDivider,VForm,VIcon,VSpacer,VToolbar,VToolbarItems,VToolbarTitle})\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!./CDeleteConfirm.vue?vue&type=style&index=0&id=50f3a48e&scoped=true&lang=css&\"","// Directives\nimport ripple from '../../directives/ripple'\n\n// Types\nimport Vue, { VNode, VNodeData, VNodeDirective } from 'vue'\n\nexport default Vue.extend({\n name: 'rippleable',\n\n directives: { ripple },\n\n props: {\n ripple: {\n type: [Boolean, Object],\n default: true,\n },\n },\n\n methods: {\n genRipple (data: VNodeData = {}): VNode | null {\n if (!this.ripple) return null\n\n data.staticClass = 'v-input--selection-controls__ripple'\n\n data.directives = data.directives || []\n data.directives.push({\n name: 'ripple',\n value: { center: true },\n } as VNodeDirective)\n\n return this.$createElement('div', data)\n },\n },\n})\n","export const required = () => (v: any) => (Array.isArray(v) ? v.length > 0 : v && !!v.toString().trim()) || \"Required\";\nexport const dateAfter = (otherDate: Date, message: string) => (v: any) =>\n (otherDate && new Date(v) > new Date(otherDate)) || message;\nexport const dateBefore = (otherDate: Date, message: string) => (v: any) =>\n (otherDate && new Date(v) < new Date(otherDate)) || message;\nexport const maxLength = (length: number) => (v: string) =>\n typeof v !== \"string\" || (v || \"\").length <= length || `Max length of ${length}`;\nexport const minLength = (length: number) => (v: string) => (v && v.length >= length) || `Min length of ${length}`;\n\n// Regex - @.\n// Dot or comma or whitespace should NOT be the last character\n// Shouldn't be surrounded by angular brackets\nexport const email = () => (v: any) => !v || /^[^<]\\S+@\\S+\\.\\S+[^.^,^>]$/.test(v.trim()) || \"Must be a valid email\";\n\nexport const multiEmail = (maxEmails?: number) => (v: string) => {\n const emails = (v || \"\").split(\",\").map((p) => p.trim());\n\n if (maxEmails && emails.length > maxEmails) {\n return `Only ${maxEmails} emails are allowed`;\n }\n\n return emails.every((v) => !v || email()(v) === true) || \"Must be comma separated list of valid emails\";\n};\nexport const numeric = () => (v: string) => /\\d+/.test(v) || \"Must include numbers (0-9)\";\nexport const alphaLower = () => (v: string) => /[a-z]/.test(v) || \"Must include lowercase letter (a-z)\";\nexport const alphaUpper = () => (v: string) => /[A-Z]/.test(v) || \"Must include uppercase letter (A-Z)\";\nexport const equal = (other: string, message: string) => (v: string) => other === v || message;\nexport const requiredIf = (other: boolean, message?: string) => (v: any) =>\n !other || (Array.isArray(v) ? v.length > 0 : !!v) || message || \"Required\";\n","// Styles\nimport '../../styles/components/_selection-controls.sass'\nimport './VSwitch.sass'\n\n// Mixins\nimport Selectable from '../../mixins/selectable'\nimport VInput from '../VInput'\n\n// Directives\nimport Touch from '../../directives/touch'\n\n// Components\nimport { VFabTransition } from '../transitions'\nimport VProgressCircular from '../VProgressCircular/VProgressCircular'\n\n// Helpers\nimport { keyCodes } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\n\n/* @vue/component */\nexport default Selectable.extend({\n name: 'v-switch',\n\n directives: { Touch },\n\n props: {\n inset: Boolean,\n loading: {\n type: [Boolean, String],\n default: false,\n },\n flat: {\n type: Boolean,\n default: false,\n },\n },\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-input--selection-controls v-input--switch': true,\n 'v-input--switch--flat': this.flat,\n 'v-input--switch--inset': this.inset,\n }\n },\n attrs (): object {\n return {\n 'aria-checked': String(this.isActive),\n 'aria-disabled': String(this.isDisabled),\n role: 'switch',\n }\n },\n // Do not return undefined if disabled,\n // according to spec, should still show\n // a color when disabled and active\n validationState (): string | undefined {\n if (this.hasError && this.shouldValidate) return 'error'\n if (this.hasSuccess) return 'success'\n if (this.hasColor !== null) return this.computedColor\n return undefined\n },\n switchData (): VNodeData {\n return this.setTextColor(this.loading ? undefined : this.validationState, {\n class: this.themeClasses,\n })\n },\n },\n\n methods: {\n genDefaultSlot (): (VNode | null)[] {\n return [\n this.genSwitch(),\n this.genLabel(),\n ]\n },\n genSwitch (): VNode {\n const { title, ...switchAttrs } = this.attrs$\n\n return this.$createElement('div', {\n staticClass: 'v-input--selection-controls__input',\n }, [\n this.genInput('checkbox', {\n ...this.attrs,\n ...switchAttrs,\n }),\n this.genRipple(this.setTextColor(this.validationState, {\n directives: [{\n name: 'touch',\n value: {\n left: this.onSwipeLeft,\n right: this.onSwipeRight,\n },\n }],\n })),\n this.$createElement('div', {\n staticClass: 'v-input--switch__track',\n ...this.switchData,\n }),\n this.$createElement('div', {\n staticClass: 'v-input--switch__thumb',\n ...this.switchData,\n }, [this.genProgress()]),\n ])\n },\n genProgress (): VNode {\n return this.$createElement(VFabTransition, {}, [\n this.loading === false\n ? null\n : this.$slots.progress || this.$createElement(VProgressCircular, {\n props: {\n color: (this.loading === true || this.loading === '')\n ? (this.color || 'primary')\n : this.loading,\n size: 16,\n width: 2,\n indeterminate: true,\n },\n }),\n ])\n },\n onSwipeLeft () {\n if (this.isActive) this.onChange()\n },\n onSwipeRight () {\n if (!this.isActive) this.onChange()\n },\n onKeydown (e: KeyboardEvent) {\n if (\n (e.keyCode === keyCodes.left && this.isActive) ||\n (e.keyCode === keyCodes.right && !this.isActive)\n ) this.onChange()\n },\n },\n})\n","// Styles\nimport './VChip.sass'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\n// Components\nimport { VExpandXTransition } from '../transitions'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Themeable from '../../mixins/themeable'\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'\nimport Routable from '../../mixins/routable'\nimport Sizeable from '../../mixins/sizeable'\n\n// Utilities\nimport { breaking } from '../../util/console'\n\n// Types\nimport { PropValidator, PropType } from 'vue/types/options'\n\n/* @vue/component */\nexport default mixins(\n Colorable,\n Sizeable,\n Routable,\n Themeable,\n GroupableFactory('chipGroup'),\n ToggleableFactory('inputValue')\n).extend({\n name: 'v-chip',\n\n props: {\n active: {\n type: Boolean,\n default: true,\n },\n activeClass: {\n type: String,\n default (): string | undefined {\n if (!this.chipGroup) return ''\n\n return this.chipGroup.activeClass\n },\n } as any as PropValidator,\n close: Boolean,\n closeIcon: {\n type: String,\n default: '$delete',\n },\n closeLabel: {\n type: String,\n default: '$vuetify.close',\n },\n disabled: Boolean,\n draggable: Boolean,\n filter: Boolean,\n filterIcon: {\n type: String,\n default: '$complete',\n },\n label: Boolean,\n link: Boolean,\n outlined: Boolean,\n pill: Boolean,\n tag: {\n type: String,\n default: 'span',\n },\n textColor: String,\n value: null as any as PropType,\n },\n\n data: () => ({\n proxyClass: 'v-chip--active',\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-chip': true,\n ...Routable.options.computed.classes.call(this),\n 'v-chip--clickable': this.isClickable,\n 'v-chip--disabled': this.disabled,\n 'v-chip--draggable': this.draggable,\n 'v-chip--label': this.label,\n 'v-chip--link': this.isLink,\n 'v-chip--no-color': !this.color,\n 'v-chip--outlined': this.outlined,\n 'v-chip--pill': this.pill,\n 'v-chip--removable': this.hasClose,\n ...this.themeClasses,\n ...this.sizeableClasses,\n ...this.groupClasses,\n }\n },\n hasClose (): boolean {\n return Boolean(this.close)\n },\n isClickable (): boolean {\n return Boolean(\n Routable.options.computed.isClickable.call(this) ||\n this.chipGroup\n )\n },\n },\n\n created () {\n const breakingProps = [\n ['outline', 'outlined'],\n ['selected', 'input-value'],\n ['value', 'active'],\n ['@input', '@active.sync'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n methods: {\n click (e: MouseEvent): void {\n this.$emit('click', e)\n\n this.chipGroup && this.toggle()\n },\n genFilter (): VNode {\n const children = []\n\n if (this.isActive) {\n children.push(\n this.$createElement(VIcon, {\n staticClass: 'v-chip__filter',\n props: { left: true },\n }, this.filterIcon)\n )\n }\n\n return this.$createElement(VExpandXTransition, children)\n },\n genClose (): VNode {\n return this.$createElement(VIcon, {\n staticClass: 'v-chip__close',\n props: {\n right: true,\n size: 18,\n },\n attrs: {\n 'aria-label': this.$vuetify.lang.t(this.closeLabel),\n },\n on: {\n click: (e: Event) => {\n e.stopPropagation()\n e.preventDefault()\n\n this.$emit('click:close')\n this.$emit('update:active', false)\n },\n },\n }, this.closeIcon)\n },\n genContent (): VNode {\n return this.$createElement('span', {\n staticClass: 'v-chip__content',\n }, [\n this.filter && this.genFilter(),\n this.$slots.default,\n this.hasClose && this.genClose(),\n ])\n },\n },\n\n render (h): VNode {\n const children = [this.genContent()]\n let { tag, data } = this.generateRouteLink()\n\n data.attrs = {\n ...data.attrs,\n draggable: this.draggable ? 'true' : undefined,\n tabindex: this.chipGroup && !this.disabled ? 0 : data.attrs!.tabindex,\n }\n data.directives!.push({\n name: 'show',\n value: this.active,\n })\n data = this.setBackgroundColor(this.color, data)\n\n const color = this.textColor || (this.outlined && this.color)\n\n return h(tag, this.setTextColor(color, data), children)\n },\n})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"d-flex\"},[_c('h1',[_vm._v(\"Our Documents\")]),_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":_vm.upsertItem}},[_vm._v(\"New\")])],1),_c('v-divider',{staticClass:\"my-4\"}),_c('v-row',_vm._l((_vm.documents),function(item,idx){return _c('v-col',{key:idx,staticClass:\"d-flex\",attrs:{\"sm\":\"3\"}},[_c('v-card',{staticClass:\"d-flex flex-column full-width\",attrs:{\"outlined\":\"\",\"href\":item.mediaUri,\"target\":\"_blank\",\"rel\":\"noreferrer\"}},[_c('v-card-title',{staticClass:\"justify-center\"},[_vm._v(_vm._s(item.name)+\" \")]),_c('v-spacer'),_c('v-divider'),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"text\":\"\",\"color\":\"error\"},on:{\"click\":function($event){$event.preventDefault();return _vm.confirmDelete(item)}}},[_vm._v(\"Delete\")]),_c('v-btn',{attrs:{\"text\":\"\",\"color\":\"primary\"},on:{\"click\":function($event){$event.preventDefault();return _vm.upsertItem(item)}}},[_vm._v(\"Edit\")])],1)],1)],1)}),1),_c('c-delete-confirm',{ref:\"delete\",attrs:{\"title\":function (item) { return item.name; }},on:{\"confirmed\":_vm.deleteConfirmed}}),_c('documents-form',{ref:\"upsert\",on:{\"updated\":function($event){return _vm.get()}}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { axios } from \"./axios\";\nimport FileUtils from \"@/common/utils/fileUtils\";\n\nexport class DocumentsApi {\n getAll() {\n return axios.get(\"/documents\");\n }\n\n save({ document }: { document: Document }) {\n const formData = FileUtils.objectToFormData(document);\n if (!!document.id && document.id > -1) {\n return axios.put(\"/documents\", formData);\n } else {\n return axios.post(\"/documents\", formData);\n }\n }\n\n delete({ documentId }: { documentId: number }) {\n return axios.delete(`/documents/${documentId}`);\n }\n}\n\nexport interface Document {\n id: number;\n name: string;\n restricted: boolean;\n file: Blob;\n mediaUri: string;\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"max-width\":\"600px\"},model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}},[_c('c-form',{ref:\"form\",on:{\"submit\":_vm.save,\"close\":_vm.close},scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.formTitle)+\" \")]},proxy:true}])},[_c('v-row',[_c('v-col',{attrs:{\"sm\":\"4\"}},[_c('v-switch',{attrs:{\"label\":\"Restricted Access?\"},model:{value:(_vm.item.restricted),callback:function ($$v) {_vm.$set(_vm.item, \"restricted\", $$v)},expression:\"item.restricted\"}})],1),_c('v-col',{attrs:{\"sm\":\"8\"}},[_c('v-text-field',{attrs:{\"label\":\"Name\",\"rules\":[_vm.validators.required()]},model:{value:(_vm.item.name),callback:function ($$v) {_vm.$set(_vm.item, \"name\", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"item.name\"}})],1),_c('v-col',{staticClass:\"d-flex\",attrs:{\"sm\":\"12\"}},[_c('v-file-input',{attrs:{\"label\":\"Document\",\"accept\":\"*\",\"rules\":[_vm.validators.requiredIf(!_vm.item.mediaUri)]},model:{value:(_vm.item.file),callback:function ($$v) {_vm.$set(_vm.item, \"file\", $$v)},expression:\"item.file\"}})],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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, Emit } from \"vue-property-decorator\";\nimport { DocumentsApi, Document } from \"@/store/documents-api\";\nimport CForm from \"@/common/components/CForm.vue\";\nimport { required, requiredIf } from \"@/common/validators/rules\";\n\n@Component({ components: { CForm } })\nexport default class DocumentsForm extends Vue {\n documentsStore = new DocumentsApi();\n validators = { required, requiredIf };\n dialog = false;\n loading = false;\n item = {} as Document;\n\n get formTitle() {\n return !this.item.id ? \"New Document\" : \"Edit Document\";\n }\n\n open(item: Document) {\n this.item = Object.assign({}, item);\n this.dialog = true;\n this.$nextTick(() => (this.$refs.form as any).resetValidation());\n }\n\n close() {\n this.dialog = false;\n }\n\n @Emit(\"updated\")\n save() {\n if (!(this.$refs.form as any).validate()) {\n return;\n }\n\n this.loading = true;\n return this.documentsStore\n .save({ document: this.item })\n .then(() => (this.dialog = false))\n .finally(() => (this.loading = false));\n }\n}\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!./DocumentsForm.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!./DocumentsForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DocumentsForm.vue?vue&type=template&id=3a128e09&\"\nimport script from \"./DocumentsForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./DocumentsForm.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VFileInput } from 'vuetify/lib/components/VFileInput';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSwitch } from 'vuetify/lib/components/VSwitch';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VCol,VDialog,VFileInput,VRow,VSwitch,VTextField})\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\n\n\n\n\n\n\n\n\nimport { Component, Vue } from \"vue-property-decorator\";\nimport { DocumentsApi, Document } from \"@/store/documents-api\";\nimport CDeleteConfirm from \"@/common/components/CDeleteConfirm.vue\";\nimport DocumentsForm from \"./DocumentsForm.vue\";\n\n@Component({ components: { CDeleteConfirm, DocumentsForm } })\nexport default class Documents extends Vue {\n documentStore = new DocumentsApi();\n documents: Document[] = [];\n loading = false;\n\n mounted() {\n this.get();\n }\n\n get() {\n this.loading = false;\n\n return this.documentStore\n .getAll()\n .then((res) => (this.documents = res.data))\n .then(() => (this.loading = false));\n }\n\n upsertItem(item: Document) {\n (this.$refs.upsert as DocumentsForm).open(item);\n return false;\n }\n\n confirmDelete(item: Document) {\n (this.$refs.delete as CDeleteConfirm).open(item);\n return false;\n }\n\n deleteConfirmed(item: Document) {\n this.loading = true;\n this.documentStore\n .delete({ documentId: item.id })\n .then(() => this.get())\n .finally(() => (this.loading = false));\n }\n}\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!./Documents.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!./Documents.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Documents.vue?vue&type=template&id=f49cae96&\"\nimport script from \"./Documents.vue?vue&type=script&lang=ts&\"\nexport * from \"./Documents.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardTitle,VCol,VDivider,VRow,VSpacer})\n","// Components\nimport VInput from '../../components/VInput'\n\n// Mixins\nimport Rippleable from '../rippleable'\nimport Comparable from '../comparable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\nexport function prevent (e: Event) {\n e.preventDefault()\n}\n\n/* @vue/component */\nexport default mixins(\n VInput,\n Rippleable,\n Comparable\n).extend({\n name: 'selectable',\n\n model: {\n prop: 'inputValue',\n event: 'change',\n },\n\n props: {\n id: String,\n inputValue: null as any,\n falseValue: null as any,\n trueValue: null as any,\n multiple: {\n type: Boolean,\n default: null,\n },\n label: String,\n },\n\n data () {\n return {\n hasColor: this.inputValue,\n lazyValue: this.inputValue,\n }\n },\n\n computed: {\n computedColor (): string | undefined {\n if (!this.isActive) return undefined\n if (this.color) return this.color\n if (this.isDark && !this.appIsDark) return 'white'\n return 'primary'\n },\n isMultiple (): boolean {\n return this.multiple === true || (this.multiple === null && Array.isArray(this.internalValue))\n },\n isActive (): boolean {\n const value = this.value\n const input = this.internalValue\n\n if (this.isMultiple) {\n if (!Array.isArray(input)) return false\n\n return input.some(item => this.valueComparator(item, value))\n }\n\n if (this.trueValue === undefined || this.falseValue === undefined) {\n return value\n ? this.valueComparator(value, input)\n : Boolean(input)\n }\n\n return this.valueComparator(input, this.trueValue)\n },\n isDirty (): boolean {\n return this.isActive\n },\n rippleState (): string | undefined {\n return !this.isDisabled && !this.validationState\n ? undefined\n : this.validationState\n },\n },\n\n watch: {\n inputValue (val) {\n this.lazyValue = val\n this.hasColor = val\n },\n },\n\n methods: {\n genLabel () {\n const label = VInput.options.methods.genLabel.call(this)\n\n if (!label) return label\n\n label!.data!.on = {\n // Label shouldn't cause the input to focus\n click: prevent,\n }\n\n return label\n },\n genInput (type: string, attrs: object) {\n return this.$createElement('input', {\n attrs: Object.assign({\n 'aria-checked': this.isActive.toString(),\n disabled: this.isDisabled,\n id: this.computedId,\n role: type,\n type,\n }, attrs),\n domProps: {\n value: this.value,\n checked: this.isActive,\n },\n on: {\n blur: this.onBlur,\n change: this.onChange,\n focus: this.onFocus,\n keydown: this.onKeydown,\n click: prevent,\n },\n ref: 'input',\n })\n },\n onClick (e: Event) {\n this.onChange()\n this.$emit('click', e)\n },\n onChange () {\n if (!this.isInteractive) return\n\n const value = this.value\n let input = this.internalValue\n\n if (this.isMultiple) {\n if (!Array.isArray(input)) {\n input = []\n }\n\n const length = input.length\n\n input = input.filter((item: any) => !this.valueComparator(item, value))\n\n if (input.length === length) {\n input.push(value)\n }\n } else if (this.trueValue !== undefined && this.falseValue !== undefined) {\n input = this.valueComparator(input, this.trueValue) ? this.falseValue : this.trueValue\n } else if (value) {\n input = this.valueComparator(input, value) ? null : value\n } else {\n input = !input\n }\n\n this.validate(true, input)\n this.internalValue = input\n this.hasColor = input\n },\n onFocus (e: FocusEvent) {\n this.isFocused = true\n this.$emit('focus', e)\n },\n onBlur (e: FocusEvent) {\n this.isFocused = false\n this.$emit('blur', e)\n },\n /** @abstract */\n onKeydown (e: Event) {},\n },\n})\n"],"sourceRoot":""}