{"version":3,"sources":["webpack:///./src/views/company/GeneralSettings.vue?3fe2","webpack:///./node_modules/bootstrap-vue/esm/components/form/form.js","webpack:///./node_modules/bootstrap-vue/esm/utils/loose-index-of.js","webpack:///./node_modules/bootstrap-vue/esm/components/media/media.js","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack:///./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack:///./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack:///./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack:///./src/views/company/GeneralSettings.vue?5dfe","webpack:///src/views/company/GeneralSettings.vue","webpack:///./src/views/company/GeneralSettings.vue?42e7","webpack:///./src/views/company/GeneralSettings.vue?3881","webpack:///./node_modules/bootstrap-vue/esm/components/media/media-aside.js","webpack:///./node_modules/compressorjs/dist/compressor.js","webpack:///./node_modules/bootstrap-vue/esm/components/media/media-body.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-custom.js","webpack:///./src/@core/comp-functions/forms/form-utils.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-checkbox/form-checkbox.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-file/form-file.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-radio-check.js","webpack:///./node_modules/vue-ripple-directive/src/ripple.js"],"names":["props","id","inline","novalidate","validated","BForm","extend","name","functional","render","h","_ref","data","children","class","attrs","looseIndexOf","array","value","i","length","noBody","rightAlign","tag","verticalAlign","BMedia","slots","scopedSlots","$children","slotScope","$slots","$scopedSlots","push","$aside","right","staticClass","_arrayWithHoles","arr","Array","isArray","_iterableToArrayLimit","_i","Symbol","iterator","_s","_e","_arr","_n","_d","call","next","done","err","_nonIterableRest","TypeError","_slicedToArray","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","_vm","this","_h","$createElement","_c","_self","key","pictureurl","ref","directives","rawName","expression","modifiers","on","$event","$refs","refInputEl","$el","click","_v","$t","inputImageRenderer","model","callback","$$v","profileFile","updateCompany","user","usertype","removeCompany","companySettings","$set","$store","state","appConfig","isRTL","valueOptions","option","staticRenderFns","components","BButton","BImg","BFormFile","BFormGroup","BFormInput","BRow","BCol","BCard","BMediaAside","BMediaBody","BLink","BFormCheckbox","vSelect","Ripple","symbol","pricedecimal","nutrientdecimal","ingredientdecimal","forceproduct","symbolinfront","companyLogoShowsInForm","companyname","showcompanylogoinreports","showcompanynameinreports","autosolve","feedListType","picturechanged","previewEl","counterForOneCuvalWeight","mounted","currency","address","companyaddress","city","companycity","country","companycountry","phone","companyphone","mobile","companymobile","vn","companyvn","vd","companyvd","companyid","companypictureurl","config","headers","methods","component","_defineProperty","obj","Object","defineProperty","enumerable","configurable","writable","align","concat","global","factory","module","exports","_classCallCheck","instance","Constructor","_defineProperties","target","descriptor","_createClass","protoProps","staticProps","prototype","_extends","assign","arguments","source","hasOwnProperty","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","_objectSpread2","forEach","getOwnPropertyDescriptors","defineProperties","createCommonjsModule","fn","basedir","path","require","base","commonjsRequire","undefined","Error","canvasToBlob","window","CanvasPrototype","HTMLCanvasElement","hasBlobConstructor","Blob","Boolean","e","hasArrayBufferViewSupport","Uint8Array","size","BlobBuilder","WebKitBlobBuilder","MozBlobBuilder","MSBlobBuilder","dataURIPattern","dataURLtoBlob","atob","ArrayBuffer","dataURI","matches","mediaType","isBase64","dataString","byteString","arrayBuffer","intArray","bb","match","slice","decodeURIComponent","charCodeAt","type","append","getBlob","toBlob","mozGetAsFile","quality","self","setTimeout","toDataURL","msToBlob","isBlob","toString","DEFAULTS","strict","checkOrientation","maxWidth","Infinity","maxHeight","minWidth","minHeight","width","height","mimeType","convertSize","beforeDraw","drew","success","error","IS_BROWSER","document","WINDOW","toArray","from","REGEXP_IMAGE_TYPE","isImageType","test","imageTypeToExtension","extension","substr","fromCharCode","String","getStringFromCharCode","dataView","start","str","getUint8","btoa","arrayBufferToDataURL","chunks","chunkSize","uint8","subarray","join","resetAndGetOrientation","orientation","DataView","littleEndian","app1Start","ifdStart","byteLength","offset","exifIDCode","tiffOffset","endianness","getUint16","firstIFDOffset","getUint32","_offset","_length","setUint16","parseOrientation","rotate","scaleX","scaleY","REGEXP_DECIMALS","normalizeDecimalNumber","times","Math","round","ArrayBuffer$1","FileReader","URL","webkitURL","REGEXP_EXTENSION","AnotherCompressor","Compressor","file","options","image","Image","aborted","result","init","_this","load","url","createObjectURL","reader","onload","onabort","fail","onerror","onloadend","readAsArrayBuffer","readAsDataURL","_this2","draw","naturalWidth","naturalHeight","navigator","userAgent","crossOrigin","alt","src","_ref2","_this3","_ref2$rotate","_ref2$scaleX","_ref2$scaleY","canvas","createElement","context","getContext","aspectRatio","is90DegreesRotated","abs","max","_ref3","_ref4","_ref5","floor","min","destX","destY","destWidth","destHeight","_ref6","fillStyle","fillRect","save","translate","PI","scale","drawImage","restore","_ref7","revokeObjectURL","date","Date","lastModified","getTime","lastModifiedDate","replace","abort","complete","plain","formCustomMixin","computed","custom","useInputImageRenderer","inputEl","files","_objectSpread","MODEL_PROP_NAME_INDETERMINATE","MODEL_EVENT_NAME_INDETERMINATE","mixins","inject","bvGroup","default","isChecked","checked","computedLocalChecked","isRadio","watch","newValue","oldValue","setIndeterminate","computedLocalCheckedWatcher","$emit","$input","input","indeterminate","handleChange","_ref$target","uncheckedValue","localChecked","index","$nextTick","isGroup","_watch","_makeModelMixin","defaultValue","validator","VALUE_EMPTY_DEPRECATED_MSG","isValidValue","modelMixin","mixin","modelProps","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","isFile","resolve","$path","directoryReader","entryPromises","readDirectoryEntries","readEntries","entries","then","accept","browseText","capture","directory","dropPlaceholder","fileNameFormatter","multiple","noDrop","noDropPlaceholder","noTraverse","placeholder","inheritAttrs","dragging","dropAllowed","hasFocus","computedAccept","trim","split","extOrType","startMatch","endMatch","rx","RegExp","computedCapture","computedAttrs","disabled","required","form","bvAttrs","safeId","webkitdirectory","computedFileNameFormatter","defaultFileNameFormatter","clonedFiles","flattenedFiles","fileNames","labelContent","normalizeSlot","allowed","hasNormalizedSlot","filesTraversed","names","reset","created","$_form","$form","beforeDestroy","isFileValid","some","a","isFilesArrayValid","setFiles","setInputFiles","dataTransfer","ClipboardEvent","clipboardData","DataTransfer","items","add","_unused","_unused2","handleFiles","isDrop","filteredFiles","focusHandler","onChange","_event$dataTransfer","webkitRelativePath","onDragenter","_event$dataTransfer2","dropEffect","onDragover","_event$dataTransfer3","onDragleave","onDrop","_this4","stateClass","focus","style","zIndex","change","focusin","focusout","$label","for","pointerEvents","dragenter","dragover","dragleave","drop","_methods","ariaLabel","ariaLabelledby","button","buttonVariant","formRadioCheckMixin","get","set","isBtnMode","buttons","isPlain","isCustom","isSwitch","switches","switch","isInline","isDisabled","isRequired","computedName","groupName","computedForm","computedSize","computedState","computedButtonVariant","buttonClasses","$content","domProps","handleFocus","blur","$button","bind","el","binding","transition","setProps","addEventListener","rippler","bg","color","targetBorder","parseInt","getComputedStyle","rect","getBoundingClientRect","left","top","offsetWidth","offsetHeight","dx","clientX","dy","clientY","maxX","maxY","radius","sqrt","border","ripple","rippleContainer","className","marginTop","marginLeft","borderRadius","position","backgroundColor","overflow","storedTargetPosition","clearRipple","parentNode","removeChild","removeEventListener","clearPosition","childNodes","appendChild","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","direction","isNaN","Number"],"mappings":"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","file":"js/chunk-2bcf141e.7472b517.js","sourcesContent":["export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GeneralSettings.vue?vue&type=style&index=0&lang=scss&\"","import { Vue, mergeData } from '../../vue';\nimport { NAME_FORM } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n id: makeProp(PROP_TYPE_STRING),\n inline: makeProp(PROP_TYPE_BOOLEAN, false),\n novalidate: makeProp(PROP_TYPE_BOOLEAN, false),\n validated: makeProp(PROP_TYPE_BOOLEAN, false)\n}, NAME_FORM); // --- Main component ---\n// @vue/component\n\nexport var BForm = /*#__PURE__*/Vue.extend({\n name: NAME_FORM,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h('form', mergeData(data, {\n class: {\n 'form-inline': props.inline,\n 'was-validated': props.validated\n },\n attrs: {\n id: props.id,\n novalidate: props.novalidate\n }\n }), children);\n }\n});","import { looseEqual } from './loose-equal'; // Assumes that the first argument is an array\n\nexport var looseIndexOf = function looseIndexOf(array, value) {\n for (var i = 0; i < array.length; i++) {\n if (looseEqual(array[i], value)) {\n return i;\n }\n }\n\n return -1;\n};","import { Vue, mergeData } from '../../vue';\nimport { NAME_MEDIA } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_ASIDE, SLOT_NAME_DEFAULT } from '../../constants/slots';\nimport { normalizeSlot } from '../../utils/normalize-slot';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { BMediaAside } from './media-aside';\nimport { BMediaBody } from './media-body'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n noBody: makeProp(PROP_TYPE_BOOLEAN, false),\n rightAlign: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n verticalAlign: makeProp(PROP_TYPE_STRING, 'top')\n}, NAME_MEDIA); // --- Main component ---\n// @vue/component\n\nexport var BMedia = /*#__PURE__*/Vue.extend({\n name: NAME_MEDIA,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots,\n scopedSlots = _ref.scopedSlots,\n children = _ref.children;\n var noBody = props.noBody,\n rightAlign = props.rightAlign,\n verticalAlign = props.verticalAlign;\n var $children = noBody ? children : [];\n\n if (!noBody) {\n var slotScope = {};\n var $slots = slots();\n var $scopedSlots = scopedSlots || {};\n $children.push(h(BMediaBody, normalizeSlot(SLOT_NAME_DEFAULT, slotScope, $scopedSlots, $slots)));\n var $aside = normalizeSlot(SLOT_NAME_ASIDE, slotScope, $scopedSlots, $slots);\n\n if ($aside) {\n $children[rightAlign ? 'push' : 'unshift'](h(BMediaAside, {\n props: {\n right: rightAlign,\n verticalAlign: verticalAlign\n }\n }, $aside));\n }\n }\n\n return h(props.tag, mergeData(data, {\n staticClass: 'media'\n }), $children);\n }\n});","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',[_c('b-row',[_c('b-col',{attrs:{\"cols\":\"12\",\"md\":\"10\"}},[_c('b-media',{staticClass:\"d-flex flex-wrap\",attrs:{\"no-body\":\"\"}},[_c('b-media-aside',[_c('b-link',[_c('b-img',{key:_vm.pictureurl,ref:\"previewEl\",attrs:{\"rounded\":\"\",\"src\":'https://api.optitmr.com/Company_Pictures/' + _vm.pictureurl,\"height\":\"80\"}})],1)],1),_c('b-media-body',{staticClass:\"mt-75 ml-75 d-flex\"},[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],staticClass:\"mb-75 mr-75\",attrs:{\"variant\":\"primary\",\"size\":\"sm\"},on:{\"click\":function($event){return _vm.$refs.refInputEl.$el.click()}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"upload\"))+\" \")]),_c('b-form-file',{ref:\"refInputEl\",attrs:{\"accept\":\".jpg, .png, .gif\",\"hidden\":true,\"plain\":\"\"},on:{\"input\":_vm.inputImageRenderer},model:{value:(_vm.profileFile),callback:function ($$v) {_vm.profileFile=$$v},expression:\"profileFile\"}})],1)],1)],1),_c('b-col',{staticClass:\"\\n d-none d-sm-flex\\n flex-column\\n justify-content-between\\n align-items-end\\n \",attrs:{\"cols\":\"12\",\"md\":\"2\"}},[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.updateCompany}},[_vm._v(\" \"+_vm._s(_vm.$t(\"save\"))+\" \")]),(_vm.user.usertype == 1)?_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"variant\":\"danger\",\"size\":\"sm\"},on:{\"click\":_vm.removeCompany}},[_vm._v(\" \"+_vm._s(_vm.$t(\"removeCompany\"))+\" \")]):_vm._e()],1)],1),_c('b-form',{staticClass:\"mt-2\"},[_c('b-row',[_c('b-col',{attrs:{\"sm\":\"6\",\"md\":\"4\"}},[_c('b-form-group',{attrs:{\"label\":_vm.$t('companyName'),\"label-for\":\"companyName\"}},[_c('b-form-input',{attrs:{\"placeholder\":_vm.$t('companyName'),\"name\":\"companyName\"},model:{value:(_vm.companySettings.companyname),callback:function ($$v) {_vm.$set(_vm.companySettings, \"companyname\", $$v)},expression:\"companySettings.companyname\"}})],1)],1),_c('b-col',{attrs:{\"sm\":\"6\",\"md\":\"4\"}},[_c('b-form-group',{attrs:{\"label\":_vm.$t('companyAddress'),\"label-for\":\"companyAddress\"}},[_c('b-form-input',{attrs:{\"placeholder\":_vm.$t('companyAddress'),\"name\":\"companyAddress\"},model:{value:(_vm.companySettings.address),callback:function ($$v) {_vm.$set(_vm.companySettings, \"address\", $$v)},expression:\"companySettings.address\"}})],1)],1),_c('b-col',{attrs:{\"sm\":\"6\",\"md\":\"4\"}},[_c('b-form-group',{attrs:{\"label\":_vm.$t('companyCity'),\"label-for\":\"companyCity\"}},[_c('b-form-input',{attrs:{\"placeholder\":_vm.$t('companyCity'),\"name\":\"companyCity\"},model:{value:(_vm.companySettings.city),callback:function ($$v) {_vm.$set(_vm.companySettings, \"city\", $$v)},expression:\"companySettings.city\"}})],1)],1),_c('b-col',{attrs:{\"sm\":\"6\",\"md\":\"4\"}},[_c('b-form-group',{attrs:{\"label\":_vm.$t('companyCountry'),\"label-for\":\"companyCountry\"}},[_c('b-form-input',{attrs:{\"placeholder\":_vm.$t('companyCountry'),\"name\":\"companyCountry\"},model:{value:(_vm.companySettings.country),callback:function ($$v) {_vm.$set(_vm.companySettings, \"country\", $$v)},expression:\"companySettings.country\"}})],1)],1),_c('b-col',{attrs:{\"sm\":\"6\",\"md\":\"4\"}},[_c('b-form-group',{attrs:{\"label\":_vm.$t('companyPhone'),\"label-for\":\"companyPhone\"}},[_c('b-form-input',{attrs:{\"placeholder\":_vm.$t('companyPhone'),\"name\":\"companyPhone\"},model:{value:(_vm.companySettings.phone),callback:function ($$v) {_vm.$set(_vm.companySettings, \"phone\", $$v)},expression:\"companySettings.phone\"}})],1)],1),_c('b-col',{attrs:{\"sm\":\"6\",\"md\":\"4\"}},[_c('b-form-group',{attrs:{\"label\":_vm.$t('companyMobile'),\"label-for\":\"companyMobile\"}},[_c('b-form-input',{attrs:{\"placeholder\":_vm.$t('companyMobile'),\"name\":\"companyMobile\"},model:{value:(_vm.companySettings.mobile),callback:function ($$v) {_vm.$set(_vm.companySettings, \"mobile\", $$v)},expression:\"companySettings.mobile\"}})],1)],1),_c('b-col',{attrs:{\"sm\":\"6\",\"md\":\"4\"}},[_c('b-form-group',{attrs:{\"label\":_vm.$t('companyVd'),\"label-for\":\"companyVd\"}},[_c('b-form-input',{attrs:{\"placeholder\":_vm.$t('companyVd'),\"name\":\"companyVd\"},model:{value:(_vm.companySettings.vd),callback:function ($$v) {_vm.$set(_vm.companySettings, \"vd\", $$v)},expression:\"companySettings.vd\"}})],1)],1),_c('b-col',{attrs:{\"sm\":\"6\",\"md\":\"4\"}},[_c('b-form-group',{attrs:{\"label\":_vm.$t('companyVn'),\"label-for\":\"companyVn\"}},[_c('b-form-input',{attrs:{\"placeholder\":_vm.$t('companyVn'),\"name\":\"companyVn\"},model:{value:(_vm.companySettings.vn),callback:function ($$v) {_vm.$set(_vm.companySettings, \"vn\", $$v)},expression:\"companySettings.vn\"}})],1)],1),_c('b-col',{attrs:{\"sm\":\"6\",\"md\":\"4\"}},[_c('b-form-group',{attrs:{\"label\":_vm.$t('currencySymbol'),\"label-for\":\"currency\"}},[_c('b-form-input',{attrs:{\"placeholder\":\"currency\",\"name\":\"currency\"},model:{value:(_vm.companySettings.symbol),callback:function ($$v) {_vm.$set(_vm.companySettings, \"symbol\", $$v)},expression:\"companySettings.symbol\"}})],1)],1),_c('b-col',{attrs:{\"sm\":\"6\",\"md\":\"4\"}},[_c('b-form-group',{attrs:{\"label\":_vm.$t('ingredientPrecision'),\"label-for\":\"symbol\"}},[_c('v-select',{attrs:{\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"clearable\":false,\"options\":_vm.valueOptions,\"reduce\":function (option) { return option.value; }},model:{value:(_vm.companySettings.ingredientdecimal),callback:function ($$v) {_vm.$set(_vm.companySettings, \"ingredientdecimal\", $$v)},expression:\"companySettings.ingredientdecimal\"}})],1)],1),_c('b-col',{attrs:{\"sm\":\"6\",\"md\":\"4\"}},[_c('b-form-group',{attrs:{\"label\":_vm.$t('nutrientPrecision'),\"label-for\":\"nutrientdecimal\"}},[_c('v-select',{attrs:{\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"clearable\":false,\"options\":_vm.valueOptions,\"reduce\":function (option) { return option.value; }},model:{value:(_vm.companySettings.nutrientdecimal),callback:function ($$v) {_vm.$set(_vm.companySettings, \"nutrientdecimal\", $$v)},expression:\"companySettings.nutrientdecimal\"}})],1)],1),_c('b-col',{attrs:{\"sm\":\"6\",\"md\":\"4\"}},[_c('b-form-group',{attrs:{\"label\":_vm.$t('pricePrecision'),\"label-for\":\"pricedecimal\"}},[_c('v-select',{attrs:{\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"clearable\":false,\"options\":_vm.valueOptions,\"reduce\":function (option) { return option.value; }},model:{value:(_vm.companySettings.pricedecimal),callback:function ($$v) {_vm.$set(_vm.companySettings, \"pricedecimal\", $$v)},expression:\"companySettings.pricedecimal\"}})],1)],1),_c('b-col',{attrs:{\"sm\":\"6\",\"md\":\"4\"}},[_c('b-form-group',{staticClass:\"mt-1\"},[_c('b-form-checkbox',{attrs:{\"id\":\"productRequired\"},model:{value:(_vm.companySettings.forceproduct),callback:function ($$v) {_vm.$set(_vm.companySettings, \"forceproduct\", $$v)},expression:\"companySettings.forceproduct\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"forceProduct\"))+\" \")])],1)],1),_c('b-col',{attrs:{\"sm\":\"6\",\"md\":\"4\"}},[_c('b-form-group',{staticClass:\"mt-1\"},[_c('b-form-checkbox',{attrs:{\"id\":\"symbol\"},model:{value:(_vm.companySettings.symbolinfront),callback:function ($$v) {_vm.$set(_vm.companySettings, \"symbolinfront\", $$v)},expression:\"companySettings.symbolinfront\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"symbolfront\"))+\" \")])],1)],1),_c('b-col',{staticClass:\"d-flex d-sm-none justify-content-end align-items-start\",attrs:{\"cols\":\"12\"}},[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.updateCompany}},[_vm._v(\" \"+_vm._s(_vm.$t(\"save\"))+\" \")])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GeneralSettings.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GeneralSettings.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./GeneralSettings.vue?vue&type=template&id=e8b63772&\"\nimport script from \"./GeneralSettings.vue?vue&type=script&lang=js&\"\nexport * from \"./GeneralSettings.vue?vue&type=script&lang=js&\"\nimport style0 from \"./GeneralSettings.vue?vue&type=style&index=0&lang=scss&\"\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","function _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, mergeData } from '../../vue';\nimport { NAME_MEDIA_ASIDE } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n right: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n verticalAlign: makeProp(PROP_TYPE_STRING, 'top')\n}, NAME_MEDIA_ASIDE); // --- Main component ---\n// @vue/component\n\nexport var BMediaAside = /*#__PURE__*/Vue.extend({\n name: NAME_MEDIA_ASIDE,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var verticalAlign = props.verticalAlign;\n var align = verticalAlign === 'top' ? 'start' : verticalAlign === 'bottom' ? 'end' :\n /* istanbul ignore next */\n verticalAlign;\n return h(props.tag, mergeData(data, {\n staticClass: 'media-aside',\n class: _defineProperty({\n 'media-aside-right': props.right\n }, \"align-self-\".concat(align), align)\n }), children);\n }\n});","/*!\n * Compressor.js v1.0.7\n * https://fengyuanchen.github.io/compressorjs\n *\n * Copyright 2018-present Chen Fengyuan\n * Released under the MIT license\n *\n * Date: 2020-11-28T07:13:17.754Z\n */\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Compressor = factory());\n}(this, (function () { 'use strict';\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n }\n\n function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n }\n\n function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n }\n\n function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n }\n\n function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n }\n\n function createCommonjsModule(fn, basedir, module) {\n \treturn module = {\n \t\tpath: basedir,\n \t\texports: {},\n \t\trequire: function (path, base) {\n \t\t\treturn commonjsRequire(path, (base === undefined || base === null) ? module.path : base);\n \t\t}\n \t}, fn(module, module.exports), module.exports;\n }\n\n function commonjsRequire () {\n \tthrow new Error('Dynamic requires are not currently supported by @rollup/plugin-commonjs');\n }\n\n var canvasToBlob = createCommonjsModule(function (module) {\n if (typeof window === 'undefined') {\n return;\n }\n\n (function (window) {\n\n var CanvasPrototype = window.HTMLCanvasElement && window.HTMLCanvasElement.prototype;\n\n var hasBlobConstructor = window.Blob && function () {\n try {\n return Boolean(new Blob());\n } catch (e) {\n return false;\n }\n }();\n\n var hasArrayBufferViewSupport = hasBlobConstructor && window.Uint8Array && function () {\n try {\n return new Blob([new Uint8Array(100)]).size === 100;\n } catch (e) {\n return false;\n }\n }();\n\n var BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder || window.MSBlobBuilder;\n var dataURIPattern = /^data:((.*?)(;charset=.*?)?)(;base64)?,/;\n\n var dataURLtoBlob = (hasBlobConstructor || BlobBuilder) && window.atob && window.ArrayBuffer && window.Uint8Array && function (dataURI) {\n var matches, mediaType, isBase64, dataString, byteString, arrayBuffer, intArray, i, bb; // Parse the dataURI components as per RFC 2397\n\n matches = dataURI.match(dataURIPattern);\n\n if (!matches) {\n throw new Error('invalid data URI');\n } // Default to text/plain;charset=US-ASCII\n\n\n mediaType = matches[2] ? matches[1] : 'text/plain' + (matches[3] || ';charset=US-ASCII');\n isBase64 = !!matches[4];\n dataString = dataURI.slice(matches[0].length);\n\n if (isBase64) {\n // Convert base64 to raw binary data held in a string:\n byteString = atob(dataString);\n } else {\n // Convert base64/URLEncoded data component to raw binary:\n byteString = decodeURIComponent(dataString);\n } // Write the bytes of the string to an ArrayBuffer:\n\n\n arrayBuffer = new ArrayBuffer(byteString.length);\n intArray = new Uint8Array(arrayBuffer);\n\n for (i = 0; i < byteString.length; i += 1) {\n intArray[i] = byteString.charCodeAt(i);\n } // Write the ArrayBuffer (or ArrayBufferView) to a blob:\n\n\n if (hasBlobConstructor) {\n return new Blob([hasArrayBufferViewSupport ? intArray : arrayBuffer], {\n type: mediaType\n });\n }\n\n bb = new BlobBuilder();\n bb.append(arrayBuffer);\n return bb.getBlob(mediaType);\n };\n\n if (window.HTMLCanvasElement && !CanvasPrototype.toBlob) {\n if (CanvasPrototype.mozGetAsFile) {\n CanvasPrototype.toBlob = function (callback, type, quality) {\n var self = this;\n setTimeout(function () {\n if (quality && CanvasPrototype.toDataURL && dataURLtoBlob) {\n callback(dataURLtoBlob(self.toDataURL(type, quality)));\n } else {\n callback(self.mozGetAsFile('blob', type));\n }\n });\n };\n } else if (CanvasPrototype.toDataURL && dataURLtoBlob) {\n if (CanvasPrototype.msToBlob) {\n CanvasPrototype.toBlob = function (callback, type, quality) {\n var self = this;\n setTimeout(function () {\n if ((type && type !== 'image/png' || quality) && CanvasPrototype.toDataURL && dataURLtoBlob) {\n callback(dataURLtoBlob(self.toDataURL(type, quality)));\n } else {\n callback(self.msToBlob(type));\n }\n });\n };\n } else {\n CanvasPrototype.toBlob = function (callback, type, quality) {\n var self = this;\n setTimeout(function () {\n callback(dataURLtoBlob(self.toDataURL(type, quality)));\n });\n };\n }\n }\n }\n\n if ( module.exports) {\n module.exports = dataURLtoBlob;\n } else {\n window.dataURLtoBlob = dataURLtoBlob;\n }\n })(window);\n });\n\n var isBlob = function isBlob(value) {\n if (typeof Blob === 'undefined') {\n return false;\n }\n\n return value instanceof Blob || Object.prototype.toString.call(value) === '[object Blob]';\n };\n\n var DEFAULTS = {\n /**\n * Indicates if output the original image instead of the compressed one\n * when the size of the compressed image is greater than the original one's\n * @type {boolean}\n */\n strict: true,\n\n /**\n * Indicates if read the image's Exif Orientation information,\n * and then rotate or flip the image automatically.\n * @type {boolean}\n */\n checkOrientation: true,\n\n /**\n * The max width of the output image.\n * @type {number}\n */\n maxWidth: Infinity,\n\n /**\n * The max height of the output image.\n * @type {number}\n */\n maxHeight: Infinity,\n\n /**\n * The min width of the output image.\n * @type {number}\n */\n minWidth: 0,\n\n /**\n * The min height of the output image.\n * @type {number}\n */\n minHeight: 0,\n\n /**\n * The width of the output image.\n * If not specified, the natural width of the source image will be used.\n * @type {number}\n */\n width: undefined,\n\n /**\n * The height of the output image.\n * If not specified, the natural height of the source image will be used.\n * @type {number}\n */\n height: undefined,\n\n /**\n * The quality of the output image.\n * It must be a number between `0` and `1`,\n * and only available for `image/jpeg` and `image/webp` images.\n * Check out {@link https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toBlob canvas.toBlob}.\n * @type {number}\n */\n quality: 0.8,\n\n /**\n * The mime type of the output image.\n * By default, the original mime type of the source image file will be used.\n * @type {string}\n */\n mimeType: 'auto',\n\n /**\n * PNG files over this value (5 MB by default) will be converted to JPEGs.\n * To disable this, just set the value to `Infinity`.\n * @type {number}\n */\n convertSize: 5000000,\n\n /**\n * The hook function to execute before draw the image into the canvas for compression.\n * @type {Function}\n * @param {CanvasRenderingContext2D} context - The 2d rendering context of the canvas.\n * @param {HTMLCanvasElement} canvas - The canvas for compression.\n * @example\n * function (context, canvas) {\n * context.fillStyle = '#fff';\n * }\n */\n beforeDraw: null,\n\n /**\n * The hook function to execute after drew the image into the canvas for compression.\n * @type {Function}\n * @param {CanvasRenderingContext2D} context - The 2d rendering context of the canvas.\n * @param {HTMLCanvasElement} canvas - The canvas for compression.\n * @example\n * function (context, canvas) {\n * context.filter = 'grayscale(100%)';\n * }\n */\n drew: null,\n\n /**\n * The hook function to execute when success to compress the image.\n * @type {Function}\n * @param {File} file - The compressed image File object.\n * @example\n * function (file) {\n * console.log(file);\n * }\n */\n success: null,\n\n /**\n * The hook function to execute when fail to compress the image.\n * @type {Function}\n * @param {Error} err - An Error object.\n * @example\n * function (err) {\n * console.log(err.message);\n * }\n */\n error: null\n };\n\n var IS_BROWSER = typeof window !== 'undefined' && typeof window.document !== 'undefined';\n var WINDOW = IS_BROWSER ? window : {};\n\n var slice = Array.prototype.slice;\n /**\n * Convert array-like or iterable object to an array.\n * @param {*} value - The value to convert.\n * @returns {Array} Returns a new array.\n */\n\n function toArray(value) {\n return Array.from ? Array.from(value) : slice.call(value);\n }\n var REGEXP_IMAGE_TYPE = /^image\\/.+$/;\n /**\n * Check if the given value is a mime type of image.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given is a mime type of image, else `false`.\n */\n\n function isImageType(value) {\n return REGEXP_IMAGE_TYPE.test(value);\n }\n /**\n * Convert image type to extension.\n * @param {string} value - The image type to convert.\n * @returns {boolean} Returns the image extension.\n */\n\n function imageTypeToExtension(value) {\n var extension = isImageType(value) ? value.substr(6) : '';\n\n if (extension === 'jpeg') {\n extension = 'jpg';\n }\n\n return \".\".concat(extension);\n }\n var fromCharCode = String.fromCharCode;\n /**\n * Get string from char code in data view.\n * @param {DataView} dataView - The data view for read.\n * @param {number} start - The start index.\n * @param {number} length - The read length.\n * @returns {string} The read result.\n */\n\n function getStringFromCharCode(dataView, start, length) {\n var str = '';\n var i;\n length += start;\n\n for (i = start; i < length; i += 1) {\n str += fromCharCode(dataView.getUint8(i));\n }\n\n return str;\n }\n var btoa = WINDOW.btoa;\n /**\n * Transform array buffer to Data URL.\n * @param {ArrayBuffer} arrayBuffer - The array buffer to transform.\n * @param {string} mimeType - The mime type of the Data URL.\n * @returns {string} The result Data URL.\n */\n\n function arrayBufferToDataURL(arrayBuffer, mimeType) {\n var chunks = [];\n var chunkSize = 8192;\n var uint8 = new Uint8Array(arrayBuffer);\n\n while (uint8.length > 0) {\n // XXX: Babel's `toConsumableArray` helper will throw error in IE or Safari 9\n // eslint-disable-next-line prefer-spread\n chunks.push(fromCharCode.apply(null, toArray(uint8.subarray(0, chunkSize))));\n uint8 = uint8.subarray(chunkSize);\n }\n\n return \"data:\".concat(mimeType, \";base64,\").concat(btoa(chunks.join('')));\n }\n /**\n * Get orientation value from given array buffer.\n * @param {ArrayBuffer} arrayBuffer - The array buffer to read.\n * @returns {number} The read orientation value.\n */\n\n function resetAndGetOrientation(arrayBuffer) {\n var dataView = new DataView(arrayBuffer);\n var orientation; // Ignores range error when the image does not have correct Exif information\n\n try {\n var littleEndian;\n var app1Start;\n var ifdStart; // Only handle JPEG image (start by 0xFFD8)\n\n if (dataView.getUint8(0) === 0xFF && dataView.getUint8(1) === 0xD8) {\n var length = dataView.byteLength;\n var offset = 2;\n\n while (offset + 1 < length) {\n if (dataView.getUint8(offset) === 0xFF && dataView.getUint8(offset + 1) === 0xE1) {\n app1Start = offset;\n break;\n }\n\n offset += 1;\n }\n }\n\n if (app1Start) {\n var exifIDCode = app1Start + 4;\n var tiffOffset = app1Start + 10;\n\n if (getStringFromCharCode(dataView, exifIDCode, 4) === 'Exif') {\n var endianness = dataView.getUint16(tiffOffset);\n littleEndian = endianness === 0x4949;\n\n if (littleEndian || endianness === 0x4D4D\n /* bigEndian */\n ) {\n if (dataView.getUint16(tiffOffset + 2, littleEndian) === 0x002A) {\n var firstIFDOffset = dataView.getUint32(tiffOffset + 4, littleEndian);\n\n if (firstIFDOffset >= 0x00000008) {\n ifdStart = tiffOffset + firstIFDOffset;\n }\n }\n }\n }\n }\n\n if (ifdStart) {\n var _length = dataView.getUint16(ifdStart, littleEndian);\n\n var _offset;\n\n var i;\n\n for (i = 0; i < _length; i += 1) {\n _offset = ifdStart + i * 12 + 2;\n\n if (dataView.getUint16(_offset, littleEndian) === 0x0112\n /* Orientation */\n ) {\n // 8 is the offset of the current tag's value\n _offset += 8; // Get the original orientation value\n\n orientation = dataView.getUint16(_offset, littleEndian); // Override the orientation with its default value\n\n dataView.setUint16(_offset, 1, littleEndian);\n break;\n }\n }\n }\n } catch (e) {\n orientation = 1;\n }\n\n return orientation;\n }\n /**\n * Parse Exif Orientation value.\n * @param {number} orientation - The orientation to parse.\n * @returns {Object} The parsed result.\n */\n\n function parseOrientation(orientation) {\n var rotate = 0;\n var scaleX = 1;\n var scaleY = 1;\n\n switch (orientation) {\n // Flip horizontal\n case 2:\n scaleX = -1;\n break;\n // Rotate left 180°\n\n case 3:\n rotate = -180;\n break;\n // Flip vertical\n\n case 4:\n scaleY = -1;\n break;\n // Flip vertical and rotate right 90°\n\n case 5:\n rotate = 90;\n scaleY = -1;\n break;\n // Rotate right 90°\n\n case 6:\n rotate = 90;\n break;\n // Flip horizontal and rotate right 90°\n\n case 7:\n rotate = 90;\n scaleX = -1;\n break;\n // Rotate left 90°\n\n case 8:\n rotate = -90;\n break;\n }\n\n return {\n rotate: rotate,\n scaleX: scaleX,\n scaleY: scaleY\n };\n }\n var REGEXP_DECIMALS = /\\.\\d*(?:0|9){12}\\d*$/;\n /**\n * Normalize decimal number.\n * Check out {@link https://0.30000000000000004.com/}\n * @param {number} value - The value to normalize.\n * @param {number} [times=100000000000] - The times for normalizing.\n * @returns {number} Returns the normalized number.\n */\n\n function normalizeDecimalNumber(value) {\n var times = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 100000000000;\n return REGEXP_DECIMALS.test(value) ? Math.round(value * times) / times : value;\n }\n\n var ArrayBuffer$1 = WINDOW.ArrayBuffer,\n FileReader = WINDOW.FileReader;\n var URL = WINDOW.URL || WINDOW.webkitURL;\n var REGEXP_EXTENSION = /\\.\\w+$/;\n var AnotherCompressor = WINDOW.Compressor;\n /**\n * Creates a new image compressor.\n * @class\n */\n\n var Compressor = /*#__PURE__*/function () {\n /**\n * The constructor of Compressor.\n * @param {File|Blob} file - The target image file for compressing.\n * @param {Object} [options] - The options for compressing.\n */\n function Compressor(file, options) {\n _classCallCheck(this, Compressor);\n\n this.file = file;\n this.image = new Image();\n this.options = _objectSpread2(_objectSpread2({}, DEFAULTS), options);\n this.aborted = false;\n this.result = null;\n this.init();\n }\n\n _createClass(Compressor, [{\n key: \"init\",\n value: function init() {\n var _this = this;\n\n var file = this.file,\n options = this.options;\n\n if (!isBlob(file)) {\n this.fail(new Error('The first argument must be a File or Blob object.'));\n return;\n }\n\n var mimeType = file.type;\n\n if (!isImageType(mimeType)) {\n this.fail(new Error('The first argument must be an image File or Blob object.'));\n return;\n }\n\n if (!URL || !FileReader) {\n this.fail(new Error('The current browser does not support image compression.'));\n return;\n }\n\n if (!ArrayBuffer$1) {\n options.checkOrientation = false;\n }\n\n if (URL && !options.checkOrientation) {\n this.load({\n url: URL.createObjectURL(file)\n });\n } else {\n var reader = new FileReader();\n var checkOrientation = options.checkOrientation && mimeType === 'image/jpeg';\n this.reader = reader;\n\n reader.onload = function (_ref) {\n var target = _ref.target;\n var result = target.result;\n var data = {};\n\n if (checkOrientation) {\n // Reset the orientation value to its default value 1\n // as some iOS browsers will render image with its orientation\n var orientation = resetAndGetOrientation(result);\n\n if (orientation > 1 || !URL) {\n // Generate a new URL which has the default orientation value\n data.url = arrayBufferToDataURL(result, mimeType);\n\n if (orientation > 1) {\n _extends(data, parseOrientation(orientation));\n }\n } else {\n data.url = URL.createObjectURL(file);\n }\n } else {\n data.url = result;\n }\n\n _this.load(data);\n };\n\n reader.onabort = function () {\n _this.fail(new Error('Aborted to read the image with FileReader.'));\n };\n\n reader.onerror = function () {\n _this.fail(new Error('Failed to read the image with FileReader.'));\n };\n\n reader.onloadend = function () {\n _this.reader = null;\n };\n\n if (checkOrientation) {\n reader.readAsArrayBuffer(file);\n } else {\n reader.readAsDataURL(file);\n }\n }\n }\n }, {\n key: \"load\",\n value: function load(data) {\n var _this2 = this;\n\n var file = this.file,\n image = this.image;\n\n image.onload = function () {\n _this2.draw(_objectSpread2(_objectSpread2({}, data), {}, {\n naturalWidth: image.naturalWidth,\n naturalHeight: image.naturalHeight\n }));\n };\n\n image.onabort = function () {\n _this2.fail(new Error('Aborted to load the image.'));\n };\n\n image.onerror = function () {\n _this2.fail(new Error('Failed to load the image.'));\n }; // Match all browsers that use WebKit as the layout engine in iOS devices,\n // such as Safari for iOS, Chrome for iOS, and in-app browsers.\n\n\n if (WINDOW.navigator && /(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(WINDOW.navigator.userAgent)) {\n // Fix the `The operation is insecure` error (#57)\n image.crossOrigin = 'anonymous';\n }\n\n image.alt = file.name;\n image.src = data.url;\n }\n }, {\n key: \"draw\",\n value: function draw(_ref2) {\n var _this3 = this;\n\n var naturalWidth = _ref2.naturalWidth,\n naturalHeight = _ref2.naturalHeight,\n _ref2$rotate = _ref2.rotate,\n rotate = _ref2$rotate === void 0 ? 0 : _ref2$rotate,\n _ref2$scaleX = _ref2.scaleX,\n scaleX = _ref2$scaleX === void 0 ? 1 : _ref2$scaleX,\n _ref2$scaleY = _ref2.scaleY,\n scaleY = _ref2$scaleY === void 0 ? 1 : _ref2$scaleY;\n var file = this.file,\n image = this.image,\n options = this.options;\n var canvas = document.createElement('canvas');\n var context = canvas.getContext('2d');\n var aspectRatio = naturalWidth / naturalHeight;\n var is90DegreesRotated = Math.abs(rotate) % 180 === 90;\n var maxWidth = Math.max(options.maxWidth, 0) || Infinity;\n var maxHeight = Math.max(options.maxHeight, 0) || Infinity;\n var minWidth = Math.max(options.minWidth, 0) || 0;\n var minHeight = Math.max(options.minHeight, 0) || 0;\n var width = Math.max(options.width, 0) || naturalWidth;\n var height = Math.max(options.height, 0) || naturalHeight;\n\n if (is90DegreesRotated) {\n var _ref3 = [maxHeight, maxWidth];\n maxWidth = _ref3[0];\n maxHeight = _ref3[1];\n var _ref4 = [minHeight, minWidth];\n minWidth = _ref4[0];\n minHeight = _ref4[1];\n var _ref5 = [height, width];\n width = _ref5[0];\n height = _ref5[1];\n }\n\n if (maxWidth < Infinity && maxHeight < Infinity) {\n if (maxHeight * aspectRatio > maxWidth) {\n maxHeight = maxWidth / aspectRatio;\n } else {\n maxWidth = maxHeight * aspectRatio;\n }\n } else if (maxWidth < Infinity) {\n maxHeight = maxWidth / aspectRatio;\n } else if (maxHeight < Infinity) {\n maxWidth = maxHeight * aspectRatio;\n }\n\n if (minWidth > 0 && minHeight > 0) {\n if (minHeight * aspectRatio > minWidth) {\n minHeight = minWidth / aspectRatio;\n } else {\n minWidth = minHeight * aspectRatio;\n }\n } else if (minWidth > 0) {\n minHeight = minWidth / aspectRatio;\n } else if (minHeight > 0) {\n minWidth = minHeight * aspectRatio;\n }\n\n if (height * aspectRatio > width) {\n height = width / aspectRatio;\n } else {\n width = height * aspectRatio;\n }\n\n width = Math.floor(normalizeDecimalNumber(Math.min(Math.max(width, minWidth), maxWidth)));\n height = Math.floor(normalizeDecimalNumber(Math.min(Math.max(height, minHeight), maxHeight)));\n var destX = -width / 2;\n var destY = -height / 2;\n var destWidth = width;\n var destHeight = height;\n\n if (is90DegreesRotated) {\n var _ref6 = [height, width];\n width = _ref6[0];\n height = _ref6[1];\n }\n\n canvas.width = width;\n canvas.height = height;\n\n if (!isImageType(options.mimeType)) {\n options.mimeType = file.type;\n }\n\n var fillStyle = 'transparent'; // Converts PNG files over the `convertSize` to JPEGs.\n\n if (file.size > options.convertSize && options.mimeType === 'image/png') {\n fillStyle = '#fff';\n options.mimeType = 'image/jpeg';\n } // Override the default fill color (#000, black)\n\n\n context.fillStyle = fillStyle;\n context.fillRect(0, 0, width, height);\n\n if (options.beforeDraw) {\n options.beforeDraw.call(this, context, canvas);\n }\n\n if (this.aborted) {\n return;\n }\n\n context.save();\n context.translate(width / 2, height / 2);\n context.rotate(rotate * Math.PI / 180);\n context.scale(scaleX, scaleY);\n context.drawImage(image, destX, destY, destWidth, destHeight);\n context.restore();\n\n if (options.drew) {\n options.drew.call(this, context, canvas);\n }\n\n if (this.aborted) {\n return;\n }\n\n var done = function done(result) {\n if (!_this3.aborted) {\n _this3.done({\n naturalWidth: naturalWidth,\n naturalHeight: naturalHeight,\n result: result\n });\n }\n };\n\n if (canvas.toBlob) {\n canvas.toBlob(done, options.mimeType, options.quality);\n } else {\n done(canvasToBlob(canvas.toDataURL(options.mimeType, options.quality)));\n }\n }\n }, {\n key: \"done\",\n value: function done(_ref7) {\n var naturalWidth = _ref7.naturalWidth,\n naturalHeight = _ref7.naturalHeight,\n result = _ref7.result;\n var file = this.file,\n image = this.image,\n options = this.options;\n\n if (URL && !options.checkOrientation) {\n URL.revokeObjectURL(image.src);\n }\n\n if (result) {\n // Returns original file if the result is greater than it and without size related options\n if (options.strict && result.size > file.size && options.mimeType === file.type && !(options.width > naturalWidth || options.height > naturalHeight || options.minWidth > naturalWidth || options.minHeight > naturalHeight)) {\n result = file;\n } else {\n var date = new Date();\n result.lastModified = date.getTime();\n result.lastModifiedDate = date;\n result.name = file.name; // Convert the extension to match its type\n\n if (result.name && result.type !== file.type) {\n result.name = result.name.replace(REGEXP_EXTENSION, imageTypeToExtension(result.type));\n }\n }\n } else {\n // Returns original file if the result is null in some cases.\n result = file;\n }\n\n this.result = result;\n\n if (options.success) {\n options.success.call(this, result);\n }\n }\n }, {\n key: \"fail\",\n value: function fail(err) {\n var options = this.options;\n\n if (options.error) {\n options.error.call(this, err);\n } else {\n throw err;\n }\n }\n }, {\n key: \"abort\",\n value: function abort() {\n if (!this.aborted) {\n this.aborted = true;\n\n if (this.reader) {\n this.reader.abort();\n } else if (!this.image.complete) {\n this.image.onload = null;\n this.image.onabort();\n } else {\n this.fail(new Error('The compression process has been aborted.'));\n }\n }\n }\n /**\n * Get the no conflict compressor class.\n * @returns {Compressor} The compressor class.\n */\n\n }], [{\n key: \"noConflict\",\n value: function noConflict() {\n window.Compressor = AnotherCompressor;\n return Compressor;\n }\n /**\n * Change the default options.\n * @param {Object} options - The new default options.\n */\n\n }, {\n key: \"setDefaults\",\n value: function setDefaults(options) {\n _extends(DEFAULTS, options);\n }\n }]);\n\n return Compressor;\n }();\n\n return Compressor;\n\n})));\n","import { Vue, mergeData } from '../../vue';\nimport { NAME_MEDIA_BODY } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n tag: makeProp(PROP_TYPE_STRING, 'div')\n}, NAME_MEDIA_BODY); // --- Main component ---\n// @vue/component\n\nexport var BMediaBody = /*#__PURE__*/Vue.extend({\n name: NAME_MEDIA_BODY,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.tag, mergeData(data, {\n staticClass: 'media-body'\n }), children);\n }\n});","import { Vue } from '../vue';\nimport { PROP_TYPE_BOOLEAN } from '../constants/props';\nimport { makeProp, makePropsConfigurable } from '../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n plain: makeProp(PROP_TYPE_BOOLEAN, false)\n}, 'formControls'); // --- Mixin ---\n// @vue/component\n\nexport var formCustomMixin = Vue.extend({\n props: props,\n computed: {\n custom: function custom() {\n return !this.plain;\n }\n }\n});","import Compressor from \"compressorjs\";\n\nexport const useInputImageRenderer = (inputEl, callback) => {\n const inputImageRenderer = () => {\n const file = inputEl.files[0];\n new Compressor(file, {\n width: 200,\n height: 200,\n quality: 0.2,\n // The compression process is asynchronous,\n // which means you have to access the `result` in the `success` hook function.\n success(result) {\n var reader = new FileReader();\n reader.readAsDataURL(result);\n reader.onload = () => {\n callback(reader.result);\n };\n },\n error(err) {},\n });\n };\n return {\n inputImageRenderer,\n };\n};\n\nexport const _ = null;\n","var _objectSpread2;\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_CHECKBOX } from '../../constants/components';\nimport { EVENT_NAME_CHANGE, MODEL_EVENT_NAME_PREFIX } from '../../constants/events';\nimport { PROP_TYPE_ANY, PROP_TYPE_BOOLEAN } from '../../constants/props';\nimport { isArray } from '../../utils/inspect';\nimport { looseEqual } from '../../utils/loose-equal';\nimport { looseIndexOf } from '../../utils/loose-index-of';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { MODEL_EVENT_NAME, formRadioCheckMixin, props as formRadioCheckProps } from '../../mixins/form-radio-check'; // --- Constants ---\n\nvar MODEL_PROP_NAME_INDETERMINATE = 'indeterminate';\nvar MODEL_EVENT_NAME_INDETERMINATE = MODEL_EVENT_NAME_PREFIX + MODEL_PROP_NAME_INDETERMINATE; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, formRadioCheckProps), {}, (_objectSpread2 = {}, _defineProperty(_objectSpread2, MODEL_PROP_NAME_INDETERMINATE, makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_objectSpread2, \"switch\", makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_objectSpread2, \"uncheckedValue\", makeProp(PROP_TYPE_ANY, false)), _defineProperty(_objectSpread2, \"value\", makeProp(PROP_TYPE_ANY, true)), _objectSpread2))), NAME_FORM_CHECKBOX); // --- Main component ---\n// @vue/component\n\nexport var BFormCheckbox = /*#__PURE__*/Vue.extend({\n name: NAME_FORM_CHECKBOX,\n mixins: [formRadioCheckMixin],\n inject: {\n bvGroup: {\n from: 'bvCheckGroup',\n default: null\n }\n },\n props: props,\n computed: {\n isChecked: function isChecked() {\n var value = this.value,\n checked = this.computedLocalChecked;\n return isArray(checked) ? looseIndexOf(checked, value) > -1 : looseEqual(checked, value);\n },\n isRadio: function isRadio() {\n return false;\n }\n },\n watch: _defineProperty({}, MODEL_PROP_NAME_INDETERMINATE, function (newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.setIndeterminate(newValue);\n }\n }),\n mounted: function mounted() {\n // Set initial indeterminate state\n this.setIndeterminate(this[MODEL_PROP_NAME_INDETERMINATE]);\n },\n methods: {\n computedLocalCheckedWatcher: function computedLocalCheckedWatcher(newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.$emit(MODEL_EVENT_NAME, newValue);\n var $input = this.$refs.input;\n\n if ($input) {\n this.$emit(MODEL_EVENT_NAME_INDETERMINATE, $input.indeterminate);\n }\n }\n },\n handleChange: function handleChange(_ref) {\n var _this = this;\n\n var _ref$target = _ref.target,\n checked = _ref$target.checked,\n indeterminate = _ref$target.indeterminate;\n var value = this.value,\n uncheckedValue = this.uncheckedValue; // Update `computedLocalChecked`\n\n var localChecked = this.computedLocalChecked;\n\n if (isArray(localChecked)) {\n var index = looseIndexOf(localChecked, value);\n\n if (checked && index < 0) {\n // Add value to array\n localChecked = localChecked.concat(value);\n } else if (!checked && index > -1) {\n // Remove value from array\n localChecked = localChecked.slice(0, index).concat(localChecked.slice(index + 1));\n }\n } else {\n localChecked = checked ? value : uncheckedValue;\n }\n\n this.computedLocalChecked = localChecked; // Fire events in a `$nextTick()` to ensure the `v-model` is updated\n\n this.$nextTick(function () {\n // Change is only emitted on user interaction\n _this.$emit(EVENT_NAME_CHANGE, localChecked); // If this is a child of a group, we emit a change event on it as well\n\n\n if (_this.isGroup) {\n _this.bvGroup.$emit(EVENT_NAME_CHANGE, localChecked);\n }\n\n _this.$emit(MODEL_EVENT_NAME_INDETERMINATE, indeterminate);\n });\n },\n setIndeterminate: function setIndeterminate(state) {\n // Indeterminate only supported in single checkbox mode\n if (isArray(this.computedLocalChecked)) {\n state = false;\n }\n\n var $input = this.$refs.input;\n\n if ($input) {\n $input.indeterminate = state; // Emit update event to prop\n\n this.$emit(MODEL_EVENT_NAME_INDETERMINATE, state);\n }\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});","var _watch, _methods;\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 { PROP_TYPE_ANY, PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../constants/props';\nimport { EVENT_NAME_CHANGE } from '../constants/events';\nimport { attemptBlur, attemptFocus } from '../utils/dom';\nimport { isBoolean } from '../utils/inspect';\nimport { looseEqual } from '../utils/loose-equal';\nimport { makeModelMixin } from '../utils/model';\nimport { sortKeys } from '../utils/object';\nimport { makeProp, makePropsConfigurable } from '../utils/props';\nimport { attrsMixin } from './attrs';\nimport { formControlMixin, props as formControlProps } from './form-control';\nimport { formCustomMixin, props as formCustomProps } from './form-custom';\nimport { formSizeMixin, props as formSizeProps } from './form-size';\nimport { formStateMixin, props as formStateProps } from './form-state';\nimport { idMixin, props as idProps } from './id';\nimport { normalizeSlotMixin } from './normalize-slot'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('checked', {\n defaultValue: null\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event;\n\nexport { MODEL_PROP_NAME, MODEL_EVENT_NAME }; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), modelProps), formControlProps), formSizeProps), formStateProps), formCustomProps), {}, {\n ariaLabel: makeProp(PROP_TYPE_STRING),\n ariaLabelledby: makeProp(PROP_TYPE_STRING),\n // Only applicable in standalone mode (non group)\n button: makeProp(PROP_TYPE_BOOLEAN, false),\n // Only applicable when rendered with button style\n buttonVariant: makeProp(PROP_TYPE_STRING),\n inline: makeProp(PROP_TYPE_BOOLEAN, false),\n value: makeProp(PROP_TYPE_ANY)\n})), 'formRadioCheckControls'); // --- Mixin ---\n// @vue/component\n\nexport var formRadioCheckMixin = Vue.extend({\n mixins: [attrsMixin, idMixin, modelMixin, normalizeSlotMixin, formControlMixin, formSizeMixin, formStateMixin, formCustomMixin],\n inheritAttrs: false,\n props: props,\n data: function data() {\n return {\n localChecked: this.isGroup ? this.bvGroup[MODEL_PROP_NAME] : this[MODEL_PROP_NAME],\n hasFocus: false\n };\n },\n computed: {\n computedLocalChecked: {\n get: function get() {\n return this.isGroup ? this.bvGroup.localChecked : this.localChecked;\n },\n set: function set(value) {\n if (this.isGroup) {\n this.bvGroup.localChecked = value;\n } else {\n this.localChecked = value;\n }\n }\n },\n isChecked: function isChecked() {\n return looseEqual(this.value, this.computedLocalChecked);\n },\n isRadio: function isRadio() {\n return true;\n },\n isGroup: function isGroup() {\n // Is this check/radio a child of check-group or radio-group?\n return !!this.bvGroup;\n },\n isBtnMode: function isBtnMode() {\n // Support button style in single input mode\n return this.isGroup ? this.bvGroup.buttons : this.button;\n },\n isPlain: function isPlain() {\n return this.isBtnMode ? false : this.isGroup ? this.bvGroup.plain : this.plain;\n },\n isCustom: function isCustom() {\n return this.isBtnMode ? false : !this.isPlain;\n },\n isSwitch: function isSwitch() {\n // Custom switch styling (checkboxes only)\n return this.isBtnMode || this.isRadio || this.isPlain ? false : this.isGroup ? this.bvGroup.switches : this.switch;\n },\n isInline: function isInline() {\n return this.isGroup ? this.bvGroup.inline : this.inline;\n },\n isDisabled: function isDisabled() {\n // Child can be disabled while parent isn't, but is always disabled if group is\n return this.isGroup ? this.bvGroup.disabled || this.disabled : this.disabled;\n },\n isRequired: function isRequired() {\n // Required only works when a name is provided for the input(s)\n // Child can only be required when parent is\n // Groups will always have a name (either user supplied or auto generated)\n return this.computedName && (this.isGroup ? this.bvGroup.required : this.required);\n },\n computedName: function computedName() {\n // Group name preferred over local name\n return (this.isGroup ? this.bvGroup.groupName : this.name) || null;\n },\n computedForm: function computedForm() {\n return (this.isGroup ? this.bvGroup.form : this.form) || null;\n },\n computedSize: function computedSize() {\n return (this.isGroup ? this.bvGroup.size : this.size) || '';\n },\n computedState: function computedState() {\n return this.isGroup ? this.bvGroup.computedState : isBoolean(this.state) ? this.state : null;\n },\n computedButtonVariant: function computedButtonVariant() {\n // Local variant preferred over group variant\n var buttonVariant = this.buttonVariant;\n\n if (buttonVariant) {\n return buttonVariant;\n }\n\n if (this.isGroup && this.bvGroup.buttonVariant) {\n return this.bvGroup.buttonVariant;\n }\n\n return 'secondary';\n },\n buttonClasses: function buttonClasses() {\n var _ref;\n\n var computedSize = this.computedSize;\n return ['btn', \"btn-\".concat(this.computedButtonVariant), (_ref = {}, _defineProperty(_ref, \"btn-\".concat(computedSize), computedSize), _defineProperty(_ref, \"disabled\", this.isDisabled), _defineProperty(_ref, \"active\", this.isChecked), _defineProperty(_ref, \"focus\", this.hasFocus), _ref)];\n },\n computedAttrs: function computedAttrs() {\n var disabled = this.isDisabled,\n required = this.isRequired;\n return _objectSpread(_objectSpread({}, this.bvAttrs), {}, {\n id: this.safeId(),\n type: this.isRadio ? 'radio' : 'checkbox',\n name: this.computedName,\n form: this.computedForm,\n disabled: disabled,\n required: required,\n 'aria-required': required || null,\n 'aria-label': this.ariaLabel || null,\n 'aria-labelledby': this.ariaLabelledby || null\n });\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function () {\n this[\"\".concat(MODEL_PROP_NAME, \"Watcher\")].apply(this, arguments);\n }), _defineProperty(_watch, \"computedLocalChecked\", function computedLocalChecked() {\n this.computedLocalCheckedWatcher.apply(this, arguments);\n }), _watch),\n methods: (_methods = {}, _defineProperty(_methods, \"\".concat(MODEL_PROP_NAME, \"Watcher\"), function Watcher(newValue) {\n if (!looseEqual(newValue, this.computedLocalChecked)) {\n this.computedLocalChecked = newValue;\n }\n }), _defineProperty(_methods, \"computedLocalCheckedWatcher\", function computedLocalCheckedWatcher(newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.$emit(MODEL_EVENT_NAME, newValue);\n }\n }), _defineProperty(_methods, \"handleChange\", function handleChange(_ref2) {\n var _this = this;\n\n var checked = _ref2.target.checked;\n var value = this.value;\n var localChecked = checked ? value : null;\n this.computedLocalChecked = value; // Fire events in a `$nextTick()` to ensure the `v-model` is updated\n\n this.$nextTick(function () {\n // Change is only emitted on user interaction\n _this.$emit(EVENT_NAME_CHANGE, localChecked); // If this is a child of a group, we emit a change event on it as well\n\n\n if (_this.isGroup) {\n _this.bvGroup.$emit(EVENT_NAME_CHANGE, localChecked);\n }\n });\n }), _defineProperty(_methods, \"handleFocus\", function handleFocus(event) {\n // When in buttons mode, we need to add 'focus' class to label when input focused\n // As it is the hidden input which has actual focus\n if (event.target) {\n if (event.type === 'focus') {\n this.hasFocus = true;\n } else if (event.type === 'blur') {\n this.hasFocus = false;\n }\n }\n }), _defineProperty(_methods, \"focus\", function focus() {\n if (!this.isDisabled) {\n attemptFocus(this.$refs.input);\n }\n }), _defineProperty(_methods, \"blur\", function blur() {\n if (!this.isDisabled) {\n attemptBlur(this.$refs.input);\n }\n }), _methods),\n render: function render(h) {\n var isRadio = this.isRadio,\n isBtnMode = this.isBtnMode,\n isPlain = this.isPlain,\n isCustom = this.isCustom,\n isInline = this.isInline,\n isSwitch = this.isSwitch,\n computedSize = this.computedSize,\n bvAttrs = this.bvAttrs;\n var $content = this.normalizeSlot();\n var $input = h('input', {\n class: [{\n 'form-check-input': isPlain,\n 'custom-control-input': isCustom,\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/2911\n 'position-static': isPlain && !$content\n }, isBtnMode ? '' : this.stateClass],\n directives: [{\n name: 'model',\n value: this.computedLocalChecked\n }],\n attrs: this.computedAttrs,\n domProps: {\n value: this.value,\n checked: this.isChecked\n },\n on: _objectSpread({\n change: this.handleChange\n }, isBtnMode ? {\n focus: this.handleFocus,\n blur: this.handleFocus\n } : {}),\n key: 'input',\n ref: 'input'\n });\n\n if (isBtnMode) {\n var $button = h('label', {\n class: this.buttonClasses\n }, [$input, $content]);\n\n if (!this.isGroup) {\n // Standalone button mode, so wrap in 'btn-group-toggle'\n // and flag it as inline-block to mimic regular buttons\n $button = h('div', {\n class: ['btn-group-toggle', 'd-inline-block']\n }, [$button]);\n }\n\n return $button;\n } // If no label content in plain mode we dont render the label\n // See: https://github.com/bootstrap-vue/bootstrap-vue/issues/2911\n\n\n var $label = h();\n\n if (!(isPlain && !$content)) {\n $label = h('label', {\n class: {\n 'form-check-label': isPlain,\n 'custom-control-label': isCustom\n },\n attrs: {\n for: this.safeId()\n }\n }, $content);\n }\n\n return h('div', {\n class: [_defineProperty({\n 'form-check': isPlain,\n 'form-check-inline': isPlain && isInline,\n 'custom-control': isCustom,\n 'custom-control-inline': isCustom && isInline,\n 'custom-checkbox': isCustom && !isRadio && !isSwitch,\n 'custom-switch': isSwitch,\n 'custom-radio': isCustom && isRadio\n }, \"b-custom-control-\".concat(computedSize), computedSize && !isBtnMode), bvAttrs.class],\n style: bvAttrs.style\n }, [$input, $label]);\n }\n});","var Ripple = {\n bind: function(el, binding){\n\n // Default values.\n var props = {\n event: 'mousedown',\n transition: 600\n };\n\n setProps(Object.keys(binding.modifiers),props);\n\n el.addEventListener(props.event, function(event) {\n rippler(event, el, binding.value);\n });\n\n var bg = binding.value || Ripple.color || 'rgba(0, 0, 0, 0.35)';\n var zIndex = Ripple.zIndex || '9999';\n\n function rippler(event, el) {\n var target = el;\n // Get border to avoid offsetting on ripple container position\n var targetBorder = parseInt((getComputedStyle(target).borderWidth).replace('px', ''));\n\n // Get necessary variables\n var rect = target.getBoundingClientRect(),\n left = rect.left,\n top = rect.top,\n width = target.offsetWidth,\n height = target.offsetHeight,\n dx = event.clientX - left,\n dy = event.clientY - top,\n maxX = Math.max(dx, width - dx),\n maxY = Math.max(dy, height - dy),\n style = window.getComputedStyle(target),\n radius = Math.sqrt((maxX * maxX) + (maxY * maxY)),\n border = (targetBorder > 0 ) ? targetBorder : 0;\n\n // Create the ripple and its container\n var ripple = document.createElement(\"div\"),\n rippleContainer = document.createElement(\"div\");\n rippleContainer.className = 'ripple-container';\n ripple.className = 'ripple';\n\n //Styles for ripple\n ripple.style.marginTop= '0px';\n ripple.style.marginLeft= '0px';\n ripple.style.width= '1px';\n ripple.style.height= '1px';\n ripple.style.transition= 'all ' + props.transition + 'ms cubic-bezier(0.4, 0, 0.2, 1)';\n ripple.style.borderRadius= '50%';\n ripple.style.pointerEvents= 'none';\n ripple.style.position= 'relative';\n ripple.style.zIndex= zIndex;\n ripple.style.backgroundColor = bg;\n\n //Styles for rippleContainer\n rippleContainer.style.position= 'absolute';\n rippleContainer.style.left = 0 - border + 'px';\n rippleContainer.style.top = 0 - border + 'px';\n rippleContainer.style.height = '0';\n rippleContainer.style.width = '0';\n rippleContainer.style.pointerEvents = 'none';\n rippleContainer.style.overflow = 'hidden';\n\n // Store target position to change it after\n var storedTargetPosition = ((target.style.position).length > 0) ? target.style.position : getComputedStyle(target).position;\n // Change target position to relative to guarantee ripples correct positioning\n if (storedTargetPosition !== 'relative') {\n target.style.position = 'relative';\n }\n\n rippleContainer.appendChild(ripple);\n target.appendChild(rippleContainer);\n\n ripple.style.marginLeft = dx + \"px\";\n ripple.style.marginTop = dy + \"px\";\n\n // No need to set positioning because ripple should be child of target and to it's relative position.\n // rippleContainer.style.left = left + (((window.pageXOffset || document.scrollLeft) - (document.clientLeft || 0)) || 0) + \"px\";\n // rippleContainer.style.top = top + (((window.pageYOffset || document.scrollTop) - (document.clientTop || 0)) || 0) + \"px\";\n rippleContainer.style.width = width + \"px\";\n rippleContainer.style.height = height + \"px\";\n rippleContainer.style.borderTopLeftRadius = style.borderTopLeftRadius;\n rippleContainer.style.borderTopRightRadius = style.borderTopRightRadius;\n rippleContainer.style.borderBottomLeftRadius = style.borderBottomLeftRadius;\n rippleContainer.style.borderBottomRightRadius = style.borderBottomRightRadius;\n\n rippleContainer.style.direction = 'ltr';\n\n setTimeout(function() {\n ripple.style.width = radius * 2 + \"px\";\n ripple.style.height = radius * 2 + \"px\";\n ripple.style.marginLeft = dx - radius + \"px\";\n ripple.style.marginTop = dy - radius + \"px\";\n }, 0);\n\n function clearRipple() {\n setTimeout(function() {\n ripple.style.backgroundColor = \"rgba(0, 0, 0, 0)\";\n }, 250);\n\n // Timeout set to get a smooth removal of the ripple\n setTimeout(function() {\n rippleContainer.parentNode.removeChild(rippleContainer);\n }, 850);\n\n el.removeEventListener('mouseup', clearRipple, false);\n\n // After removing event set position to target to it's original one\n // Timeout it's needed to avoid jerky effect of ripple jumping out parent target\n setTimeout(function () {\n\n var clearPosition = true;\n for(var i = 0; i < target.childNodes.length; i++) {\n if(target.childNodes[i].className === 'ripple-container') {\n clearPosition = false;\n }\n }\n\n if(clearPosition) {\n if(storedTargetPosition !== 'static') {\n target.style.position = storedTargetPosition;\n } else {\n target.style.position = '';\n }\n }\n\n }, props.transition + 250)\n }\n\n if(event.type === 'mousedown') {\n el.addEventListener('mouseup', clearRipple, false);\n } else {\n clearRipple();\n }\n }\n }\n};\n\nfunction setProps(modifiers,props) {\n modifiers.forEach(function(item) {\n if(isNaN(Number(item)))\n props.event = item;\n else\n props.transition = item;\n });\n}\n\nexport default Ripple;"],"sourceRoot":""}