{"version":3,"sources":["webpack:///./src/views/rawmaterials/AddProduct/updateStock.vue?07d3","webpack:///./src/views/rawmaterials/AddProduct/updateStock.vue?1bfb","webpack:///src/views/rawmaterials/AddProduct/updateStock.vue","webpack:///./src/views/rawmaterials/AddProduct/updateStock.vue?623e","webpack:///./src/views/rawmaterials/AddProduct/updateStock.vue","webpack:///./node_modules/core-js/modules/es.array.join.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-file/form-file.js"],"names":["render","_vm","this","_h","$createElement","_c","_self","on","$event","preventDefault","formSubmitted","staticClass","attrs","printContent","_v","model","value","product","callback","$$v","$set","expression","totalBalance","balanceFields","filteredBalances","scopedSlots","_u","key","fn","data","_s","getWarehouseNameById","productLoading","balanceLoading","transactionLoading","warehouseLoading","staticStyle","_e","exportToCSV","transactionFields","filteredTransactions","getTypeNameById","dayjs","format","staticRenderFns","components","BRow","BSpinner","BFormSelect","BProgress","BBadge","BContainer","BTable","BCol","BFormFile","BFormGroup","BFormInput","BFormCheckbox","BForm","BFormTextarea","BButton","directives","Ripple","methods","id","label","sortable","types","text","mapActions","sanitizeFilename","filename","type","date","fromWarehouse","toWarehouse","qty","csvContent","rows","link","document","window","mapGetters","itemBalances","transactions","warehouses","trx","component","$","IndexedObject","toIndexedObject","arrayMethodIsStrict","nativeJoin","join","ES3_STRINGS","Object","STRICT_METHOD","target","proto","forced","separator","call","undefined","_watch","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","configurable","writable","_makeModelMixin","defaultValue","validator","VALUE_EMPTY_DEPRECATED_MSG","isValidValue","modelMixin","mixin","modelProps","props","MODEL_PROP_NAME","prop","MODEL_EVENT_NAME","event","every","v","getDataTransferItemEntry","item","getAsEntry","webkitGetAsEntry","getAllFileEntries","dataTransferItemList","traverseDirectories","Promise","all","kind","map","entry","isDirectory","getAllFileEntriesInDirectory","createReader","concat","name","isFile","resolve","file","$path","directoryReader","path","entryPromises","readDirectoryEntries","readEntries","entries","then","accept","browseText","capture","directory","dropPlaceholder","fileNameFormatter","multiple","noDrop","noDropPlaceholder","noTraverse","placeholder","extend","mixins","inheritAttrs","files","dragging","dropAllowed","hasFocus","computed","computedAccept","trim","split","extOrType","startMatch","endMatch","test","slice","rx","RegExp","computedCapture","computedAttrs","disabled","required","form","bvAttrs","safeId","webkitdirectory","computedFileNameFormatter","defaultFileNameFormatter","clonedFiles","flattenedFiles","fileNames","labelContent","normalizeSlot","allowed","hasNormalizedSlot","filesTraversed","names","watch","newValue","reset","oldValue","$emit","created","$_form","mounted","$form","$el","beforeDestroy","isFileValid","some","a","isFilesArrayValid","_this","setFiles","setInputFiles","dataTransfer","ClipboardEvent","clipboardData","DataTransfer","items","add","$refs","input","_unused","$input","_unused2","handleFiles","isDrop","filteredFiles","focusHandler","plain","onChange","_this2","_event$dataTransfer","webkitRelativePath","onDragenter","_event$dataTransfer2","dropEffect","onDragover","_event$dataTransfer3","onDragleave","_this3","$nextTick","onDrop","_this4","h","custom","size","stateClass","class","focus","style","zIndex","change","focusin","focusout","ref","$label","for","pointerEvents","dragenter","dragover","dragleave","drop"],"mappings":"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","file":"js/chunk-2720e5e4.d1056c65.js","sourcesContent":["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!./updateStock.vue?vue&type=style&index=0&id=49b07308&prod&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.formSubmitted($event)}}},[_c('b-row',{staticClass:\"main_details\"},[_c('b-col',{staticClass:\"py-1 d-flex justify-content-end\",attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"print-btn-wrapper\"},[_c('b-button',{on:{\"click\":_vm.printContent}},[_vm._v(\"Print\")])],1)]),_c('b-col',{attrs:{\"md\":\"6\"}},[_c('b-form-group',{attrs:{\"label\":\"Raw Material Name\",\"label-for\":\"mc-Product-Supplier\"}},[_c('b-form-input',{attrs:{\"id\":\"mc-Product-Supplier\",\"type\":\"text\",\"readonly\":\"\"},model:{value:(_vm.product.name),callback:function ($$v) {_vm.$set(_vm.product, \"name\", $$v)},expression:\"product.name\"}})],1)],1),_c('b-col',{attrs:{\"md\":\"6\"}},[_c('b-form-group',{attrs:{\"label\":\"Raw Material Code\",\"label-for\":\"mc-Product-Code\"}},[_c('b-form-input',{attrs:{\"id\":\"mc-Product-Code\",\"type\":\"text\",\"readonly\":\"\"},model:{value:(_vm.product.code),callback:function ($$v) {_vm.$set(_vm.product, \"code\", $$v)},expression:\"product.code\"}})],1)],1),_c('b-col',{attrs:{\"md\":\"6\"}},[_c('b-form-group',{attrs:{\"label-for\":\"mc-stock-threshold\",\"label\":\"Low Stock Threshold\"}},[_c('div',{staticClass:\"form-label-group\"},[_c('b-form-input',{attrs:{\"id\":\"mc-stock-threshold\",\"type\":\"text\",\"readonly\":\"\"},model:{value:(_vm.product.lowStock),callback:function ($$v) {_vm.$set(_vm.product, \"lowStock\", $$v)},expression:\"product.lowStock\"}})],1)])],1),_c('b-col',{attrs:{\"cols\":\"6\"}},[_c('b-form-group',{attrs:{\"label\":\"Total Balance\",\"label-for\":\"mc-Balance\"}},[_c('b-form-input',{attrs:{\"id\":\"mc-Balance\",\"type\":\"text\",\"readonly\":\"\"},model:{value:(_vm.totalBalance),callback:function ($$v) {_vm.totalBalance=$$v},expression:\"totalBalance\"}})],1)],1)],1)],1),_c('b-table',{attrs:{\"small\":\"\",\"fields\":_vm.balanceFields,\"items\":_vm.filteredBalances,\"responsive\":\"sm\"},scopedSlots:_vm._u([{key:\"cell(warehouseId)\",fn:function(data){return [_vm._v(\" \"+_vm._s(_vm.getWarehouseNameById(data.value))+\" \")]}}])}),_c('div',{staticClass:\"content-transactions\"},[_c('div',{staticClass:\"d-flex justify-content-center mb-1\"},[(\n _vm.productLoading || _vm.balanceLoading || _vm.transactionLoading || _vm.warehouseLoading\n )?_c('b-spinner',{staticStyle:{\"width\":\"3rem\",\"height\":\"3rem\"},attrs:{\"variant\":\"success\",\"label\":\"Spinning\",\"block\":\"\"}}):_vm._e()],1),_c('div',[_c('div',{staticClass:\"d-flex justify-content-end my-2\"},[_c('b-button',{on:{\"click\":_vm.exportToCSV}},[_vm._v(\"Export to CSV\")])],1),_c('b-table',{attrs:{\"small\":\"\",\"fields\":_vm.transactionFields,\"items\":_vm.filteredTransactions,\"responsive\":\"sm\"},scopedSlots:_vm._u([{key:\"cell(type)\",fn:function(data){return [_vm._v(\" \"+_vm._s(_vm.getTypeNameById(data.value))+\" \")]}},{key:\"cell(date)\",fn:function(data){return [_vm._v(\" \"+_vm._s(_vm.dayjs(data.value).format(\"DD/MM/YYYY hh:mm:ss\"))+\" \")]}},{key:\"cell(fromWarehouse)\",fn:function(data){return [_vm._v(\" \"+_vm._s(_vm.getWarehouseNameById(data.value))+\" \")]}},{key:\"cell(toWarehouse)\",fn:function(data){return [_vm._v(\" \"+_vm._s(_vm.getWarehouseNameById(data.value))+\" \")]}}])})],1)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./updateStock.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./updateStock.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./updateStock.vue?vue&type=template&id=49b07308&scoped=true&\"\nimport script from \"./updateStock.vue?vue&type=script&lang=js&\"\nexport * from \"./updateStock.vue?vue&type=script&lang=js&\"\nimport style0 from \"./updateStock.vue?vue&type=style&index=0&id=49b07308&prod&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 \"49b07308\",\n null\n \n)\n\nexport default component.exports","'use strict';\nvar $ = require('../internals/export');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeJoin = [].join;\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar STRICT_METHOD = arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, {\n join: function join(separator) {\n return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","var _watch;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_FORM_FILE } from '../../constants/components';\nimport { HAS_PROMISE_SUPPORT } from '../../constants/env';\nimport { EVENT_NAME_CHANGE, EVENT_OPTIONS_PASSIVE } from '../../constants/events';\nimport { PROP_TYPE_ARRAY, PROP_TYPE_BOOLEAN, PROP_TYPE_FUNCTION, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_DROP_PLACEHOLDER, SLOT_NAME_FILE_NAME, SLOT_NAME_PLACEHOLDER } from '../../constants/slots';\nimport { RX_EXTENSION, RX_STAR } from '../../constants/regex';\nimport { File } from '../../constants/safe-types';\nimport { from as arrayFrom, flatten, flattenDeep } from '../../utils/array';\nimport { cloneDeep } from '../../utils/clone-deep';\nimport { closest } from '../../utils/dom';\nimport { eventOn, eventOff, stopEvent } from '../../utils/events';\nimport { identity } from '../../utils/identity';\nimport { isArray, isFile, isFunction, isNull, isUndefinedOrNull } from '../../utils/inspect';\nimport { looseEqual } from '../../utils/loose-equal';\nimport { makeModelMixin } from '../../utils/model';\nimport { sortKeys } from '../../utils/object';\nimport { hasPropFunction, makeProp, makePropsConfigurable } from '../../utils/props';\nimport { escapeRegExp } from '../../utils/string';\nimport { warn } from '../../utils/warn';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { formControlMixin, props as formControlProps } from '../../mixins/form-control';\nimport { formCustomMixin, props as formCustomProps } from '../../mixins/form-custom';\nimport { formStateMixin, props as formStateProps } from '../../mixins/form-state';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { props as formSizeProps } from '../../mixins/form-size'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('value', {\n type: [PROP_TYPE_ARRAY, File],\n defaultValue: null,\n validator: function validator(value) {\n /* istanbul ignore next */\n if (value === '') {\n warn(VALUE_EMPTY_DEPRECATED_MSG, NAME_FORM_FILE);\n return true;\n }\n\n return isUndefinedOrNull(value) || isValidValue(value);\n }\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event;\n\nvar VALUE_EMPTY_DEPRECATED_MSG = 'Setting \"value\"/\"v-model\" to an empty string for reset is deprecated. Set to \"null\" instead.'; // --- Helper methods ---\n\nvar isValidValue = function isValidValue(value) {\n return isFile(value) || isArray(value) && value.every(function (v) {\n return isValidValue(v);\n });\n}; // Helper method to \"safely\" get the entry from a data-transfer item\n\n/* istanbul ignore next: not supported in JSDOM */\n\n\nvar getDataTransferItemEntry = function getDataTransferItemEntry(item) {\n return isFunction(item.getAsEntry) ? item.getAsEntry() : isFunction(item.webkitGetAsEntry) ? item.webkitGetAsEntry() : null;\n}; // Drop handler function to get all files\n\n/* istanbul ignore next: not supported in JSDOM */\n\n\nvar getAllFileEntries = function getAllFileEntries(dataTransferItemList) {\n var traverseDirectories = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n return Promise.all(arrayFrom(dataTransferItemList).filter(function (item) {\n return item.kind === 'file';\n }).map(function (item) {\n var entry = getDataTransferItemEntry(item);\n\n if (entry) {\n if (entry.isDirectory && traverseDirectories) {\n return getAllFileEntriesInDirectory(entry.createReader(), \"\".concat(entry.name, \"/\"));\n } else if (entry.isFile) {\n return new Promise(function (resolve) {\n entry.file(function (file) {\n file.$path = '';\n resolve(file);\n });\n });\n }\n }\n\n return null;\n }).filter(identity));\n}; // Get all the file entries (recursive) in a directory\n\n/* istanbul ignore next: not supported in JSDOM */\n\n\nvar getAllFileEntriesInDirectory = function getAllFileEntriesInDirectory(directoryReader) {\n var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n return new Promise(function (resolve) {\n var entryPromises = [];\n\n var readDirectoryEntries = function readDirectoryEntries() {\n directoryReader.readEntries(function (entries) {\n if (entries.length === 0) {\n resolve(Promise.all(entryPromises).then(function (entries) {\n return flatten(entries);\n }));\n } else {\n entryPromises.push(Promise.all(entries.map(function (entry) {\n if (entry) {\n if (entry.isDirectory) {\n return getAllFileEntriesInDirectory(entry.createReader(), \"\".concat(path).concat(entry.name, \"/\"));\n } else if (entry.isFile) {\n return new Promise(function (resolve) {\n entry.file(function (file) {\n file.$path = \"\".concat(path).concat(file.name);\n resolve(file);\n });\n });\n }\n }\n\n return null;\n }).filter(identity)));\n readDirectoryEntries();\n }\n });\n };\n\n readDirectoryEntries();\n });\n}; // --- Props ---\n\n\nvar props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), modelProps), formControlProps), formCustomProps), formStateProps), formSizeProps), {}, {\n accept: makeProp(PROP_TYPE_STRING, ''),\n browseText: makeProp(PROP_TYPE_STRING, 'Browse'),\n // Instruct input to capture from camera\n capture: makeProp(PROP_TYPE_BOOLEAN, false),\n directory: makeProp(PROP_TYPE_BOOLEAN, false),\n dropPlaceholder: makeProp(PROP_TYPE_STRING, 'Drop files here'),\n fileNameFormatter: makeProp(PROP_TYPE_FUNCTION),\n multiple: makeProp(PROP_TYPE_BOOLEAN, false),\n noDrop: makeProp(PROP_TYPE_BOOLEAN, false),\n noDropPlaceholder: makeProp(PROP_TYPE_STRING, 'Not allowed'),\n // TODO:\n // Should we deprecate this and only support flat file structures?\n // Nested file structures are only supported when files are dropped\n // A Chromium \"bug\" prevents `webkitEntries` from being populated\n // on the file input's `change` event and is marked as \"WontFix\"\n // Mozilla implemented the behavior the same way as Chromium\n // See: https://bugs.chromium.org/p/chromium/issues/detail?id=138987\n // See: https://bugzilla.mozilla.org/show_bug.cgi?id=1326031\n noTraverse: makeProp(PROP_TYPE_BOOLEAN, false),\n placeholder: makeProp(PROP_TYPE_STRING, 'No file chosen')\n})), NAME_FORM_FILE); // --- Main component ---\n// @vue/component\n\nexport var BFormFile = /*#__PURE__*/Vue.extend({\n name: NAME_FORM_FILE,\n mixins: [attrsMixin, idMixin, modelMixin, normalizeSlotMixin, formControlMixin, formStateMixin, formCustomMixin, normalizeSlotMixin],\n inheritAttrs: false,\n props: props,\n data: function data() {\n return {\n files: [],\n dragging: false,\n // IE 11 doesn't respect setting `event.dataTransfer.dropEffect`,\n // so we handle it ourselves as well\n // https://stackoverflow.com/a/46915971/2744776\n dropAllowed: !this.noDrop,\n hasFocus: false\n };\n },\n computed: {\n // Convert `accept` to an array of `[{ RegExpr, isMime }, ...]`\n computedAccept: function computedAccept() {\n var accept = this.accept;\n accept = (accept || '').trim().split(/[,\\s]+/).filter(identity); // Allow any file type/extension\n\n if (accept.length === 0) {\n return null;\n }\n\n return accept.map(function (extOrType) {\n var prop = 'name';\n var startMatch = '^';\n var endMatch = '$';\n\n if (RX_EXTENSION.test(extOrType)) {\n // File extension /\\.ext$/\n startMatch = '';\n } else {\n // MIME type /^mime\\/.+$/ or /^mime\\/type$/\n prop = 'type';\n\n if (RX_STAR.test(extOrType)) {\n endMatch = '.+$'; // Remove trailing `*`\n\n extOrType = extOrType.slice(0, -1);\n }\n } // Escape all RegExp special chars\n\n\n extOrType = escapeRegExp(extOrType);\n var rx = new RegExp(\"\".concat(startMatch).concat(extOrType).concat(endMatch));\n return {\n rx: rx,\n prop: prop\n };\n });\n },\n computedCapture: function computedCapture() {\n var capture = this.capture;\n return capture === true || capture === '' ? true : capture || null;\n },\n computedAttrs: function computedAttrs() {\n var name = this.name,\n disabled = this.disabled,\n required = this.required,\n form = this.form,\n computedCapture = this.computedCapture,\n accept = this.accept,\n multiple = this.multiple,\n directory = this.directory;\n return _objectSpread(_objectSpread({}, this.bvAttrs), {}, {\n type: 'file',\n id: this.safeId(),\n name: name,\n disabled: disabled,\n required: required,\n form: form || null,\n capture: computedCapture,\n accept: accept || null,\n multiple: multiple,\n directory: directory,\n webkitdirectory: directory,\n 'aria-required': required ? 'true' : null\n });\n },\n computedFileNameFormatter: function computedFileNameFormatter() {\n var fileNameFormatter = this.fileNameFormatter;\n return hasPropFunction(fileNameFormatter) ? fileNameFormatter : this.defaultFileNameFormatter;\n },\n clonedFiles: function clonedFiles() {\n return cloneDeep(this.files);\n },\n flattenedFiles: function flattenedFiles() {\n return flattenDeep(this.files);\n },\n fileNames: function fileNames() {\n return this.flattenedFiles.map(function (file) {\n return file.name;\n });\n },\n labelContent: function labelContent() {\n // Draging active\n\n /* istanbul ignore next: used by drag/drop which can't be tested easily */\n if (this.dragging && !this.noDrop) {\n return (// TODO: Add additional scope with file count, and other not-allowed reasons\n this.normalizeSlot(SLOT_NAME_DROP_PLACEHOLDER, {\n allowed: this.dropAllowed\n }) || (this.dropAllowed ? this.dropPlaceholder : this.$createElement('span', {\n staticClass: 'text-danger'\n }, this.noDropPlaceholder))\n );\n } // No file chosen\n\n\n if (this.files.length === 0) {\n return this.normalizeSlot(SLOT_NAME_PLACEHOLDER) || this.placeholder;\n }\n\n var flattenedFiles = this.flattenedFiles,\n clonedFiles = this.clonedFiles,\n fileNames = this.fileNames,\n computedFileNameFormatter = this.computedFileNameFormatter; // There is a slot for formatting the files/names\n\n if (this.hasNormalizedSlot(SLOT_NAME_FILE_NAME)) {\n return this.normalizeSlot(SLOT_NAME_FILE_NAME, {\n files: flattenedFiles,\n filesTraversed: clonedFiles,\n names: fileNames\n });\n }\n\n return computedFileNameFormatter(flattenedFiles, clonedFiles, fileNames);\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function (newValue) {\n if (!newValue || isArray(newValue) && newValue.length === 0) {\n this.reset();\n }\n }), _defineProperty(_watch, \"files\", function files(newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n var multiple = this.multiple,\n noTraverse = this.noTraverse;\n var files = !multiple || noTraverse ? flattenDeep(newValue) : newValue;\n this.$emit(MODEL_EVENT_NAME, multiple ? files : files[0] || null);\n }\n }), _watch),\n created: function created() {\n // Create private non-reactive props\n this.$_form = null;\n },\n mounted: function mounted() {\n // Listen for form reset events, to reset the file input\n var $form = closest('form', this.$el);\n\n if ($form) {\n eventOn($form, 'reset', this.reset, EVENT_OPTIONS_PASSIVE);\n this.$_form = $form;\n }\n },\n beforeDestroy: function beforeDestroy() {\n var $form = this.$_form;\n\n if ($form) {\n eventOff($form, 'reset', this.reset, EVENT_OPTIONS_PASSIVE);\n }\n },\n methods: {\n isFileValid: function isFileValid(file) {\n if (!file) {\n return false;\n }\n\n var accept = this.computedAccept;\n return accept ? accept.some(function (a) {\n return a.rx.test(file[a.prop]);\n }) : true;\n },\n isFilesArrayValid: function isFilesArrayValid(files) {\n var _this = this;\n\n return isArray(files) ? files.every(function (file) {\n return _this.isFileValid(file);\n }) : this.isFileValid(files);\n },\n defaultFileNameFormatter: function defaultFileNameFormatter(flattenedFiles, clonedFiles, fileNames) {\n return fileNames.join(', ');\n },\n setFiles: function setFiles(files) {\n // Reset the dragging flags\n this.dropAllowed = !this.noDrop;\n this.dragging = false; // Set the selected files\n\n this.files = this.multiple ? this.directory ? files : flattenDeep(files) : flattenDeep(files).slice(0, 1);\n },\n\n /* istanbul ignore next: used by Drag/Drop */\n setInputFiles: function setInputFiles(files) {\n // Try an set the file input files array so that `required`\n // constraint works for dropped files (will fail in IE11 though)\n // To be used only when dropping files\n try {\n // Firefox < 62 workaround exploiting https://bugzilla.mozilla.org/show_bug.cgi?id=1422655\n var dataTransfer = new ClipboardEvent('').clipboardData || new DataTransfer(); // Add flattened files to temp `dataTransfer` object to get a true `FileList` array\n\n flattenDeep(cloneDeep(files)).forEach(function (file) {\n // Make sure to remove the custom `$path` attribute\n delete file.$path;\n dataTransfer.items.add(file);\n });\n this.$refs.input.files = dataTransfer.files;\n } catch (_unused) {}\n },\n reset: function reset() {\n // IE 11 doesn't support setting `$input.value` to `''` or `null`\n // So we use this little extra hack to reset the value, just in case\n // This also appears to work on modern browsers as well\n // Wrapped in try in case IE 11 or mobile Safari crap out\n try {\n var $input = this.$refs.input;\n $input.value = '';\n $input.type = '';\n $input.type = 'file';\n } catch (_unused2) {}\n\n this.files = [];\n },\n handleFiles: function handleFiles(files) {\n var isDrop = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (isDrop) {\n // When dropped, make sure to filter files with the internal `accept` logic\n var filteredFiles = files.filter(this.isFilesArrayValid); // Only update files when we have any after filtering\n\n if (filteredFiles.length > 0) {\n this.setFiles(filteredFiles); // Try an set the file input's files array so that `required`\n // constraint works for dropped files (will fail in IE 11 though)\n\n this.setInputFiles(filteredFiles);\n }\n } else {\n // We always update the files from the `change` event\n this.setFiles(files);\n }\n },\n focusHandler: function focusHandler(event) {\n // Bootstrap v4 doesn't have focus styling for custom file input\n // Firefox has a `[type=file]:focus ~ sibling` selector issue,\n // so we add a `focus` class to get around these bugs\n if (this.plain || event.type === 'focusout') {\n this.hasFocus = false;\n } else {\n // Add focus styling for custom file input\n this.hasFocus = true;\n }\n },\n onChange: function onChange(event) {\n var _this2 = this;\n\n var type = event.type,\n target = event.target,\n _event$dataTransfer = event.dataTransfer,\n dataTransfer = _event$dataTransfer === void 0 ? {} : _event$dataTransfer;\n var isDrop = type === 'drop'; // Always emit original event\n\n this.$emit(EVENT_NAME_CHANGE, event);\n var items = arrayFrom(dataTransfer.items || []);\n\n if (HAS_PROMISE_SUPPORT && items.length > 0 && !isNull(getDataTransferItemEntry(items[0]))) {\n // Drop handling for modern browsers\n // Supports nested directory structures in `directory` mode\n\n /* istanbul ignore next: not supported in JSDOM */\n getAllFileEntries(items, this.directory).then(function (files) {\n return _this2.handleFiles(files, isDrop);\n });\n } else {\n // Standard file input handling (native file input change event),\n // or fallback drop mode (IE 11 / Opera) which don't support `directory` mode\n var files = arrayFrom(target.files || dataTransfer.files || []).map(function (file) {\n // Add custom `$path` property to each file (to be consistent with drop mode)\n file.$path = file.webkitRelativePath || '';\n return file;\n });\n this.handleFiles(files, isDrop);\n }\n },\n onDragenter: function onDragenter(event) {\n stopEvent(event);\n this.dragging = true;\n var _event$dataTransfer2 = event.dataTransfer,\n dataTransfer = _event$dataTransfer2 === void 0 ? {} : _event$dataTransfer2; // Early exit when the input or dropping is disabled\n\n if (this.noDrop || this.disabled || !this.dropAllowed) {\n // Show deny feedback\n\n /* istanbul ignore next: not supported in JSDOM */\n dataTransfer.dropEffect = 'none';\n this.dropAllowed = false;\n return;\n }\n /* istanbul ignore next: not supported in JSDOM */\n\n\n dataTransfer.dropEffect = 'copy';\n },\n // Note this event fires repeatedly while the mouse is over the dropzone at\n // intervals in the milliseconds, so avoid doing much processing in here\n onDragover: function onDragover(event) {\n stopEvent(event);\n this.dragging = true;\n var _event$dataTransfer3 = event.dataTransfer,\n dataTransfer = _event$dataTransfer3 === void 0 ? {} : _event$dataTransfer3; // Early exit when the input or dropping is disabled\n\n if (this.noDrop || this.disabled || !this.dropAllowed) {\n // Show deny feedback\n\n /* istanbul ignore next: not supported in JSDOM */\n dataTransfer.dropEffect = 'none';\n this.dropAllowed = false;\n return;\n }\n /* istanbul ignore next: not supported in JSDOM */\n\n\n dataTransfer.dropEffect = 'copy';\n },\n onDragleave: function onDragleave(event) {\n var _this3 = this;\n\n stopEvent(event);\n this.$nextTick(function () {\n _this3.dragging = false; // Reset `dropAllowed` to default\n\n _this3.dropAllowed = !_this3.noDrop;\n });\n },\n // Triggered by a file drop onto drop target\n onDrop: function onDrop(event) {\n var _this4 = this;\n\n stopEvent(event);\n this.dragging = false; // Early exit when the input or dropping is disabled\n\n if (this.noDrop || this.disabled || !this.dropAllowed) {\n this.$nextTick(function () {\n // Reset `dropAllowed` to default\n _this4.dropAllowed = !_this4.noDrop;\n });\n return;\n }\n\n this.onChange(event);\n }\n },\n render: function render(h) {\n var custom = this.custom,\n plain = this.plain,\n size = this.size,\n dragging = this.dragging,\n stateClass = this.stateClass,\n bvAttrs = this.bvAttrs; // Form Input\n\n var $input = h('input', {\n class: [{\n 'form-control-file': plain,\n 'custom-file-input': custom,\n focus: custom && this.hasFocus\n }, stateClass],\n // With IE 11, the input gets in the \"way\" of the drop events,\n // so we move it out of the way by putting it behind the label\n // Bootstrap v4 has it in front\n style: custom ? {\n zIndex: -5\n } : {},\n attrs: this.computedAttrs,\n on: {\n change: this.onChange,\n focusin: this.focusHandler,\n focusout: this.focusHandler,\n reset: this.reset\n },\n ref: 'input'\n });\n\n if (plain) {\n return $input;\n } // Overlay label\n\n\n var $label = h('label', {\n staticClass: 'custom-file-label',\n class: {\n dragging: dragging\n },\n attrs: {\n for: this.safeId(),\n // This goes away in Bootstrap v5\n 'data-browse': this.browseText || null\n }\n }, [h('span', {\n staticClass: 'd-block form-file-text',\n // `pointer-events: none` is used to make sure\n // the drag events fire only on the label\n style: {\n pointerEvents: 'none'\n }\n }, [this.labelContent])]); // Return rendered custom file input\n\n return h('div', {\n staticClass: 'custom-file b-form-file',\n class: [_defineProperty({}, \"b-custom-control-\".concat(size), size), stateClass, bvAttrs.class],\n style: bvAttrs.style,\n attrs: {\n id: this.safeId('_BV_file_outer_')\n },\n on: {\n dragenter: this.onDragenter,\n dragover: this.onDragover,\n dragleave: this.onDragleave,\n drop: this.onDrop\n }\n }, [$input, $label]);\n }\n});"],"sourceRoot":""}