{"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\nexport const codeBasic = `\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\nexport const codeCheckboxRadio = `\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\nexport const codeSize = `\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","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","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","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","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","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","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","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":""}