{"version":3,"sources":["webpack:///./node_modules/bootstrap-vue/esm/mixins/form-selection.js","webpack:///./node_modules/bootstrap-vue/esm/components/button-group/button-group.js","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/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/dropdown/dropdown-item.js","webpack:///./node_modules/bootstrap-vue/esm/components/layout/row.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-size.js","webpack:///./node_modules/bootstrap-vue/esm/components/layout/col.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-state.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-text.js","webpack:///./src/views/components/button-toolbar/ButtonToolbar.vue?4784","webpack:///./src/views/components/button-toolbar/ButtonToolbarNavigation.vue?d563","webpack:///./node_modules/bootstrap-vue/esm/components/button-toolbar/button-toolbar.js","webpack:///./src/views/components/button-toolbar/code.js","webpack:///src/views/components/button-toolbar/ButtonToolbarNavigation.vue","webpack:///./src/views/components/button-toolbar/ButtonToolbarNavigation.vue?9f19","webpack:///./src/views/components/button-toolbar/ButtonToolbarNavigation.vue","webpack:///./src/views/components/button-toolbar/ButtonToolbarInput.vue?765e","webpack:///src/views/components/button-toolbar/ButtonToolbarInput.vue","webpack:///./src/views/components/button-toolbar/ButtonToolbarInput.vue?ec0b","webpack:///./src/views/components/button-toolbar/ButtonToolbarInput.vue","webpack:///./src/views/components/button-toolbar/ButtonToolbarDropdown.vue?8ea7","webpack:///src/views/components/button-toolbar/ButtonToolbarDropdown.vue","webpack:///./src/views/components/button-toolbar/ButtonToolbarDropdown.vue?a447","webpack:///./src/views/components/button-toolbar/ButtonToolbarDropdown.vue","webpack:///./src/views/components/button-toolbar/ButtonToolbarSize.vue?250b","webpack:///src/views/components/button-toolbar/ButtonToolbarSize.vue","webpack:///./src/views/components/button-toolbar/ButtonToolbarSize.vue?2819","webpack:///./src/views/components/button-toolbar/ButtonToolbarSize.vue","webpack:///./src/views/components/button-toolbar/ButtonToolbarJustify.vue?9d5f","webpack:///src/views/components/button-toolbar/ButtonToolbarJustify.vue","webpack:///./src/views/components/button-toolbar/ButtonToolbarJustify.vue?c0ff","webpack:///./src/views/components/button-toolbar/ButtonToolbarJustify.vue","webpack:///src/views/components/button-toolbar/ButtonToolbar.vue","webpack:///./src/views/components/button-toolbar/ButtonToolbar.vue?1c50","webpack:///./src/views/components/button-toolbar/ButtonToolbar.vue","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-control.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","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","target","i","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","configurable","writable","props","ariaRole","size","tag","vertical","BButtonGroup","name","functional","render","h","_ref","data","children","class","concat","attrs","role","formValidityMixin","validity","validationMessage","willValidate","setCustomValidity","checkValidity","reportValidity","BInputGroupPrepend","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","mixins","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","BInputGroupAddon","TYPES","list","max","min","noWheel","step","BFormInput","localType","computedAttrs","form","required","safeId","computedAriaInvalid","computedListeners","bvListeners","change","setWheelStopper","deactivated","activated","on","onWheelFocus","onWheelBlur","document","stopWheel","domProps","ref","appendHtml","prepend","prependHtml","BInputGroup","slots","scopedSlots","$scopedSlots","$slots","slotScope","$prepend","hasPrependSlot","$append","hasAppendSlot","staticClass","PLACEMENT_TOP_START","PLACEMENT_TOP_END","PLACEMENT_BOTTOM_START","PLACEMENT_BOTTOM_END","PLACEMENT_RIGHT_START","PLACEMENT_LEFT_START","clickOutMixin","listenForClickOut","oldValue","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","visible","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","el","split","createPopper","$nextTick","focusMenu","element","getPopperConfig","destroy","updatePopper","scheduleUpdate","_unused","placement","popperConfig","modifiers","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","linkClass","variant","BDropdownItem","inheritAttrs","bvAttrs","closeDropdown","onClick","active","style","$props","click","normalizeSlot","COMMON_ALIGNMENT","computeRowColsClass","breakpoint","cols","computeRowColsBreakpoint","replace","rowColsPropList","generateProps","rowColsProps","reduce","alignContent","alignH","alignV","noGutters","BRow","_classList$push","classList","c","formSizeMixin","ALIGN_SELF_VALUES","computeBreakpoint","className","computeBreakpointClass","breakpointPropMap","breakpoints","breakpointCol","breakpointOffset","breakpointOrder","col","order","alignSelf","BCol","_keys","hasColClasses","some","test","BInputGroupAppend","BInputGroupText","state","formStateMixin","computedState","textTag","BCardText","_vm","_h","$createElement","_c","_self","staticRenderFns","_u","fn","_v","_s","codeNavigation","proxy","directives","rawName","expression","ITEM_SELECTOR","justify","keyNav","BButtonToolbar","item","tabIndex","focusFirst","focusPrev","slice","reverse","focusLast","onFocusin","shiftKey","tabindex","focusin","keydown","codeInput","codeDropdown","codeSize","codeJustify","components","BButton","BCardCode","Ripple","component","BDropdown","ButtonToolbarNavigation","ButtonToolbarInput","ButtonToolbarDropdown","ButtonToolbarSize","ButtonToolbarJustify","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","$menu","SELECTOR","autofocus","formControlMixin","handleAutofocus"],"mappings":"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","file":"js/chunk-2246d1a9.8ac1294d.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});","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_BUTTON_GROUP } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { pick, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { props as buttonProps } from '../button/button'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, pick(buttonProps, ['size'])), {}, {\n ariaRole: makeProp(PROP_TYPE_STRING, 'group'),\n size: makeProp(PROP_TYPE_STRING),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n vertical: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_BUTTON_GROUP); // --- Main component ---\n// @vue/component\n\nexport var BButtonGroup = /*#__PURE__*/Vue.extend({\n name: NAME_BUTTON_GROUP,\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 class: _defineProperty({\n 'btn-group': !props.vertical,\n 'btn-group-vertical': props.vertical\n }, \"btn-group-\".concat(props.size), props.size),\n attrs: {\n role: props.ariaRole\n }\n }), children);\n }\n});","import { Vue } from '../vue'; // @vue/component\n\nexport var formValidityMixin = Vue.extend({\n computed: {\n validity: {\n // Expose validity property\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.validity;\n }\n },\n validationMessage: {\n // Expose validationMessage property\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.validationMessage;\n }\n },\n willValidate: {\n // Expose willValidate property\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.willValidate;\n }\n }\n },\n methods: {\n /* istanbul ignore next */\n setCustomValidity: function setCustomValidity() {\n var _this$$refs$input;\n\n // For external handler that may want a setCustomValidity(...) method\n return (_this$$refs$input = this.$refs.input).setCustomValidity.apply(_this$$refs$input, arguments);\n },\n\n /* istanbul ignore next */\n checkValidity: function checkValidity() {\n var _this$$refs$input2;\n\n // For external handler that may want a checkValidity(...) method\n return (_this$$refs$input2 = this.$refs.input).checkValidity.apply(_this$$refs$input2, arguments);\n },\n\n /* istanbul ignore next */\n reportValidity: function reportValidity() {\n var _this$$refs$input3;\n\n // For external handler that may want a reportValidity(...) method\n return (_this$$refs$input3 = this.$refs.input).reportValidity.apply(_this$$refs$input3, arguments);\n }\n }\n});","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});","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_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_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});","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_COL } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_NUMBER_STRING, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { RX_COL_CLASS } from '../../constants/regex';\nimport { arrayIncludes } from '../../utils/array';\nimport { getBreakpointsUpCached } from '../../utils/config';\nimport { identity } from '../../utils/identity';\nimport { isUndefinedOrNull } from '../../utils/inspect';\nimport { memoize } from '../../utils/memoize';\nimport { assign, create, keys, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, suffixPropName } from '../../utils/props';\nimport { lowerCase } from '../../utils/string'; // --- Constants ---\n\nvar ALIGN_SELF_VALUES = ['auto', 'start', 'end', 'center', 'baseline', 'stretch']; // --- Helper methods ---\n// Compute a breakpoint class name\n\nvar computeBreakpoint = function computeBreakpoint(type, breakpoint, value) {\n var className = type;\n\n if (isUndefinedOrNull(value) || value === false) {\n return undefined;\n }\n\n if (breakpoint) {\n className += \"-\".concat(breakpoint);\n } // Handling the boolean style prop when accepting `[Boolean, String, Number]`\n // means Vue will not convert `` to `sm: true` for us\n // Since the default is `false`, '' indicates the prop's presence\n\n\n if (type === 'col' && (value === '' || value === true)) {\n // .col-md\n return lowerCase(className);\n } // .order-md-6\n\n\n className += \"-\".concat(value);\n return lowerCase(className);\n}; // Memoized function for better performance on generating class names\n\n\nvar computeBreakpointClass = memoize(computeBreakpoint); // Cached copy of the breakpoint prop names\n\nvar breakpointPropMap = create(null); // --- Props ---\n// Prop generator for lazy generation of props\n\nexport var generateProps = function generateProps() {\n // Grab the breakpoints from the cached config (exclude the '' (xs) breakpoint)\n var breakpoints = getBreakpointsUpCached().filter(identity); // i.e. 'col-sm', 'col-md-6', 'col-lg-auto', ...\n\n var breakpointCol = breakpoints.reduce(function (props, breakpoint) {\n props[breakpoint] = makeProp(PROP_TYPE_BOOLEAN_NUMBER_STRING);\n return props;\n }, create(null)); // i.e. 'offset-md-1', 'offset-lg-12', ...\n\n var breakpointOffset = breakpoints.reduce(function (props, breakpoint) {\n props[suffixPropName(breakpoint, 'offset')] = makeProp(PROP_TYPE_NUMBER_STRING);\n return props;\n }, create(null)); // i.e. 'order-md-1', 'order-lg-12', ...\n\n var breakpointOrder = breakpoints.reduce(function (props, breakpoint) {\n props[suffixPropName(breakpoint, 'order')] = makeProp(PROP_TYPE_NUMBER_STRING);\n return props;\n }, create(null)); // For loop doesn't need to check `.hasOwnProperty()`\n // when using an object created from `null`\n\n breakpointPropMap = assign(create(null), {\n col: keys(breakpointCol),\n offset: keys(breakpointOffset),\n order: keys(breakpointOrder)\n }); // Return the generated props\n\n return makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, breakpointCol), breakpointOffset), breakpointOrder), {}, {\n // Flex alignment\n alignSelf: makeProp(PROP_TYPE_STRING, null, function (value) {\n return arrayIncludes(ALIGN_SELF_VALUES, value);\n }),\n // Generic flexbox 'col' (xs)\n col: makeProp(PROP_TYPE_BOOLEAN, false),\n // i.e. 'col-1', 'col-2', 'col-auto', ...\n cols: makeProp(PROP_TYPE_NUMBER_STRING),\n offset: makeProp(PROP_TYPE_NUMBER_STRING),\n order: makeProp(PROP_TYPE_NUMBER_STRING),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n })), NAME_COL);\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 BCol = {\n name: NAME_COL,\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; // eslint-disable-next-line no-return-assign\n\n return this.props = generateProps();\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 cols = props.cols,\n offset = props.offset,\n order = props.order,\n alignSelf = props.alignSelf;\n var classList = []; // Loop through `col`, `offset`, `order` breakpoint props\n\n for (var type in breakpointPropMap) {\n // Returns colSm, offset, offsetSm, orderMd, etc.\n var _keys = breakpointPropMap[type];\n\n for (var i = 0; i < _keys.length; i++) {\n // computeBreakpoint(col, colSm => Sm, value=[String, Number, Boolean])\n var c = computeBreakpointClass(type, _keys[i].replace(type, ''), props[_keys[i]]); // If a class is returned, push it onto the array.\n\n if (c) {\n classList.push(c);\n }\n }\n }\n\n var hasColClasses = classList.some(function (className) {\n return RX_COL_CLASS.test(className);\n });\n classList.push((_classList$push = {\n // Default to .col if no other col-{bp}-* classes generated nor `cols` specified.\n col: props.col || !hasColClasses && !cols\n }, _defineProperty(_classList$push, \"col-\".concat(cols), cols), _defineProperty(_classList$push, \"offset-\".concat(offset), offset), _defineProperty(_classList$push, \"order-\".concat(order), order), _defineProperty(_classList$push, \"align-self-\".concat(alignSelf), alignSelf), _classList$push));\n return h(props.tag, mergeData(data, {\n class: classList\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, 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});","/* Form control contextual state class computation\n *\n * Returned class is either 'is-valid' or 'is-invalid' based on the 'state' prop\n * state can be one of five values:\n * - true for is-valid\n * - false for is-invalid\n * - null for no contextual state\n */\nimport { Vue } from '../vue';\nimport { PROP_TYPE_BOOLEAN } from '../constants/props';\nimport { isBoolean } from '../utils/inspect';\nimport { makeProp, makePropsConfigurable } from '../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n // Tri-state prop: true, false, null (or undefined)\n state: makeProp(PROP_TYPE_BOOLEAN, null)\n}, 'formState'); // --- Mixin ---\n// @vue/component\n\nexport var formStateMixin = Vue.extend({\n props: props,\n computed: {\n computedState: function computedState() {\n // If not a boolean, ensure that value is null\n return isBoolean(this.state) ? this.state : null;\n },\n stateClass: function stateClass() {\n var state = this.computedState;\n return state === true ? 'is-valid' : state === false ? 'is-invalid' : null;\n },\n computedAriaInvalid: function computedAriaInvalid() {\n var ariaInvalid = this.ariaInvalid;\n\n if (ariaInvalid === true || ariaInvalid === 'true' || ariaInvalid === '') {\n return 'true';\n }\n\n return this.computedState === false ? 'true' : ariaInvalid;\n }\n }\n});","import { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_TEXT } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n textTag: makeProp(PROP_TYPE_STRING, 'p')\n}, NAME_CARD_TEXT); // --- Main component ---\n// @vue/component\n\nexport var BCardText = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_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.textTag, mergeData(data, {\n staticClass: 'card-text'\n }), children);\n }\n});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-row',[_c('b-col',{attrs:{\"cols\":\"12\"}},[_c('button-toolbar-navigation'),_c('button-toolbar-input'),_c('button-toolbar-dropdown'),_c('button-toolbar-size'),_c('button-toolbar-justify')],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\":\"Button groups & Keyboard navigation\"},scopedSlots:_vm._u([{key:\"code\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.codeNavigation)+\" \")]},proxy:true}])},[_c('b-card-text',[_vm._v(\"Group a series of button-groups and/or input-groups together on a single line, with optional keyboard navigation\")]),_c('b-button-toolbar',{staticClass:\"demo-inline-spacing\",attrs:{\"key-nav\":\"\",\"aria-label\":\"Toolbar with button groups\"}},[_c('b-button-group',[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}}],staticClass:\"btn-icon\",attrs:{\"variant\":\"outline-primary\"}},[_c('feather-icon',{attrs:{\"icon\":\"ChevronsLeftIcon\"}})],1),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}}],staticClass:\"btn-icon\",attrs:{\"variant\":\"outline-primary\"}},[_c('feather-icon',{attrs:{\"icon\":\"ChevronLeftIcon\"}})],1)],1),_c('b-button-group',[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"variant\":\"outline-primary\"}},[_vm._v(\" Edit \")]),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"variant\":\"outline-primary\"}},[_vm._v(\" Undo \")]),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"variant\":\"outline-primary\"}},[_vm._v(\" Redo \")])],1),_c('b-button-group',[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}}],staticClass:\"btn-icon\",attrs:{\"variant\":\"outline-primary\"}},[_c('feather-icon',{attrs:{\"icon\":\"ChevronRightIcon\"}})],1),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}}],staticClass:\"btn-icon\",attrs:{\"variant\":\"outline-primary\"}},[_c('feather-icon',{attrs:{\"icon\":\"ChevronsRightIcon\"}})],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Vue } from '../../vue';\nimport { NAME_BUTTON_TOOLBAR } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN } from '../../constants/props';\nimport { CODE_DOWN, CODE_LEFT, CODE_RIGHT, CODE_UP } from '../../constants/key-codes';\nimport { attemptFocus, contains, isVisible, selectAll } from '../../utils/dom';\nimport { stopEvent } from '../../utils/events';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Constants ---\n\nvar ITEM_SELECTOR = ['.btn:not(.disabled):not([disabled]):not(.dropdown-item)', '.form-control:not(.disabled):not([disabled])', 'select:not(.disabled):not([disabled])', 'input[type=\"checkbox\"]:not(.disabled)', 'input[type=\"radio\"]:not(.disabled)'].join(','); // --- Props ---\n\nexport var props = makePropsConfigurable({\n justify: makeProp(PROP_TYPE_BOOLEAN, false),\n keyNav: makeProp(PROP_TYPE_BOOLEAN, false)\n}, NAME_BUTTON_TOOLBAR); // --- Main component ---\n// @vue/component\n\nexport var BButtonToolbar = /*#__PURE__*/Vue.extend({\n name: NAME_BUTTON_TOOLBAR,\n mixins: [normalizeSlotMixin],\n props: props,\n mounted: function mounted() {\n // Pre-set the tabindexes if the markup does not include\n // `tabindex=\"-1\"` on the toolbar items\n if (this.keyNav) {\n this.getItems();\n }\n },\n methods: {\n getItems: function getItems() {\n var items = selectAll(ITEM_SELECTOR, this.$el); // Ensure `tabindex=\"-1\"` is set on every item\n\n items.forEach(function (item) {\n item.tabIndex = -1;\n });\n return items.filter(function (el) {\n return isVisible(el);\n });\n },\n focusFirst: function focusFirst() {\n var items = this.getItems();\n attemptFocus(items[0]);\n },\n focusPrev: function focusPrev(event) {\n var items = this.getItems();\n var index = items.indexOf(event.target);\n\n if (index > -1) {\n items = items.slice(0, index).reverse();\n attemptFocus(items[0]);\n }\n },\n focusNext: function focusNext(event) {\n var items = this.getItems();\n var index = items.indexOf(event.target);\n\n if (index > -1) {\n items = items.slice(index + 1);\n attemptFocus(items[0]);\n }\n },\n focusLast: function focusLast() {\n var items = this.getItems().reverse();\n attemptFocus(items[0]);\n },\n onFocusin: function onFocusin(event) {\n var $el = this.$el;\n\n if (event.target === $el && !contains($el, event.relatedTarget)) {\n stopEvent(event);\n this.focusFirst(event);\n }\n },\n onKeydown: function onKeydown(event) {\n var keyCode = event.keyCode,\n shiftKey = event.shiftKey;\n\n if (keyCode === CODE_UP || keyCode === CODE_LEFT) {\n stopEvent(event);\n shiftKey ? this.focusFirst(event) : this.focusPrev(event);\n } else if (keyCode === CODE_DOWN || keyCode === CODE_RIGHT) {\n stopEvent(event);\n shiftKey ? this.focusLast(event) : this.focusNext(event);\n }\n }\n },\n render: function render(h) {\n var keyNav = this.keyNav;\n return h('div', {\n staticClass: 'btn-toolbar',\n class: {\n 'justify-content-between': this.justify\n },\n attrs: {\n role: 'toolbar',\n tabindex: keyNav ? '0' : null\n },\n on: keyNav ? {\n focusin: this.onFocusin,\n keydown: this.onKeydown\n } : {}\n }, [this.normalizeSlot()]);\n }\n});","export const codeNavigation = `\n\n\n\n`\n\nexport const codeInput = `\n\n\n\n`\n\nexport const codeDropdown = `\n\n\n\n`\n\nexport const codeSize = `\n\n\n\n`\n\nexport const codeJustify = `\n\n\n\n`\n","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ButtonToolbarNavigation.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ButtonToolbarNavigation.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ButtonToolbarNavigation.vue?vue&type=template&id=4a9c2636&\"\nimport script from \"./ButtonToolbarNavigation.vue?vue&type=script&lang=js&\"\nexport * from \"./ButtonToolbarNavigation.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\":\"Button Toolbar with Input\"},scopedSlots:_vm._u([{key:\"code\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.codeInput)+\" \")]},proxy:true}])},[_c('b-button-toolbar',{staticClass:\"demo-inline-spacing\",attrs:{\"aria-label\":\"Toolbar with button groups and input groups\"}},[_c('b-button-group',{attrs:{\"size\":\"sm\"}},[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"variant\":\"outline-primary\"}},[_vm._v(\" Save \")]),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"variant\":\"outline-primary\"}},[_vm._v(\" Cancel \")])],1),_c('b-input-group',{attrs:{\"size\":\"sm\",\"append\":\".00\",\"prepend\":\"$\"}},[_c('b-form-input',{staticClass:\"text-right\",attrs:{\"value\":\"100\"}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ButtonToolbarInput.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ButtonToolbarInput.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ButtonToolbarInput.vue?vue&type=template&id=bceb1778&\"\nimport script from \"./ButtonToolbarInput.vue?vue&type=script&lang=js&\"\nexport * from \"./ButtonToolbarInput.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\":\"Button Toolbar with Dropdown\"},scopedSlots:_vm._u([{key:\"code\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.codeDropdown)+\" \")]},proxy:true}])},[_c('b-button-toolbar',{staticClass:\"demo-inline-spacing\",attrs:{\"aria-label\":\"Toolbar with button groups and dropdown menu\"}},[_c('b-button-group',[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"variant\":\"outline-primary\"}},[_vm._v(\" New \")]),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"variant\":\"outline-primary\"}},[_vm._v(\" Edit \")]),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"variant\":\"outline-primary\"}},[_vm._v(\" Undo \")])],1),_c('b-dropdown',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"right\":\"\",\"text\":\"menu\",\"variant\":\"outline-primary\"}},[_c('b-dropdown-item',[_vm._v(\"Item 1\")]),_c('b-dropdown-item',[_vm._v(\"Item 2\")]),_c('b-dropdown-item',[_vm._v(\"Item 3\")])],1),_c('b-button-group',[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"variant\":\"outline-primary\"}},[_vm._v(\" Save \")]),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"variant\":\"outline-primary\"}},[_vm._v(\" Cancel \")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ButtonToolbarDropdown.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ButtonToolbarDropdown.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ButtonToolbarDropdown.vue?vue&type=template&id=1f5ae9cf&\"\nimport script from \"./ButtonToolbarDropdown.vue?vue&type=script&lang=js&\"\nexport * from \"./ButtonToolbarDropdown.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\":\"Size\"},scopedSlots:_vm._u([{key:\"code\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.codeSize)+\" \")]},proxy:true}])},[_c('b-card-text',[_c('span',[_vm._v(\"If you want smaller or larger buttons or controls, set the size prop directly on the \")]),_c('code',[_vm._v(\"\")]),_c('span',[_vm._v(\", \")]),_c('code',[_vm._v(\"\")]),_c('span',[_vm._v(\", and \")]),_c('code',[_vm._v(\"\")]),_c('span',[_vm._v(\" components\")])]),_c('b-button-toolbar',[_c('b-button-group',{attrs:{\"size\":\"lg\"}},[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"variant\":\"outline-primary\"}},[_vm._v(\" First \")]),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"variant\":\"outline-primary\"}},[_vm._v(\" Second \")]),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"variant\":\"outline-primary\"}},[_vm._v(\" Third \")])],1)],1),_c('b-button-toolbar',[_c('b-button-group',{staticClass:\"my-1\"},[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"variant\":\"outline-primary\"}},[_vm._v(\" First \")]),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"variant\":\"outline-primary\"}},[_vm._v(\" Second \")]),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"variant\":\"outline-primary\"}},[_vm._v(\" Third \")])],1)],1),_c('b-button-toolbar',[_c('b-button-group',{attrs:{\"size\":\"sm\"}},[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"variant\":\"outline-primary\"}},[_vm._v(\" First \")]),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"variant\":\"outline-primary\"}},[_vm._v(\" Second \")]),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"variant\":\"outline-primary\"}},[_vm._v(\" Third \")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ButtonToolbarSize.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ButtonToolbarSize.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ButtonToolbarSize.vue?vue&type=template&id=0230f1ec&\"\nimport script from \"./ButtonToolbarSize.vue?vue&type=script&lang=js&\"\nexport * from \"./ButtonToolbarSize.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\":\"Justify\"},scopedSlots:_vm._u([{key:\"code\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.codeJustify)+\" \")]},proxy:true}])},[_c('b-card-text',[_c('span',[_vm._v(\"Make the toolbar span the maximum available width, by increasing spacing between the button groups, input groups and dropdowns, by setting the prop \")]),_c('code',[_vm._v(\"justify\")]),_c('span',[_vm._v(\".\")])]),_c('b-button-toolbar',{attrs:{\"justify\":\"\"}},[_c('b-button-group',{staticClass:\"mr-2 mb-1\"},[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"variant\":\"outline-primary\"}},[_vm._v(\" Button \")]),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"variant\":\"outline-primary\"}},[_vm._v(\" Button \")]),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"variant\":\"outline-primary\"}},[_vm._v(\" Button \")])],1),_c('b-button-group',{staticClass:\"mr-2 mb-1\"},[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"variant\":\"outline-primary\"}},[_c('feather-icon',{attrs:{\"icon\":\"HomeIcon\"}})],1),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"variant\":\"outline-primary\"}},[_c('feather-icon',{attrs:{\"icon\":\"SearchIcon\"}})],1),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"variant\":\"outline-primary\"}},[_c('feather-icon',{attrs:{\"icon\":\"BellIcon\"}})],1),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"variant\":\"outline-primary\"}},[_c('feather-icon',{attrs:{\"icon\":\"ShoppingCartIcon\"}})],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ButtonToolbarJustify.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ButtonToolbarJustify.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ButtonToolbarJustify.vue?vue&type=template&id=14fb5ccc&\"\nimport script from \"./ButtonToolbarJustify.vue?vue&type=script&lang=js&\"\nexport * from \"./ButtonToolbarJustify.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","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ButtonToolbar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ButtonToolbar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ButtonToolbar.vue?vue&type=template&id=a5de7154&\"\nimport script from \"./ButtonToolbar.vue?vue&type=script&lang=js&\"\nexport * from \"./ButtonToolbar.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","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});"],"sourceRoot":""}