{"version":3,"sources":["webpack:///./node_modules/bootstrap-vue/esm/mixins/form-selection.js","webpack:///./src/@core/components/b-card-code/index.js","webpack:///./src/views/forms/form-element/form-input-group/FormInputGroup.vue?7d9b","webpack:///./src/views/forms/form-element/form-input-group/FormInputGroupBasic.vue?8ee1","webpack:///./src/views/forms/form-element/form-input-group/code.js","webpack:///src/views/forms/form-element/form-input-group/FormInputGroupBasic.vue","webpack:///./src/views/forms/form-element/form-input-group/FormInputGroupBasic.vue?6b30","webpack:///./src/views/forms/form-element/form-input-group/FormInputGroupBasic.vue","webpack:///./src/views/forms/form-element/form-input-group/FormInputGroupMerged.vue?1ff3","webpack:///src/views/forms/form-element/form-input-group/FormInputGroupMerged.vue","webpack:///./src/views/forms/form-element/form-input-group/FormInputGroupMerged.vue?4f10","webpack:///./src/views/forms/form-element/form-input-group/FormInputGroupMerged.vue","webpack:///./src/views/forms/form-element/form-input-group/FormInputGroupCheckboxRadio.vue?60ae","webpack:///src/views/forms/form-element/form-input-group/FormInputGroupCheckboxRadio.vue","webpack:///./src/views/forms/form-element/form-input-group/FormInputGroupCheckboxRadio.vue?6515","webpack:///./src/views/forms/form-element/form-input-group/FormInputGroupCheckboxRadio.vue","webpack:///./src/views/forms/form-element/form-input-group/FormInputGroupSize.vue?bd36","webpack:///src/views/forms/form-element/form-input-group/FormInputGroupSize.vue","webpack:///./src/views/forms/form-element/form-input-group/FormInputGroupSize.vue?0a4e","webpack:///./src/views/forms/form-element/form-input-group/FormInputGroupSize.vue","webpack:///./src/views/forms/form-element/form-input-group/FormInputGroupButton.vue?c5b4","webpack:///src/views/forms/form-element/form-input-group/FormInputGroupButton.vue","webpack:///./src/views/forms/form-element/form-input-group/FormInputGroupButton.vue?a885","webpack:///./src/views/forms/form-element/form-input-group/FormInputGroupButton.vue","webpack:///./src/views/forms/form-element/form-input-group/FormInputGroupDropdown.vue?8c45","webpack:///src/views/forms/form-element/form-input-group/FormInputGroupDropdown.vue","webpack:///./src/views/forms/form-element/form-input-group/FormInputGroupDropdown.vue?c545","webpack:///./src/views/forms/form-element/form-input-group/FormInputGroupDropdown.vue","webpack:///src/views/forms/form-element/form-input-group/FormInputGroup.vue","webpack:///./src/views/forms/form-element/form-input-group/FormInputGroup.vue?12d1","webpack:///./src/views/forms/form-element/form-input-group/FormInputGroup.vue","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-validity.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group-prepend.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-text.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group-addon.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-input/form-input.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group.js","webpack:///./node_modules/bootstrap-vue/esm/directives/visible/visible.js","webpack:///./node_modules/bootstrap-vue/esm/constants/popper.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/click-out.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/focus-in.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/dropdown.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-textarea/form-textarea.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-radio/form-radio.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-item.js","webpack:///./node_modules/bootstrap-vue/esm/components/layout/row.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-custom.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-size.js","webpack:///./src/@core/mixins/ui/forms.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-checkbox/form-checkbox.js","webpack:///./node_modules/bootstrap-vue/esm/utils/loose-index-of.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group-append.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group-text.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-radio-check.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-control.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-divider.js"],"names":["formSelectionMixin","extend","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","BCardCode","render","_vm","_h","$createElement","_c","_self","staticClass","attrs","staticRenderFns","scopedSlots","_u","key","fn","_v","_s","codeBasic","proxy","passwordFieldType","passwordToggleIcon","on","togglePasswordVisibility","codeButton","codeCheckboxRadio","codeDropdown","codeSize","codeMerged","components","BFormTextarea","BInputGroup","BFormGroup","BFormInput","BInputGroupPrepend","BInputGroupAppend","mixins","data","component","model","value","callback","$$v","radio1","expression","BRow","BCol","BFormCheckbox","BFormRadio","BButton","BDropdownDivider","BDropdown","BDropdownItem","FormInputGroupBasic","FormInputGroupMerged","FormInputGroupCheckboxRadio","FormInputGroupSize","FormInputGroupButton","FormInputGroupDropdown","formValidityMixin","validity","validationMessage","willValidate","setCustomValidity","checkValidity","reportValidity","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","target","i","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","configurable","writable","props","name","functional","h","_ref","children","append","_makeModelMixin","type","defaultValue","event","modelMixin","mixin","modelProps","MODEL_PROP_NAME","prop","MODEL_EVENT_NAME","ariaInvalid","autocomplete","debounce","formatter","lazy","lazyFormatter","number","placeholder","plaintext","readonly","trim","formTextMixin","localValue","vModelValue","modifyValue","computedClass","isRange","isColor","sizeFormClass","stateClass","computedDebounce","hasFormatter","watch","newValue","stringifyValue","modifiedValue","clearDebounce","created","$_inputDebounceTimer","mounted","$on","beforeDestroy","clearTimeout","formatValue","force","undefined","updateValue","_this","doUpdate","$emit","$input","setTimeout","onInput","composing","formattedValue","defaultPrevented","propagation","onChange","onBlur","focus","disabled","$el","blur","id","isText","tag","BInputGroupAddon","class","TYPES","list","max","min","noWheel","step","localType","computedAttrs","form","required","safeId","computedAriaInvalid","computedListeners","bvListeners","change","setWheelStopper","deactivated","activated","onWheelFocus","onWheelBlur","document","stopWheel","domProps","ref","appendHtml","prepend","prependHtml","size","slots","$scopedSlots","$slots","slotScope","$prepend","hasPrependSlot","$append","hasAppendSlot","concat","role","_classCallCheck","instance","Constructor","TypeError","_defineProperties","descriptor","_createClass","protoProps","staticProps","prototype","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","modifiers","mod","test","toLowerCase","_prevModifiers","componentUpdated","_ref2","oldValue","unbind","VBVisible","PLACEMENT_TOP_START","PLACEMENT_TOP_END","PLACEMENT_BOTTOM_START","PLACEMENT_BOTTOM_END","PLACEMENT_RIGHT_START","PLACEMENT_LEFT_START","clickOutMixin","listenForClickOut","clickOutElement","clickOutEventName","_clickOutHandler","beforeCreate","isClickOut","clickOutHandler","focusInMixin","listenForFocusIn","focusInElement","_focusInHandler","focusInHandler","ROOT_EVENT_NAME_SHOWN","ROOT_EVENT_NAME_HIDDEN","SELECTOR_FORM_CHILD","SELECTOR_ITEM","map","selector","join","els","boundary","dropleft","dropright","dropup","noFlip","offset","popperOpts","right","dropdownMixin","provide","bvDropdown","inject","bvNavbar","default","visibleChangePrevented","inNavbar","toggler","toggle","directionClass","boundaryClass","eventName","bvEvent","cancelable","vueTarget","menu","relatedTarget","componentId","emitEvent","$off","focusToggler","showMenu","hideMenu","$_popper","$_hideTimeout","whileOpenListen","destroyPopper","clearHideTimeout","emitOnRoot","warn","split","createPopper","focusMenu","element","getPopperConfig","updatePopper","scheduleUpdate","placement","popperConfig","flip","enabled","boundariesElement","preventOverflow","isOpen","method","$root","rootCloseListener","vm","show","_this2","hide","refocus","$once","_event","keyCode","indexOf","onMousedown","onKeydown","onEsc","focusNext","onSplitClick","hideHandler","_this3","up","_this4","items","getItems","index","focusItem","find","_this5","maxRows","noAutoShrink","noResize","rows","wrap","directives","heightInPx","computedStyle","styles","resize","computedRows","height","overflowY","computedMinRows","computedMaxRows","setHeight","visibleCallback","computeHeight","$isServer","lineHeight","border","borderTopWidth","borderBottomWidth","padding","paddingTop","paddingBottom","minHeight","oldHeight","scrollHeight","contentRows","style","bvGroup","from","computedLocalChecked","linkClass","variant","inheritAttrs","bvAttrs","closeDropdown","onClick","active","$props","click","normalizeSlot","COMMON_ALIGNMENT","computeRowColsClass","breakpoint","cols","computeRowColsBreakpoint","replace","rowColsPropList","generateProps","rowColsProps","reduce","alignContent","alignH","alignV","noGutters","_classList$push","classList","c","plain","formCustomMixin","custom","formSizeMixin","_objectSpread2","array","MODEL_PROP_NAME_INDETERMINATE","MODEL_EVENT_NAME_INDETERMINATE","isChecked","checked","isRadio","setIndeterminate","computedLocalCheckedWatcher","indeterminate","handleChange","_ref$target","uncheckedValue","localChecked","slice","isGroup","state","BInputGroupText","_watch","_methods","ariaLabel","ariaLabelledby","button","buttonVariant","inline","formRadioCheckMixin","hasFocus","isBtnMode","buttons","isPlain","isCustom","isSwitch","switches","switch","isInline","isDisabled","isRequired","computedName","groupName","computedForm","computedSize","computedState","computedButtonVariant","buttonClasses","$content","handleFocus","$button","$label","for","block","html","menuClass","noCaret","splitButtonType","splitClass","splitHref","splitTo","splitVariant","text","toggleClass","toggleTag","toggleText","dropdownClasses","menuClasses","toggleClasses","commonProps","$buttonChildren","buttonContentDomProps","hasNormalizedSlot","$split","btnProps","to","href","$toggle","mousedown","keydown","$menu","tabindex","SELECTOR","autofocus","formControlMixin","handleAutofocus"],"mappings":"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","file":"js/chunk-520777de.d7a9b71d.js","sourcesContent":["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 BCardCode from './BCardCode.vue'\r\n\r\nexport default BCardCode\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-row',{staticClass:\"match-height\"},[_c('b-col',{attrs:{\"md\":\"6\"}},[_c('form-input-group-basic')],1),_c('b-col',{attrs:{\"md\":\"6\"}},[_c('form-input-group-merged')],1),_c('b-col',{attrs:{\"md\":\"6\"}},[_c('form-input-group-size')],1),_c('b-col',{attrs:{\"md\":\"6\"}},[_c('form-input-group-checkbox-radio')],1),_c('b-col',{attrs:{\"cols\":\"12\"}},[_c('form-input-group-button')],1),_c('b-col',{attrs:{\"cols\":\"12\"}},[_c('form-input-group-dropdown')],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card-code',{attrs:{\"title\":\"Basic\"},scopedSlots:_vm._u([{key:\"code\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.codeBasic)+\" \")]},proxy:true}])},[_c('div',{staticClass:\"demo-vertical-spacing\"},[_c('b-input-group',[_c('b-input-group-prepend',{attrs:{\"is-text\":\"\"}},[_c('feather-icon',{attrs:{\"icon\":\"SearchIcon\"}})],1),_c('b-form-input',{attrs:{\"placeholder\":\"Search\"}})],1),_c('b-form-group',[_c('label',{attrs:{\"for\":\"basic-password\"}},[_vm._v(\"Password\")]),_c('b-input-group',[_c('b-form-input',{attrs:{\"id\":\"basic-password\",\"type\":_vm.passwordFieldType,\"placeholder\":\"Your Password\"}}),_c('b-input-group-append',{attrs:{\"is-text\":\"\"}},[_c('feather-icon',{staticClass:\"cursor-pointer\",attrs:{\"icon\":_vm.passwordToggleIcon},on:{\"click\":_vm.togglePasswordVisibility}})],1)],1)],1),_c('b-input-group',{attrs:{\"prepend\":\"@\"}},[_c('b-form-input',{attrs:{\"placeholder\":\"Username\"}})],1),_c('b-input-group',{attrs:{\"append\":\"@example.com\"}},[_c('b-form-input',{attrs:{\"placeholder\":\"Recipient's username\"}})],1),_c('b-input-group',{attrs:{\"prepend\":\"https://example.com/users/\"}},[_c('b-form-input')],1),_c('b-input-group',{attrs:{\"prepend\":\"$\",\"append\":\".00\"}},[_c('b-form-input',{attrs:{\"placeholder\":\"100\"}})],1),_c('b-input-group',{attrs:{\"prepend\":\"With textarea\"}},[_c('b-form-textarea')],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export const codeAddons = `\r\n\r\n \r\n \r\n \r\n \r\n $\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n $\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n`\r\n\r\nexport const codeBasic = `\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n\r\n\r\n\r\n`\r\n\r\nexport const codeButton = `\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n GO\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Search !\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n`\r\n\r\nexport const codeCheckboxRadio = `\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Custom checkbox and radio\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n`\r\n\r\nexport const codeDropdown = `\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n Action \r\n Another Action\r\n Something else here\r\n \r\n Separated link\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Action \r\n Another Action\r\n Something else here\r\n \r\n Separated link\r\n \r\n \r\n \r\n \r\n \r\n Action \r\n Another Action\r\n Something else here\r\n \r\n Separated link\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n`\r\n\r\nexport const codeSize = `\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n\r\n\r\n\r\n`\r\n\r\nexport const codeMerged = `\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n\r\n\r\n\r\n`\r\n","\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n {{ codeBasic }}\r\n \r\n \r\n\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormInputGroupBasic.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!./FormInputGroupBasic.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FormInputGroupBasic.vue?vue&type=template&id=1efa28ec&\"\nimport script from \"./FormInputGroupBasic.vue?vue&type=script&lang=js&\"\nexport * from \"./FormInputGroupBasic.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card-code',{attrs:{\"title\":\"Merged\"},scopedSlots:_vm._u([{key:\"code\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.codeMerged)+\" \")]},proxy:true}])},[_c('div',{staticClass:\"demo-vertical-spacing\"},[_c('b-input-group',{staticClass:\"input-group-merge\"},[_c('b-input-group-prepend',{attrs:{\"is-text\":\"\"}},[_c('feather-icon',{attrs:{\"icon\":\"SearchIcon\"}})],1),_c('b-form-input',{attrs:{\"placeholder\":\"Search\"}})],1),_c('b-form-group',[_c('label',{attrs:{\"for\":\"basic-password1\"}},[_vm._v(\"Password\")]),_c('b-input-group',{staticClass:\"input-group-merge\"},[_c('b-form-input',{attrs:{\"id\":\"basic-password1\",\"type\":_vm.passwordFieldType,\"placeholder\":\"Your Password\"}}),_c('b-input-group-append',{attrs:{\"is-text\":\"\"}},[_c('feather-icon',{staticClass:\"cursor-pointer\",attrs:{\"icon\":_vm.passwordToggleIcon},on:{\"click\":_vm.togglePasswordVisibility}})],1)],1)],1),_c('b-input-group',{staticClass:\"input-group-merge\",attrs:{\"prepend\":\"@\"}},[_c('b-form-input',{attrs:{\"placeholder\":\"Username\"}})],1),_c('b-input-group',{staticClass:\"input-group-merge\",attrs:{\"append\":\"@example.com\"}},[_c('b-form-input',{attrs:{\"placeholder\":\"Recipient's username\"}})],1),_c('b-input-group',{staticClass:\"input-group-merge\",attrs:{\"prepend\":\"https://example.com/users/\"}},[_c('b-form-input')],1),_c('b-input-group',{staticClass:\"input-group-merge\",attrs:{\"prepend\":\"$\",\"append\":\".00\"}},[_c('b-form-input',{attrs:{\"placeholder\":\"100\"}})],1),_c('b-input-group',{staticClass:\"input-group-merge\",attrs:{\"prepend\":\"With textarea\"}},[_c('b-form-textarea')],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n {{ codeMerged }}\r\n \r\n \r\n\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormInputGroupMerged.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!./FormInputGroupMerged.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FormInputGroupMerged.vue?vue&type=template&id=60d686f4&\"\nimport script from \"./FormInputGroupMerged.vue?vue&type=script&lang=js&\"\nexport * from \"./FormInputGroupMerged.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card-code',{attrs:{\"title\":\"Checkbox and radio addons\"},scopedSlots:_vm._u([{key:\"code\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.codeCheckboxRadio)+\" \")]},proxy:true}])},[_c('b-row',[_c('b-col',{attrs:{\"md\":\"6\"}},[_c('b-form-group',[_c('b-input-group',[_c('b-input-group-prepend',{attrs:{\"is-text\":\"\"}},[_c('b-form-checkbox',{attrs:{\"plain\":\"\",\"name\":\"checkbox-input\"}})],1),_c('b-form-input',{attrs:{\"placeholder\":\"Message\"}})],1)],1)],1),_c('b-col',{attrs:{\"md\":\"6\"}},[_c('b-form-group',[_c('b-input-group',[_c('b-input-group-prepend',{attrs:{\"is-text\":\"\"}},[_c('b-form-radio',{attrs:{\"value\":\"radio2\",\"plain\":\"\",\"name\":\"radio-input1\"},model:{value:(_vm.radio1),callback:function ($$v) {_vm.radio1=$$v},expression:\"radio1\"}})],1),_c('b-form-input',{attrs:{\"placeholder\":\"Message\"}})],1)],1)],1),_c('b-col',{staticClass:\" my-1\",attrs:{\"cols\":\"12\"}},[_c('small',{staticClass:\"font-weight-semibold\"},[_vm._v(\"Custom checkbox and radio\")])]),_c('b-col',{attrs:{\"md\":\"6\"}},[_c('b-form-group',[_c('b-input-group',[_c('b-input-group-prepend',{attrs:{\"is-text\":\"\"}},[_c('b-form-checkbox',{attrs:{\"name\":\"checkbox-input\"}})],1),_c('b-form-input',{attrs:{\"placeholder\":\"Message\"}})],1)],1)],1),_c('b-col',{attrs:{\"md\":\"6\"}},[_c('b-form-group',[_c('b-input-group',[_c('b-input-group-prepend',{attrs:{\"is-text\":\"\"}},[_c('b-form-radio',{attrs:{\"value\":\"radio2\",\"name\":\"radio-input1\"},model:{value:(_vm.radio1),callback:function ($$v) {_vm.radio1=$$v},expression:\"radio1\"}})],1),_c('b-form-input',{attrs:{\"placeholder\":\"Message\"}})],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Custom checkbox and radio\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n {{ codeCheckboxRadio }}\r\n \r\n \r\n\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormInputGroupCheckboxRadio.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!./FormInputGroupCheckboxRadio.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FormInputGroupCheckboxRadio.vue?vue&type=template&id=509d36b8&\"\nimport script from \"./FormInputGroupCheckboxRadio.vue?vue&type=script&lang=js&\"\nexport * from \"./FormInputGroupCheckboxRadio.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card-code',{attrs:{\"title\":\"Sizing\"},scopedSlots:_vm._u([{key:\"code\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.codeSize)+\" \")]},proxy:true}])},[_c('div',{staticClass:\"demo-vertical-spacing\"},[_c('b-input-group',{attrs:{\"prepend\":\"@\",\"size\":\"lg\"}},[_c('b-form-input',{attrs:{\"placeholder\":\"Username\"}})],1),_c('b-input-group',{attrs:{\"prepend\":\"@\"}},[_c('b-form-input',{attrs:{\"placeholder\":\"Username\"}})],1),_c('b-input-group',{attrs:{\"size\":\"sm\",\"prepend\":\"@\"}},[_c('b-form-input',{attrs:{\"placeholder\":\"Username\"}})],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n {{ codeSize }}\r\n \r\n \r\n\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormInputGroupSize.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!./FormInputGroupSize.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FormInputGroupSize.vue?vue&type=template&id=7421209b&\"\nimport script from \"./FormInputGroupSize.vue?vue&type=script&lang=js&\"\nexport * from \"./FormInputGroupSize.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card-code',{attrs:{\"title\":\"Input Groups with Buttons\"},scopedSlots:_vm._u([{key:\"code\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.codeButton)+\" \")]},proxy:true}])},[_c('b-row',[_c('b-col',{staticClass:\"mb-1\",attrs:{\"lg\":\"6\"}},[_c('b-input-group',[_c('b-form-input',{attrs:{\"placeholder\":\"Button on right\"}}),_c('b-input-group-append',[_c('b-button',{attrs:{\"variant\":\"outline-primary\"}},[_vm._v(\" GO \")])],1)],1)],1),_c('b-col',{attrs:{\"lg\":\"6\"}},[_c('b-input-group',[_c('b-input-group-prepend',[_c('b-button',{attrs:{\"variant\":\"outline-primary\"}},[_c('feather-icon',{attrs:{\"icon\":\"SearchIcon\"}})],1)],1),_c('b-form-input',{attrs:{\"placeholder\":\"Button on both side\"}}),_c('b-input-group-append',[_c('b-button',{attrs:{\"variant\":\"outline-primary\"}},[_vm._v(\" Search ! \")])],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n GO\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Search !\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n {{ codeButton }}\r\n \r\n \r\n\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormInputGroupButton.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!./FormInputGroupButton.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FormInputGroupButton.vue?vue&type=template&id=4a6408f2&\"\nimport script from \"./FormInputGroupButton.vue?vue&type=script&lang=js&\"\nexport * from \"./FormInputGroupButton.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card-code',{attrs:{\"title\":\"Input Groups With Dropdown\"},scopedSlots:_vm._u([{key:\"code\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.codeDropdown)+\" \")]},proxy:true}])},[_c('b-row',[_c('b-col',{staticClass:\"mb-1\",attrs:{\"lg\":\"6\"}},[_c('b-input-group',[_c('b-input-group-prepend',[_c('b-dropdown',{attrs:{\"text\":\"Action\",\"variant\":\"outline-primary\"}},[_c('b-dropdown-item',[_vm._v(\"Action \")]),_c('b-dropdown-item',[_vm._v(\"Another Action\")]),_c('b-dropdown-item',[_vm._v(\"Something else here\")]),_c('b-dropdown-divider'),_c('b-dropdown-item',[_vm._v(\"Separated link\")])],1)],1),_c('b-form-input',{attrs:{\"placeholder\":\"Dropdown on left\"}})],1)],1),_c('b-col',{attrs:{\"lg\":\"6\"}},[_c('b-input-group',[_c('b-input-group-prepend',[_c('b-dropdown',{attrs:{\"variant\":\"outline-primary\"},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('feather-icon',{attrs:{\"icon\":\"Edit2Icon\"}})]},proxy:true}])},[_c('b-dropdown-item',[_vm._v(\"Action \")]),_c('b-dropdown-item',[_vm._v(\"Another Action\")]),_c('b-dropdown-item',[_vm._v(\"Something else here\")]),_c('b-dropdown-divider'),_c('b-dropdown-item',[_vm._v(\"Separated link\")])],1)],1),_c('b-form-input',{attrs:{\"placeholder\":\"Dropdown on both side\"}}),_c('b-input-group-append',[_c('b-dropdown',{attrs:{\"text\":\"Action\",\"variant\":\"outline-primary\",\"right\":\"\"}},[_c('b-dropdown-item',[_vm._v(\"Action \")]),_c('b-dropdown-item',[_vm._v(\"Another Action\")]),_c('b-dropdown-item',[_vm._v(\"Something else here\")]),_c('b-dropdown-divider'),_c('b-dropdown-item',[_vm._v(\"Separated link\")])],1)],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Action \r\n Another Action\r\n Something else here\r\n \r\n Separated link\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Action \r\n Another Action\r\n Something else here\r\n \r\n Separated link\r\n \r\n \r\n \r\n \r\n \r\n Action \r\n Another Action\r\n Something else here\r\n \r\n Separated link\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n {{ codeDropdown }}\r\n \r\n \r\n\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormInputGroupDropdown.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!./FormInputGroupDropdown.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FormInputGroupDropdown.vue?vue&type=template&id=e0a1f94a&\"\nimport script from \"./FormInputGroupDropdown.vue?vue&type=script&lang=js&\"\nexport * from \"./FormInputGroupDropdown.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","\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormInputGroup.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!./FormInputGroup.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FormInputGroup.vue?vue&type=template&id=2858cc7a&\"\nimport script from \"./FormInputGroup.vue?vue&type=script&lang=js&\"\nexport * from \"./FormInputGroup.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","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});","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, mergeData } from '../../vue';\nimport { NAME_INPUT_GROUP_PREPEND } from '../../constants/components';\nimport { omit } from '../../utils/object';\nimport { makePropsConfigurable } from '../../utils/props';\nimport { BInputGroupAddon, props as BInputGroupAddonProps } from './input-group-addon'; // --- Props ---\n\nexport var props = makePropsConfigurable(omit(BInputGroupAddonProps, ['append']), NAME_INPUT_GROUP_PREPEND); // --- Main component ---\n// @vue/component\n\nexport var BInputGroupPrepend = /*#__PURE__*/Vue.extend({\n name: NAME_INPUT_GROUP_PREPEND,\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 // Pass all our data down to child, and set `append` to `true`\n return h(BInputGroupAddon, mergeData(data, {\n props: _objectSpread(_objectSpread({}, props), {}, {\n append: false\n })\n }), children);\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});","import { Vue, mergeData } from '../../vue';\nimport { NAME_INPUT_GROUP_ADDON } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { BInputGroupText } from './input-group-text'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n append: makeProp(PROP_TYPE_BOOLEAN, false),\n id: makeProp(PROP_TYPE_STRING),\n isText: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n}, NAME_INPUT_GROUP_ADDON); // --- Main component ---\n// @vue/component\n\nexport var BInputGroupAddon = /*#__PURE__*/Vue.extend({\n name: NAME_INPUT_GROUP_ADDON,\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 append = props.append;\n return h(props.tag, mergeData(data, {\n class: {\n 'input-group-append': append,\n 'input-group-prepend': !append\n },\n attrs: {\n id: props.id\n }\n }), props.isText ? [h(BInputGroupText, children)] : children);\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 { NAME_FORM_INPUT } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { arrayIncludes } from '../../utils/array';\nimport { attemptBlur } from '../../utils/dom';\nimport { eventOn, eventOff, eventOnOff, stopEvent } from '../../utils/events';\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 { listenersMixin } from '../../mixins/listeners'; // --- Constants ---\n// Valid supported input types\n\nvar TYPES = ['text', 'password', 'email', 'number', 'url', 'tel', 'search', 'range', 'color', 'date', 'time', 'datetime', 'datetime-local', 'month', 'week']; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), formControlProps), formSizeProps), formStateProps), formTextProps), {}, {\n list: makeProp(PROP_TYPE_STRING),\n max: makeProp(PROP_TYPE_NUMBER_STRING),\n min: makeProp(PROP_TYPE_NUMBER_STRING),\n // Disable mousewheel to prevent wheel from changing values (i.e. number/date)\n noWheel: makeProp(PROP_TYPE_BOOLEAN, false),\n step: makeProp(PROP_TYPE_NUMBER_STRING),\n type: makeProp(PROP_TYPE_STRING, 'text', function (type) {\n return arrayIncludes(TYPES, type);\n })\n})), NAME_FORM_INPUT); // --- Main component ---\n// @vue/component\n\nexport var BFormInput = /*#__PURE__*/Vue.extend({\n name: NAME_FORM_INPUT,\n // Mixin order is important!\n mixins: [listenersMixin, idMixin, formControlMixin, formSizeMixin, formStateMixin, formTextMixin, formSelectionMixin, formValidityMixin],\n props: props,\n computed: {\n localType: function localType() {\n // We only allow certain types\n var type = this.type;\n return arrayIncludes(TYPES, type) ? type : 'text';\n },\n computedAttrs: function computedAttrs() {\n var type = this.localType,\n name = this.name,\n form = this.form,\n disabled = this.disabled,\n placeholder = this.placeholder,\n required = this.required,\n min = this.min,\n max = this.max,\n step = this.step;\n return {\n id: this.safeId(),\n name: name,\n form: form,\n type: type,\n disabled: disabled,\n placeholder: placeholder,\n required: required,\n autocomplete: this.autocomplete || null,\n readonly: this.readonly || this.plaintext,\n min: min,\n max: max,\n step: step,\n list: type !== 'password' ? this.list : null,\n 'aria-required': 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 noWheel: function noWheel(newValue) {\n this.setWheelStopper(newValue);\n }\n },\n mounted: function mounted() {\n this.setWheelStopper(this.noWheel);\n },\n\n /* istanbul ignore next */\n deactivated: function deactivated() {\n // Turn off listeners when keep-alive component deactivated\n\n /* istanbul ignore next */\n this.setWheelStopper(false);\n },\n\n /* istanbul ignore next */\n activated: function activated() {\n // Turn on listeners (if no-wheel) when keep-alive component activated\n\n /* istanbul ignore next */\n this.setWheelStopper(this.noWheel);\n },\n beforeDestroy: function beforeDestroy() {\n /* istanbul ignore next */\n this.setWheelStopper(false);\n },\n methods: {\n setWheelStopper: function setWheelStopper(on) {\n var input = this.$el; // We use native events, so that we don't interfere with propagation\n\n eventOnOff(on, input, 'focus', this.onWheelFocus);\n eventOnOff(on, input, 'blur', this.onWheelBlur);\n\n if (!on) {\n eventOff(document, 'wheel', this.stopWheel);\n }\n },\n onWheelFocus: function onWheelFocus() {\n eventOn(document, 'wheel', this.stopWheel);\n },\n onWheelBlur: function onWheelBlur() {\n eventOff(document, 'wheel', this.stopWheel);\n },\n stopWheel: function stopWheel(event) {\n stopEvent(event, {\n propagation: false\n });\n attemptBlur(this.$el);\n }\n },\n render: function render(h) {\n return h('input', {\n class: this.computedClass,\n attrs: this.computedAttrs,\n domProps: {\n value: this.localValue\n },\n on: this.computedListeners,\n ref: 'input'\n });\n }\n});","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_INPUT_GROUP } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_APPEND, SLOT_NAME_DEFAULT, SLOT_NAME_PREPEND } from '../../constants/slots';\nimport { htmlOrText } from '../../utils/html';\nimport { hasNormalizedSlot, normalizeSlot } from '../../utils/normalize-slot';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { BInputGroupAppend } from './input-group-append';\nimport { BInputGroupPrepend } from './input-group-prepend';\nimport { BInputGroupText } from './input-group-text'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n append: makeProp(PROP_TYPE_STRING),\n appendHtml: makeProp(PROP_TYPE_STRING),\n id: makeProp(PROP_TYPE_STRING),\n prepend: makeProp(PROP_TYPE_STRING),\n prependHtml: makeProp(PROP_TYPE_STRING),\n size: makeProp(PROP_TYPE_STRING),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n}, NAME_INPUT_GROUP); // --- Main component ---\n// @vue/component\n\nexport var BInputGroup = /*#__PURE__*/Vue.extend({\n name: NAME_INPUT_GROUP,\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 var prepend = props.prepend,\n prependHtml = props.prependHtml,\n append = props.append,\n appendHtml = props.appendHtml,\n size = props.size;\n var $scopedSlots = scopedSlots || {};\n var $slots = slots();\n var slotScope = {};\n var $prepend = h();\n var hasPrependSlot = hasNormalizedSlot(SLOT_NAME_PREPEND, $scopedSlots, $slots);\n\n if (hasPrependSlot || prepend || prependHtml) {\n $prepend = h(BInputGroupPrepend, [hasPrependSlot ? normalizeSlot(SLOT_NAME_PREPEND, slotScope, $scopedSlots, $slots) : h(BInputGroupText, {\n domProps: htmlOrText(prependHtml, prepend)\n })]);\n }\n\n var $append = h();\n var hasAppendSlot = hasNormalizedSlot(SLOT_NAME_APPEND, $scopedSlots, $slots);\n\n if (hasAppendSlot || append || appendHtml) {\n $append = h(BInputGroupAppend, [hasAppendSlot ? normalizeSlot(SLOT_NAME_APPEND, slotScope, $scopedSlots, $slots) : h(BInputGroupText, {\n domProps: htmlOrText(appendHtml, append)\n })]);\n }\n\n return h(props.tag, mergeData(data, {\n staticClass: 'input-group',\n class: _defineProperty({}, \"input-group-\".concat(size), size),\n attrs: {\n id: props.id || null,\n role: 'group'\n }\n }), [$prepend, normalizeSlot(SLOT_NAME_DEFAULT, slotScope, $scopedSlots, $slots), $append]);\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};","export var PLACEMENT_TOP_START = 'top-start';\nexport var PLACEMENT_TOP_END = 'top-end';\nexport var PLACEMENT_BOTTOM_START = 'bottom-start';\nexport var PLACEMENT_BOTTOM_END = 'bottom-end';\nexport var PLACEMENT_RIGHT_START = 'right-start';\nexport var PLACEMENT_RIGHT_END = 'right-end';\nexport var PLACEMENT_LEFT_START = 'left-start';\nexport var PLACEMENT_LEFT_END = 'left-end';","import { Vue } from '../vue';\nimport { EVENT_OPTIONS_NO_CAPTURE } from '../constants/events';\nimport { contains } from '../utils/dom';\nimport { eventOn, eventOff } from '../utils/events'; // @vue/component\n\nexport var clickOutMixin = Vue.extend({\n data: function data() {\n return {\n listenForClickOut: false\n };\n },\n watch: {\n listenForClickOut: function listenForClickOut(newValue, oldValue) {\n if (newValue !== oldValue) {\n eventOff(this.clickOutElement, this.clickOutEventName, this._clickOutHandler, EVENT_OPTIONS_NO_CAPTURE);\n\n if (newValue) {\n eventOn(this.clickOutElement, this.clickOutEventName, this._clickOutHandler, EVENT_OPTIONS_NO_CAPTURE);\n }\n }\n }\n },\n beforeCreate: function beforeCreate() {\n // Declare non-reactive properties\n this.clickOutElement = null;\n this.clickOutEventName = null;\n },\n mounted: function mounted() {\n if (!this.clickOutElement) {\n this.clickOutElement = document;\n }\n\n if (!this.clickOutEventName) {\n this.clickOutEventName = 'click';\n }\n\n if (this.listenForClickOut) {\n eventOn(this.clickOutElement, this.clickOutEventName, this._clickOutHandler, EVENT_OPTIONS_NO_CAPTURE);\n }\n },\n beforeDestroy: function beforeDestroy() {\n eventOff(this.clickOutElement, this.clickOutEventName, this._clickOutHandler, EVENT_OPTIONS_NO_CAPTURE);\n },\n methods: {\n isClickOut: function isClickOut(event) {\n return !contains(this.$el, event.target);\n },\n _clickOutHandler: function _clickOutHandler(event) {\n if (this.clickOutHandler && this.isClickOut(event)) {\n this.clickOutHandler(event);\n }\n }\n }\n});","import { Vue } from '../vue';\nimport { EVENT_OPTIONS_NO_CAPTURE } from '../constants/events';\nimport { eventOn, eventOff } from '../utils/events'; // @vue/component\n\nexport var focusInMixin = Vue.extend({\n data: function data() {\n return {\n listenForFocusIn: false\n };\n },\n watch: {\n listenForFocusIn: function listenForFocusIn(newValue, oldValue) {\n if (newValue !== oldValue) {\n eventOff(this.focusInElement, 'focusin', this._focusInHandler, EVENT_OPTIONS_NO_CAPTURE);\n\n if (newValue) {\n eventOn(this.focusInElement, 'focusin', this._focusInHandler, EVENT_OPTIONS_NO_CAPTURE);\n }\n }\n }\n },\n beforeCreate: function beforeCreate() {\n // Declare non-reactive properties\n this.focusInElement = null;\n },\n mounted: function mounted() {\n if (!this.focusInElement) {\n this.focusInElement = document;\n }\n\n if (this.listenForFocusIn) {\n eventOn(this.focusInElement, 'focusin', this._focusInHandler, EVENT_OPTIONS_NO_CAPTURE);\n }\n },\n beforeDestroy: function beforeDestroy() {\n eventOff(this.focusInElement, 'focusin', this._focusInHandler, EVENT_OPTIONS_NO_CAPTURE);\n },\n methods: {\n _focusInHandler: function _focusInHandler(event) {\n if (this.focusInHandler) {\n this.focusInHandler(event);\n }\n }\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 Popper from 'popper.js';\nimport { Vue } from '../vue';\nimport { NAME_DROPDOWN } from '../constants/components';\nimport { EVENT_NAME_CLICK, EVENT_NAME_HIDDEN, EVENT_NAME_HIDE, EVENT_NAME_SHOW, EVENT_NAME_SHOWN, EVENT_NAME_TOGGLE } from '../constants/events';\nimport { CODE_DOWN, CODE_ENTER, CODE_ESC, CODE_SPACE, CODE_UP } from '../constants/key-codes';\nimport { PLACEMENT_TOP_START, PLACEMENT_TOP_END, PLACEMENT_BOTTOM_START, PLACEMENT_BOTTOM_END, PLACEMENT_RIGHT_START, PLACEMENT_LEFT_START } from '../constants/popper';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_OBJECT, PROP_TYPE_STRING } from '../constants/props';\nimport { HTMLElement } from '../constants/safe-types';\nimport { BvEvent } from '../utils/bv-event.class';\nimport { attemptFocus, closest, contains, isVisible, requestAF, selectAll } from '../utils/dom';\nimport { getRootEventName, stopEvent } from '../utils/events';\nimport { isNull } from '../utils/inspect';\nimport { mergeDeep, sortKeys } from '../utils/object';\nimport { makeProp, makePropsConfigurable } from '../utils/props';\nimport { warn } from '../utils/warn';\nimport { clickOutMixin } from './click-out';\nimport { focusInMixin } from './focus-in';\nimport { idMixin, props as idProps } from './id';\nimport { listenOnRootMixin } from './listen-on-root'; // --- Constants ---\n\nvar ROOT_EVENT_NAME_SHOWN = getRootEventName(NAME_DROPDOWN, EVENT_NAME_SHOWN);\nvar ROOT_EVENT_NAME_HIDDEN = getRootEventName(NAME_DROPDOWN, EVENT_NAME_HIDDEN); // CSS selectors\n\nvar SELECTOR_FORM_CHILD = '.dropdown form';\nvar SELECTOR_ITEM = ['.dropdown-item', '.b-dropdown-form'].map(function (selector) {\n return \"\".concat(selector, \":not(.disabled):not([disabled])\");\n}).join(', '); // --- Helper methods ---\n// Return an array of visible items\n\nvar filterVisibles = function filterVisibles(els) {\n return (els || []).filter(isVisible);\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, idProps), {}, {\n // String: `scrollParent`, `window` or `viewport`\n // HTMLElement: HTML Element reference\n boundary: makeProp([HTMLElement, PROP_TYPE_STRING], 'scrollParent'),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n // Place left if possible\n dropleft: makeProp(PROP_TYPE_BOOLEAN, false),\n // Place right if possible\n dropright: makeProp(PROP_TYPE_BOOLEAN, false),\n // Place on top if possible\n dropup: makeProp(PROP_TYPE_BOOLEAN, false),\n // Disable auto-flipping of menu from bottom <=> top\n noFlip: makeProp(PROP_TYPE_BOOLEAN, false),\n // Number of pixels or a CSS unit value to offset menu\n // (i.e. `1px`, `1rem`, etc.)\n offset: makeProp(PROP_TYPE_NUMBER_STRING, 0),\n popperOpts: makeProp(PROP_TYPE_OBJECT, {}),\n // Right align menu (default is left align)\n right: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_DROPDOWN); // --- Mixin ---\n// @vue/component\n\nexport var dropdownMixin = Vue.extend({\n mixins: [idMixin, listenOnRootMixin, clickOutMixin, focusInMixin],\n provide: function provide() {\n return {\n bvDropdown: this\n };\n },\n inject: {\n bvNavbar: {\n default: null\n }\n },\n props: props,\n data: function data() {\n return {\n visible: false,\n visibleChangePrevented: false\n };\n },\n computed: {\n inNavbar: function inNavbar() {\n return !isNull(this.bvNavbar);\n },\n toggler: function toggler() {\n var toggle = this.$refs.toggle;\n return toggle ? toggle.$el || toggle : null;\n },\n directionClass: function directionClass() {\n if (this.dropup) {\n return 'dropup';\n } else if (this.dropright) {\n return 'dropright';\n } else if (this.dropleft) {\n return 'dropleft';\n }\n\n return '';\n },\n boundaryClass: function boundaryClass() {\n // Position `static` is needed to allow menu to \"breakout\" of the `scrollParent`\n // boundaries when boundary is anything other than `scrollParent`\n // See: https://github.com/twbs/bootstrap/issues/24251#issuecomment-341413786\n return this.boundary !== 'scrollParent' && !this.inNavbar ? 'position-static' : '';\n }\n },\n watch: {\n visible: function visible(newValue, oldValue) {\n if (this.visibleChangePrevented) {\n this.visibleChangePrevented = false;\n return;\n }\n\n if (newValue !== oldValue) {\n var eventName = newValue ? EVENT_NAME_SHOW : EVENT_NAME_HIDE;\n var bvEvent = new BvEvent(eventName, {\n cancelable: true,\n vueTarget: this,\n target: this.$refs.menu,\n relatedTarget: null,\n componentId: this.safeId ? this.safeId() : this.id || null\n });\n this.emitEvent(bvEvent);\n\n if (bvEvent.defaultPrevented) {\n // Reset value and exit if canceled\n this.visibleChangePrevented = true;\n this.visible = oldValue; // Just in case a child element triggered `this.hide(true)`\n\n this.$off(EVENT_NAME_HIDDEN, this.focusToggler);\n return;\n }\n\n if (newValue) {\n this.showMenu();\n } else {\n this.hideMenu();\n }\n }\n },\n disabled: function disabled(newValue, oldValue) {\n if (newValue !== oldValue && newValue && this.visible) {\n // Hide dropdown if disabled changes to true\n this.visible = false;\n }\n }\n },\n created: function created() {\n // Create private non-reactive props\n this.$_popper = null;\n this.$_hideTimeout = null;\n },\n\n /* istanbul ignore next */\n deactivated: function deactivated() {\n // In case we are inside a ``\n this.visible = false;\n this.whileOpenListen(false);\n this.destroyPopper();\n },\n beforeDestroy: function beforeDestroy() {\n this.visible = false;\n this.whileOpenListen(false);\n this.destroyPopper();\n this.clearHideTimeout();\n },\n methods: {\n // Event emitter\n emitEvent: function emitEvent(bvEvent) {\n var type = bvEvent.type;\n this.emitOnRoot(getRootEventName(NAME_DROPDOWN, type), bvEvent);\n this.$emit(type, bvEvent);\n },\n showMenu: function showMenu() {\n var _this = this;\n\n if (this.disabled) {\n /* istanbul ignore next */\n return;\n } // Only instantiate Popper.js when dropdown is not in ``\n\n\n if (!this.inNavbar) {\n if (typeof Popper === 'undefined') {\n /* istanbul ignore next */\n warn('Popper.js not found. Falling back to CSS positioning', NAME_DROPDOWN);\n } else {\n // For dropup with alignment we use the parent element as popper container\n var el = this.dropup && this.right || this.split ? this.$el : this.$refs.toggle; // Make sure we have a reference to an element, not a component!\n\n el = el.$el || el; // Instantiate Popper.js\n\n this.createPopper(el);\n }\n } // Ensure other menus are closed\n\n\n this.emitOnRoot(ROOT_EVENT_NAME_SHOWN, this); // Enable listeners\n\n this.whileOpenListen(true); // Wrap in `$nextTick()` to ensure menu is fully rendered/shown\n\n this.$nextTick(function () {\n // Focus on the menu container on show\n _this.focusMenu(); // Emit the shown event\n\n\n _this.$emit(EVENT_NAME_SHOWN);\n });\n },\n hideMenu: function hideMenu() {\n this.whileOpenListen(false);\n this.emitOnRoot(ROOT_EVENT_NAME_HIDDEN, this);\n this.$emit(EVENT_NAME_HIDDEN);\n this.destroyPopper();\n },\n createPopper: function createPopper(element) {\n this.destroyPopper();\n this.$_popper = new Popper(element, this.$refs.menu, this.getPopperConfig());\n },\n // Ensure popper event listeners are removed cleanly\n destroyPopper: function destroyPopper() {\n this.$_popper && this.$_popper.destroy();\n this.$_popper = null;\n },\n // Instructs popper to re-computes the dropdown position\n // useful if the content changes size\n updatePopper: function updatePopper() {\n try {\n this.$_popper.scheduleUpdate();\n } catch (_unused) {}\n },\n clearHideTimeout: function clearHideTimeout() {\n clearTimeout(this.$_hideTimeout);\n this.$_hideTimeout = null;\n },\n getPopperConfig: function getPopperConfig() {\n var placement = PLACEMENT_BOTTOM_START;\n\n if (this.dropup) {\n placement = this.right ? PLACEMENT_TOP_END : PLACEMENT_TOP_START;\n } else if (this.dropright) {\n placement = PLACEMENT_RIGHT_START;\n } else if (this.dropleft) {\n placement = PLACEMENT_LEFT_START;\n } else if (this.right) {\n placement = PLACEMENT_BOTTOM_END;\n }\n\n var popperConfig = {\n placement: placement,\n modifiers: {\n offset: {\n offset: this.offset || 0\n },\n flip: {\n enabled: !this.noFlip\n }\n }\n };\n var boundariesElement = this.boundary;\n\n if (boundariesElement) {\n popperConfig.modifiers.preventOverflow = {\n boundariesElement: boundariesElement\n };\n }\n\n return mergeDeep(popperConfig, this.popperOpts || {});\n },\n // Turn listeners on/off while open\n whileOpenListen: function whileOpenListen(isOpen) {\n // Hide the dropdown when clicked outside\n this.listenForClickOut = isOpen; // Hide the dropdown when it loses focus\n\n this.listenForFocusIn = isOpen; // Hide the dropdown when another dropdown is opened\n\n var method = isOpen ? '$on' : '$off';\n this.$root[method](ROOT_EVENT_NAME_SHOWN, this.rootCloseListener);\n },\n rootCloseListener: function rootCloseListener(vm) {\n if (vm !== this) {\n this.visible = false;\n }\n },\n // Public method to show dropdown\n show: function show() {\n var _this2 = this;\n\n if (this.disabled) {\n return;\n } // Wrap in a `requestAF()` to allow any previous\n // click handling to occur first\n\n\n requestAF(function () {\n _this2.visible = true;\n });\n },\n // Public method to hide dropdown\n hide: function hide() {\n var refocus = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n /* istanbul ignore next */\n if (this.disabled) {\n return;\n }\n\n this.visible = false;\n\n if (refocus) {\n // Child element is closing the dropdown on click\n this.$once(EVENT_NAME_HIDDEN, this.focusToggler);\n }\n },\n // Called only by a button that toggles the menu\n toggle: function toggle(event) {\n event = event || {}; // Early exit when not a click event or ENTER, SPACE or DOWN were pressed\n\n var _event = event,\n type = _event.type,\n keyCode = _event.keyCode;\n\n if (type !== 'click' && !(type === 'keydown' && [CODE_ENTER, CODE_SPACE, CODE_DOWN].indexOf(keyCode) !== -1)) {\n /* istanbul ignore next */\n return;\n }\n /* istanbul ignore next */\n\n\n if (this.disabled) {\n this.visible = false;\n return;\n }\n\n this.$emit(EVENT_NAME_TOGGLE, event);\n stopEvent(event); // Toggle visibility\n\n if (this.visible) {\n this.hide(true);\n } else {\n this.show();\n }\n },\n // Mousedown handler for the toggle\n\n /* istanbul ignore next */\n onMousedown: function onMousedown(event) {\n // We prevent the 'mousedown' event for the toggle to stop the\n // 'focusin' event from being fired\n // The event would otherwise be picked up by the global 'focusin'\n // listener and there is no cross-browser solution to detect it\n // relates to the toggle click\n // The 'click' event will still be fired and we handle closing\n // other dropdowns there too\n // See https://github.com/bootstrap-vue/bootstrap-vue/issues/4328\n stopEvent(event, {\n propagation: false\n });\n },\n // Called from dropdown menu context\n onKeydown: function onKeydown(event) {\n var keyCode = event.keyCode;\n\n if (keyCode === CODE_ESC) {\n // Close on ESC\n this.onEsc(event);\n } else if (keyCode === CODE_DOWN) {\n // Down Arrow\n this.focusNext(event, false);\n } else if (keyCode === CODE_UP) {\n // Up Arrow\n this.focusNext(event, true);\n }\n },\n // If user presses ESC, close the menu\n onEsc: function onEsc(event) {\n if (this.visible) {\n this.visible = false;\n stopEvent(event); // Return focus to original trigger button\n\n this.$once(EVENT_NAME_HIDDEN, this.focusToggler);\n }\n },\n // Called only in split button mode, for the split button\n onSplitClick: function onSplitClick(event) {\n /* istanbul ignore next */\n if (this.disabled) {\n this.visible = false;\n return;\n }\n\n this.$emit(EVENT_NAME_CLICK, event);\n },\n // Shared hide handler between click-out and focus-in events\n hideHandler: function hideHandler(event) {\n var _this3 = this;\n\n var target = event.target;\n\n if (this.visible && !contains(this.$refs.menu, target) && !contains(this.toggler, target)) {\n this.clearHideTimeout();\n this.$_hideTimeout = setTimeout(function () {\n return _this3.hide();\n }, this.inNavbar ? 300 : 0);\n }\n },\n // Document click-out listener\n clickOutHandler: function clickOutHandler(event) {\n this.hideHandler(event);\n },\n // Document focus-in listener\n focusInHandler: function focusInHandler(event) {\n this.hideHandler(event);\n },\n // Keyboard nav\n focusNext: function focusNext(event, up) {\n var _this4 = this;\n\n // Ignore key up/down on form elements\n var target = event.target;\n\n if (!this.visible || event && closest(SELECTOR_FORM_CHILD, target)) {\n /* istanbul ignore next: should never happen */\n return;\n }\n\n stopEvent(event);\n this.$nextTick(function () {\n var items = _this4.getItems();\n\n if (items.length < 1) {\n /* istanbul ignore next: should never happen */\n return;\n }\n\n var index = items.indexOf(target);\n\n if (up && index > 0) {\n index--;\n } else if (!up && index < items.length - 1) {\n index++;\n }\n\n if (index < 0) {\n /* istanbul ignore next: should never happen */\n index = 0;\n }\n\n _this4.focusItem(index, items);\n });\n },\n focusItem: function focusItem(index, items) {\n var el = items.find(function (el, i) {\n return i === index;\n });\n attemptFocus(el);\n },\n getItems: function getItems() {\n // Get all items\n return filterVisibles(selectAll(SELECTOR_ITEM, this.$refs.menu));\n },\n focusMenu: function focusMenu() {\n attemptFocus(this.$refs.menu);\n },\n focusToggler: function focusToggler() {\n var _this5 = this;\n\n this.$nextTick(function () {\n attemptFocus(_this5.toggler);\n });\n }\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 { 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});","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_RADIO } from '../../constants/components';\nimport { looseEqual } from '../../utils/loose-equal';\nimport { sortKeys } from '../../utils/object';\nimport { makePropsConfigurable } from '../../utils/props';\nimport { formControlMixin, props as formControlProps } from '../../mixins/form-control';\nimport { MODEL_EVENT_NAME, formRadioCheckMixin, props as formRadioCheckProps } from '../../mixins/form-radio-check';\nimport { formSizeMixin, props as formSizeProps } from '../../mixins/form-size';\nimport { formStateMixin, props as formStateProps } from '../../mixins/form-state';\nimport { idMixin, props as idProps } from '../../mixins/id'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), formControlProps), formRadioCheckProps), formSizeProps), formStateProps)), NAME_FORM_RADIO); // --- Main component ---\n// @vue/component\n\nexport var BFormRadio = /*#__PURE__*/Vue.extend({\n name: NAME_FORM_RADIO,\n mixins: [idMixin, formRadioCheckMixin, // Includes shared render function\n formControlMixin, formSizeMixin, formStateMixin],\n inject: {\n bvGroup: {\n from: 'bvRadioGroup',\n default: false\n }\n },\n props: props,\n watch: {\n computedLocalChecked: function computedLocalChecked(newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.$emit(MODEL_EVENT_NAME, newValue);\n }\n }\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 { NAME_DROPDOWN_ITEM } from '../../constants/components';\nimport { EVENT_NAME_CLICK } from '../../constants/events';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { requestAF } from '../../utils/dom';\nimport { omit, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BLink, props as BLinkProps } from '../link/link'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, omit(BLinkProps, ['event', 'routerTag'])), {}, {\n linkClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n variant: makeProp(PROP_TYPE_STRING)\n})), NAME_DROPDOWN_ITEM); // --- Main component ---\n// @vue/component\n\nexport var BDropdownItem = /*#__PURE__*/Vue.extend({\n name: NAME_DROPDOWN_ITEM,\n mixins: [attrsMixin, normalizeSlotMixin],\n inject: {\n bvDropdown: {\n default: null\n }\n },\n inheritAttrs: false,\n props: props,\n computed: {\n computedAttrs: function computedAttrs() {\n return _objectSpread(_objectSpread({}, this.bvAttrs), {}, {\n role: 'menuitem'\n });\n }\n },\n methods: {\n closeDropdown: function closeDropdown() {\n var _this = this;\n\n // Close on next animation frame to allow time to process\n requestAF(function () {\n if (_this.bvDropdown) {\n _this.bvDropdown.hide(true);\n }\n });\n },\n onClick: function onClick(event) {\n this.$emit(EVENT_NAME_CLICK, event);\n this.closeDropdown();\n }\n },\n render: function render(h) {\n var linkClass = this.linkClass,\n variant = this.variant,\n active = this.active,\n disabled = this.disabled,\n onClick = this.onClick,\n bvAttrs = this.bvAttrs;\n return h('li', {\n class: bvAttrs.class,\n style: bvAttrs.style,\n attrs: {\n role: 'presentation'\n }\n }, [h(BLink, {\n staticClass: 'dropdown-item',\n class: [linkClass, _defineProperty({}, \"text-\".concat(variant), variant && !(active || disabled))],\n props: this.$props,\n attrs: this.computedAttrs,\n on: {\n click: onClick\n },\n ref: 'item'\n }, this.normalizeSlot())]);\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 { mergeData } from '../../vue';\nimport { NAME_ROW } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { arrayIncludes, concat } from '../../utils/array';\nimport { getBreakpointsUpCached } from '../../utils/config';\nimport { identity } from '../../utils/identity';\nimport { memoize } from '../../utils/memoize';\nimport { create, keys, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, suffixPropName } from '../../utils/props';\nimport { lowerCase, toString, trim } from '../../utils/string'; // --- Constants ---\n\nvar COMMON_ALIGNMENT = ['start', 'end', 'center']; // --- Helper methods ---\n// Compute a `row-cols-{breakpoint}-{cols}` class name\n// Memoized function for better performance on generating class names\n\nvar computeRowColsClass = memoize(function (breakpoint, cols) {\n cols = trim(toString(cols));\n return cols ? lowerCase(['row-cols', breakpoint, cols].filter(identity).join('-')) : null;\n}); // Get the breakpoint name from the `rowCols` prop name\n// Memoized function for better performance on extracting breakpoint names\n\nvar computeRowColsBreakpoint = memoize(function (prop) {\n return lowerCase(prop.replace('cols', ''));\n}); // Cached copy of the `row-cols` breakpoint prop names\n// Will be populated when the props are generated\n\nvar rowColsPropList = []; // --- Props ---\n// Prop generator for lazy generation of props\n\nexport var generateProps = function generateProps() {\n // i.e. 'row-cols-2', 'row-cols-md-4', 'row-cols-xl-6', ...\n var rowColsProps = getBreakpointsUpCached().reduce(function (props, breakpoint) {\n props[suffixPropName(breakpoint, 'cols')] = makeProp(PROP_TYPE_NUMBER_STRING);\n return props;\n }, create(null)); // Cache the row-cols prop names\n\n rowColsPropList = keys(rowColsProps); // Return the generated props\n\n return makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, rowColsProps), {}, {\n alignContent: makeProp(PROP_TYPE_STRING, null, function (value) {\n return arrayIncludes(concat(COMMON_ALIGNMENT, 'between', 'around', 'stretch'), value);\n }),\n alignH: makeProp(PROP_TYPE_STRING, null, function (value) {\n return arrayIncludes(concat(COMMON_ALIGNMENT, 'between', 'around'), value);\n }),\n alignV: makeProp(PROP_TYPE_STRING, null, function (value) {\n return arrayIncludes(concat(COMMON_ALIGNMENT, 'baseline', 'stretch'), value);\n }),\n noGutters: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n })), NAME_ROW);\n}; // --- Main component ---\n// We do not use `Vue.extend()` here as that would evaluate the props\n// immediately, which we do not want to happen\n// @vue/component\n\nexport var BRow = {\n name: NAME_ROW,\n functional: true,\n\n get props() {\n // Allow props to be lazy evaled on first access and\n // then they become a non-getter afterwards\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get#Smart_self-overwriting_lazy_getters\n delete this.props;\n this.props = generateProps();\n return this.props;\n },\n\n render: function render(h, _ref) {\n var _classList$push;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var alignV = props.alignV,\n alignH = props.alignH,\n alignContent = props.alignContent; // Loop through row-cols breakpoint props and generate the classes\n\n var classList = [];\n rowColsPropList.forEach(function (prop) {\n var c = computeRowColsClass(computeRowColsBreakpoint(prop), props[prop]); // If a class is returned, push it onto the array\n\n if (c) {\n classList.push(c);\n }\n });\n classList.push((_classList$push = {\n 'no-gutters': props.noGutters\n }, _defineProperty(_classList$push, \"align-items-\".concat(alignV), alignV), _defineProperty(_classList$push, \"justify-content-\".concat(alignH), alignH), _defineProperty(_classList$push, \"align-content-\".concat(alignContent), alignContent), _classList$push));\n return h(props.tag, mergeData(data, {\n staticClass: 'row',\n class: classList\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 { 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});","// We haven't added icon's computed property because it makes this mixin coupled with UI\r\nexport const togglePasswordVisibility = {\r\n data() {\r\n return {\r\n passwordFieldType: 'password',\r\n }\r\n },\r\n methods: {\r\n togglePasswordVisibility() {\r\n this.passwordFieldType = this.passwordFieldType === 'password' ? 'text' : 'password'\r\n },\r\n },\r\n}\r\n\r\nexport const _ = null\r\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});","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};","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, mergeData } from '../../vue';\nimport { NAME_INPUT_GROUP_APPEND } from '../../constants/components';\nimport { omit } from '../../utils/object';\nimport { makePropsConfigurable } from '../../utils/props';\nimport { BInputGroupAddon, props as BInputGroupAddonProps } from './input-group-addon'; // --- Props ---\n\nexport var props = makePropsConfigurable(omit(BInputGroupAddonProps, ['append']), NAME_INPUT_GROUP_APPEND); // --- Main component ---\n// @vue/component\n\nexport var BInputGroupAppend = /*#__PURE__*/Vue.extend({\n name: NAME_INPUT_GROUP_APPEND,\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 // Pass all our data down to child, and set `append` to `true`\n return h(BInputGroupAddon, mergeData(data, {\n props: _objectSpread(_objectSpread({}, props), {}, {\n append: true\n })\n }), children);\n }\n});","import { Vue, mergeData } from '../../vue';\nimport { NAME_INPUT_GROUP_TEXT } 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_INPUT_GROUP_TEXT); // --- Main component ---\n// @vue/component\n\nexport var BInputGroupText = /*#__PURE__*/Vue.extend({\n name: NAME_INPUT_GROUP_TEXT,\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: 'input-group-text'\n }), children);\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});","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_DROPDOWN } from '../../constants/components';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_OBJECT_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_BUTTON_CONTENT, SLOT_NAME_DEFAULT } from '../../constants/slots';\nimport { arrayIncludes } from '../../utils/array';\nimport { htmlOrText } from '../../utils/html';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { toString } from '../../utils/string';\nimport { dropdownMixin, props as dropdownProps } from '../../mixins/dropdown';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BButton } from '../button/button';\nimport { sortKeys } from '../../utils/object'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread({}, idProps), dropdownProps), {}, {\n block: makeProp(PROP_TYPE_BOOLEAN, false),\n html: makeProp(PROP_TYPE_STRING),\n // If `true`, only render menu contents when open\n lazy: makeProp(PROP_TYPE_BOOLEAN, false),\n menuClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n noCaret: makeProp(PROP_TYPE_BOOLEAN, false),\n role: makeProp(PROP_TYPE_STRING, 'menu'),\n size: makeProp(PROP_TYPE_STRING),\n split: makeProp(PROP_TYPE_BOOLEAN, false),\n splitButtonType: makeProp(PROP_TYPE_STRING, 'button', function (value) {\n return arrayIncludes(['button', 'submit', 'reset'], value);\n }),\n splitClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n splitHref: makeProp(PROP_TYPE_STRING),\n splitTo: makeProp(PROP_TYPE_OBJECT_STRING),\n splitVariant: makeProp(PROP_TYPE_STRING),\n text: makeProp(PROP_TYPE_STRING),\n toggleClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n toggleTag: makeProp(PROP_TYPE_STRING, 'button'),\n // TODO: This really should be `toggleLabel`\n toggleText: makeProp(PROP_TYPE_STRING, 'Toggle dropdown'),\n variant: makeProp(PROP_TYPE_STRING, 'secondary')\n})), NAME_DROPDOWN); // --- Main component ---\n// @vue/component\n\nexport var BDropdown = /*#__PURE__*/Vue.extend({\n name: NAME_DROPDOWN,\n mixins: [idMixin, dropdownMixin, normalizeSlotMixin],\n props: props,\n computed: {\n dropdownClasses: function dropdownClasses() {\n var block = this.block,\n split = this.split;\n return [this.directionClass, this.boundaryClass, {\n show: this.visible,\n // The 'btn-group' class is required in `split` mode for button alignment\n // It needs also to be applied when `block` is disabled to allow multiple\n // dropdowns to be aligned one line\n 'btn-group': split || !block,\n // When `block` is enabled and we are in `split` mode the 'd-flex' class\n // needs to be applied to allow the buttons to stretch to full width\n 'd-flex': block && split\n }];\n },\n menuClasses: function menuClasses() {\n return [this.menuClass, {\n 'dropdown-menu-right': this.right,\n show: this.visible\n }];\n },\n toggleClasses: function toggleClasses() {\n var split = this.split;\n return [this.toggleClass, {\n 'dropdown-toggle-split': split,\n 'dropdown-toggle-no-caret': this.noCaret && !split\n }];\n }\n },\n render: function render(h) {\n var visible = this.visible,\n variant = this.variant,\n size = this.size,\n block = this.block,\n disabled = this.disabled,\n split = this.split,\n role = this.role,\n hide = this.hide,\n toggle = this.toggle;\n var commonProps = {\n variant: variant,\n size: size,\n block: block,\n disabled: disabled\n };\n var $buttonChildren = this.normalizeSlot(SLOT_NAME_BUTTON_CONTENT);\n var buttonContentDomProps = this.hasNormalizedSlot(SLOT_NAME_BUTTON_CONTENT) ? {} : htmlOrText(this.html, this.text);\n var $split = h();\n\n if (split) {\n var splitTo = this.splitTo,\n splitHref = this.splitHref,\n splitButtonType = this.splitButtonType;\n\n var btnProps = _objectSpread(_objectSpread({}, commonProps), {}, {\n variant: this.splitVariant || variant\n }); // We add these as needed due to issues with\n // defined property with `undefined`/`null` values\n\n\n if (splitTo) {\n btnProps.to = splitTo;\n } else if (splitHref) {\n btnProps.href = splitHref;\n } else if (splitButtonType) {\n btnProps.type = splitButtonType;\n }\n\n $split = h(BButton, {\n class: this.splitClass,\n attrs: {\n id: this.safeId('_BV_button_')\n },\n props: btnProps,\n domProps: buttonContentDomProps,\n on: {\n click: this.onSplitClick\n },\n ref: 'button'\n }, $buttonChildren); // Overwrite button content for the toggle when in `split` mode\n\n $buttonChildren = [h('span', {\n class: ['sr-only']\n }, [this.toggleText])];\n buttonContentDomProps = {};\n }\n\n var $toggle = h(BButton, {\n staticClass: 'dropdown-toggle',\n class: this.toggleClasses,\n attrs: {\n id: this.safeId('_BV_toggle_'),\n 'aria-haspopup': 'true',\n 'aria-expanded': toString(visible)\n },\n props: _objectSpread(_objectSpread({}, commonProps), {}, {\n tag: this.toggleTag,\n block: block && !split\n }),\n domProps: buttonContentDomProps,\n on: {\n mousedown: this.onMousedown,\n click: toggle,\n keydown: toggle // Handle ENTER, SPACE and DOWN\n\n },\n ref: 'toggle'\n }, $buttonChildren);\n var $menu = h('ul', {\n staticClass: 'dropdown-menu',\n class: this.menuClasses,\n attrs: {\n role: role,\n tabindex: '-1',\n 'aria-labelledby': this.safeId(split ? '_BV_button_' : '_BV_toggle_')\n },\n on: {\n keydown: this.onKeydown // Handle UP, DOWN and ESC\n\n },\n ref: 'menu'\n }, [!this.lazy || visible ? this.normalizeSlot(SLOT_NAME_DEFAULT, {\n hide: hide\n }) : h()]);\n return h('div', {\n staticClass: 'dropdown b-dropdown',\n class: this.dropdownClasses,\n attrs: {\n id: this.safeId()\n }\n }, [$split, $toggle, $menu]);\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});","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, mergeData } from '../../vue';\nimport { NAME_DROPDOWN_DIVIDER } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { omit } from '../../utils/object'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n tag: makeProp(PROP_TYPE_STRING, 'hr')\n}, NAME_DROPDOWN_DIVIDER); // --- Main component ---\n// @vue/component\n\nexport var BDropdownDivider = /*#__PURE__*/Vue.extend({\n name: NAME_DROPDOWN_DIVIDER,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data;\n return h('li', mergeData(omit(data, ['attrs']), {\n attrs: {\n role: 'presentation'\n }\n }), [h(props.tag, {\n staticClass: 'dropdown-divider',\n attrs: _objectSpread(_objectSpread({}, data.attrs || {}), {}, {\n role: 'separator',\n 'aria-orientation': 'horizontal'\n }),\n ref: 'divider'\n })]);\n }\n});"],"sourceRoot":""}