{"version":3,"sources":["webpack:///./node_modules/bootstrap-vue/esm/utils/loose-index-of.js","webpack:///./node_modules/bootstrap-vue/esm/utils/locale.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/mixins/form-custom.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-radio-check.js","webpack:///./node_modules/bootstrap-vue/esm/utils/noop.js","webpack:///./node_modules/bootstrap-vue/esm/constants/classes.js"],"names":["looseIndexOf","array","value","i","length","RTL_LANGS","map","locale","toLowerCase","isLocaleRTL","parts","replace","split","locale1","slice","join","locale2","PLACEMENT_TOP_START","PLACEMENT_TOP_END","PLACEMENT_BOTTOM_START","PLACEMENT_BOTTOM_END","PLACEMENT_RIGHT_START","PLACEMENT_LEFT_START","clickOutMixin","extend","data","listenForClickOut","watch","newValue","oldValue","this","clickOutElement","clickOutEventName","_clickOutHandler","beforeCreate","mounted","document","beforeDestroy","methods","isClickOut","event","$el","target","clickOutHandler","focusInMixin","listenForFocusIn","focusInElement","_focusInHandler","focusInHandler","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","configurable","writable","ROOT_EVENT_NAME_SHOWN","ROOT_EVENT_NAME_HIDDEN","SELECTOR_FORM_CHILD","SELECTOR_ITEM","selector","concat","els","id","boundary","disabled","dropleft","dropright","dropup","noFlip","offset","popperOpts","right","dropdownMixin","mixins","provide","bvDropdown","inject","bvNavbar","default","props","visible","visibleChangePrevented","computed","inNavbar","toggler","toggle","$refs","directionClass","boundaryClass","eventName","bvEvent","cancelable","vueTarget","menu","relatedTarget","componentId","safeId","emitEvent","defaultPrevented","$off","focusToggler","showMenu","hideMenu","created","$_popper","$_hideTimeout","deactivated","whileOpenListen","destroyPopper","clearHideTimeout","type","emitOnRoot","$emit","_this","warn","el","createPopper","$nextTick","focusMenu","element","getPopperConfig","destroy","updatePopper","scheduleUpdate","_unused","clearTimeout","placement","popperConfig","modifiers","flip","enabled","boundariesElement","preventOverflow","isOpen","method","$root","rootCloseListener","vm","show","_this2","hide","refocus","undefined","$once","_event","keyCode","indexOf","onMousedown","propagation","onKeydown","onEsc","focusNext","onSplitClick","hideHandler","_this3","setTimeout","up","_this4","items","getItems","index","focusItem","find","_this5","plain","formCustomMixin","custom","_watch","_methods","_makeModelMixin","defaultValue","modelMixin","mixin","modelProps","MODEL_PROP_NAME","prop","MODEL_EVENT_NAME","ariaLabel","ariaLabelledby","button","buttonVariant","inline","formRadioCheckMixin","inheritAttrs","localChecked","isGroup","bvGroup","hasFocus","computedLocalChecked","get","set","isChecked","isRadio","isBtnMode","buttons","isPlain","isCustom","isSwitch","switches","switch","isInline","isDisabled","isRequired","computedName","required","groupName","name","computedForm","form","computedSize","size","computedState","state","computedButtonVariant","buttonClasses","_ref","computedAttrs","bvAttrs","computedLocalCheckedWatcher","_ref2","checked","input","render","h","$content","normalizeSlot","$input","class","stateClass","directives","attrs","domProps","on","change","handleChange","focus","handleFocus","blur","ref","$button","$label","for","style","noop","CLASS_NAME_SHOW"],"mappings":"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","file":"js/chunk-7a8f9eb2.f03c637f.js","sourcesContent":["import { looseEqual } from './loose-equal'; // Assumes that the first argument is an array\n\nexport var looseIndexOf = function looseIndexOf(array, value) {\n for (var i = 0; i < array.length; i++) {\n if (looseEqual(array[i], value)) {\n return i;\n }\n }\n\n return -1;\n};","// Localization utilities\nimport { RX_STRIP_LOCALE_MODS } from '../constants/regex';\nimport { arrayIncludes } from './array';\nimport { toString } from './string'; // Languages that are RTL\n\nvar RTL_LANGS = ['ar', 'az', 'ckb', 'fa', 'he', 'ks', 'lrc', 'mzn', 'ps', 'sd', 'te', 'ug', 'ur', 'yi'].map(function (locale) {\n return locale.toLowerCase();\n}); // Returns true if the locale is RTL\n\nexport var isLocaleRTL = function isLocaleRTL(locale) {\n // Determines if the locale is RTL (only single locale supported)\n var parts = toString(locale).toLowerCase().replace(RX_STRIP_LOCALE_MODS, '').split('-');\n var locale1 = parts.slice(0, 2).join('-');\n var locale2 = parts[0];\n return arrayIncludes(RTL_LANGS, locale1) || arrayIncludes(RTL_LANGS, locale2);\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});","import { Vue } from '../vue';\nimport { PROP_TYPE_BOOLEAN } from '../constants/props';\nimport { makeProp, makePropsConfigurable } from '../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n plain: makeProp(PROP_TYPE_BOOLEAN, false)\n}, 'formControls'); // --- Mixin ---\n// @vue/component\n\nexport var formCustomMixin = Vue.extend({\n props: props,\n computed: {\n custom: function custom() {\n return !this.plain;\n }\n }\n});","var _watch, _methods;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../vue';\nimport { PROP_TYPE_ANY, PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../constants/props';\nimport { EVENT_NAME_CHANGE } from '../constants/events';\nimport { attemptBlur, attemptFocus } from '../utils/dom';\nimport { isBoolean } from '../utils/inspect';\nimport { looseEqual } from '../utils/loose-equal';\nimport { makeModelMixin } from '../utils/model';\nimport { sortKeys } from '../utils/object';\nimport { makeProp, makePropsConfigurable } from '../utils/props';\nimport { attrsMixin } from './attrs';\nimport { formControlMixin, props as formControlProps } from './form-control';\nimport { formCustomMixin, props as formCustomProps } from './form-custom';\nimport { formSizeMixin, props as formSizeProps } from './form-size';\nimport { formStateMixin, props as formStateProps } from './form-state';\nimport { idMixin, props as idProps } from './id';\nimport { normalizeSlotMixin } from './normalize-slot'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('checked', {\n defaultValue: null\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event;\n\nexport { MODEL_PROP_NAME, MODEL_EVENT_NAME }; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), modelProps), formControlProps), formSizeProps), formStateProps), formCustomProps), {}, {\n ariaLabel: makeProp(PROP_TYPE_STRING),\n ariaLabelledby: makeProp(PROP_TYPE_STRING),\n // Only applicable in standalone mode (non group)\n button: makeProp(PROP_TYPE_BOOLEAN, false),\n // Only applicable when rendered with button style\n buttonVariant: makeProp(PROP_TYPE_STRING),\n inline: makeProp(PROP_TYPE_BOOLEAN, false),\n value: makeProp(PROP_TYPE_ANY)\n})), 'formRadioCheckControls'); // --- Mixin ---\n// @vue/component\n\nexport var formRadioCheckMixin = Vue.extend({\n mixins: [attrsMixin, idMixin, modelMixin, normalizeSlotMixin, formControlMixin, formSizeMixin, formStateMixin, formCustomMixin],\n inheritAttrs: false,\n props: props,\n data: function data() {\n return {\n localChecked: this.isGroup ? this.bvGroup[MODEL_PROP_NAME] : this[MODEL_PROP_NAME],\n hasFocus: false\n };\n },\n computed: {\n computedLocalChecked: {\n get: function get() {\n return this.isGroup ? this.bvGroup.localChecked : this.localChecked;\n },\n set: function set(value) {\n if (this.isGroup) {\n this.bvGroup.localChecked = value;\n } else {\n this.localChecked = value;\n }\n }\n },\n isChecked: function isChecked() {\n return looseEqual(this.value, this.computedLocalChecked);\n },\n isRadio: function isRadio() {\n return true;\n },\n isGroup: function isGroup() {\n // Is this check/radio a child of check-group or radio-group?\n return !!this.bvGroup;\n },\n isBtnMode: function isBtnMode() {\n // Support button style in single input mode\n return this.isGroup ? this.bvGroup.buttons : this.button;\n },\n isPlain: function isPlain() {\n return this.isBtnMode ? false : this.isGroup ? this.bvGroup.plain : this.plain;\n },\n isCustom: function isCustom() {\n return this.isBtnMode ? false : !this.isPlain;\n },\n isSwitch: function isSwitch() {\n // Custom switch styling (checkboxes only)\n return this.isBtnMode || this.isRadio || this.isPlain ? false : this.isGroup ? this.bvGroup.switches : this.switch;\n },\n isInline: function isInline() {\n return this.isGroup ? this.bvGroup.inline : this.inline;\n },\n isDisabled: function isDisabled() {\n // Child can be disabled while parent isn't, but is always disabled if group is\n return this.isGroup ? this.bvGroup.disabled || this.disabled : this.disabled;\n },\n isRequired: function isRequired() {\n // Required only works when a name is provided for the input(s)\n // Child can only be required when parent is\n // Groups will always have a name (either user supplied or auto generated)\n return this.computedName && (this.isGroup ? this.bvGroup.required : this.required);\n },\n computedName: function computedName() {\n // Group name preferred over local name\n return (this.isGroup ? this.bvGroup.groupName : this.name) || null;\n },\n computedForm: function computedForm() {\n return (this.isGroup ? this.bvGroup.form : this.form) || null;\n },\n computedSize: function computedSize() {\n return (this.isGroup ? this.bvGroup.size : this.size) || '';\n },\n computedState: function computedState() {\n return this.isGroup ? this.bvGroup.computedState : isBoolean(this.state) ? this.state : null;\n },\n computedButtonVariant: function computedButtonVariant() {\n // Local variant preferred over group variant\n var buttonVariant = this.buttonVariant;\n\n if (buttonVariant) {\n return buttonVariant;\n }\n\n if (this.isGroup && this.bvGroup.buttonVariant) {\n return this.bvGroup.buttonVariant;\n }\n\n return 'secondary';\n },\n buttonClasses: function buttonClasses() {\n var _ref;\n\n var computedSize = this.computedSize;\n return ['btn', \"btn-\".concat(this.computedButtonVariant), (_ref = {}, _defineProperty(_ref, \"btn-\".concat(computedSize), computedSize), _defineProperty(_ref, \"disabled\", this.isDisabled), _defineProperty(_ref, \"active\", this.isChecked), _defineProperty(_ref, \"focus\", this.hasFocus), _ref)];\n },\n computedAttrs: function computedAttrs() {\n var disabled = this.isDisabled,\n required = this.isRequired;\n return _objectSpread(_objectSpread({}, this.bvAttrs), {}, {\n id: this.safeId(),\n type: this.isRadio ? 'radio' : 'checkbox',\n name: this.computedName,\n form: this.computedForm,\n disabled: disabled,\n required: required,\n 'aria-required': required || null,\n 'aria-label': this.ariaLabel || null,\n 'aria-labelledby': this.ariaLabelledby || null\n });\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function () {\n this[\"\".concat(MODEL_PROP_NAME, \"Watcher\")].apply(this, arguments);\n }), _defineProperty(_watch, \"computedLocalChecked\", function computedLocalChecked() {\n this.computedLocalCheckedWatcher.apply(this, arguments);\n }), _watch),\n methods: (_methods = {}, _defineProperty(_methods, \"\".concat(MODEL_PROP_NAME, \"Watcher\"), function Watcher(newValue) {\n if (!looseEqual(newValue, this.computedLocalChecked)) {\n this.computedLocalChecked = newValue;\n }\n }), _defineProperty(_methods, \"computedLocalCheckedWatcher\", function computedLocalCheckedWatcher(newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.$emit(MODEL_EVENT_NAME, newValue);\n }\n }), _defineProperty(_methods, \"handleChange\", function handleChange(_ref2) {\n var _this = this;\n\n var checked = _ref2.target.checked;\n var value = this.value;\n var localChecked = checked ? value : null;\n this.computedLocalChecked = value; // Fire events in a `$nextTick()` to ensure the `v-model` is updated\n\n this.$nextTick(function () {\n // Change is only emitted on user interaction\n _this.$emit(EVENT_NAME_CHANGE, localChecked); // If this is a child of a group, we emit a change event on it as well\n\n\n if (_this.isGroup) {\n _this.bvGroup.$emit(EVENT_NAME_CHANGE, localChecked);\n }\n });\n }), _defineProperty(_methods, \"handleFocus\", function handleFocus(event) {\n // When in buttons mode, we need to add 'focus' class to label when input focused\n // As it is the hidden input which has actual focus\n if (event.target) {\n if (event.type === 'focus') {\n this.hasFocus = true;\n } else if (event.type === 'blur') {\n this.hasFocus = false;\n }\n }\n }), _defineProperty(_methods, \"focus\", function focus() {\n if (!this.isDisabled) {\n attemptFocus(this.$refs.input);\n }\n }), _defineProperty(_methods, \"blur\", function blur() {\n if (!this.isDisabled) {\n attemptBlur(this.$refs.input);\n }\n }), _methods),\n render: function render(h) {\n var isRadio = this.isRadio,\n isBtnMode = this.isBtnMode,\n isPlain = this.isPlain,\n isCustom = this.isCustom,\n isInline = this.isInline,\n isSwitch = this.isSwitch,\n computedSize = this.computedSize,\n bvAttrs = this.bvAttrs;\n var $content = this.normalizeSlot();\n var $input = h('input', {\n class: [{\n 'form-check-input': isPlain,\n 'custom-control-input': isCustom,\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/2911\n 'position-static': isPlain && !$content\n }, isBtnMode ? '' : this.stateClass],\n directives: [{\n name: 'model',\n value: this.computedLocalChecked\n }],\n attrs: this.computedAttrs,\n domProps: {\n value: this.value,\n checked: this.isChecked\n },\n on: _objectSpread({\n change: this.handleChange\n }, isBtnMode ? {\n focus: this.handleFocus,\n blur: this.handleFocus\n } : {}),\n key: 'input',\n ref: 'input'\n });\n\n if (isBtnMode) {\n var $button = h('label', {\n class: this.buttonClasses\n }, [$input, $content]);\n\n if (!this.isGroup) {\n // Standalone button mode, so wrap in 'btn-group-toggle'\n // and flag it as inline-block to mimic regular buttons\n $button = h('div', {\n class: ['btn-group-toggle', 'd-inline-block']\n }, [$button]);\n }\n\n return $button;\n } // If no label content in plain mode we dont render the label\n // See: https://github.com/bootstrap-vue/bootstrap-vue/issues/2911\n\n\n var $label = h();\n\n if (!(isPlain && !$content)) {\n $label = h('label', {\n class: {\n 'form-check-label': isPlain,\n 'custom-control-label': isCustom\n },\n attrs: {\n for: this.safeId()\n }\n }, $content);\n }\n\n return h('div', {\n class: [_defineProperty({\n 'form-check': isPlain,\n 'form-check-inline': isPlain && isInline,\n 'custom-control': isCustom,\n 'custom-control-inline': isCustom && isInline,\n 'custom-checkbox': isCustom && !isRadio && !isSwitch,\n 'custom-switch': isSwitch,\n 'custom-radio': isCustom && isRadio\n }, \"b-custom-control-\".concat(computedSize), computedSize && !isBtnMode), bvAttrs.class],\n style: bvAttrs.style\n }, [$input, $label]);\n }\n});","export var noop = function noop() {};","export var CLASS_NAME_SHOW = 'show';\nexport var CLASS_NAME_FADE = 'fade';"],"sourceRoot":""}