{"version":3,"sources":["webpack:///./node_modules/bootstrap-vue/esm/components/spinner/spinner.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-selection.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-validity.js","webpack:///./src/views/rolemanagement/roles/roles.vue?33de","webpack:///src/views/rolemanagement/roles/roles.vue","webpack:///./src/views/rolemanagement/roles/roles.vue?0e56","webpack:///./src/views/rolemanagement/roles/roles.vue","webpack:///./node_modules/core-js/modules/es.regexp.to-string.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-text.js","webpack:///./node_modules/core-js/modules/es.string.replace.js","webpack:///./node_modules/bootstrap-vue/esm/directives/visible/visible.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-textarea/form-textarea.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-size.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-state.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-control.js"],"names":["_defineProperty","obj","key","value","Object","defineProperty","enumerable","configurable","writable","props","label","role","small","tag","type","variant","BSpinner","extend","name","functional","render","h","_ref","_class","data","slots","scopedSlots","$slots","$scopedSlots","$label","staticClass","attrs","class","concat","formSelectionMixin","computed","selectionStart","cache","get","this","$refs","input","set","val","selectionEnd","selectionDirection","methods","select","_this$$refs$input","apply","arguments","setSelectionRange","_this$$refs$input2","setRangeText","_this$$refs$input3","formValidityMixin","validity","validationMessage","willValidate","setCustomValidity","checkValidity","reportValidity","_vm","_h","$createElement","_c","_self","_v","staticStyle","_e","directives","rawName","modifiers","_l","item","_s","description","on","$event","sendInfo","_m","resetModal","preventDefault","addRole","expression","domProps","target","composing","AddName","model","callback","$$v","AddDescription","handleModalClose","updateRole","selectedRole","$set","removeRole","id","Array","isArray","selectAllData","_i","$$a","$$el","$$c","checked","$$i","slice","selectAllFunction","permission","selectedPermissions","staticRenderFns","components","BFormTextarea","BButton","permissionsPersonal","EditDescription","EditRoleName","EditPermissions","AddPermissions","roles","token","showSpinner","localStorage","mapGetters","loading","getPermissions","conf","headers","Authorization","api","then","catch","console","success","title","text","icon","customClass","confirmButton","buttonsStyling","error","html","getErrorString","msg","successUpdate","errorUpdate","errors","mapActions","info","roleId","permissionId","put","payload","showCancelButton","confirmButtonText","cancelButton","mounted","component","redefine","anObject","fails","flags","TO_STRING","RegExpPrototype","RegExp","prototype","nativeToString","NOT_GENERIC","call","source","INCORRECT_NAME","R","p","String","rf","f","undefined","unsafe","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","push","_objectSpread","i","length","forEach","getOwnPropertyDescriptors","defineProperties","_makeModelMixin","defaultValue","event","modelMixin","mixin","modelProps","MODEL_PROP_NAME","prop","MODEL_EVENT_NAME","ariaInvalid","autocomplete","debounce","formatter","lazy","lazyFormatter","number","placeholder","plaintext","readonly","trim","formTextMixin","mixins","localValue","vModelValue","modifyValue","computedClass","isRange","isColor","sizeFormClass","stateClass","computedDebounce","hasFormatter","watch","newValue","stringifyValue","modifiedValue","clearDebounce","created","$_inputDebounceTimer","$on","beforeDestroy","clearTimeout","formatValue","force","updateValue","_this","doUpdate","$emit","$input","setTimeout","onInput","formattedValue","defaultPrevented","propagation","onChange","onBlur","focus","disabled","$el","blur","fixRegExpWellKnownSymbolLogic","toObject","toLength","toInteger","requireObjectCoercible","advanceStringIndex","regExpExec","max","Math","min","floor","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","maybeToString","it","REPLACE","nativeReplace","maybeCallNative","reason","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","REPLACE_KEEPS_$0","UNSAFE_SUBSTITUTE","searchValue","replaceValue","O","replacer","regexp","indexOf","res","done","rx","S","functionalReplace","global","fullUnicode","unicode","lastIndex","results","result","matchStr","accumulatedResult","nextSourcePosition","matched","position","index","captures","j","namedCaptures","groups","replacerArgs","replacement","getSubstitution","str","tailPos","m","match","ch","capture","charAt","n","_classCallCheck","instance","Constructor","TypeError","_defineProperties","descriptor","_createClass","protoProps","staticProps","OBSERVER_PROP_NAME","VisibilityObserver","el","options","vnode","margin","once","observer","visible","doneOnce","createObserver","stop","IntersectionObserver","handler","bind","root","rootMargin","threshold","_unused","context","$nextTick","observe","entries","entry","isIntersecting","Boolean","intersectionRatio","disconnect","destroy","mod","test","toLowerCase","_prevModifiers","_ref2","oldValue","unbind","VBVisible","componentUpdated","maxRows","noAutoShrink","noResize","rows","wrap","listeners","heightInPx","computedStyle","styles","resize","computedRows","height","overflowY","computedMinRows","math","computedMaxRows","computedAttrs","required","safeId","form","computedAriaInvalid","computedListeners","bvListeners","change","setHeight","visibleCallback","computeHeight","$isServer","lineHeight","border","borderTopWidth","borderBottomWidth","padding","paddingTop","paddingBottom","offset","minHeight","oldHeight","scrollHeight","contentRows","style","ref","size","formSizeMixin","state","formStateMixin","computedState","SELECTOR","autofocus","formControlMixin","handleAutofocus","activated"],"mappings":"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","file":"js/chunk-49f77b80.c78f9075.js","sourcesContent":["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_SPINNER } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_LABEL } from '../../constants/slots';\nimport { normalizeSlot } from '../../utils/normalize-slot';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n label: makeProp(PROP_TYPE_STRING),\n role: makeProp(PROP_TYPE_STRING, 'status'),\n small: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'span'),\n type: makeProp(PROP_TYPE_STRING, 'border'),\n variant: makeProp(PROP_TYPE_STRING)\n}, NAME_SPINNER); // --- Main component ---\n// @vue/component\n\nexport var BSpinner = /*#__PURE__*/Vue.extend({\n name: NAME_SPINNER,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots,\n scopedSlots = _ref.scopedSlots;\n var $slots = slots();\n var $scopedSlots = scopedSlots || {};\n var $label = normalizeSlot(SLOT_NAME_LABEL, {}, $scopedSlots, $slots) || props.label;\n\n if ($label) {\n $label = h('span', {\n staticClass: 'sr-only'\n }, $label);\n }\n\n return h(props.tag, mergeData(data, {\n attrs: {\n role: $label ? props.role || 'status' : null,\n 'aria-hidden': $label ? null : 'true'\n },\n class: (_class = {}, _defineProperty(_class, \"spinner-\".concat(props.type), props.type), _defineProperty(_class, \"spinner-\".concat(props.type, \"-sm\"), props.small), _defineProperty(_class, \"text-\".concat(props.variant), props.variant), _class)\n }), [$label || h()]);\n }\n});","import { Vue } from '../vue'; // @vue/component\n\nexport var formSelectionMixin = Vue.extend({\n computed: {\n selectionStart: {\n // Expose selectionStart for formatters, etc\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.selectionStart;\n },\n\n /* istanbul ignore next */\n set: function set(val) {\n this.$refs.input.selectionStart = val;\n }\n },\n selectionEnd: {\n // Expose selectionEnd for formatters, etc\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.selectionEnd;\n },\n\n /* istanbul ignore next */\n set: function set(val) {\n this.$refs.input.selectionEnd = val;\n }\n },\n selectionDirection: {\n // Expose selectionDirection for formatters, etc\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.selectionDirection;\n },\n\n /* istanbul ignore next */\n set: function set(val) {\n this.$refs.input.selectionDirection = val;\n }\n }\n },\n methods: {\n /* istanbul ignore next */\n select: function select() {\n var _this$$refs$input;\n\n // For external handler that may want a select() method\n (_this$$refs$input = this.$refs.input).select.apply(_this$$refs$input, arguments);\n },\n\n /* istanbul ignore next */\n setSelectionRange: function setSelectionRange() {\n var _this$$refs$input2;\n\n // For external handler that may want a setSelectionRange(a,b,c) method\n (_this$$refs$input2 = this.$refs.input).setSelectionRange.apply(_this$$refs$input2, arguments);\n },\n\n /* istanbul ignore next */\n setRangeText: function setRangeText() {\n var _this$$refs$input3;\n\n // For external handler that may want a setRangeText(a,b,c) method\n (_this$$refs$input3 = this.$refs.input).setRangeText.apply(_this$$refs$input3, arguments);\n }\n }\n});","import { Vue } from '../vue'; // @vue/component\n\nexport var formValidityMixin = Vue.extend({\n computed: {\n validity: {\n // Expose validity property\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.validity;\n }\n },\n validationMessage: {\n // Expose validationMessage property\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.validationMessage;\n }\n },\n willValidate: {\n // Expose willValidate property\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.willValidate;\n }\n }\n },\n methods: {\n /* istanbul ignore next */\n setCustomValidity: function setCustomValidity() {\n var _this$$refs$input;\n\n // For external handler that may want a setCustomValidity(...) method\n return (_this$$refs$input = this.$refs.input).setCustomValidity.apply(_this$$refs$input, arguments);\n },\n\n /* istanbul ignore next */\n checkValidity: function checkValidity() {\n var _this$$refs$input2;\n\n // For external handler that may want a checkValidity(...) method\n return (_this$$refs$input2 = this.$refs.input).checkValidity.apply(_this$$refs$input2, arguments);\n },\n\n /* istanbul ignore next */\n reportValidity: function reportValidity() {\n var _this$$refs$input3;\n\n // For external handler that may want a reportValidity(...) method\n return (_this$$refs$input3 = this.$refs.input).reportValidity.apply(_this$$refs$input3, arguments);\n }\n }\n});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content-wrapper container-xxl p-0\"},[_c('div',{staticClass:\"content-header row\"}),_c('div',{staticClass:\"content-body\"},[_c('p',{staticClass:\"mb-2\"},[_vm._v(\" A role gives users access to specified menus and functions, allowing administrators to access the features they require based on the role they have been allocated. \")]),_c('div',{staticClass:\"d-flex justify-content-center\"},[(_vm.loading)?_c('b-spinner',{staticStyle:{\"width\":\"3rem\",\"height\":\"3rem\"},attrs:{\"variant\":\"success\",\"label\":\"Spinning\"}}):_vm._e()],1),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-xl-4 col-lg-6 col-md-6\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-12\"},[_c('div',{staticClass:\"card-body text-sm-end text-center ps-sm-0\"},[_c('a',{directives:[{name:\"b-modal\",rawName:\"v-b-modal.modal-add\",modifiers:{\"modal-add\":true}}],staticClass:\"stretched-link text-nowrap add-new-role\",attrs:{\"href\":\"javascript:void(0)\"}},[_c('span',{staticClass:\"btn btn-primary mb-3\"},[_vm._v(\"Add New Role\")])]),_c('p',{staticClass:\"mb-0\"},[_vm._v(\"Add role, if it does not exist\")])])])])])]),_vm._l((_vm.role),function(item){return _c('div',{key:item,staticClass:\"col-xl-4 col-lg-6 col-md-6\"},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('div',{staticClass:\"d-flex justify-content-between align-items-end mt-1 pt-25\"},[_c('div',{staticClass:\"role-heading\"},[_c('h4',{staticClass:\"fw-bolder\"},[_vm._v(_vm._s(item.name))]),_c('p',{staticClass:\"fw-bolder\"},[_vm._v(_vm._s(item.description))]),_c('a',{directives:[{name:\"b-modal\",rawName:\"v-b-modal.modal-edit\",modifiers:{\"modal-edit\":true}}],staticClass:\"role-edit-modal\",attrs:{\"href\":\"javascript:;\"},on:{\"click\":function($event){return _vm.sendInfo(item)}}},[_c('small',{staticClass:\"fw-bolder\"},[_vm._v(\"Edit Role\")])])]),_vm._m(0,true)])])])])})],2)]),_c('b-modal',{attrs:{\"id\":\"modal-add\",\"ok-only\":\"\",\"ok-title\":\"Accept\",\"centered\":\"\",\"size\":\"lg\",\"title\":\"Add new role\",\"hide-footer\":\"true\"},on:{\"hidden\":_vm.resetModal}},[_c('div',{staticClass:\"modal-body px-5 pb-5\"},[_c('div',{staticClass:\"text-center mb-4\"},[_c('h1',{staticClass:\"role-title\"},[_vm._v(\"Add New Role\")])]),_c('form',{staticClass:\"row\",attrs:{\"id\":\"addRoleForm\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.addRole()}}},[_c('div',{staticClass:\"col-12\"},[_c('label',{staticClass:\"form-label\",attrs:{\"for\":\"modalRoleName\"}},[_vm._v(\"Role Name\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.AddName),expression:\"AddName\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"modalRoleName\",\"name\":\"modalRoleName\",\"required\":\"\",\"placeholder\":\"Enter role name\"},domProps:{\"value\":(_vm.AddName)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.AddName=$event.target.value}}})]),_c('div',{staticClass:\"col-12 my-1\"},[_c('label',{staticClass:\"form-label\",attrs:{\"for\":\"modalRoleName\"}},[_vm._v(\"Description\")]),_c('b-form-textarea',{attrs:{\"id\":\"textarea-default\",\"placeholder\":\"Description\",\"rows\":\"3\",\"required\":\"\"},model:{value:(_vm.AddDescription),callback:function ($$v) {_vm.AddDescription=$$v},expression:\"AddDescription\"}})],1),_c('div',{staticClass:\"col-12 text-center mt-2 d-flex justify-content-between\"},[_c('b-button',{staticClass:\"btn btn-primary me-1\",attrs:{\"type\":\"submit\"}},[(_vm.loading)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e(),_vm._v(\"Add Role\")],1)],1)])])]),_c('b-modal',{attrs:{\"id\":\"modal-edit\",\"ok-only\":\"\",\"ok-title\":\"Accept\",\"centered\":\"\",\"size\":\"lg\",\"title\":\"Edit role\",\"hide-footer\":\"true\"},on:{\"hidden\":_vm.handleModalClose}},[_c('div',{staticClass:\"modal-body px-5 pb-5\"},[_c('div',{staticClass:\"text-center mb-4\"},[_c('h1',{staticClass:\"role-title\"},[_vm._v(\"Edit this role\")]),_c('p',[_vm._v(\"Edit / Set role permissions\")])]),_c('form',{staticClass:\"row\",attrs:{\"id\":\"editRoleForm\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.updateRole()}}},[_c('div',{staticClass:\"col-12 my-1\"},[_c('label',{staticClass:\"form-label\",attrs:{\"for\":\"modalRoleName\"}},[_vm._v(\"Role Name\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedRole.name),expression:\"selectedRole.name\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":\"modalRoleName\",\"name\":\"modalRoleName\",\"placeholder\":\"Enter role name\",\"required\":\"\"},domProps:{\"value\":(_vm.selectedRole.name)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.selectedRole, \"name\", $event.target.value)}}})]),_c('div',{staticClass:\"col-12 my-1\"},[_c('label',{staticClass:\"form-label\",attrs:{\"for\":\"modalRoleName\"}},[_vm._v(\"Description\")]),_c('b-form-textarea',{attrs:{\"id\":\"textarea-default\",\"placeholder\":\"Description\",\"rows\":\"3\",\"required\":\"\"},model:{value:(_vm.selectedRole.description),callback:function ($$v) {_vm.$set(_vm.selectedRole, \"description\", $$v)},expression:\"selectedRole.description\"}})],1),_c('div',{staticClass:\"col-12 my-1\"},[_c('b-button',{attrs:{\"variant\":\"danger\"},on:{\"click\":function($event){return _vm.removeRole(_vm.selectedRole.id)}}},[(_vm.loading)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e(),_vm._v(\"Delete Role \")],1)],1),_c('div',{staticClass:\"col-12\"},[_c('h4',{staticClass:\"mt-2 pt-50\"},[_vm._v(\"Role Permissions\")]),_c('div',{staticClass:\"table-responsive\"},[_c('table',{staticClass:\"table table-flush-spacing\"},[_c('tbody',[_c('tr',[_c('td',{staticClass:\"text-nowrap fw-bolder\"},[_vm._v(\" Administrator Access \"),_c('span',{attrs:{\"data-bs-toggle\":\"tooltip\",\"data-bs-placement\":\"top\",\"title\":\"Allows a full access to the system\"}},[_c('i',{attrs:{\"data-feather\":\"info\"}})])]),_c('td',[_c('div',{staticClass:\"form-check\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectAllData),expression:\"selectAllData\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"id\":\"selectAll\"},domProps:{\"checked\":Array.isArray(_vm.selectAllData)?_vm._i(_vm.selectAllData,null)>-1:(_vm.selectAllData)},on:{\"change\":[function($event){var $$a=_vm.selectAllData,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.selectAllData=$$a.concat([$$v]))}else{$$i>-1&&(_vm.selectAllData=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.selectAllData=$$c}},function($event){return _vm.selectAllFunction(_vm.selectAllData)}]}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":\"selectAll\"}},[_vm._v(\" Select All \")])])])]),_vm._l((_vm.permissionsPersonal),function(permission){return _c('tr',{key:permission.value},[_c('td',{staticClass:\"text-nowrap fw-bolder\"},[_vm._v(_vm._s(permission))]),_c('td',[_c('div',{staticClass:\"d-flex\"},[_c('div',{staticClass:\"form-check me-3 me-lg-5\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedPermissions),expression:\"selectedPermissions\"}],staticClass:\"form-check-input\",attrs:{\"type\":\"checkbox\",\"id\":permission},domProps:{\"value\":permission,\"checked\":Array.isArray(_vm.selectedPermissions)?_vm._i(_vm.selectedPermissions,permission)>-1:(_vm.selectedPermissions)},on:{\"change\":function($event){var $$a=_vm.selectedPermissions,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=permission,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.selectedPermissions=$$a.concat([$$v]))}else{$$i>-1&&(_vm.selectedPermissions=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.selectedPermissions=$$c}}}}),_c('label',{staticClass:\"form-check-label\",attrs:{\"for\":permission}},[_vm._v(\" Grant \")])])])])])})],2)])])]),_c('div',{staticClass:\"col-12 text-center mt-2 d-flex justify-content-between\"},[_c('b-button',{staticClass:\"btn btn-primary me-1\",attrs:{\"type\":\"submit\"}},[(_vm.loading)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e(),_vm._v(\"Edit Role\")],1)],1)])])])],1)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{staticClass:\"text-body\",attrs:{\"href\":\"javascript:void(0);\"}},[_c('i',{staticClass:\"font-medium-5\",attrs:{\"data-feather\":\"copy\"}})])}]\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./roles.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./roles.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./roles.vue?vue&type=template&id=5ff29fb5&\"\nimport script from \"./roles.vue?vue&type=script&lang=js&\"\nexport * from \"./roles.vue?vue&type=script&lang=js&\"\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","'use strict';\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar fails = require('../internals/fails');\nvar flags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.github.io/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = String(R.source);\n var rf = R.flags;\n var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n","function 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 { EVENT_NAME_BLUR, EVENT_NAME_CHANGE, EVENT_NAME_INPUT, EVENT_NAME_UPDATE, HOOK_EVENT_NAME_BEFORE_DESTROY } from '../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_STRING, PROP_TYPE_FUNCTION, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../constants/props';\nimport { attemptBlur, attemptFocus } from '../utils/dom';\nimport { stopEvent } from '../utils/events';\nimport { mathMax } from '../utils/math';\nimport { makeModelMixin } from '../utils/model';\nimport { toInteger, toFloat } from '../utils/number';\nimport { sortKeys } from '../utils/object';\nimport { hasPropFunction, makeProp, makePropsConfigurable } from '../utils/props';\nimport { toString } from '../utils/string'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('value', {\n type: PROP_TYPE_NUMBER_STRING,\n defaultValue: '',\n event: EVENT_NAME_UPDATE\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({}, modelProps), {}, {\n ariaInvalid: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n autocomplete: makeProp(PROP_TYPE_STRING),\n // Debounce timeout (in ms). Not applicable with `lazy` prop\n debounce: makeProp(PROP_TYPE_NUMBER_STRING, 0),\n formatter: makeProp(PROP_TYPE_FUNCTION),\n // Only update the `v-model` on blur/change events\n lazy: makeProp(PROP_TYPE_BOOLEAN, false),\n lazyFormatter: makeProp(PROP_TYPE_BOOLEAN, false),\n number: makeProp(PROP_TYPE_BOOLEAN, false),\n placeholder: makeProp(PROP_TYPE_STRING),\n plaintext: makeProp(PROP_TYPE_BOOLEAN, false),\n readonly: makeProp(PROP_TYPE_BOOLEAN, false),\n trim: makeProp(PROP_TYPE_BOOLEAN, false)\n})), 'formTextControls'); // --- Mixin ---\n// @vue/component\n\nexport var formTextMixin = Vue.extend({\n mixins: [modelMixin],\n props: props,\n data: function data() {\n var value = this[MODEL_PROP_NAME];\n return {\n localValue: toString(value),\n vModelValue: this.modifyValue(value)\n };\n },\n computed: {\n computedClass: function computedClass() {\n var plaintext = this.plaintext,\n type = this.type;\n var isRange = type === 'range';\n var isColor = type === 'color';\n return [{\n // Range input needs class `custom-range`\n 'custom-range': isRange,\n // `plaintext` not supported by `type=\"range\"` or `type=\"color\"`\n 'form-control-plaintext': plaintext && !isRange && !isColor,\n // `form-control` not used by `type=\"range\"` or `plaintext`\n // Always used by `type=\"color\"`\n 'form-control': isColor || !plaintext && !isRange\n }, this.sizeFormClass, this.stateClass];\n },\n computedDebounce: function computedDebounce() {\n // Ensure we have a positive number equal to or greater than 0\n return mathMax(toInteger(this.debounce, 0), 0);\n },\n hasFormatter: function hasFormatter() {\n return hasPropFunction(this.formatter);\n }\n },\n watch: _defineProperty({}, MODEL_PROP_NAME, function (newValue) {\n var stringifyValue = toString(newValue);\n var modifiedValue = this.modifyValue(newValue);\n\n if (stringifyValue !== this.localValue || modifiedValue !== this.vModelValue) {\n // Clear any pending debounce timeout, as we are overwriting the user input\n this.clearDebounce(); // Update the local values\n\n this.localValue = stringifyValue;\n this.vModelValue = modifiedValue;\n }\n }),\n created: function created() {\n // Create private non-reactive props\n this.$_inputDebounceTimer = null;\n },\n mounted: function mounted() {\n // Set up destroy handler\n this.$on(HOOK_EVENT_NAME_BEFORE_DESTROY, this.clearDebounce);\n },\n beforeDestroy: function beforeDestroy() {\n this.clearDebounce();\n },\n methods: {\n clearDebounce: function clearDebounce() {\n clearTimeout(this.$_inputDebounceTimer);\n this.$_inputDebounceTimer = null;\n },\n formatValue: function formatValue(value, event) {\n var force = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n value = toString(value);\n\n if (this.hasFormatter && (!this.lazyFormatter || force)) {\n value = this.formatter(value, event);\n }\n\n return value;\n },\n modifyValue: function modifyValue(value) {\n value = toString(value); // Emulate `.trim` modifier behaviour\n\n if (this.trim) {\n value = value.trim();\n } // Emulate `.number` modifier behaviour\n\n\n if (this.number) {\n value = toFloat(value, value);\n }\n\n return value;\n },\n updateValue: function updateValue(value) {\n var _this = this;\n\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var lazy = this.lazy;\n\n if (lazy && !force) {\n return;\n } // Make sure to always clear the debounce when `updateValue()`\n // is called, even when the v-model hasn't changed\n\n\n this.clearDebounce(); // Define the shared update logic in a method to be able to use\n // it for immediate and debounced value changes\n\n var doUpdate = function doUpdate() {\n value = _this.modifyValue(value);\n\n if (value !== _this.vModelValue) {\n _this.vModelValue = value;\n\n _this.$emit(MODEL_EVENT_NAME, value);\n } else if (_this.hasFormatter) {\n // When the `vModelValue` hasn't changed but the actual input value\n // is out of sync, make sure to change it to the given one\n // Usually caused by browser autocomplete and how it triggers the\n // change or input event, or depending on the formatter function\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/2657\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/3498\n\n /* istanbul ignore next: hard to test */\n var $input = _this.$refs.input;\n /* istanbul ignore if: hard to test out of sync value */\n\n if ($input && value !== $input.value) {\n $input.value = value;\n }\n }\n }; // Only debounce the value update when a value greater than `0`\n // is set and we are not in lazy mode or this is a forced update\n\n\n var debounce = this.computedDebounce;\n\n if (debounce > 0 && !lazy && !force) {\n this.$_inputDebounceTimer = setTimeout(doUpdate, debounce);\n } else {\n // Immediately update the v-model\n doUpdate();\n }\n },\n onInput: function onInput(event) {\n // `event.target.composing` is set by Vue\n // https://github.com/vuejs/vue/blob/dev/src/platforms/web/runtime/directives/model.js\n // TODO: Is this needed now with the latest Vue?\n\n /* istanbul ignore if: hard to test composition events */\n if (event.target.composing) {\n return;\n }\n\n var value = event.target.value;\n var formattedValue = this.formatValue(value, event); // Exit when the `formatter` function strictly returned `false`\n // or prevented the input event\n\n /* istanbul ignore next */\n\n if (formattedValue === false || event.defaultPrevented) {\n stopEvent(event, {\n propagation: false\n });\n return;\n }\n\n this.localValue = formattedValue;\n this.updateValue(formattedValue);\n this.$emit(EVENT_NAME_INPUT, formattedValue);\n },\n onChange: function onChange(event) {\n var value = event.target.value;\n var formattedValue = this.formatValue(value, event); // Exit when the `formatter` function strictly returned `false`\n // or prevented the input event\n\n /* istanbul ignore next */\n\n if (formattedValue === false || event.defaultPrevented) {\n stopEvent(event, {\n propagation: false\n });\n return;\n }\n\n this.localValue = formattedValue;\n this.updateValue(formattedValue, true);\n this.$emit(EVENT_NAME_CHANGE, formattedValue);\n },\n onBlur: function onBlur(event) {\n // Apply the `localValue` on blur to prevent cursor jumps\n // on mobile browsers (e.g. caused by autocomplete)\n var value = event.target.value;\n var formattedValue = this.formatValue(value, event, true);\n\n if (formattedValue !== false) {\n // We need to use the modified value here to apply the\n // `.trim` and `.number` modifiers properly\n this.localValue = toString(this.modifyValue(formattedValue)); // We pass the formatted value here since the `updateValue` method\n // handles the modifiers itself\n\n this.updateValue(formattedValue, true);\n } // Emit native blur event\n\n\n this.$emit(EVENT_NAME_BLUR, event);\n },\n focus: function focus() {\n // For external handler that may want a focus method\n if (!this.disabled) {\n attemptFocus(this.$el);\n }\n },\n blur: function blur() {\n // For external handler that may want a blur method\n if (!this.disabled) {\n attemptBlur(this.$el);\n }\n }\n }\n});","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {\n var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;\n var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];\n return replacer !== undefined\n ? replacer.call(searchValue, O, replaceValue)\n : nativeReplace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n if (\n (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) ||\n (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1)\n ) {\n var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);\n if (res.done) return res.value;\n }\n\n var rx = anObject(regexp);\n var S = String(this);\n\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n\n results.push(result);\n if (!global) break;\n\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return nativeReplace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n// v-b-visible\n// Private visibility check directive\n// Based on IntersectionObserver\n//\n// Usage:\n// v-b-visibility..=\"\"\n//\n// Value:\n// : method to be called when visibility state changes, receives one arg:\n// true: element is visible\n// false: element is not visible\n// null: IntersectionObserver not supported\n//\n// Modifiers:\n// : a positive decimal value of pixels away from viewport edge\n// before being considered \"visible\". default is 0\n// : keyword 'once', meaning when the element becomes visible and\n// callback is called observation/notification will stop.\n//\n// When used in a render function:\n// export default {\n// directives: { 'b-visible': VBVisible },\n// render(h) {\n// h(\n// 'div',\n// {\n// directives: [\n// { name: 'b-visible', value=this.callback, modifiers: { '123':true, 'once':true } }\n// ]\n// }\n// )\n// }\nimport { RX_DIGITS } from '../../constants/regex';\nimport { requestAF } from '../../utils/dom';\nimport { isFunction } from '../../utils/inspect';\nimport { looseEqual } from '../../utils/loose-equal';\nimport { clone, keys } from '../../utils/object';\nvar OBSERVER_PROP_NAME = '__bv__visibility_observer';\n\nvar VisibilityObserver = /*#__PURE__*/function () {\n function VisibilityObserver(el, options, vnode) {\n _classCallCheck(this, VisibilityObserver);\n\n this.el = el;\n this.callback = options.callback;\n this.margin = options.margin || 0;\n this.once = options.once || false;\n this.observer = null;\n this.visible = undefined;\n this.doneOnce = false; // Create the observer instance (if possible)\n\n this.createObserver(vnode);\n }\n\n _createClass(VisibilityObserver, [{\n key: \"createObserver\",\n value: function createObserver(vnode) {\n var _this = this;\n\n // Remove any previous observer\n if (this.observer) {\n /* istanbul ignore next */\n this.stop();\n } // Should only be called once and `callback` prop should be a function\n\n\n if (this.doneOnce || !isFunction(this.callback)) {\n /* istanbul ignore next */\n return;\n } // Create the observer instance\n\n\n try {\n // Future: Possibly add in other modifiers for left/right/top/bottom\n // offsets, root element reference, and thresholds\n this.observer = new IntersectionObserver(this.handler.bind(this), {\n // `null` = 'viewport'\n root: null,\n // Pixels away from view port to consider \"visible\"\n rootMargin: this.margin,\n // Intersection ratio of el and root (as a value from 0 to 1)\n threshold: 0\n });\n } catch (_unused) {\n // No IntersectionObserver support, so just stop trying to observe\n this.doneOnce = true;\n this.observer = undefined;\n this.callback(null);\n return;\n } // Start observing in a `$nextTick()` (to allow DOM to complete rendering)\n\n /* istanbul ignore next: IntersectionObserver not supported in JSDOM */\n\n\n vnode.context.$nextTick(function () {\n requestAF(function () {\n // Placed in an `if` just in case we were destroyed before\n // this `requestAnimationFrame` runs\n if (_this.observer) {\n _this.observer.observe(_this.el);\n }\n });\n });\n }\n /* istanbul ignore next */\n\n }, {\n key: \"handler\",\n value: function handler(entries) {\n var entry = entries ? entries[0] : {};\n var isIntersecting = Boolean(entry.isIntersecting || entry.intersectionRatio > 0.0);\n\n if (isIntersecting !== this.visible) {\n this.visible = isIntersecting;\n this.callback(isIntersecting);\n\n if (this.once && this.visible) {\n this.doneOnce = true;\n this.stop();\n }\n }\n }\n }, {\n key: \"stop\",\n value: function stop() {\n /* istanbul ignore next */\n this.observer && this.observer.disconnect();\n this.observer = null;\n }\n }]);\n\n return VisibilityObserver;\n}();\n\nvar destroy = function destroy(el) {\n var observer = el[OBSERVER_PROP_NAME];\n\n if (observer && observer.stop) {\n observer.stop();\n }\n\n delete el[OBSERVER_PROP_NAME];\n};\n\nvar bind = function bind(el, _ref, vnode) {\n var value = _ref.value,\n modifiers = _ref.modifiers;\n // `value` is the callback function\n var options = {\n margin: '0px',\n once: false,\n callback: value\n }; // Parse modifiers\n\n keys(modifiers).forEach(function (mod) {\n /* istanbul ignore else: Until is switched to use this directive */\n if (RX_DIGITS.test(mod)) {\n options.margin = \"\".concat(mod, \"px\");\n } else if (mod.toLowerCase() === 'once') {\n options.once = true;\n }\n }); // Destroy any previous observer\n\n destroy(el); // Create new observer\n\n el[OBSERVER_PROP_NAME] = new VisibilityObserver(el, options, vnode); // Store the current modifiers on the object (cloned)\n\n el[OBSERVER_PROP_NAME]._prevModifiers = clone(modifiers);\n}; // When the directive options may have been updated (or element)\n\n\nvar componentUpdated = function componentUpdated(el, _ref2, vnode) {\n var value = _ref2.value,\n oldValue = _ref2.oldValue,\n modifiers = _ref2.modifiers;\n // Compare value/oldValue and modifiers to see if anything has changed\n // and if so, destroy old observer and create new observer\n\n /* istanbul ignore next */\n modifiers = clone(modifiers);\n /* istanbul ignore next */\n\n if (el && (value !== oldValue || !el[OBSERVER_PROP_NAME] || !looseEqual(modifiers, el[OBSERVER_PROP_NAME]._prevModifiers))) {\n // Re-bind on element\n bind(el, {\n value: value,\n modifiers: modifiers\n }, vnode);\n }\n}; // When directive un-binds from element\n\n\nvar unbind = function unbind(el) {\n // Remove the observer\n destroy(el);\n}; // Export the directive\n\n\nexport var VBVisible = {\n bind: bind,\n componentUpdated: componentUpdated,\n unbind: unbind\n};","function 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_TEXTAREA } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { getCS, getStyle, isVisible, requestAF, setStyle } from '../../utils/dom';\nimport { isNull } from '../../utils/inspect';\nimport { mathCeil, mathMax, mathMin } from '../../utils/math';\nimport { toInteger, toFloat } from '../../utils/number';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { formControlMixin, props as formControlProps } from '../../mixins/form-control';\nimport { formSelectionMixin } from '../../mixins/form-selection';\nimport { formSizeMixin, props as formSizeProps } from '../../mixins/form-size';\nimport { formStateMixin, props as formStateProps } from '../../mixins/form-state';\nimport { formTextMixin, props as formTextProps } from '../../mixins/form-text';\nimport { formValidityMixin } from '../../mixins/form-validity';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { listenOnRootMixin } from '../../mixins/listen-on-root';\nimport { listenersMixin } from '../../mixins/listeners';\nimport { VBVisible } from '../../directives/visible/visible'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), formControlProps), formSizeProps), formStateProps), formTextProps), {}, {\n maxRows: makeProp(PROP_TYPE_NUMBER_STRING),\n // When in auto resize mode, disable shrinking to content height\n noAutoShrink: makeProp(PROP_TYPE_BOOLEAN, false),\n // Disable the resize handle of textarea\n noResize: makeProp(PROP_TYPE_BOOLEAN, false),\n rows: makeProp(PROP_TYPE_NUMBER_STRING, 2),\n // 'soft', 'hard' or 'off'\n // Browser default is 'soft'\n wrap: makeProp(PROP_TYPE_STRING, 'soft')\n})), NAME_FORM_TEXTAREA); // --- Main component ---\n// @vue/component\n\nexport var BFormTextarea = /*#__PURE__*/Vue.extend({\n name: NAME_FORM_TEXTAREA,\n directives: {\n 'b-visible': VBVisible\n },\n // Mixin order is important!\n mixins: [listenersMixin, idMixin, listenOnRootMixin, formControlMixin, formSizeMixin, formStateMixin, formTextMixin, formSelectionMixin, formValidityMixin],\n props: props,\n data: function data() {\n return {\n heightInPx: null\n };\n },\n computed: {\n computedStyle: function computedStyle() {\n var styles = {\n // Setting `noResize` to true will disable the ability for the user to\n // manually resize the textarea. We also disable when in auto height mode\n resize: !this.computedRows || this.noResize ? 'none' : null\n };\n\n if (!this.computedRows) {\n // Conditionally set the computed CSS height when auto rows/height is enabled\n // We avoid setting the style to `null`, which can override user manual resize handle\n styles.height = this.heightInPx; // We always add a vertical scrollbar to the textarea when auto-height is\n // enabled so that the computed height calculation returns a stable value\n\n styles.overflowY = 'scroll';\n }\n\n return styles;\n },\n computedMinRows: function computedMinRows() {\n // Ensure rows is at least 2 and positive (2 is the native textarea value)\n // A value of 1 can cause issues in some browsers, and most browsers\n // only support 2 as the smallest value\n return mathMax(toInteger(this.rows, 2), 2);\n },\n computedMaxRows: function computedMaxRows() {\n return mathMax(this.computedMinRows, toInteger(this.maxRows, 0));\n },\n computedRows: function computedRows() {\n // This is used to set the attribute 'rows' on the textarea\n // If auto-height is enabled, then we return `null` as we use CSS to control height\n return this.computedMinRows === this.computedMaxRows ? this.computedMinRows : null;\n },\n computedAttrs: function computedAttrs() {\n var disabled = this.disabled,\n required = this.required;\n return {\n id: this.safeId(),\n name: this.name || null,\n form: this.form || null,\n disabled: disabled,\n placeholder: this.placeholder || null,\n required: required,\n autocomplete: this.autocomplete || null,\n readonly: this.readonly || this.plaintext,\n rows: this.computedRows,\n wrap: this.wrap || null,\n 'aria-required': this.required ? 'true' : null,\n 'aria-invalid': this.computedAriaInvalid\n };\n },\n computedListeners: function computedListeners() {\n return _objectSpread(_objectSpread({}, this.bvListeners), {}, {\n input: this.onInput,\n change: this.onChange,\n blur: this.onBlur\n });\n }\n },\n watch: {\n localValue: function localValue() {\n this.setHeight();\n }\n },\n mounted: function mounted() {\n this.setHeight();\n },\n methods: {\n // Called by intersection observer directive\n\n /* istanbul ignore next */\n visibleCallback: function visibleCallback(visible) {\n if (visible) {\n // We use a `$nextTick()` here just to make sure any\n // transitions or portalling have completed\n this.$nextTick(this.setHeight);\n }\n },\n setHeight: function setHeight() {\n var _this = this;\n\n this.$nextTick(function () {\n requestAF(function () {\n _this.heightInPx = _this.computeHeight();\n });\n });\n },\n\n /* istanbul ignore next: can't test getComputedStyle in JSDOM */\n computeHeight: function computeHeight() {\n if (this.$isServer || !isNull(this.computedRows)) {\n return null;\n }\n\n var el = this.$el; // Element must be visible (not hidden) and in document\n // Must be checked after above checks\n\n if (!isVisible(el)) {\n return null;\n } // Get current computed styles\n\n\n var computedStyle = getCS(el); // Height of one line of text in px\n\n var lineHeight = toFloat(computedStyle.lineHeight, 1); // Calculate height of border and padding\n\n var border = toFloat(computedStyle.borderTopWidth, 0) + toFloat(computedStyle.borderBottomWidth, 0);\n var padding = toFloat(computedStyle.paddingTop, 0) + toFloat(computedStyle.paddingBottom, 0); // Calculate offset\n\n var offset = border + padding; // Minimum height for min rows (which must be 2 rows or greater for cross-browser support)\n\n var minHeight = lineHeight * this.computedMinRows + offset; // Get the current style height (with `px` units)\n\n var oldHeight = getStyle(el, 'height') || computedStyle.height; // Probe scrollHeight by temporarily changing the height to `auto`\n\n setStyle(el, 'height', 'auto');\n var scrollHeight = el.scrollHeight; // Place the original old height back on the element, just in case `computedProp`\n // returns the same value as before\n\n setStyle(el, 'height', oldHeight); // Calculate content height in 'rows' (scrollHeight includes padding but not border)\n\n var contentRows = mathMax((scrollHeight - padding) / lineHeight, 2); // Calculate number of rows to display (limited within min/max rows)\n\n var rows = mathMin(mathMax(contentRows, this.computedMinRows), this.computedMaxRows); // Calculate the required height of the textarea including border and padding (in pixels)\n\n var height = mathMax(mathCeil(rows * lineHeight + offset), minHeight); // Computed height remains the larger of `oldHeight` and new `height`,\n // when height is in `sticky` mode (prop `no-auto-shrink` is true)\n\n if (this.noAutoShrink && toFloat(oldHeight, 0) > height) {\n return oldHeight;\n } // Return the new computed CSS height in px units\n\n\n return \"\".concat(height, \"px\");\n }\n },\n render: function render(h) {\n return h('textarea', {\n class: this.computedClass,\n style: this.computedStyle,\n directives: [{\n name: 'b-visible',\n value: this.visibleCallback,\n // If textarea is within 640px of viewport, consider it visible\n modifiers: {\n '640': true\n }\n }],\n attrs: this.computedAttrs,\n domProps: {\n value: this.localValue\n },\n on: this.computedListeners,\n ref: 'input'\n });\n }\n});","import { Vue } from '../vue';\nimport { PROP_TYPE_STRING } from '../constants/props';\nimport { makeProp, makePropsConfigurable } from '../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n size: makeProp(PROP_TYPE_STRING)\n}, 'formControls'); // --- Mixin ---\n// @vue/component\n\nexport var formSizeMixin = Vue.extend({\n props: props,\n computed: {\n sizeFormClass: function sizeFormClass() {\n return [this.size ? \"form-control-\".concat(this.size) : null];\n }\n }\n});","/* Form control contextual state class computation\n *\n * Returned class is either 'is-valid' or 'is-invalid' based on the 'state' prop\n * state can be one of five values:\n * - true for is-valid\n * - false for is-invalid\n * - null for no contextual state\n */\nimport { Vue } from '../vue';\nimport { PROP_TYPE_BOOLEAN } from '../constants/props';\nimport { isBoolean } from '../utils/inspect';\nimport { makeProp, makePropsConfigurable } from '../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n // Tri-state prop: true, false, null (or undefined)\n state: makeProp(PROP_TYPE_BOOLEAN, null)\n}, 'formState'); // --- Mixin ---\n// @vue/component\n\nexport var formStateMixin = Vue.extend({\n props: props,\n computed: {\n computedState: function computedState() {\n // If not a boolean, ensure that value is null\n return isBoolean(this.state) ? this.state : null;\n },\n stateClass: function stateClass() {\n var state = this.computedState;\n return state === true ? 'is-valid' : state === false ? 'is-invalid' : null;\n },\n computedAriaInvalid: function computedAriaInvalid() {\n var ariaInvalid = this.ariaInvalid;\n\n if (ariaInvalid === true || ariaInvalid === 'true' || ariaInvalid === '') {\n return 'true';\n }\n\n return this.computedState === false ? 'true' : ariaInvalid;\n }\n }\n});","import { Vue } from '../vue';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../constants/props';\nimport { attemptFocus, isVisible, matches, requestAF, select } from '../utils/dom';\nimport { makeProp, makePropsConfigurable } from '../utils/props'; // --- Constants ---\n\nvar SELECTOR = 'input, textarea, select'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n autofocus: makeProp(PROP_TYPE_BOOLEAN, false),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n form: makeProp(PROP_TYPE_STRING),\n id: makeProp(PROP_TYPE_STRING),\n name: makeProp(PROP_TYPE_STRING),\n required: makeProp(PROP_TYPE_BOOLEAN, false)\n}, 'formControls'); // --- Mixin ---\n// @vue/component\n\nexport var formControlMixin = Vue.extend({\n props: props,\n mounted: function mounted() {\n this.handleAutofocus();\n },\n\n /* istanbul ignore next */\n activated: function activated() {\n this.handleAutofocus();\n },\n methods: {\n handleAutofocus: function handleAutofocus() {\n var _this = this;\n\n this.$nextTick(function () {\n requestAF(function () {\n var el = _this.$el;\n\n if (_this.autofocus && isVisible(el)) {\n if (!matches(el, SELECTOR)) {\n el = select(SELECTOR, el);\n }\n\n attemptFocus(el);\n }\n });\n });\n }\n }\n});"],"sourceRoot":""}