StackGenVis: Alignment of Data, Algorithms, and Models for Stacking Ensemble Learning Using Performance Metrics https://doi.org/10.1109/TVCG.2020.3030352
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
StackGenVis/frontend/node_modules/bootstrap-vue/dist/bootstrap-vue.js.map

1 lines
1.8 MiB

{"version":3,"file":"bootstrap-vue.js","sources":["../src/utils/vue.js","../src/utils/array.js","../src/utils/object.js","../src/utils/env.js","../src/utils/safe-types.js","../src/utils/inspect.js","../src/utils/clone-deep.js","../src/utils/identity.js","../src/utils/get.js","../src/utils/warn.js","../src/utils/config-defaults.js","../src/utils/config-set.js","../src/utils/plugins.js","../src/utils/memoize.js","../src/utils/config.js","../src/utils/dom.js","../src/utils/number.js","../node_modules/vue-functional-data-merge/dist/lib.esm.js","../src/utils/bv-transition.js","../src/utils/normalize-slot.js","../src/mixins/normalize-slot.js","../src/components/button/button-close.js","../src/components/alert/alert.js","../src/components/alert/index.js","../src/utils/pluck-props.js","../src/utils/string.js","../src/utils/router.js","../src/components/link/link.js","../src/components/badge/badge.js","../src/components/badge/index.js","../src/utils/html.js","../src/components/breadcrumb/breadcrumb-link.js","../src/components/breadcrumb/breadcrumb-item.js","../src/components/breadcrumb/breadcrumb.js","../src/components/breadcrumb/index.js","../src/utils/key-codes.js","../src/components/button/button.js","../src/components/button/index.js","../src/components/button-group/button-group.js","../src/components/button-group/index.js","../src/components/button-toolbar/button-toolbar.js","../src/components/button-toolbar/index.js","../src/utils/loose-equal.js","../src/utils/date.js","../src/mixins/id.js","../src/icons/helpers/icon-base.js","../src/icons/helpers/make-icon.js","../src/icons/icons.js","../src/icons/iconstack.js","../src/components/calendar/calendar.js","../src/components/calendar/index.js","../src/utils/prefix-prop-name.js","../src/utils/unprefix-prop-name.js","../src/utils/copy-props.js","../src/mixins/card.js","../src/components/card/card-title.js","../src/components/card/card-sub-title.js","../src/components/card/card-body.js","../src/components/card/card-header.js","../src/components/card/card-footer.js","../src/components/card/card-img.js","../src/components/card/card.js","../src/directives/visible/visible.js","../src/components/image/img.js","../src/components/image/img-lazy.js","../src/components/card/card-img-lazy.js","../src/components/card/card-text.js","../src/components/card/card-group.js","../src/components/card/index.js","../src/utils/noop.js","../src/utils/observe-dom.js","../src/utils/events.js","../src/components/carousel/carousel.js","../src/components/carousel/carousel-slide.js","../src/components/carousel/index.js","../src/utils/bv-collapse.js","../src/mixins/listen-on-root.js","../src/components/collapse/collapse.js","../src/utils/target.js","../src/directives/toggle/toggle.js","../src/components/collapse/index.js","../node_modules/popper.js/dist/esm/popper.js","../src/utils/bv-event.class.js","../src/mixins/click-out.js","../src/mixins/focus-in.js","../src/mixins/dropdown.js","../src/components/dropdown/dropdown.js","../src/components/dropdown/dropdown-item.js","../src/components/dropdown/dropdown-item-button.js","../src/components/dropdown/dropdown-header.js","../src/components/dropdown/dropdown-divider.js","../src/components/form/form.js","../src/components/dropdown/dropdown-form.js","../src/components/dropdown/dropdown-text.js","../src/components/dropdown/dropdown-group.js","../src/components/dropdown/index.js","../src/components/embed/embed.js","../src/components/embed/index.js","../src/mixins/form-options.js","../src/components/form/form-datalist.js","../src/components/form/form-text.js","../src/components/form/form-invalid-feedback.js","../src/components/form/form-valid-feedback.js","../src/components/layout/form-row.js","../src/components/form/index.js","../src/utils/loose-index-of.js","../src/mixins/form.js","../src/mixins/form-radio-check.js","../src/mixins/form-size.js","../src/mixins/form-state.js","../src/components/form-checkbox/form-checkbox.js","../src/components/form-radio/form-radio.js","../src/mixins/form-radio-check-group.js","../src/components/form-checkbox/form-checkbox-group.js","../src/components/form-checkbox/index.js","../src/directives/hover/hover.js","../src/components/form-datepicker/form-datepicker.js","../src/components/form-datepicker/index.js","../src/mixins/form-custom.js","../src/components/form-file/form-file.js","../src/components/form-file/index.js","../src/utils/suffix-prop-name.js","../src/components/layout/col.js","../src/components/form-group/form-group.js","../src/components/form-group/index.js","../src/mixins/form-text.js","../src/mixins/form-selection.js","../src/mixins/form-validity.js","../src/components/form-input/form-input.js","../src/components/form-input/index.js","../src/components/form-radio/form-radio-group.js","../src/components/form-radio/index.js","../src/components/form-select/helpers/mixin-options.js","../src/components/form-select/form-select-option.js","../src/components/form-select/form-select-option-group.js","../src/components/form-select/form-select.js","../src/components/form-select/index.js","../src/components/form-spinbutton/form-spinbutton.js","../src/components/form-spinbutton/index.js","../src/components/form-tags/form-tag.js","../src/components/form-tags/form-tags.js","../src/components/form-tags/index.js","../src/components/form-textarea/form-textarea.js","../src/components/form-textarea/index.js","../src/components/image/index.js","../src/components/input-group/input-group-text.js","../src/components/input-group/input-group-addon.js","../src/components/input-group/input-group-prepend.js","../src/components/input-group/input-group-append.js","../src/components/input-group/input-group.js","../src/components/input-group/index.js","../src/components/layout/container.js","../src/components/jumbotron/jumbotron.js","../src/components/jumbotron/index.js","../src/components/layout/row.js","../src/components/layout/index.js","../src/components/link/index.js","../src/components/list-group/list-group.js","../src/components/list-group/list-group-item.js","../src/components/list-group/index.js","../src/components/media/media-body.js","../src/components/media/media-aside.js","../src/components/media/media.js","../src/components/media/index.js","../src/utils/transporter.js","../src/mixins/listen-on-document.js","../src/mixins/listen-on-window.js","../src/utils/get-scope-id.js","../src/mixins/scoped-style-attrs.js","../src/components/modal/helpers/modal-manager.js","../src/components/modal/helpers/bv-modal-event.class.js","../src/components/modal/modal.js","../src/directives/modal/modal.js","../src/components/modal/helpers/bv-modal.js","../src/components/modal/index.js","../src/components/nav/nav.js","../src/components/nav/nav-item.js","../src/components/nav/nav-text.js","../src/components/nav/nav-form.js","../src/components/nav/nav-item-dropdown.js","../src/components/nav/index.js","../src/components/navbar/navbar.js","../src/components/navbar/navbar-nav.js","../src/components/navbar/navbar-brand.js","../src/components/navbar/navbar-toggle.js","../src/components/navbar/index.js","../src/utils/range.js","../src/mixins/pagination.js","../src/components/pagination/pagination.js","../src/components/pagination/index.js","../src/components/pagination-nav/pagination-nav.js","../src/components/pagination-nav/index.js","../src/components/tooltip/helpers/bv-popper.js","../src/components/tooltip/helpers/bv-tooltip-template.js","../src/components/tooltip/helpers/bv-tooltip.js","../src/components/tooltip/tooltip.js","../src/components/popover/helpers/bv-popover-template.js","../src/components/popover/helpers/bv-popover.js","../src/components/popover/popover.js","../src/directives/popover/popover.js","../src/directives/popover/index.js","../src/components/popover/index.js","../src/components/progress/progress-bar.js","../src/components/progress/progress.js","../src/components/progress/index.js","../src/components/spinner/spinner.js","../src/components/spinner/index.js","../src/mixins/has-listener.js","../src/utils/startcase.js","../src/components/table/helpers/constants.js","../src/components/table/helpers/normalize-fields.js","../src/components/table/helpers/mixin-items.js","../src/components/table/helpers/mixin-stacked.js","../src/components/table/helpers/sanitize-row.js","../src/components/table/helpers/stringify-object-values.js","../src/components/table/helpers/stringify-record-values.js","../src/components/table/helpers/mixin-filtering.js","../src/utils/stable-sort.js","../src/components/table/helpers/default-sort-compare.js","../src/components/table/helpers/mixin-sorting.js","../src/components/table/helpers/mixin-pagination.js","../src/components/table/helpers/mixin-caption.js","../src/components/table/helpers/mixin-colgroup.js","../src/components/table/helpers/filter-event.js","../src/components/table/helpers/text-selection-active.js","../src/components/table/thead.js","../src/components/table/tfoot.js","../src/components/table/tr.js","../src/components/table/td.js","../src/components/table/th.js","../src/components/table/helpers/mixin-thead.js","../src/components/table/helpers/mixin-tfoot.js","../src/components/table/tbody.js","../src/components/table/helpers/mixin-tbody-row.js","../src/components/table/helpers/mixin-tbody.js","../src/components/table/helpers/mixin-empty.js","../src/components/table/helpers/mixin-top-row.js","../src/components/table/helpers/mixin-bottom-row.js","../src/components/table/helpers/mixin-busy.js","../src/components/table/helpers/mixin-selectable.js","../src/components/table/helpers/mixin-provider.js","../src/components/table/helpers/mixin-table-renderer.js","../src/components/table/table.js","../src/components/table/table-lite.js","../src/components/table/table-simple.js","../src/components/table/index.js","../src/components/tabs/tabs.js","../src/components/tabs/tab.js","../src/components/tabs/index.js","../node_modules/portal-vue/dist/portal-vue.esm.js","../src/components/toast/toaster.js","../src/components/toast/toast.js","../src/components/toast/helpers/bv-toast.js","../src/components/toast/index.js","../src/directives/tooltip/tooltip.js","../src/directives/tooltip/index.js","../src/components/tooltip/index.js","../src/components/index.js","../src/directives/hover/index.js","../src/directives/modal/index.js","../src/directives/scrollspy/scrollspy.class.js","../src/directives/scrollspy/scrollspy.js","../src/directives/scrollspy/index.js","../src/directives/toggle/index.js","../src/directives/visible/index.js","../src/directives/index.js","../src/icons/icon.js","../src/index.js","../src/browser.js"],"sourcesContent":["//\n// Single point of contact for Vue\n//\n// TODO:\n// Conditionally import Vue if no global Vue\n//\nimport Vue from 'vue'\n\nexport default Vue\n","// --- Static ---\n\nexport const from = (...args) => Array.from(...args)\nexport const isArray = val => Array.isArray(val)\n\n// --- Instance ---\n\nexport const arrayIncludes = (array, value) => array.indexOf(value) !== -1\nexport const concat = (...args) => Array.prototype.concat.apply([], args)\n","import { isArray } from './array'\n\n// --- Static ---\n\nexport const assign = (...args) => Object.assign(...args)\nexport const create = (proto, optionalProps) => Object.create(proto, optionalProps)\nexport const defineProperties = (obj, props) => Object.defineProperties(obj, props)\nexport const defineProperty = (obj, prop, descr) => Object.defineProperty(obj, prop, descr)\nexport const freeze = obj => Object.freeze(obj)\nexport const getOwnPropertyNames = obj => Object.getOwnPropertyNames(obj)\nexport const getOwnPropertyDescriptor = (obj, prop) => Object.getOwnPropertyDescriptor(obj, prop)\nexport const getOwnPropertySymbols = obj => Object.getOwnPropertySymbols(obj)\nexport const getPrototypeOf = obj => Object.getPrototypeOf(obj)\nexport const is = (value1, value2) => Object.is(value1, value2)\nexport const isFrozen = obj => Object.isFrozen(obj)\nexport const keys = obj => Object.keys(obj)\n\n// --- \"Instance\" ---\n\nexport const hasOwnProperty = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop)\nexport const toString = obj => Object.prototype.toString.call(obj)\n\n// --- Utilities ---\n\n/**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n * Note object could be a complex type like array, date, etc.\n */\nexport const isObject = obj => obj !== null && typeof obj === 'object'\n\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nexport const isPlainObject = obj => Object.prototype.toString.call(obj) === '[object Object]'\n\n/**\n * Shallow copy an object. If the passed in object\n * is null or undefined, returns an empty object\n */\nexport const clone = obj => ({ ...obj })\n\n/**\n * Return a shallow copy of object with\n * the specified properties omitted\n * @link https://gist.github.com/bisubus/2da8af7e801ffd813fab7ac221aa7afc\n */\nexport const omit = (obj, props) =>\n keys(obj)\n .filter(key => props.indexOf(key) === -1)\n .reduce((result, key) => ({ ...result, [key]: obj[key] }), {})\n\n/**\n * Convenience method to create a read-only descriptor\n */\nexport const readonlyDescriptor = () => ({ enumerable: true, configurable: false, writable: false })\n\n/**\n * Deep-freezes and object, making it immutable / read-only.\n * Returns the same object passed-in, but frozen.\n * Freezes inner object/array/values first.\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze\n * Note: this method will not work for property values using Symbol() as a key\n */\nexport const deepFreeze = obj => {\n // Retrieve the property names defined on object/array\n // Note: `keys` will ignore properties that are keyed by a `Symbol()`\n const props = keys(obj)\n // Iterate over each prop and recursively freeze it\n props.forEach(prop => {\n const value = obj[prop]\n // If value is a plain object or array, we deepFreeze it\n obj[prop] = value && (isPlainObject(value) || isArray(value)) ? deepFreeze(value) : value\n })\n return freeze(obj)\n}\n","/**\n * Utilities to get information about the current environment\n */\n\n// --- Constants ---\n\nexport const hasWindowSupport = typeof window !== 'undefined'\nexport const hasDocumentSupport = typeof document !== 'undefined'\nexport const hasNavigatorSupport = typeof navigator !== 'undefined'\nexport const hasPromiseSupport = typeof Promise !== 'undefined'\nexport const hasMutationObserverSupport =\n typeof MutationObserver !== 'undefined' ||\n typeof WebKitMutationObserver !== 'undefined' ||\n typeof MozMutationObserver !== 'undefined'\n\nexport const isBrowser = hasWindowSupport && hasDocumentSupport && hasNavigatorSupport\n\n// Browser type sniffing\nexport const userAgent = isBrowser ? window.navigator.userAgent.toLowerCase() : ''\n\nexport const isJSDOM = userAgent.indexOf('jsdom') > 0\nexport const isIE = /msie|trident/.test(userAgent)\n\n// Determine if the browser supports the option passive for events\nexport const hasPassiveEventSupport = (() => {\n let passiveEventSupported = false\n if (isBrowser) {\n try {\n const options = {\n get passive() {\n // This function will be called when the browser\n // attempts to access the passive property.\n /* istanbul ignore next: will never be called in JSDOM */\n passiveEventSupported = true\n }\n }\n window.addEventListener('test', options, options)\n window.removeEventListener('test', options, options)\n } catch (err) {\n /* istanbul ignore next: will never be called in JSDOM */\n passiveEventSupported = false\n }\n }\n return passiveEventSupported\n})()\n\nexport const hasTouchSupport =\n isBrowser && ('ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0)\n\nexport const hasPointerEventSupport =\n isBrowser && Boolean(window.PointerEvent || window.MSPointerEvent)\n\nexport const hasIntersectionObserverSupport =\n isBrowser &&\n 'IntersectionObserver' in window &&\n 'IntersectionObserverEntry' in window &&\n // Edge 15 and UC Browser lack support for `isIntersecting`\n // but we an use intersectionRatio > 0 instead\n // 'isIntersecting' in window.IntersectionObserverEntry.prototype &&\n 'intersectionRatio' in window.IntersectionObserverEntry.prototype\n\n// --- Getters ---\n\nexport const getEnv = (key, fallback = null) => {\n const env = typeof process !== 'undefined' && process ? process.env || {} : {}\n if (!key) {\n /* istanbul ignore next */\n return env\n }\n return env[key] || fallback\n}\n\nexport const getNoWarn = () => getEnv('BOOTSTRAP_VUE_NO_WARN')\n","/**\n * SSR safe types\n */\n\nimport { hasWindowSupport } from './env'\n\nconst w = hasWindowSupport ? window : {}\n\nexport const Element = hasWindowSupport ? w.Element : class Element extends Object {}\n\nexport const HTMLElement = hasWindowSupport ? w.HTMLElement : class HTMLElement extends Element {}\n\nexport const SVGElement = hasWindowSupport ? w.SVGElement : class SVGElement extends Element {}\n\nexport const File = hasWindowSupport ? w.File : class File extends Object {}\n","import { isArray } from './array'\nimport { isObject, isPlainObject } from './object'\nimport { File } from './safe-types'\n\n// --- Convenience inspection utilities ---\n\nexport const toType = val => typeof val\n\nexport const toRawType = val => Object.prototype.toString.call(val).slice(8, -1)\n\nexport const toRawTypeLC = val => toRawType(val).toLowerCase()\n\nexport const isUndefined = val => val === undefined\n\nexport const isNull = val => val === null\n\nexport const isEmptyString = val => val === ''\n\nexport const isUndefinedOrNull = val => isUndefined(val) || isNull(val)\n\nexport const isUndefinedOrNullOrEmpty = val => isUndefinedOrNull(val) || isEmptyString(val)\n\nexport const isFunction = val => toType(val) === 'function'\n\nexport const isBoolean = val => toType(val) === 'boolean'\n\nexport const isString = val => toType(val) === 'string'\n\nexport const isNumber = val => toType(val) === 'number'\n\nexport const isPrimitive = val => isBoolean(val) || isString(val) || isNumber(val)\n\nexport const isDate = val => val instanceof Date\n\nexport const isEvent = val => val instanceof Event\n\nexport const isFile = val => val instanceof File\n\nexport const isRegExp = val => toRawType(val) === 'RegExp'\n\nexport const isPromise = val =>\n !isUndefinedOrNull(val) && isFunction(val.then) && isFunction(val.catch)\n\n// Extra convenience named re-exports\nexport { isArray, isObject, isPlainObject }\n","import { isArray, isPlainObject } from './inspect'\nimport { keys } from './object'\n\nexport const cloneDeep = (obj, defaultValue = obj) => {\n if (isArray(obj)) {\n return obj.reduce((result, val) => [...result, cloneDeep(val, val)], [])\n }\n if (isPlainObject(obj)) {\n return keys(obj).reduce(\n (result, key) => ({ ...result, [key]: cloneDeep(obj[key], obj[key]) }),\n {}\n )\n }\n return defaultValue\n}\n\nexport default cloneDeep\n","const identity = x => x\n\nexport default identity\n","import identity from './identity'\nimport { isArray, isObject } from './inspect'\n\nconst RX_ARRAY_NOTATION = /\\[(\\d+)]/g\n\n/**\n * Get property defined by dot/array notation in string.\n *\n * @link https://gist.github.com/jeneg/9767afdcca45601ea44930ea03e0febf#gistcomment-1935901\n *\n * @param {Object} obj\n * @param {string|Array} path\n * @param {*} defaultValue (optional)\n * @return {*}\n */\nconst get = (obj, path, defaultValue = null) => {\n // Handle array of path values\n path = isArray(path) ? path.join('.') : path\n\n // If no path or no object passed\n if (!path || !isObject(obj)) {\n return defaultValue\n }\n\n // Handle edge case where user has dot(s) in top-level item field key\n // See https://github.com/bootstrap-vue/bootstrap-vue/issues/2762\n // Switched to `in` operator vs `hasOwnProperty` to handle obj.prototype getters\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/3463\n if (path in obj) {\n return obj[path]\n }\n\n // Handle string array notation (numeric indices only)\n path = String(path).replace(RX_ARRAY_NOTATION, '.$1')\n\n const steps = path.split('.').filter(identity)\n\n // Handle case where someone passes a string of only dots\n if (steps.length === 0) {\n return defaultValue\n }\n\n // Traverse path in object to find result\n // We use `!=` vs `!==` to test for both `null` and `undefined`\n // Switched to `in` operator vs `hasOwnProperty` to handle obj.prototype getters\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/3463\n return steps.every(step => isObject(obj) && step in obj && (obj = obj[step]) != null)\n ? obj\n : defaultValue\n}\n\nexport default get\n","import { isBrowser, hasPromiseSupport, hasMutationObserverSupport, getNoWarn } from './env'\n\n/**\n * Log a warning message to the console with BootstrapVue formatting\n * @param {string} message\n */\nexport const warn = (message, source = null) => /* istanbul ignore next */ {\n if (!getNoWarn()) {\n console.warn(`[BootstrapVue warn]: ${source ? `${source} - ` : ''}${message}`)\n }\n}\n\n/**\n * Warn when no Promise support is given\n * @param {string} source\n * @returns {boolean} warned\n */\nexport const warnNotClient = source => {\n /* istanbul ignore else */\n if (isBrowser) {\n return false\n } else {\n warn(`${source}: Can not be called during SSR.`)\n return true\n }\n}\n\n/**\n * Warn when no Promise support is given\n * @param {string} source\n * @returns {boolean} warned\n */\nexport const warnNoPromiseSupport = source => {\n /* istanbul ignore else */\n if (hasPromiseSupport) {\n return false\n } else {\n warn(`${source}: Requires Promise support.`)\n return true\n }\n}\n\n/**\n * Warn when no MutationObserver support is given\n * @param {string} source\n * @returns {boolean} warned\n */\nexport const warnNoMutationObserverSupport = source => {\n /* istanbul ignore else */\n if (hasMutationObserverSupport) {\n return false\n } else {\n warn(`${source}: Requires MutationObserver support.`)\n return true\n }\n}\n","import { deepFreeze } from './object'\n\n// --- General BootstrapVue configuration ---\n\n// NOTES\n//\n// The global config SHALL NOT be used to set defaults for Boolean props, as the props\n// would loose their semantic meaning, and force people writing 3rd party components to\n// explicity set a true or false value using the v-bind syntax on boolean props\n//\n// Supported config values (depending on the prop's supported type(s)):\n// `String`, `Array`, `Object`, `null` or `undefined`\n\n// BREAKPOINT DEFINITIONS\n//\n// Some components (`<b-col>` and `<b-form-group>`) generate props based on breakpoints,\n// and this occurs when the component is first loaded (evaluated), which may happen\n// before the config is created/modified\n//\n// To get around this we make these components' props async (lazy evaluation)\n// The component definition is only called/executed when the first access to the\n// component is used (and cached on subsequent uses)\n\n// PROP DEFAULTS\n//\n// For default values on props, we use the default value factory function approach so\n// that the default values are pulled in at each component instantiation\n//\n// props: {\n// variant: {\n// type: String,\n// default: () => getConfigComponent('BAlert', 'variant')\n// }\n// }\n//\n// We also provide a cached getter for breakpoints, which are \"frozen\" on first access\n\n// prettier-ignore\nexport default deepFreeze({\n // Breakpoints\n breakpoints: ['xs', 'sm', 'md', 'lg', 'xl'],\n\n // Form controls\n formControls: {\n size: null\n },\n\n // Component specific defaults are keyed by the component\n // name (PascalCase) and prop name (camelCase)\n BAlert: {\n dismissLabel: 'Close',\n variant: 'info'\n },\n BBadge: {\n variant: 'secondary'\n },\n BButton: {\n size: null,\n variant: 'secondary'\n },\n BButtonClose: {\n content: '&times;',\n // `textVariant` is `null` to inherit the current text color\n textVariant: null,\n ariaLabel: 'Close'\n },\n BCalendar: {\n // BFormDate will choose these first if not provided in BFormDate section\n labelPrevYear: 'Previous year',\n labelPrevMonth: 'Previous month',\n labelCurrentMonth: 'Current month',\n labelNextMonth: 'Next month',\n labelNextYear: 'Next year',\n labelToday: 'Today',\n labelSelected: 'Selected date',\n labelNoDateSelected: 'No date selected',\n labelCalendar: 'Calendar',\n labelNav: 'Calendar navigation',\n labelHelp: 'Use cursor keys to navigate calendar dates'\n },\n BCardSubTitle: {\n // `<b-card>` and `<b-card-body>` also inherit this prop\n subTitleTextVariant: 'muted'\n },\n BCarousel: {\n labelPrev: 'Previous Slide',\n labelNext: 'Next Slide',\n labelGotoSlide: 'Goto Slide',\n labelIndicators: 'Select a slide to display'\n },\n BDropdown: {\n toggleText: 'Toggle Dropdown',\n size: null,\n variant: 'secondary',\n splitVariant: null\n },\n BFormDatepicker: {\n // BFormDatepicker will choose from BCalendar first if not provided in BFormDatepicker section\n labelPrevYear: null,\n labelPrevMonth: null,\n labelCurrentMonth: null,\n labelNextMonth: null,\n labelNextYear: null,\n labelToday: null,\n labelSelected: null,\n labelNoDateSelected: null,\n labelCalendar: null,\n labelNav: null,\n labelHelp: null,\n // These props are specific to BFormDatepicker\n labelTodayButton: 'Select today',\n labelResetButton: 'Reset',\n labelCloseButton: 'Close'\n },\n BFormFile: {\n browseText: 'Browse',\n // Chrome default file prompt\n placeholder: 'No file chosen',\n dropPlaceholder: 'Drop files here'\n },\n BFormSpinbutton: {\n labelDecrement: 'Decrement',\n labelIncrement: 'Increment'\n },\n BFormTag: {\n removeLabel: 'Remove tag',\n variant: 'secondary'\n },\n BFormTags: {\n addButtonText: 'Add',\n addButtonVariant: 'outline-secondary',\n duplicateTagText: 'Duplicate tag(s)',\n invalidTagText: 'Invalid tag(s)',\n placeholder: 'Add tag...',\n tagRemoveLabel: 'Remove tag',\n tagRemovedLabel: 'Tag removed',\n tagVariant: 'secondary'\n },\n BFormText: {\n textVariant: 'muted'\n },\n BImg: {\n blankColor: 'transparent'\n },\n BImgLazy: {\n blankColor: 'transparent'\n },\n BInputGroup: {\n size: null\n },\n BJumbotron: {\n bgVariant: null,\n borderVariant: null,\n textVariant: null\n },\n BListGroupItem: {\n variant: null\n },\n BModal: {\n titleTag: 'h5',\n size: 'md',\n headerBgVariant: null,\n headerBorderVariant: null,\n headerTextVariant: null,\n headerCloseVariant: null,\n bodyBgVariant: null,\n bodyTextVariant: null,\n footerBgVariant: null,\n footerBorderVariant: null,\n footerTextVariant: null,\n cancelTitle: 'Cancel',\n cancelVariant: 'secondary',\n okTitle: 'OK',\n okVariant: 'primary',\n headerCloseContent: '&times;',\n headerCloseLabel: 'Close'\n },\n BNavbar: {\n variant: null\n },\n BNavbarToggle: {\n label: 'Toggle navigation'\n },\n BPagination: {\n size: null\n },\n BPaginationNav: {\n size: null\n },\n BPopover: {\n boundary: 'scrollParent',\n boundaryPadding: 5,\n customClass: null,\n delay: 50,\n variant: null\n },\n BProgress: {\n variant: null\n },\n BProgressBar: {\n variant: null\n },\n BSpinner: {\n variant: null\n },\n BTable: {\n selectedVariant: 'active',\n headVariant: null,\n footVariant: null\n },\n BToast: {\n toaster: 'b-toaster-top-right',\n autoHideDelay: 5000,\n variant: null,\n toastClass: null,\n headerClass: null,\n bodyClass: null\n },\n BToaster: {\n ariaLive: null,\n ariaAtomic: null,\n role: null\n },\n BTooltip: {\n boundary: 'scrollParent',\n boundaryPadding: 5,\n customClass: null,\n delay: 50,\n variant: null\n }\n})\n","import OurVue from './vue'\nimport cloneDeep from './clone-deep'\nimport get from './get'\nimport { isArray, isPlainObject, isString, isUndefined } from './inspect'\nimport { getOwnPropertyNames, hasOwnProperty } from './object'\nimport { warn } from './warn'\nimport DEFAULTS from './config-defaults'\n\n// --- Constants ---\n\nconst NAME = 'BvConfig'\nconst PROP_NAME = '$bvConfig'\n\n// Config manager class\nclass BvConfig {\n constructor() {\n // TODO: pre-populate with default config values (needs updated tests)\n // this.$_config = cloneDeep(DEFAULTS)\n this.$_config = {}\n this.$_cachedBreakpoints = null\n }\n\n static get Defaults() /* istanbul ignore next */ {\n return DEFAULTS\n }\n\n get defaults() /* istanbul ignore next */ {\n return DEFAULTS\n }\n\n // Returns the defaults\n getDefaults() /* istanbul ignore next */ {\n return this.defaults\n }\n\n // Method to merge in user config parameters\n setConfig(config = {}) {\n if (!isPlainObject(config)) {\n /* istanbul ignore next */\n return\n }\n const configKeys = getOwnPropertyNames(config)\n configKeys.forEach(cmpName => {\n /* istanbul ignore next */\n if (!hasOwnProperty(DEFAULTS, cmpName)) {\n warn(`Unknown config property \"${cmpName}\"`, NAME)\n return\n }\n const cmpConfig = config[cmpName]\n if (cmpName === 'breakpoints') {\n // Special case for breakpoints\n const breakpoints = config.breakpoints\n /* istanbul ignore if */\n if (\n !isArray(breakpoints) ||\n breakpoints.length < 2 ||\n breakpoints.some(b => !isString(b) || b.length === 0)\n ) {\n warn('\"breakpoints\" must be an array of at least 2 breakpoint names', NAME)\n } else {\n this.$_config.breakpoints = cloneDeep(breakpoints)\n }\n } else if (isPlainObject(cmpConfig)) {\n // Component prop defaults\n const props = getOwnPropertyNames(cmpConfig)\n props.forEach(prop => {\n /* istanbul ignore if */\n if (!hasOwnProperty(DEFAULTS[cmpName], prop)) {\n warn(`Unknown config property \"${cmpName}.${prop}\"`, NAME)\n } else {\n // TODO: If we pre-populate the config with defaults, we can skip this line\n this.$_config[cmpName] = this.$_config[cmpName] || {}\n if (!isUndefined(cmpConfig[prop])) {\n this.$_config[cmpName][prop] = cloneDeep(cmpConfig[prop])\n }\n }\n })\n }\n })\n }\n\n // Clear the config. For testing purposes only\n resetConfig() {\n this.$_config = {}\n }\n\n // Returns a deep copy of the user config\n getConfig() {\n return cloneDeep(this.$_config)\n }\n\n getConfigValue(key) {\n // First we try the user config, and if key not found we fall back to default value\n // NOTE: If we deep clone DEFAULTS into config, then we can skip the fallback for get\n return cloneDeep(get(this.$_config, key, get(DEFAULTS, key)))\n }\n}\n\n// Method for applying a global config\nexport const setConfig = (config = {}, Vue = OurVue) => {\n // Ensure we have a $bvConfig Object on the Vue prototype.\n // We set on Vue and OurVue just in case consumer has not set an alias of `vue`.\n Vue.prototype[PROP_NAME] = OurVue.prototype[PROP_NAME] =\n Vue.prototype[PROP_NAME] || OurVue.prototype[PROP_NAME] || new BvConfig()\n // Apply the config values\n Vue.prototype[PROP_NAME].setConfig(config)\n}\n\n// Method for resetting the user config. Exported for testing purposes only.\nexport const resetConfig = () => {\n if (OurVue.prototype[PROP_NAME] && OurVue.prototype[PROP_NAME].resetConfig) {\n OurVue.prototype[PROP_NAME].resetConfig()\n }\n}\n","import OurVue from './vue'\nimport { setConfig } from './config-set'\nimport { hasWindowSupport, isJSDOM } from './env'\nimport { warn } from './warn'\n\n/**\n * Checks if there are multiple instances of Vue, and warns (once) about possible issues.\n * @param {object} Vue\n */\nexport const checkMultipleVue = (() => {\n let checkMultipleVueWarned = false\n\n const MULTIPLE_VUE_WARNING = [\n 'Multiple instances of Vue detected!',\n 'You may need to set up an alias for Vue in your bundler config.',\n 'See: https://bootstrap-vue.js.org/docs#using-module-bundlers'\n ].join('\\n')\n\n return Vue => {\n /* istanbul ignore next */\n if (!checkMultipleVueWarned && OurVue !== Vue && !isJSDOM) {\n warn(MULTIPLE_VUE_WARNING)\n }\n checkMultipleVueWarned = true\n }\n})()\n\n/**\n * Plugin install factory function.\n * @param {object} { components, directives }\n * @returns {function} plugin install function\n */\nexport const installFactory = ({ components, directives, plugins } = {}) => {\n const install = (Vue, config = {}) => {\n if (install.installed) {\n /* istanbul ignore next */\n return\n }\n install.installed = true\n checkMultipleVue(Vue)\n setConfig(config, Vue)\n registerComponents(Vue, components)\n registerDirectives(Vue, directives)\n registerPlugins(Vue, plugins)\n }\n\n install.installed = false\n\n return install\n}\n\n/**\n * Plugin install factory function (no plugin config option).\n * @param {object} { components, directives }\n * @returns {function} plugin install function\n */\nexport const installFactoryNoConfig = ({ components, directives, plugins } = {}) => {\n const install = Vue => {\n if (install.installed) {\n /* istanbul ignore next */\n return\n }\n install.installed = true\n checkMultipleVue(Vue)\n registerComponents(Vue, components)\n registerDirectives(Vue, directives)\n registerPlugins(Vue, plugins)\n }\n\n install.installed = false\n\n return install\n}\n\n/**\n * Plugin object factory function.\n * @param {object} { components, directives, plugins }\n * @returns {object} plugin install object\n */\nexport const pluginFactory = (options = {}, extend = {}) => ({\n ...extend,\n install: installFactory(options)\n})\n\n/**\n * Plugin object factory function (no config option).\n * @param {object} { components, directives, plugins }\n * @returns {object} plugin install object\n */\nexport const pluginFactoryNoConfig = (options = {}, extend = {}) => ({\n ...extend,\n install: installFactoryNoConfig(options)\n})\n\n/**\n * Load a group of plugins.\n * @param {object} Vue\n * @param {object} Plugin definitions\n */\nexport const registerPlugins = (Vue, plugins = {}) => {\n for (const plugin in plugins) {\n if (plugin && plugins[plugin]) {\n Vue.use(plugins[plugin])\n }\n }\n}\n\n/**\n * Load a component.\n * @param {object} Vue\n * @param {string} Component name\n * @param {object} Component definition\n */\nexport const registerComponent = (Vue, name, def) => {\n if (Vue && name && def) {\n Vue.component(name, def)\n }\n}\n\n/**\n * Load a group of components.\n * @param {object} Vue\n * @param {object} Object of component definitions\n */\nexport const registerComponents = (Vue, components = {}) => {\n for (const component in components) {\n registerComponent(Vue, component, components[component])\n }\n}\n\n/**\n * Load a directive.\n * @param {object} Vue\n * @param {string} Directive name\n * @param {object} Directive definition\n */\nexport const registerDirective = (Vue, name, def) => {\n if (Vue && name && def) {\n // Ensure that any leading V is removed from the\n // name, as Vue adds it automatically\n Vue.directive(name.replace(/^VB/, 'B'), def)\n }\n}\n\n/**\n * Load a group of directives.\n * @param {object} Vue\n * @param {object} Object of directive definitions\n */\nexport const registerDirectives = (Vue, directives = {}) => {\n for (const directive in directives) {\n registerDirective(Vue, directive, directives[directive])\n }\n}\n\n/**\n * Install plugin if window.Vue available\n * @param {object} Plugin definition\n */\nexport const vueUse = VuePlugin => {\n /* istanbul ignore next */\n if (hasWindowSupport && window.Vue) {\n window.Vue.use(VuePlugin)\n }\n /* istanbul ignore next */\n if (hasWindowSupport && VuePlugin.NAME) {\n window[VuePlugin.NAME] = VuePlugin\n }\n}\n","import { create } from './object'\n\nconst memoize = fn => {\n const cache = create(null)\n\n return (...args) => {\n const argsKey = JSON.stringify(args)\n return (cache[argsKey] = cache[argsKey] || fn.apply(null, args))\n }\n}\n\nexport default memoize\n","import Vue from './vue'\nimport cloneDeep from './clone-deep'\nimport get from './get'\nimport memoize from './memoize'\nimport DEFAULTS from './config-defaults'\n\n// --- Constants ---\n\nconst PROP_NAME = '$bvConfig'\nconst VueProto = Vue.prototype\n\n// --- Getter methods ---\n// All methods return a deep clone (immutable) copy of the config\n// value, to prevent mutation of the user config object.\n\n// Get the current user config. For testing purposes only\nexport const getConfig = () => {\n return VueProto[PROP_NAME] ? VueProto[PROP_NAME].getConfig() : {}\n}\n\n// Method to grab a config value based on a dotted/array notation key\nexport const getConfigValue = key => {\n return VueProto[PROP_NAME]\n ? VueProto[PROP_NAME].getConfigValue(key)\n : cloneDeep(get(DEFAULTS, key))\n}\n\n// Method to grab a config value for a particular component\nexport const getComponentConfig = (cmpName, key = null) => {\n // Return the particular config value for key for if specified,\n // otherwise we return the full config (or an empty object if not found)\n return key ? getConfigValue(`${cmpName}.${key}`) : getConfigValue(cmpName) || {}\n}\n\n// Convenience method for getting all breakpoint names\nexport const getBreakpoints = () => {\n return getConfigValue('breakpoints')\n}\n\n// Private function for caching / locking-in breakpoint names\nconst _getBreakpointsCached = memoize(() => {\n return getBreakpoints()\n})\n\n// Convenience method for getting all breakpoint names.\n// Caches the results after first access.\nexport const getBreakpointsCached = () => {\n return cloneDeep(_getBreakpointsCached())\n}\n\n// Convenience method for getting breakpoints with\n// the smallest breakpoint set as ''.\n// Useful for components that create breakpoint specific props.\nexport const getBreakpointsUp = () => {\n const breakpoints = getBreakpoints()\n breakpoints[0] = ''\n return breakpoints\n}\n\n// Convenience method for getting breakpoints with\n// the smallest breakpoint set as ''.\n// Useful for components that create breakpoint specific props.\n// Caches the results after first access.\nexport const getBreakpointsUpCached = memoize(() => {\n const breakpoints = getBreakpointsCached()\n breakpoints[0] = ''\n return breakpoints\n})\n\n// Convenience method for getting breakpoints with\n// the largest breakpoint set as ''.\n// Useful for components that create breakpoint specific props.\nexport const getBreakpointsDown = () => {\n const breakpoints = getBreakpoints()\n breakpoints[breakpoints.length - 1] = ''\n return breakpoints\n}\n\n// Convenience method for getting breakpoints with\n// the largest breakpoint set as ''.\n// Useful for components that create breakpoint specific props.\n// Caches the results after first access.\n/* istanbul ignore next: we don't use this method anywhere, yet */\nexport const getBreakpointsDownCached = () => /* istanbul ignore next */ {\n const breakpoints = getBreakpointsCached()\n breakpoints[breakpoints.length - 1] = ''\n return breakpoints\n}\n","import { from as arrayFrom } from './array'\nimport { hasWindowSupport, hasDocumentSupport } from './env'\nimport { isFunction, isNull } from '../utils/inspect'\n\n// --- Constants ---\n\nconst w = hasWindowSupport ? window : {}\nconst d = hasDocumentSupport ? document : {}\nconst elProto = typeof Element !== 'undefined' ? Element.prototype : {}\n\n// --- Normalization utils ---\n\n// See: https://developer.mozilla.org/en-US/docs/Web/API/Element/matches#Polyfill\n/* istanbul ignore next */\nexport const matchesEl =\n elProto.matches || elProto.msMatchesSelector || elProto.webkitMatchesSelector\n\n// See: https://developer.mozilla.org/en-US/docs/Web/API/Element/closest\n/* istanbul ignore next */\nexport const closestEl =\n elProto.closest ||\n function(sel) /* istanbul ignore next */ {\n let el = this\n do {\n // Use our \"patched\" matches function\n if (matches(el, sel)) {\n return el\n }\n el = el.parentElement || el.parentNode\n } while (!isNull(el) && el.nodeType === Node.ELEMENT_NODE)\n return null\n }\n\n// `requestAnimationFrame()` convenience method\nexport const requestAF =\n w.requestAnimationFrame ||\n w.webkitRequestAnimationFrame ||\n w.mozRequestAnimationFrame ||\n w.msRequestAnimationFrame ||\n w.oRequestAnimationFrame ||\n // Fallback, but not a true polyfill\n // Only needed for Opera Mini\n /* istanbul ignore next */\n (cb => setTimeout(cb, 16))\n\nexport const MutationObs =\n w.MutationObserver || w.WebKitMutationObserver || w.MozMutationObserver || null\n\n// --- Utils ---\n\n// Remove a node from DOM\nexport const removeNode = el => el && el.parentNode && el.parentNode.removeChild(el)\n\n// Determine if an element is an HTML element\nexport const isElement = el => !!(el && el.nodeType === Node.ELEMENT_NODE)\n\n// Determine if an HTML element is visible - Faster than CSS check\nexport const isVisible = el => {\n if (!isElement(el) || !el.parentNode || !contains(d.body, el)) {\n // Note this can fail for shadow dom elements since they\n // are not a direct descendant of document.body\n return false\n }\n if (el.style.display === 'none') {\n // We do this check to help with vue-test-utils when using v-show\n /* istanbul ignore next */\n return false\n }\n // All browsers support getBoundingClientRect(), except JSDOM as it returns all 0's for values :(\n // So any tests that need isVisible will fail in JSDOM\n // Except when we override the getBCR prototype in some tests\n const bcr = getBCR(el)\n return !!(bcr && bcr.height > 0 && bcr.width > 0)\n}\n\n// Determine if an element is disabled\nexport const isDisabled = el =>\n !isElement(el) || el.disabled || hasAttr(el, 'disabled') || hasClass(el, 'disabled')\n\n// Cause/wait-for an element to reflow its content (adjusting its height/width)\nexport const reflow = el => {\n // Requesting an elements offsetHight will trigger a reflow of the element content\n /* istanbul ignore next: reflow doesn't happen in JSDOM */\n return isElement(el) && el.offsetHeight\n}\n\n// Select all elements matching selector. Returns `[]` if none found\nexport const selectAll = (selector, root) =>\n arrayFrom((isElement(root) ? root : d).querySelectorAll(selector))\n\n// Select a single element, returns `null` if not found\nexport const select = (selector, root) =>\n (isElement(root) ? root : d).querySelector(selector) || null\n\n// Determine if an element matches a selector\nexport const matches = (el, selector) => (isElement(el) ? matchesEl.call(el, selector) : false)\n\n// Finds closest element matching selector. Returns `null` if not found\nexport const closest = (selector, root, includeRoot = false) => {\n if (!isElement(root)) {\n return null\n }\n const el = closestEl.call(root, selector)\n\n // Native closest behaviour when `includeRoot` is truthy,\n // else emulate jQuery closest and return `null` if match is\n // the passed in root element when `includeRoot` is falsey\n return includeRoot ? el : el === root ? null : el\n}\n\n// Returns true if the parent element contains the child element\nexport const contains = (parent, child) =>\n parent && isFunction(parent.contains) ? parent.contains(child) : false\n\n// Get an element given an ID\nexport const getById = id => d.getElementById(/^#/.test(id) ? id.slice(1) : id) || null\n\n// Add a class to an element\nexport const addClass = (el, className) => {\n // We are checking for `el.classList` existence here since IE 11\n // returns `undefined` for some elements (e.g. SVG elements)\n // See https://github.com/bootstrap-vue/bootstrap-vue/issues/2713\n if (className && isElement(el) && el.classList) {\n el.classList.add(className)\n }\n}\n\n// Remove a class from an element\nexport const removeClass = (el, className) => {\n // We are checking for `el.classList` existence here since IE 11\n // returns `undefined` for some elements (e.g. SVG elements)\n // See https://github.com/bootstrap-vue/bootstrap-vue/issues/2713\n if (className && isElement(el) && el.classList) {\n el.classList.remove(className)\n }\n}\n\n// Test if an element has a class\nexport const hasClass = (el, className) => {\n // We are checking for `el.classList` existence here since IE 11\n // returns `undefined` for some elements (e.g. SVG elements)\n // See https://github.com/bootstrap-vue/bootstrap-vue/issues/2713\n if (className && isElement(el) && el.classList) {\n return el.classList.contains(className)\n }\n return false\n}\n\n// Set an attribute on an element\nexport const setAttr = (el, attr, val) => {\n if (attr && isElement(el)) {\n el.setAttribute(attr, val)\n }\n}\n\n// Remove an attribute from an element\nexport const removeAttr = (el, attr) => {\n if (attr && isElement(el)) {\n el.removeAttribute(attr)\n }\n}\n\n// Get an attribute value from an element\n// Returns `null` if not found\nexport const getAttr = (el, attr) => (attr && isElement(el) ? el.getAttribute(attr) : null)\n\n// Determine if an attribute exists on an element\n// Returns `true` or `false`, or `null` if element not found\nexport const hasAttr = (el, attr) => (attr && isElement(el) ? el.hasAttribute(attr) : null)\n\n// Return the Bounding Client Rect of an element\n// Returns `null` if not an element\n/* istanbul ignore next: getBoundingClientRect() doesn't work in JSDOM */\nexport const getBCR = el => (isElement(el) ? el.getBoundingClientRect() : null)\n\n// Get computed style object for an element\n/* istanbul ignore next: getComputedStyle() doesn't work in JSDOM */\nexport const getCS = el => (hasWindowSupport && isElement(el) ? w.getComputedStyle(el) : {})\n\n// Returns a `Selection` object representing the range of text selected\n// Returns `null` if no window support is given\n/* istanbul ignore next: getSelection() doesn't work in JSDOM */\nexport const getSel = () => (hasWindowSupport && w.getSelection ? w.getSelection() : null)\n\n// Return an element's offset with respect to document element\n// https://j11y.io/jquery/#v=git&fn=jQuery.fn.offset\nexport const offset = el => /* istanbul ignore next: getBoundingClientRect(), getClientRects() doesn't work in JSDOM */ {\n const _offset = { top: 0, left: 0 }\n if (!isElement(el) || el.getClientRects().length === 0) {\n return _offset\n }\n const bcr = getBCR(el)\n if (bcr) {\n const win = el.ownerDocument.defaultView\n _offset.top = bcr.top + win.pageYOffset\n _offset.left = bcr.left + win.pageXOffset\n }\n return _offset\n}\n\n// Return an element's offset with respect to to its offsetParent\n// https://j11y.io/jquery/#v=git&fn=jQuery.fn.position\nexport const position = el => /* istanbul ignore next: getBoundingClientRect() doesn't work in JSDOM */ {\n let _offset = { top: 0, left: 0 }\n if (!isElement(el)) {\n return _offset\n }\n let parentOffset = { top: 0, left: 0 }\n const elStyles = getCS(el)\n if (elStyles.position === 'fixed') {\n _offset = getBCR(el) || _offset\n } else {\n _offset = offset(el)\n const doc = el.ownerDocument\n let offsetParent = el.offsetParent || doc.documentElement\n while (\n offsetParent &&\n (offsetParent === doc.body || offsetParent === doc.documentElement) &&\n getCS(offsetParent).position === 'static'\n ) {\n offsetParent = offsetParent.parentNode\n }\n if (offsetParent && offsetParent !== el && offsetParent.nodeType === Node.ELEMENT_NODE) {\n parentOffset = offset(offsetParent)\n const offsetParentStyles = getCS(offsetParent)\n parentOffset.top += parseFloat(offsetParentStyles.borderTopWidth)\n parentOffset.left += parseFloat(offsetParentStyles.borderLeftWidth)\n }\n }\n return {\n top: _offset.top - parentOffset.top - parseFloat(elStyles.marginTop),\n left: _offset.left - parentOffset.left - parseFloat(elStyles.marginLeft)\n }\n}\n","// Number utilities\n\n// Converts a value (string, number, etc) to an integer number\n// Assumes radix base 10\n// Returns NaN if the value cannot be converted\nexport const toInteger = val => parseInt(val, 10)\n\n// Converts a value (string, number, etc) to a number\n// Returns NaN if the value cannot be converted\nexport const toFloat = val => parseFloat(val)\n\n// Converts a value (string, number, etc) to a string\n// representation with 'precision' digits after the decimal\n// Returns the string 'NaN' if the value cannot be converted\nexport const toFixed = (val, precision) => toFloat(val).toFixed(toInteger(precision) || 0)\n","var e=function(){return(e=Object.assign||function(e){for(var t,r=1,s=arguments.length;r<s;r++)for(var a in t=arguments[r])Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e}).apply(this,arguments)},t={kebab:/-(\\w)/g,styleProp:/:(.*)/,styleList:/;(?![^(]*\\))/g};function r(e,t){return t?t.toUpperCase():\"\"}function s(e){for(var s,a={},c=0,o=e.split(t.styleList);c<o.length;c++){var n=o[c].split(t.styleProp),i=n[0],l=n[1];(i=i.trim())&&(\"string\"==typeof l&&(l=l.trim()),a[(s=i,s.replace(t.kebab,r))]=l)}return a}function a(){for(var t,r,a={},c=arguments.length;c--;)for(var o=0,n=Object.keys(arguments[c]);o<n.length;o++)switch(t=n[o]){case\"class\":case\"style\":case\"directives\":if(Array.isArray(a[t])||(a[t]=[]),\"style\"===t){var i=void 0;i=Array.isArray(arguments[c].style)?arguments[c].style:[arguments[c].style];for(var l=0;l<i.length;l++){var y=i[l];\"string\"==typeof y&&(i[l]=s(y))}arguments[c].style=i}a[t]=a[t].concat(arguments[c][t]);break;case\"staticClass\":if(!arguments[c][t])break;void 0===a[t]&&(a[t]=\"\"),a[t]&&(a[t]+=\" \"),a[t]+=arguments[c][t].trim();break;case\"on\":case\"nativeOn\":a[t]||(a[t]={});for(var p=0,f=Object.keys(arguments[c][t]||{});p<f.length;p++)r=f[p],a[t][r]?a[t][r]=[].concat(a[t][r],arguments[c][t][r]):a[t][r]=arguments[c][t][r];break;case\"attrs\":case\"props\":case\"domProps\":case\"scopedSlots\":case\"staticStyle\":case\"hook\":case\"transition\":a[t]||(a[t]={}),a[t]=e({},arguments[c][t],a[t]);break;case\"slot\":case\"key\":case\"ref\":case\"tag\":case\"show\":case\"keepAlive\":default:a[t]||(a[t]=arguments[c][t])}return a}export{a as mergeData};\n//# sourceMappingURL=lib.esm.js.map\n","// Generic Bootstrap v4 fade (no-fade) transition component\n//\n// Assumes that `show` class is not required when\n// the transition has finished the enter transition\n// (show and fade classes are only applied during transition)\n\nimport Vue from './vue'\nimport { mergeData } from 'vue-functional-data-merge'\nimport { isPlainObject } from './inspect'\n\nconst NO_FADE_PROPS = {\n name: '',\n enterClass: '',\n enterActiveClass: '',\n enterToClass: 'show',\n leaveClass: 'show',\n leaveActiveClass: '',\n leaveToClass: ''\n}\n\nconst FADE_PROPS = {\n ...NO_FADE_PROPS,\n enterActiveClass: 'fade',\n leaveActiveClass: 'fade'\n}\n\n// @vue/component\nexport const BVTransition = /*#__PURE__*/ Vue.extend({\n name: 'BVTransition',\n functional: true,\n props: {\n noFade: {\n // Only applicable to the built in transition\n // Has no effect if `trans-props` provided\n type: Boolean,\n default: false\n },\n appear: {\n // Has no effect if `trans-props` provided\n type: Boolean,\n default: false\n },\n mode: {\n // Can be overridden by user supplied trans-props\n type: String\n // default: undefined\n },\n // For user supplied transitions (if needed)\n transProps: {\n type: Object,\n default: null\n }\n },\n render(h, { children, data, props }) {\n let transProps = props.transProps\n if (!isPlainObject(transProps)) {\n transProps = props.noFade ? NO_FADE_PROPS : FADE_PROPS\n if (props.appear) {\n // Default the appear classes to equal the enter classes\n transProps = {\n ...transProps,\n appear: true,\n appearClass: transProps.enterClass,\n appearActiveClass: transProps.enterActiveClass,\n appearToClass: transProps.enterToClass\n }\n }\n }\n transProps = {\n mode: props.mode,\n ...transProps,\n // We always need `css` true\n css: true\n }\n return h(\n 'transition',\n // Any transition event listeners will get merged here\n mergeData(data, { props: transProps }),\n children\n )\n }\n})\n\nexport default BVTransition\n","import identity from './identity'\nimport { concat } from './array'\nimport { isFunction } from './inspect'\n\n// Note for functional components:\n// In functional components, `slots` is a function so it must be called\n// first before passing to the below methods. `scopedSlots` is always an\n// object and may be undefined (for Vue < 2.6.x)\n\n/**\n * Returns true if either scoped or unscoped named slot exists\n *\n * @param {String, Array} name or name[]\n * @param {Object} scopedSlots\n * @param {Object} slots\n * @returns {Array|undefined} VNodes\n */\nconst hasNormalizedSlot = (names, $scopedSlots = {}, $slots = {}) => {\n // Ensure names is an array\n names = concat(names).filter(identity)\n // Returns true if the either a $scopedSlot or $slot exists with the specified name\n return names.some(name => $scopedSlots[name] || $slots[name])\n}\n\n/**\n * Returns VNodes for named slot either scoped or unscoped\n *\n * @param {String, Array} name or name[]\n * @param {String} scope\n * @param {Object} scopedSlots\n * @param {Object} slots\n * @returns {Array|undefined} VNodes\n */\nconst normalizeSlot = (names, scope = {}, $scopedSlots = {}, $slots = {}) => {\n // Ensure names is an array\n names = concat(names).filter(identity)\n let slot\n for (let i = 0; i < names.length && !slot; i++) {\n const name = names[i]\n slot = $scopedSlots[name] || $slots[name]\n }\n // Note: in Vue 2.6.x, all named slots are also scoped slots\n return isFunction(slot) ? slot(scope) : slot\n}\n\n// Named exports\nexport { hasNormalizedSlot, normalizeSlot }\n\n// Default export (backwards compatibility)\nexport default normalizeSlot\n","import { hasNormalizedSlot, normalizeSlot } from '../utils/normalize-slot'\nimport { concat } from '../utils/array'\n\nexport default {\n methods: {\n hasNormalizedSlot(names) {\n // Returns true if the either a $scopedSlot or $slot exists with the specified name\n // `names` can be a string name or an array of names\n return hasNormalizedSlot(names, this.$scopedSlots, this.$slots)\n },\n normalizeSlot(names, scope = {}) {\n // Returns an array of rendered VNodes if slot found.\n // Returns undefined if not found.\n // `names` can be a string name or an array of names\n const vNodes = normalizeSlot(names, scope, this.$scopedSlots, this.$slots)\n return vNodes ? concat(vNodes) : vNodes\n }\n }\n}\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\nimport { getComponentConfig } from '../../utils/config'\nimport { isEvent } from '../../utils/inspect'\nimport { hasNormalizedSlot, normalizeSlot } from '../../utils/normalize-slot'\n\nconst NAME = 'BButtonClose'\n\nconst props = {\n content: {\n type: String,\n default: () => getComponentConfig(NAME, 'content')\n },\n disabled: {\n type: Boolean,\n default: false\n },\n ariaLabel: {\n type: String,\n default: () => getComponentConfig(NAME, 'ariaLabel')\n },\n textVariant: {\n type: String,\n default: () => getComponentConfig(NAME, 'textVariant')\n }\n}\n\n// @vue/component\nexport const BButtonClose = /*#__PURE__*/ Vue.extend({\n name: NAME,\n functional: true,\n props,\n render(h, { props, data, slots, scopedSlots }) {\n const $slots = slots()\n const $scopedSlots = scopedSlots || {}\n\n const componentData = {\n staticClass: 'close',\n class: {\n [`text-${props.textVariant}`]: props.textVariant\n },\n attrs: {\n type: 'button',\n disabled: props.disabled,\n 'aria-label': props.ariaLabel ? String(props.ariaLabel) : null\n },\n on: {\n click(evt) {\n // Ensure click on button HTML content is also disabled\n /* istanbul ignore if: bug in JSDOM still emits click on inner element */\n if (props.disabled && isEvent(evt)) {\n evt.stopPropagation()\n evt.preventDefault()\n }\n }\n }\n }\n // Careful not to override the default slot with innerHTML\n if (!hasNormalizedSlot('default', $scopedSlots, $slots)) {\n componentData.domProps = { innerHTML: props.content }\n }\n return h(\n 'button',\n mergeData(data, componentData),\n normalizeSlot('default', {}, $scopedSlots, $slots)\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport { getComponentConfig } from '../../utils/config'\nimport { requestAF } from '../../utils/dom'\nimport { isBoolean } from '../../utils/inspect'\nimport { toInteger } from '../../utils/number'\nimport BVTransition from '../../utils/bv-transition'\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\nimport { BButtonClose } from '../button/button-close'\n\nconst NAME = 'BAlert'\n\n// Convert `show` value to a number\nconst parseCountDown = show => {\n if (show === '' || isBoolean(show)) {\n return 0\n }\n show = toInteger(show)\n return show > 0 ? show : 0\n}\n\n// Convert `show` value to a boolean\nconst parseShow = show => {\n if (show === '' || show === true) {\n return true\n }\n if (toInteger(show) < 1) {\n // Boolean will always return false for the above comparison\n return false\n }\n return !!show\n}\n\n// Is a value number like (i.e. a number or a number as string)\nconst isNumericLike = value => !isNaN(toInteger(value))\n\n// @vue/component\nexport const BAlert = /*#__PURE__*/ Vue.extend({\n name: NAME,\n mixins: [normalizeSlotMixin],\n model: {\n prop: 'show',\n event: 'input'\n },\n props: {\n variant: {\n type: String,\n default: () => getComponentConfig(NAME, 'variant')\n },\n dismissible: {\n type: Boolean,\n default: false\n },\n dismissLabel: {\n type: String,\n default: () => getComponentConfig(NAME, 'dismissLabel')\n },\n show: {\n type: [Boolean, Number, String],\n default: false\n },\n fade: {\n type: Boolean,\n default: false\n }\n },\n data() {\n return {\n countDownTimerId: null,\n countDown: 0,\n // If initially shown, we need to set these for SSR\n localShow: parseShow(this.show)\n }\n },\n watch: {\n show(newVal) {\n this.countDown = parseCountDown(newVal)\n this.localShow = parseShow(newVal)\n },\n countDown(newVal) {\n this.clearTimer()\n if (isNumericLike(this.show)) {\n // Ignore if this.show transitions to a boolean value.\n this.$emit('dismiss-count-down', newVal)\n if (this.show !== newVal) {\n // Update the v-model if needed\n this.$emit('input', newVal)\n }\n if (newVal > 0) {\n this.localShow = true\n this.countDownTimerId = setTimeout(() => {\n this.countDown--\n }, 1000)\n } else {\n // Slightly delay the hide to allow any UI updates\n this.$nextTick(() => {\n requestAF(() => {\n this.localShow = false\n })\n })\n }\n }\n },\n localShow(newVal) {\n if (!newVal && (this.dismissible || isNumericLike(this.show))) {\n // Only emit dismissed events for dismissible or auto dismissing alerts\n this.$emit('dismissed')\n }\n if (!isNumericLike(this.show) && this.show !== newVal) {\n // Only emit booleans if we weren't passed a number via `this.show`\n this.$emit('input', newVal)\n }\n }\n },\n created() {\n this.countDown = parseCountDown(this.show)\n this.localShow = parseShow(this.show)\n },\n mounted() {\n this.countDown = parseCountDown(this.show)\n this.localShow = parseShow(this.show)\n },\n beforeDestroy() {\n this.clearTimer()\n },\n methods: {\n dismiss() {\n this.clearTimer()\n this.countDown = 0\n this.localShow = false\n },\n clearTimer() {\n if (this.countDownTimerId) {\n clearInterval(this.countDownTimerId)\n this.countDownTimerId = null\n }\n }\n },\n render(h) {\n let $alert // undefined\n if (this.localShow) {\n let $dismissBtn = h()\n if (this.dismissible) {\n // Add dismiss button\n $dismissBtn = h(\n BButtonClose,\n { attrs: { 'aria-label': this.dismissLabel }, on: { click: this.dismiss } },\n [this.normalizeSlot('dismiss')]\n )\n }\n $alert = h(\n 'div',\n {\n key: this._uid,\n staticClass: 'alert',\n class: {\n 'alert-dismissible': this.dismissible,\n [`alert-${this.variant}`]: this.variant\n },\n attrs: { role: 'alert', 'aria-live': 'polite', 'aria-atomic': true }\n },\n [$dismissBtn, this.normalizeSlot('default')]\n )\n $alert = [$alert]\n }\n return h(BVTransition, { props: { noFade: !this.fade } }, $alert)\n }\n})\n","import { BAlert } from './alert'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst AlertPlugin = /*#__PURE__*/ pluginFactory({\n components: { BAlert }\n})\n\nexport { AlertPlugin, BAlert }\n","import identity from './identity'\nimport { isArray } from './inspect'\nimport { keys } from './object'\n\n/**\n * Given an array of properties or an object of property keys,\n * plucks all the values off the target object, returning a new object\n * that has props that reference the original prop values\n *\n * @param {{}|string[]} keysToPluck\n * @param {{}} objToPluck\n * @param {Function} transformFn\n * @return {{}}\n */\nconst pluckProps = (keysToPluck, objToPluck, transformFn = identity) =>\n (isArray(keysToPluck) ? keysToPluck.slice() : keys(keysToPluck)).reduce((memo, prop) => {\n memo[transformFn(prop)] = objToPluck[prop]\n return memo\n }, {})\n\nexport default pluckProps\n","// String utilities\nimport { isArray, isPlainObject, isString, isUndefinedOrNull } from './inspect'\n\n// --- Constants ---\n\nconst RX_TRIM_LEFT = /^\\s+/\nconst RX_TRIM_RIGHT = /\\s+$/\nconst RX_REGEXP_REPLACE = /[-/\\\\^$*+?.()|[\\]{}]/g\nconst RX_UN_KEBAB = /-(\\w)/g\nconst RX_HYPHENATE = /\\B([A-Z])/g\n\n// --- Utilities ---\n\n// Converts PascalCase or camelCase to kebab-case\nexport const kebabCase = str => {\n return str.replace(RX_HYPHENATE, '-$1').toLowerCase()\n}\n\n// Converts a kebab-case or camelCase string to PascalCase\nexport const pascalCase = str => {\n str = kebabCase(str).replace(RX_UN_KEBAB, (_, c) => (c ? c.toUpperCase() : ''))\n return str.charAt(0).toUpperCase() + str.slice(1)\n}\n\n// Lowercases the first letter of a string and returns a new string\nexport const lowerFirst = str => {\n str = isString(str) ? str.trim() : String(str)\n return str.charAt(0).toLowerCase() + str.slice(1)\n}\n\n// Uppercases the first letter of a string and returns a new string\nexport const upperFirst = str => {\n str = isString(str) ? str.trim() : String(str)\n return str.charAt(0).toUpperCase() + str.slice(1)\n}\n\n// Escape characters to be used in building a regular expression\nexport const escapeRegExp = str => str.replace(RX_REGEXP_REPLACE, '\\\\$&')\n\n// Convert a value to a string that can be rendered\n// `undefined`/`null` will be converted to `''`\n// Plain objects and arrays will be JSON stringified\nexport const toString = (val, spaces = 2) => {\n return isUndefinedOrNull(val)\n ? ''\n : isArray(val) || (isPlainObject(val) && val.toString === Object.prototype.toString)\n ? JSON.stringify(val, null, spaces)\n : String(val)\n}\n\n// Remove leading white space from a string\nexport const trimLeft = str => toString(str).replace(RX_TRIM_LEFT, '')\n\n// Remove Trailing white space from a string\nexport const trimRight = str => toString(str).replace(RX_TRIM_RIGHT, '')\n\n// Remove leading and trailing white space from a string\nexport const trim = str => toString(str).trim()\n\n// Lower case a string\nexport const lowerCase = str => toString(str).toLowerCase()\n\n// Upper case a string\nexport const upperCase = str => toString(str).toUpperCase()\n","import { isArray, isNull, isPlainObject, isString, isUndefined } from './inspect'\nimport { keys } from './object'\nimport { toString } from './string'\n\nconst ANCHOR_TAG = 'a'\n\n// Precompile RegExp\nconst commaRE = /%2C/g\nconst encodeReserveRE = /[!'()*]/g\nconst plusRE = /\\+/g\nconst queryStartRE = /^(\\?|#|&)/\n\n// Method to replace reserved chars\nconst encodeReserveReplacer = c => '%' + c.charCodeAt(0).toString(16)\n\n// Fixed encodeURIComponent which is more conformant to RFC3986:\n// - escapes [!'()*]\n// - preserve commas\nconst encode = str =>\n encodeURIComponent(toString(str))\n .replace(encodeReserveRE, encodeReserveReplacer)\n .replace(commaRE, ',')\n\nconst decode = decodeURIComponent\n\n// Stringifies an object of query parameters\n// See: https://github.com/vuejs/vue-router/blob/dev/src/util/query.js\nexport const stringifyQueryObj = obj => {\n if (!isPlainObject(obj)) {\n return ''\n }\n\n const query = keys(obj)\n .map(key => {\n const val = obj[key]\n if (isUndefined(val)) {\n return ''\n } else if (isNull(val)) {\n return encode(key)\n } else if (isArray(val)) {\n return val\n .reduce((results, val2) => {\n if (isNull(val2)) {\n results.push(encode(key))\n } else if (!isUndefined(val2)) {\n // Faster than string interpolation\n results.push(encode(key) + '=' + encode(val2))\n }\n return results\n }, [])\n .join('&')\n }\n // Faster than string interpolation\n return encode(key) + '=' + encode(val)\n })\n /* must check for length, as we only want to filter empty strings, not things that look falsey! */\n .filter(x => x.length > 0)\n .join('&')\n\n return query ? `?${query}` : ''\n}\n\nexport const parseQuery = query => {\n const parsed = {}\n query = toString(query)\n .trim()\n .replace(queryStartRE, '')\n\n if (!query) {\n return parsed\n }\n\n query.split('&').forEach(param => {\n const parts = param.replace(plusRE, ' ').split('=')\n const key = decode(parts.shift())\n const val = parts.length > 0 ? decode(parts.join('=')) : null\n\n if (isUndefined(parsed[key])) {\n parsed[key] = val\n } else if (isArray(parsed[key])) {\n parsed[key].push(val)\n } else {\n parsed[key] = [parsed[key], val]\n }\n })\n\n return parsed\n}\n\nexport const isRouterLink = tag => toString(tag).toLowerCase() !== ANCHOR_TAG\n\nexport const computeTag = ({ to, disabled } = {}, thisOrParent) => {\n return thisOrParent.$router && to && !disabled\n ? thisOrParent.$nuxt\n ? 'nuxt-link'\n : 'router-link'\n : ANCHOR_TAG\n}\n\nexport const computeRel = ({ target, rel } = {}) => {\n if (target === '_blank' && isNull(rel)) {\n return 'noopener'\n }\n return rel || null\n}\n\nexport const computeHref = (\n { href, to } = {},\n tag = ANCHOR_TAG,\n fallback = '#',\n toFallback = '/'\n) => {\n // We've already checked the $router in computeTag(), so isRouterLink() indicates a live router.\n // When deferring to Vue Router's router-link, don't use the href attribute at all.\n // We return null, and then remove href from the attributes passed to router-link\n if (isRouterLink(tag)) {\n return null\n }\n\n // Return `href` when explicitly provided\n if (href) {\n return href\n }\n\n // Reconstruct `href` when `to` used, but no router\n if (to) {\n // Fallback to `to` prop (if `to` is a string)\n if (isString(to)) {\n return to || toFallback\n }\n // Fallback to `to.path + to.query + to.hash` prop (if `to` is an object)\n if (isPlainObject(to) && (to.path || to.query || to.hash)) {\n const path = toString(to.path)\n const query = stringifyQueryObj(to.query)\n let hash = toString(to.hash)\n hash = !hash || hash.charAt(0) === '#' ? hash : `#${hash}`\n return `${path}${query}${hash}` || toFallback\n }\n }\n\n // If nothing is provided return the fallback\n return fallback\n}\n","import Vue from '../../utils/vue'\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\nimport { concat } from '../../utils/array'\nimport { isEvent, isFunction, isUndefined } from '../../utils/inspect'\nimport { computeHref, computeRel, computeTag, isRouterLink } from '../../utils/router'\n\n/**\n * The Link component is used in many other BV components.\n * As such, sharing its props makes supporting all its features easier.\n * However, some components need to modify the defaults for their own purpose.\n * Prefer sharing a fresh copy of the props to ensure mutations\n * do not affect other component references to the props.\n *\n * https://github.com/vuejs/vue-router/blob/dev/src/components/link.js\n * @return {{}}\n */\nexport const propsFactory = () => ({\n href: {\n type: String,\n default: null\n },\n rel: {\n type: String,\n default: null\n },\n target: {\n type: String,\n default: '_self'\n },\n active: {\n type: Boolean,\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n // router-link specific props\n to: {\n type: [String, Object],\n default: null\n },\n append: {\n type: Boolean,\n default: false\n },\n replace: {\n type: Boolean,\n default: false\n },\n event: {\n type: [String, Array],\n default: 'click'\n },\n activeClass: {\n type: String\n // default: undefined\n },\n exact: {\n type: Boolean,\n default: false\n },\n exactActiveClass: {\n type: String\n // default: undefined\n },\n routerTag: {\n type: String,\n default: 'a'\n },\n // nuxt-link specific prop(s)\n noPrefetch: {\n type: Boolean,\n default: false\n }\n})\n\nexport const props = propsFactory()\n\n// @vue/component\nexport const BLink = /*#__PURE__*/ Vue.extend({\n name: 'BLink',\n mixins: [normalizeSlotMixin],\n inheritAttrs: false,\n props: propsFactory(),\n computed: {\n computedTag() {\n // We don't pass `this` as the first arg as we need reactivity of the props\n return computeTag({ to: this.to, disabled: this.disabled }, this)\n },\n isRouterLink() {\n return isRouterLink(this.computedTag)\n },\n computedRel() {\n // We don't pass `this` as the first arg as we need reactivity of the props\n return computeRel({ target: this.target, rel: this.rel })\n },\n computedHref() {\n // We don't pass `this` as the first arg as we need reactivity of the props\n return computeHref({ to: this.to, href: this.href }, this.computedTag)\n },\n computedProps() {\n return this.isRouterLink ? { ...this.$props, tag: this.routerTag } : {}\n }\n },\n methods: {\n onClick(evt) {\n const evtIsEvent = isEvent(evt)\n const isRouterLink = this.isRouterLink\n const suppliedHandler = this.$listeners.click\n if (evtIsEvent && this.disabled) {\n // Stop event from bubbling up\n evt.stopPropagation()\n // Kill the event loop attached to this specific `EventTarget`\n // Needed to prevent `vue-router` for doing its thing\n evt.stopImmediatePropagation()\n } else {\n /* istanbul ignore next: difficult to test, but we know it works */\n if (isRouterLink && evt.currentTarget.__vue__) {\n // Router links do not emit instance `click` events, so we\n // add in an `$emit('click', evt)` on its Vue instance\n evt.currentTarget.__vue__.$emit('click', evt)\n }\n // Call the suppliedHandler(s), if any provided\n concat(suppliedHandler)\n .filter(h => isFunction(h))\n .forEach(handler => {\n handler(...arguments)\n })\n // Emit the global `$root` click event\n this.$root.$emit('clicked::link', evt)\n }\n // Stop scroll-to-top behavior or navigation on\n // regular links when href is just '#'\n if (evtIsEvent && (this.disabled || (!isRouterLink && this.computedHref === '#'))) {\n evt.preventDefault()\n }\n },\n focus() {\n if (this.$el && this.$el.focus) {\n this.$el.focus()\n }\n },\n blur() {\n if (this.$el && this.$el.blur) {\n this.$el.blur()\n }\n }\n },\n render(h) {\n const tag = this.computedTag\n const rel = this.computedRel\n const href = this.computedHref\n const isRouterLink = this.isRouterLink\n\n const componentData = {\n class: { active: this.active, disabled: this.disabled },\n attrs: {\n ...this.$attrs,\n rel,\n target: this.target,\n tabindex: this.disabled\n ? '-1'\n : isUndefined(this.$attrs.tabindex)\n ? null\n : this.$attrs.tabindex,\n 'aria-disabled': this.disabled ? 'true' : null\n },\n props: this.computedProps\n }\n // Add the event handlers. We must use `nativeOn` for\n // `<router-link>`/`<nuxt-link>` instead of `on`\n componentData[isRouterLink ? 'nativeOn' : 'on'] = {\n // Transfer all listeners (native) to the root element\n ...this.$listeners,\n // We want to overwrite any click handler since our callback\n // will invoke the user supplied handler(s) if `!this.disabled`\n click: this.onClick\n }\n\n // If href attribute exists on <router-link> (even undefined or null) it fails working on\n // SSR, so we explicitly add it here if needed (i.e. if computedHref() is truthy)\n if (href) {\n componentData.attrs.href = href\n } else {\n // Ensure the prop HREF does not exist for router links\n delete componentData.props.href\n }\n\n return h(tag, componentData, this.normalizeSlot('default'))\n }\n})\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\nimport { getComponentConfig } from '../../utils/config'\nimport pluckProps from '../../utils/pluck-props'\nimport { BLink, propsFactory as linkPropsFactory } from '../link/link'\n\nconst NAME = 'BBadge'\n\nconst linkProps = linkPropsFactory()\ndelete linkProps.href.default\ndelete linkProps.to.default\n\nexport const props = {\n ...linkProps,\n tag: {\n type: String,\n default: 'span'\n },\n variant: {\n type: String,\n default: () => getComponentConfig(NAME, 'variant')\n },\n pill: {\n type: Boolean,\n default: false\n }\n}\n\n// @vue/component\nexport const BBadge = /*#__PURE__*/ Vue.extend({\n name: NAME,\n functional: true,\n props,\n render(h, { props, data, children }) {\n const isBLink = props.href || props.to\n const tag = isBLink ? BLink : props.tag\n\n const componentData = {\n staticClass: 'badge',\n class: [\n props.variant ? `badge-${props.variant}` : 'badge-secondary',\n {\n 'badge-pill': props.pill,\n active: props.active,\n disabled: props.disabled\n }\n ],\n props: isBLink ? pluckProps(linkProps, props) : {}\n }\n\n return h(tag, mergeData(data, componentData), children)\n }\n})\n","import { BBadge } from './badge'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst BadgePlugin = /*#__PURE__*/ pluginFactory({\n components: { BBadge }\n})\n\nexport { BadgePlugin, BBadge }\n","const stripTagsRegex = /(<([^>]+)>)/gi\n\n// Removes any thing that looks like an HTML tag from the supplied string\nexport const stripTags = (text = '') => String(text).replace(stripTagsRegex, '')\n\n// Generate a domProps object for either innerHTML, textContent or nothing\nexport const htmlOrText = (innerHTML, textContent) => {\n return innerHTML ? { innerHTML } : textContent ? { textContent } : {}\n}\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\nimport pluckProps from '../../utils/pluck-props'\nimport { htmlOrText } from '../../utils/html'\nimport { BLink, propsFactory as linkPropsFactory } from '../link/link'\n\nexport const props = {\n ...linkPropsFactory(),\n text: {\n type: String,\n default: null\n },\n html: {\n type: String,\n default: null\n },\n ariaCurrent: {\n type: String,\n default: 'location'\n }\n}\n\n// @vue/component\nexport const BBreadcrumbLink = /*#__PURE__*/ Vue.extend({\n name: 'BBreadcrumbLink',\n functional: true,\n props,\n render(h, { props: suppliedProps, data, children }) {\n const tag = suppliedProps.active ? 'span' : BLink\n\n const componentData = { props: pluckProps(props, suppliedProps) }\n if (suppliedProps.active) {\n componentData.attrs = { 'aria-current': suppliedProps.ariaCurrent }\n }\n\n if (!children) {\n componentData.domProps = htmlOrText(suppliedProps.html, suppliedProps.text)\n }\n\n return h(tag, mergeData(data, componentData), children)\n }\n})\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\nimport { BBreadcrumbLink, props } from './breadcrumb-link'\n\n// @vue/component\nexport const BBreadcrumbItem = /*#__PURE__*/ Vue.extend({\n name: 'BBreadcrumbItem',\n functional: true,\n props,\n render(h, { props, data, children }) {\n return h(\n 'li',\n mergeData(data, {\n staticClass: 'breadcrumb-item',\n class: { active: props.active }\n }),\n [h(BBreadcrumbLink, { props }, children)]\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\nimport { isArray, isObject } from '../../utils/inspect'\nimport { toString } from '../../utils/string'\nimport { BBreadcrumbItem } from './breadcrumb-item'\n\nexport const props = {\n items: {\n type: Array,\n default: null\n }\n}\n\n// @vue/component\nexport const BBreadcrumb = /*#__PURE__*/ Vue.extend({\n name: 'BBreadcrumb',\n functional: true,\n props,\n render(h, { props, data, children }) {\n let childNodes = children\n // Build child nodes from items if given.\n if (isArray(props.items)) {\n let activeDefined = false\n childNodes = props.items.map((item, idx) => {\n if (!isObject(item)) {\n item = { text: toString(item) }\n }\n // Copy the value here so we can normalize it.\n let active = item.active\n if (active) {\n activeDefined = true\n }\n if (!active && !activeDefined) {\n // Auto-detect active by position in list.\n active = idx + 1 === props.items.length\n }\n\n return h(BBreadcrumbItem, { props: { ...item, active } })\n })\n }\n\n return h('ol', mergeData(data, { staticClass: 'breadcrumb' }), childNodes)\n }\n})\n","import { BBreadcrumb } from './breadcrumb'\nimport { BBreadcrumbItem } from './breadcrumb-item'\nimport { BBreadcrumbLink } from './breadcrumb-link'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst BreadcrumbPlugin = /*#__PURE__*/ pluginFactory({\n components: { BBreadcrumb, BBreadcrumbItem, BBreadcrumbLink }\n})\n\nexport { BreadcrumbPlugin, BBreadcrumb, BBreadcrumbItem, BBreadcrumbLink }\n","/*\n * Key Codes (events)\n */\nimport { freeze } from './object'\n\nconst KEY_CODES = freeze({\n SPACE: 32,\n ENTER: 13,\n ESC: 27,\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40,\n PAGEUP: 33,\n PAGEDOWN: 34,\n HOME: 36,\n END: 35,\n TAB: 9,\n SHIFT: 16,\n CTRL: 17,\n BACKSPACE: 8,\n ALT: 18,\n PAUSE: 19,\n BREAK: 19,\n INSERT: 45,\n INS: 45,\n DELETE: 46\n})\n\nexport default KEY_CODES\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\nimport KeyCodes from '../../utils/key-codes'\nimport pluckProps from '../../utils/pluck-props'\nimport { concat } from '../../utils/array'\nimport { getComponentConfig } from '../../utils/config'\nimport { addClass, removeClass } from '../../utils/dom'\nimport { isBoolean, isEvent, isFunction } from '../../utils/inspect'\nimport { keys } from '../../utils/object'\nimport { toString } from '../../utils/string'\nimport { BLink, propsFactory as linkPropsFactory } from '../link/link'\n\n// --- Constants --\n\nconst NAME = 'BButton'\n\nconst btnProps = {\n block: {\n type: Boolean,\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n size: {\n type: String,\n default: () => getComponentConfig(NAME, 'size')\n },\n variant: {\n type: String,\n default: () => getComponentConfig(NAME, 'variant')\n },\n type: {\n type: String,\n default: 'button'\n },\n tag: {\n type: String,\n default: 'button'\n },\n pill: {\n type: Boolean,\n default: false\n },\n squared: {\n type: Boolean,\n default: false\n },\n pressed: {\n // Tri-state: `true`, `false` or `null`\n // => On, off, not a toggle\n type: Boolean,\n default: null\n }\n}\n\nconst linkProps = linkPropsFactory()\ndelete linkProps.href.default\ndelete linkProps.to.default\nconst linkPropKeys = keys(linkProps)\n\nexport const props = { ...linkProps, ...btnProps }\n\n// --- Helper methods ---\n\n// Returns `true` if a tag's name equals `name`\nconst tagIs = (tag, name) => toString(tag).toLowerCase() === toString(name).toLowerCase()\n\n// Focus handler for toggle buttons\n// Needs class of 'focus' when focused\nconst handleFocus = evt => {\n if (evt.type === 'focusin') {\n addClass(evt.target, 'focus')\n } else if (evt.type === 'focusout') {\n removeClass(evt.target, 'focus')\n }\n}\n\n// Is the requested button a link?\n// If tag prop is set to `a`, we use a <b-link> to get proper disabled handling\nconst isLink = props => props.href || props.to || tagIs(props.tag, 'a')\n\n// Is the button to be a toggle button?\nconst isToggle = props => isBoolean(props.pressed)\n\n// Is the button \"really\" a button?\nconst isButton = props => !(isLink(props) || (props.tag && !tagIs(props.tag, 'button')))\n\n// Is the requested tag not a button or link?\nconst isNonStandardTag = props => !isLink(props) && !isButton(props)\n\n// Compute required classes (non static classes)\nconst computeClass = props => [\n `btn-${props.variant || getComponentConfig(NAME, 'variant')}`,\n {\n [`btn-${props.size}`]: props.size,\n 'btn-block': props.block,\n 'rounded-pill': props.pill,\n 'rounded-0': props.squared && !props.pill,\n disabled: props.disabled,\n active: props.pressed\n }\n]\n\n// Compute the link props to pass to b-link (if required)\nconst computeLinkProps = props => (isLink(props) ? pluckProps(linkPropKeys, props) : null)\n\n// Compute the attributes for a button\nconst computeAttrs = (props, data) => {\n const button = isButton(props)\n const link = isLink(props)\n const toggle = isToggle(props)\n const nonStandardTag = isNonStandardTag(props)\n const hashLink = link && props.href === '#'\n const role = data.attrs && data.attrs.role ? data.attrs.role : null\n let tabindex = data.attrs ? data.attrs.tabindex : null\n if (nonStandardTag || hashLink) {\n tabindex = '0'\n }\n return {\n // Type only used for \"real\" buttons\n type: button && !link ? props.type : null,\n // Disabled only set on \"real\" buttons\n disabled: button ? props.disabled : null,\n // We add a role of button when the tag is not a link or button for ARIA\n // Don't bork any role provided in `data.attrs` when `isLink` or `isButton`\n // Except when link has `href` of `#`\n role: nonStandardTag || hashLink ? 'button' : role,\n // We set the `aria-disabled` state for non-standard tags\n 'aria-disabled': nonStandardTag ? String(props.disabled) : null,\n // For toggles, we need to set the pressed state for ARIA\n 'aria-pressed': toggle ? String(props.pressed) : null,\n // `autocomplete=\"off\"` is needed in toggle mode to prevent some browsers\n // from remembering the previous setting when using the back button\n autocomplete: toggle ? 'off' : null,\n // `tabindex` is used when the component is not a button\n // Links are tabbable, but don't allow disabled, while non buttons or links\n // are not tabbable, so we mimic that functionality by disabling tabbing\n // when disabled, and adding a `tabindex=\"0\"` to non buttons or non links\n tabindex: props.disabled && !button ? '-1' : tabindex\n }\n}\n\n// @vue/component\nexport const BButton = /*#__PURE__*/ Vue.extend({\n name: NAME,\n functional: true,\n props,\n render(h, { props, data, listeners, children }) {\n const toggle = isToggle(props)\n const link = isLink(props)\n const nonStandardTag = isNonStandardTag(props)\n const hashLink = link && props.href === '#'\n const on = {\n keydown(evt) {\n // When the link is a `href=\"#\"` or a non-standard tag (has `role=\"button\"`),\n // we add a keydown handlers for SPACE/ENTER\n /* istanbul ignore next */\n if (props.disabled || !(nonStandardTag || hashLink)) {\n return\n }\n const { keyCode } = evt\n // Add SPACE handler for `href=\"#\"` and ENTER handler for non-standard tags\n if (keyCode === KeyCodes.SPACE || (keyCode === KeyCodes.ENTER && nonStandardTag)) {\n const target = evt.currentTarget || evt.target\n evt.preventDefault()\n target.click()\n }\n },\n click(evt) {\n /* istanbul ignore if: blink/button disabled should handle this */\n if (props.disabled && isEvent(evt)) {\n evt.stopPropagation()\n evt.preventDefault()\n } else if (toggle && listeners && listeners['update:pressed']) {\n // Send `.sync` updates to any \"pressed\" prop (if `.sync` listeners)\n // `concat()` will normalize the value to an array without\n // double wrapping an array value in an array\n concat(listeners['update:pressed']).forEach(fn => {\n if (isFunction(fn)) {\n fn(!props.pressed)\n }\n })\n }\n }\n }\n\n if (toggle) {\n on.focusin = handleFocus\n on.focusout = handleFocus\n }\n\n const componentData = {\n staticClass: 'btn',\n class: computeClass(props),\n props: computeLinkProps(props),\n attrs: computeAttrs(props, data),\n on\n }\n\n return h(link ? BLink : props.tag, mergeData(data, componentData), children)\n }\n})\n","import { BButton } from './button'\nimport { BButtonClose } from './button-close'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst ButtonPlugin = /*#__PURE__*/ pluginFactory({\n components: {\n BButton,\n BBtn: BButton,\n BButtonClose,\n BBtnClose: BButtonClose\n }\n})\n\nexport { ButtonPlugin, BButton, BButtonClose }\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\nimport { getComponentConfig } from '../../utils/config'\n\nconst NAME = 'BButtonGroup'\n\nexport const props = {\n vertical: {\n type: Boolean,\n default: false\n },\n size: {\n type: String,\n default: () => getComponentConfig('BButton', 'size')\n },\n tag: {\n type: String,\n default: 'div'\n },\n ariaRole: {\n type: String,\n default: 'group'\n }\n}\n\n// @vue/component\nexport const BButtonGroup = /*#__PURE__*/ Vue.extend({\n name: NAME,\n functional: true,\n props,\n render(h, { props, data, children }) {\n return h(\n props.tag,\n mergeData(data, {\n class: {\n 'btn-group': !props.vertical,\n 'btn-group-vertical': props.vertical,\n [`btn-group-${props.size}`]: props.size\n },\n attrs: { role: props.ariaRole }\n }),\n children\n )\n }\n})\n","import { BButtonGroup } from './button-group'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst ButtonGroupPlugin = /*#__PURE__*/ pluginFactory({\n components: {\n BButtonGroup,\n BBtnGroup: BButtonGroup\n }\n})\n\nexport { ButtonGroupPlugin, BButtonGroup }\n","import Vue from '../../utils/vue'\nimport { isVisible, selectAll } from '../../utils/dom'\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\nimport KeyCodes from '../../utils/key-codes'\n\nconst ITEM_SELECTOR = [\n '.btn:not(.disabled):not([disabled]):not(.dropdown-item)',\n '.form-control:not(.disabled):not([disabled])',\n 'select:not(.disabled):not([disabled])',\n 'input[type=\"checkbox\"]:not(.disabled)',\n 'input[type=\"radio\"]:not(.disabled)'\n].join(',')\n\n// @vue/component\nexport const BButtonToolbar = /*#__PURE__*/ Vue.extend({\n name: 'BButtonToolbar',\n mixins: [normalizeSlotMixin],\n props: {\n justify: {\n type: Boolean,\n default: false\n },\n keyNav: {\n type: Boolean,\n default: false\n }\n },\n mounted() {\n if (this.keyNav) {\n // Pre-set the tabindexes if the markup does not include tabindex=\"-1\" on the toolbar items\n this.getItems()\n }\n },\n methods: {\n onFocusin(evt) {\n if (evt.target === this.$el) {\n evt.preventDefault()\n evt.stopPropagation()\n this.focusFirst(evt)\n }\n },\n stop(evt) {\n evt.preventDefault()\n evt.stopPropagation()\n },\n onKeydown(evt) {\n if (!this.keyNav) {\n /* istanbul ignore next: should never happen */\n return\n }\n const key = evt.keyCode\n const shift = evt.shiftKey\n if (key === KeyCodes.UP || key === KeyCodes.LEFT) {\n this.stop(evt)\n shift ? this.focusFirst(evt) : this.focusPrev(evt)\n } else if (key === KeyCodes.DOWN || key === KeyCodes.RIGHT) {\n this.stop(evt)\n shift ? this.focusLast(evt) : this.focusNext(evt)\n }\n },\n setItemFocus(item) {\n item && item.focus && item.focus()\n },\n focusFirst() {\n const items = this.getItems()\n this.setItemFocus(items[0])\n },\n focusPrev(evt) {\n let items = this.getItems()\n const index = items.indexOf(evt.target)\n if (index > -1) {\n items = items.slice(0, index).reverse()\n this.setItemFocus(items[0])\n }\n },\n focusNext(evt) {\n let items = this.getItems()\n const index = items.indexOf(evt.target)\n if (index > -1) {\n items = items.slice(index + 1)\n this.setItemFocus(items[0])\n }\n },\n focusLast() {\n const items = this.getItems().reverse()\n this.setItemFocus(items[0])\n },\n getItems() {\n const items = selectAll(ITEM_SELECTOR, this.$el)\n items.forEach(item => {\n // Ensure tabfocus is -1 on any new elements\n item.tabIndex = -1\n })\n return items.filter(el => isVisible(el))\n }\n },\n render(h) {\n return h(\n 'div',\n {\n staticClass: 'btn-toolbar',\n class: { 'justify-content-between': this.justify },\n attrs: {\n role: 'toolbar',\n tabindex: this.keyNav ? '0' : null\n },\n on: this.keyNav\n ? {\n focusin: this.onFocusin,\n keydown: this.onKeydown\n }\n : {}\n },\n [this.normalizeSlot('default')]\n )\n }\n})\n","import { BButtonToolbar } from './button-toolbar'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst ButtonToolbarPlugin = /*#__PURE__*/ pluginFactory({\n components: {\n BButtonToolbar,\n BBtnToolbar: BButtonToolbar\n }\n})\n\nexport { ButtonToolbarPlugin, BButtonToolbar }\n","import { keys } from './object'\nimport { isArray, isDate, isObject } from './inspect'\n\n// Assumes both a and b are arrays!\n// Handles when arrays are \"sparse\" (array.every(...) doesn't handle sparse)\nconst compareArrays = (a, b) => {\n if (a.length !== b.length) {\n return false\n }\n let equal = true\n for (let i = 0; equal && i < a.length; i++) {\n equal = looseEqual(a[i], b[i])\n }\n return equal\n}\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n * Returns boolean true or false\n */\nconst looseEqual = (a, b) => {\n if (a === b) {\n return true\n }\n let aValidType = isDate(a)\n let bValidType = isDate(b)\n if (aValidType || bValidType) {\n return aValidType && bValidType ? a.getTime() === b.getTime() : false\n }\n aValidType = isArray(a)\n bValidType = isArray(b)\n if (aValidType || bValidType) {\n return aValidType && bValidType ? compareArrays(a, b) : false\n }\n aValidType = isObject(a)\n bValidType = isObject(b)\n if (aValidType || bValidType) {\n /* istanbul ignore if: this if will probably never be called */\n if (!aValidType || !bValidType) {\n return false\n }\n const aKeysCount = keys(a).length\n const bKeysCount = keys(b).length\n if (aKeysCount !== bKeysCount) {\n return false\n }\n for (const key in a) {\n // eslint-disable-next-line no-prototype-builtins\n const aHasKey = a.hasOwnProperty(key)\n // eslint-disable-next-line no-prototype-builtins\n const bHasKey = b.hasOwnProperty(key)\n if ((aHasKey && !bHasKey) || (!aHasKey && bHasKey) || !looseEqual(a[key], b[key])) {\n return false\n }\n }\n }\n return String(a) === String(b)\n}\n\nexport default looseEqual\n","// Date utility functions\nimport identity from './identity'\nimport { concat } from './array'\nimport { isDate, isString } from './inspect'\nimport { toInteger } from './number'\n\n// --- Constants ---\n\nconst RX_DATE = /^\\d+-\\d+-\\d+$/\n\n// --- Date utility methods ---\n\n// Create or clone a date (`new Date(...)` shortcut)\nexport const createDate = (...args) => new Date(...args)\n\n// Parse a date sting, or Date object, into a Date object (with no time information)\nexport const parseYMD = date => {\n if (isString(date) && RX_DATE.test(date.trim())) {\n const [year, month, day] = date.split('-').map(toInteger)\n return createDate(year, month - 1, day)\n } else if (isDate(date)) {\n return createDate(date.getFullYear(), date.getMonth(), date.getDate())\n }\n return null\n}\n\n// Format a date object as `YYYY-MM-DD` format\nexport const formatYMD = date => {\n date = parseYMD(date)\n if (!date) {\n return null\n }\n const year = date.getFullYear()\n const month = `0${date.getMonth() + 1}`.slice(-2)\n const day = `0${date.getDate()}`.slice(-2)\n return `${year}-${month}-${day}`\n}\n\n// Given a locale (or locales), resolve the browser available locale\nexport const resolveLocale = (locales, calendar = 'gregory') => /* istanbul ignore next */ {\n locales = concat(locales).filter(identity)\n const fmt = new Intl.DateTimeFormat(locales, { calendar: calendar })\n return fmt.resolvedOptions().locale\n}\n\n// Create a `Intl.DateTimeFormat` formatter function\nexport const createDateFormatter = (locale, options) => /* istanbul ignore next */ {\n const dtf = new Intl.DateTimeFormat(locale, options)\n return dtf.format\n}\n\n// Determine if two dates are the same date (ignoring time portion)\nexport const datesEqual = (date1, date2) => {\n // Returns true of the date portion of two date objects are equal\n // We don't compare the time portion\n return formatYMD(date1) === formatYMD(date2)\n}\n\n// --- Date \"math\" utility methods (for BCalendar component mainly) ---\n\nexport const firstDateOfMonth = date => {\n date = createDate(date)\n date.setDate(1)\n return date\n}\n\nexport const lastDateOfMonth = date => {\n date = createDate(date)\n date.setMonth(date.getMonth() + 1)\n date.setDate(0)\n return date\n}\n\nexport const oneMonthAgo = date => {\n date = createDate(date)\n const month = date.getMonth()\n date.setMonth(month - 1)\n if (date.getMonth() === month) {\n date.setDate(0)\n }\n return date\n}\n\nexport const oneMonthAhead = date => {\n date = createDate(date)\n const month = date.getMonth()\n date.setMonth(month + 1)\n if (date.getMonth() === (month + 2) % 12) {\n date.setDate(0)\n }\n return date\n}\n\nexport const oneYearAgo = date => {\n date = createDate(date)\n const month = date.getMonth()\n date.setMonth(month - 12)\n if (date.getMonth() !== month) {\n date.setDate(0)\n }\n return date\n}\n\nexport const oneYearAhead = date => {\n date = createDate(date)\n const month = date.getMonth()\n date.setMonth(month + 12)\n if (date.getMonth() !== month) {\n date.setDate(0)\n }\n return date\n}\n","/*\n * SSR Safe Client Side ID attribute generation\n * id's can only be generated client side, after mount.\n * this._uid is not synched between server and client.\n */\n\n// @vue/component\nexport default {\n props: {\n id: {\n type: String,\n default: null\n }\n },\n data() {\n return {\n localId_: null\n }\n },\n computed: {\n safeId() {\n // Computed property that returns a dynamic function for creating the ID.\n // Reacts to changes in both .id and .localId_ And regens a new function\n const id = this.id || this.localId_\n\n // We return a function that accepts an optional suffix string\n // So this computed prop looks and works like a method!!!\n // But benefits from Vue's Computed prop caching\n const fn = suffix => {\n if (!id) {\n return null\n }\n suffix = String(suffix || '').replace(/\\s+/g, '_')\n return suffix ? id + '_' + suffix : id\n }\n return fn\n }\n },\n mounted() {\n // mounted only occurs client side\n this.$nextTick(() => {\n // Update dom with auto ID after dom loaded to prevent\n // SSR hydration errors.\n this.localId_ = `__BVID__${this._uid}`\n })\n }\n}\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\nimport identity from '../../utils/identity'\nimport { isUndefinedOrNull } from '../../utils/inspect'\nimport { toFloat } from '../../utils/number'\n\n// Common icon props (should be cloned/spread before using)\nexport const commonIconProps = {\n variant: {\n type: String,\n default: null\n },\n fontScale: {\n type: [Number, String],\n default: 1\n },\n scale: {\n type: [Number, String],\n default: 1\n },\n rotate: {\n type: [Number, String],\n default: 0\n },\n flipH: {\n type: Boolean,\n default: false\n },\n flipV: {\n type: Boolean,\n default: false\n },\n shiftH: {\n type: [Number, String],\n default: 0\n },\n shiftV: {\n type: [Number, String],\n default: 0\n }\n}\n\n// Base attributes needed on all icons\nconst baseAttrs = {\n width: '1em',\n height: '1em',\n viewBox: '0 0 20 20',\n focusable: 'false',\n role: 'img',\n alt: 'icon'\n}\n\n// Shared private base component to reduce bundle/runtime size\n// @vue/component\nexport const BVIconBase = /*#__PURE__*/ Vue.extend({\n name: 'BVIconBase',\n functional: true,\n props: {\n content: {\n type: String\n },\n stacked: {\n type: Boolean,\n default: false\n },\n ...commonIconProps\n },\n render(h, { data, props, children }) {\n const fontScale = Math.max(toFloat(props.fontScale) || 1, 0) || 1\n const scale = Math.max(toFloat(props.scale) || 1, 0) || 1\n const rotate = toFloat(props.rotate) || 0\n const shiftH = toFloat(props.shiftH) || 0\n const shiftV = toFloat(props.shiftV) || 0\n const flipH = props.flipH\n const flipV = props.flipV\n // Compute the transforms\n // Note that order is important as SVG transforms are applied in order from\n // left to right and we want flipping/scale to occur before rotation\n // Note shifting is applied separately\n // Assumes that the viewbox is `0 0 20 20` (`10 10` is the center)\n const hasScale = flipH || flipV || scale !== 1\n const hasTransforms = hasScale || rotate\n const hasShift = shiftH || shiftV\n const transforms = [\n hasTransforms ? 'translate(10 10)' : null,\n hasScale ? `scale(${(flipH ? -1 : 1) * scale} ${(flipV ? -1 : 1) * scale})` : null,\n rotate ? `rotate(${rotate})` : null,\n hasTransforms ? 'translate(-10 -10)' : null\n ].filter(identity)\n\n // Handling stacked icons\n const isStacked = props.stacked\n const hasContent = !isUndefinedOrNull(props.content)\n\n // We wrap the content in a `<g>` for handling the transforms (except shift)\n let $inner = h(\n 'g',\n {\n attrs: { transform: transforms.join(' ') || null },\n domProps: hasContent ? { innerHTML: props.content || '' } : {}\n },\n children\n )\n\n // If needed, we wrap in an additional `<g>` in order to handle the shifting\n if (hasShift) {\n $inner = h(\n 'g',\n { attrs: { transform: `translate(${(20 * shiftH) / 16} ${(-20 * shiftV) / 16})` } },\n [$inner]\n )\n }\n\n return h(\n 'svg',\n mergeData(\n {\n staticClass: 'b-icon bi',\n class: { [`text-${props.variant}`]: !!props.variant },\n attrs: baseAttrs,\n style: isStacked ? {} : { fontSize: fontScale === 1 ? null : `${fontScale * 100}%` }\n },\n // Merge in user supplied data\n data,\n // If icon is stacked, null out some attrs\n isStacked ? { attrs: { width: null, height: null, role: null, alt: null } } : {},\n // These cannot be overridden by users\n {\n attrs: {\n xmlns: isStacked ? null : 'http://www.w3.org/2000/svg',\n fill: 'currentColor'\n }\n }\n ),\n [$inner]\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\nimport { kebabCase, pascalCase, trim } from '../../utils/string'\nimport { commonIconProps, BVIconBase } from './icon-base'\n\n/**\n * Icon component generator function\n *\n * @param {string} icon name (minus the leading `BIcon`)\n * @param {string} raw `innerHTML` for SVG\n * @return {VueComponent}\n */\nexport const makeIcon = (name, content) => {\n // For performance reason we pre-compute some values, so that\n // they are not computed on each render of the icon component\n const iconName = `BIcon${pascalCase(name)}`\n const iconNameClass = `bi-${kebabCase(name)}`\n const svgContent = trim(content || '')\n // Return the icon component definition\n return /*#__PURE__*/ Vue.extend({\n name: iconName,\n functional: true,\n props: {\n ...commonIconProps,\n stacked: {\n type: Boolean,\n default: false\n }\n },\n render(h, { data, props }) {\n return h(\n BVIconBase,\n mergeData(data, { staticClass: iconNameClass, props: { ...props, content: svgContent } })\n )\n }\n })\n}\n","// --- BEGIN AUTO-GENERATED FILE ---\n//\n// @IconsVersion: 1.0.0-alpha2\n// @Generated: 2020-02-18T22:15:15.803Z\n//\n// This file is generated on each build. Do not edit this file!\n\n/*!\n * BootstrapVue Icons, generated from Bootstrap Icons 1.0.0-alpha2\n *\n * @link https://icons.getbootstrap.com/\n * @license MIT\n * https://github.com/twbs/icons/blob/master/LICENSE.md\n */\n\nimport { makeIcon } from './helpers/make-icon'\n\n// --- BootstrapVue custom icons ---\n\nexport const BIconBlank = /*#__PURE__*/ makeIcon('Blank', '')\n\n// --- Bootstrap Icons ---\n\nexport const BIconAlarm = /*#__PURE__*/ makeIcon(\n 'Alarm',\n '<path fill-rule=\"evenodd\" d=\"M10 17a6 6 0 100-12 6 6 0 000 12zm0 1a7 7 0 100-14 7 7 0 000 14z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M10 6.5a.5.5 0 01.5.5v4a.5.5 0 01-.053.224l-1.5 3a.5.5 0 11-.894-.448L9.5 10.882V7a.5.5 0 01.5-.5z\" clip-rule=\"evenodd\"/><path d=\"M2.86 7.387A2.5 2.5 0 116.387 3.86 8.035 8.035 0 002.86 7.387zM13.613 3.86a2.5 2.5 0 113.527 3.527 8.035 8.035 0 00-3.527-3.527z\"/><path fill-rule=\"evenodd\" d=\"M13.646 16.146a.5.5 0 01.708 0l1 1a.5.5 0 01-.708.708l-1-1a.5.5 0 010-.708zm-7.292 0a.5.5 0 00-.708 0l-1 1a.5.5 0 00.708.708l1-1a.5.5 0 000-.708zM7.5 2.5A.5.5 0 018 2h4a.5.5 0 010 1H8a.5.5 0 01-.5-.5z\" clip-rule=\"evenodd\"/><path d=\"M9 3h2v2H9V3z\"/>'\n)\n\nexport const BIconAlarmFill = /*#__PURE__*/ makeIcon(\n 'AlarmFill',\n '<path fill-rule=\"evenodd\" d=\"M7.5 2.5A.5.5 0 018 2h4a.5.5 0 010 1h-1v1.07a7.002 7.002 0 013.537 12.26l.817.816a.5.5 0 01-.708.708l-.924-.925A6.967 6.967 0 0110 18a6.967 6.967 0 01-3.722-1.07l-.924.924a.5.5 0 01-.708-.708l.817-.816A7.002 7.002 0 019 4.07V3H8a.5.5 0 01-.5-.5zM2.86 7.387A2.5 2.5 0 116.387 3.86 8.035 8.035 0 002.86 7.387zM15.5 3c-.753 0-1.429.333-1.887.86a8.035 8.035 0 013.527 3.527A2.5 2.5 0 0015.5 3zm-5 4a.5.5 0 00-1 0v3.882l-1.447 2.894a.5.5 0 10.894.448l1.5-3A.5.5 0 0010.5 11V7z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconAlertCircle = /*#__PURE__*/ makeIcon(\n 'AlertCircle',\n '<path fill-rule=\"evenodd\" d=\"M10 17a7 7 0 100-14 7 7 0 000 14zm0 1a8 8 0 100-16 8 8 0 000 16z\" clip-rule=\"evenodd\"/><path d=\"M9.002 13a1 1 0 112 0 1 1 0 01-2 0zM9.1 6.995a.905.905 0 111.8 0l-.35 3.507a.553.553 0 01-1.1 0L9.1 6.995z\"/>'\n)\n\nexport const BIconAlertCircleFill = /*#__PURE__*/ makeIcon(\n 'AlertCircleFill',\n '<path fill-rule=\"evenodd\" d=\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8.998 3a1 1 0 112 0 1 1 0 01-2 0zM10 6a.905.905 0 00-.9.995l.35 3.507a.553.553 0 001.1 0l.35-3.507A.905.905 0 0010 6z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconAlertOctagon = /*#__PURE__*/ makeIcon(\n 'AlertOctagon',\n '<path fill-rule=\"evenodd\" d=\"M6.54 2.146A.5.5 0 016.893 2h6.214a.5.5 0 01.353.146l4.394 4.394a.5.5 0 01.146.353v6.214a.5.5 0 01-.146.353l-4.394 4.394a.5.5 0 01-.353.146H6.893a.5.5 0 01-.353-.146L2.146 13.46A.5.5 0 012 13.107V6.893a.5.5 0 01.146-.353L6.54 2.146zM7.1 3L3 7.1v5.8L7.1 17h5.8l4.1-4.1V7.1L12.9 3H7.1z\" clip-rule=\"evenodd\"/><rect width=\"2\" height=\"2\" x=\"9.002\" y=\"12\" rx=\"1\"/><path d=\"M9.1 6.995a.905.905 0 111.8 0l-.35 3.507a.553.553 0 01-1.1 0L9.1 6.995z\"/>'\n)\n\nexport const BIconAlertOctagonFill = /*#__PURE__*/ makeIcon(\n 'AlertOctagonFill',\n '<path fill-rule=\"evenodd\" d=\"M13.107 2a.5.5 0 01.353.146l4.394 4.394a.5.5 0 01.146.353v6.214a.5.5 0 01-.146.353l-4.394 4.394a.5.5 0 01-.353.146H6.893a.5.5 0 01-.353-.146L2.146 13.46A.5.5 0 012 13.107V6.893a.5.5 0 01.146-.353L6.54 2.146A.5.5 0 016.893 2h6.214zM9.002 13a1 1 0 112 0 1 1 0 01-2 0zM10 6a.905.905 0 00-.9.995l.35 3.507a.553.553 0 001.1 0l.35-3.507A.905.905 0 0010 6z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconAlertSquare = /*#__PURE__*/ makeIcon(\n 'AlertSquare',\n '<path fill-rule=\"evenodd\" d=\"M16 3H4a1 1 0 00-1 1v12a1 1 0 001 1h12a1 1 0 001-1V4a1 1 0 00-1-1zM4 2a2 2 0 00-2 2v12a2 2 0 002 2h12a2 2 0 002-2V4a2 2 0 00-2-2H4z\" clip-rule=\"evenodd\"/><rect width=\"2\" height=\"2\" x=\"9.002\" y=\"12\" rx=\"1\"/><path d=\"M9.1 6.995a.905.905 0 111.8 0l-.35 3.507a.553.553 0 01-1.1 0L9.1 6.995z\"/>'\n)\n\nexport const BIconAlertSquareFill = /*#__PURE__*/ makeIcon(\n 'AlertSquareFill',\n '<path fill-rule=\"evenodd\" d=\"M2 4a2 2 0 012-2h12a2 2 0 012 2v12a2 2 0 01-2 2H4a2 2 0 01-2-2V4zm7.002 9a1 1 0 112 0 1 1 0 01-2 0zM10 6a.905.905 0 00-.9.995l.35 3.507a.553.553 0 001.1 0l.35-3.507A.905.905 0 0010 6z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconAlertTriangle = /*#__PURE__*/ makeIcon(\n 'AlertTriangle',\n '<path fill-rule=\"evenodd\" d=\"M9.938 4.016a.146.146 0 00-.054.057L3.027 15.74a.176.176 0 00-.002.183c.016.03.037.05.054.06.015.01.034.017.066.017h13.713a.12.12 0 00.066-.017.163.163 0 00.055-.06.176.176 0 00-.003-.183L10.12 4.073a.146.146 0 00-.054-.057.13.13 0 00-.063-.016.13.13 0 00-.064.016zm1.043-.45a1.13 1.13 0 00-1.96 0L2.166 15.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767L10.982 3.566z\" clip-rule=\"evenodd\"/><rect width=\"2\" height=\"2\" x=\"9.002\" y=\"13\" rx=\"1\"/><path d=\"M9.1 7.995a.905.905 0 111.8 0l-.35 3.507a.553.553 0 01-1.1 0L9.1 7.995z\"/>'\n)\n\nexport const BIconAlertTriangleFill = /*#__PURE__*/ makeIcon(\n 'AlertTriangleFill',\n '<path fill-rule=\"evenodd\" d=\"M9.022 3.566a1.13 1.13 0 011.96 0l6.857 11.667c.457.778-.092 1.767-.98 1.767H3.144c-.889 0-1.437-.99-.98-1.767L9.022 3.566zM9.002 14a1 1 0 112 0 1 1 0 01-2 0zM10 7a.905.905 0 00-.9.995l.35 3.507a.553.553 0 001.1 0l.35-3.507A.905.905 0 0010 7z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconArchive = /*#__PURE__*/ makeIcon(\n 'Archive',\n '<path fill-rule=\"evenodd\" d=\"M4 7v7.5c0 .864.642 1.5 1.357 1.5h9.286c.715 0 1.357-.636 1.357-1.5V7h1v7.5c0 1.345-1.021 2.5-2.357 2.5H5.357C4.021 17 3 15.845 3 14.5V7h1z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M7.5 9.5A.5.5 0 018 9h4a.5.5 0 010 1H8a.5.5 0 01-.5-.5zM17 4H3v2h14V4zM3 3a1 1 0 00-1 1v2a1 1 0 001 1h14a1 1 0 001-1V4a1 1 0 00-1-1H3z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconArchiveFill = /*#__PURE__*/ makeIcon(\n 'ArchiveFill',\n '<path fill-rule=\"evenodd\" d=\"M14.643 17C15.979 17 17 15.845 17 14.5V7H3v7.5C3 15.845 4.021 17 5.357 17h9.286zM8 9a.5.5 0 000 1h4a.5.5 0 000-1H8zM3 3a1 1 0 00-1 1v1.5a1 1 0 001 1h14a1 1 0 001-1V4a1 1 0 00-1-1H3z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconArrowBarBottom = /*#__PURE__*/ makeIcon(\n 'ArrowBarBottom',\n '<path fill-rule=\"evenodd\" d=\"M13.354 12.146a.5.5 0 010 .708l-3 3a.5.5 0 01-.708 0l-3-3a.5.5 0 01.708-.708L10 14.793l2.646-2.647a.5.5 0 01.708 0z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M10 8a.5.5 0 01.5.5V15a.5.5 0 01-1 0V8.5A.5.5 0 0110 8zM4 5.75a.5.5 0 01.5-.5h11a.5.5 0 010 1h-11a.5.5 0 01-.5-.5z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconArrowBarLeft = /*#__PURE__*/ makeIcon(\n 'ArrowBarLeft',\n '<path fill-rule=\"evenodd\" d=\"M7.854 6.646a.5.5 0 00-.708 0l-3 3a.5.5 0 000 .708l3 3a.5.5 0 00.708-.708L5.207 10l2.647-2.646a.5.5 0 000-.708z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M12 10a.5.5 0 00-.5-.5H5a.5.5 0 000 1h6.5a.5.5 0 00.5-.5zm2.5 6a.5.5 0 01-.5-.5v-11a.5.5 0 011 0v11a.5.5 0 01-.5.5z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconArrowBarRight = /*#__PURE__*/ makeIcon(\n 'ArrowBarRight',\n '<path fill-rule=\"evenodd\" d=\"M12.146 6.646a.5.5 0 01.708 0l3 3a.5.5 0 010 .708l-3 3a.5.5 0 01-.708-.708L14.793 10l-2.647-2.646a.5.5 0 010-.708z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M8 10a.5.5 0 01.5-.5H15a.5.5 0 010 1H8.5A.5.5 0 018 10zm-2.5 6a.5.5 0 01-.5-.5v-11a.5.5 0 011 0v11a.5.5 0 01-.5.5z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconArrowBarUp = /*#__PURE__*/ makeIcon(\n 'ArrowBarUp',\n '<path fill-rule=\"evenodd\" d=\"M13.354 7.854a.5.5 0 000-.708l-3-3a.5.5 0 00-.708 0l-3 3a.5.5 0 10.708.708L10 5.207l2.646 2.647a.5.5 0 00.708 0z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M10 12a.5.5 0 00.5-.5V5a.5.5 0 00-1 0v6.5a.5.5 0 00.5.5zm-6 2.75a.5.5 0 01.5-.5h11a.5.5 0 010 1h-11a.5.5 0 01-.5-.5z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconArrowClockwise = /*#__PURE__*/ makeIcon(\n 'ArrowClockwise',\n '<path fill-rule=\"evenodd\" d=\"M10 4.5a5.5 5.5 0 105.5 5.5.5.5 0 011 0 6.5 6.5 0 11-3.25-5.63l-.5.865A5.472 5.472 0 0010 4.5z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M10.646 1.646a.5.5 0 01.708 0l2.5 2.5a.5.5 0 010 .708l-2.5 2.5a.5.5 0 01-.708-.708L12.793 4.5l-2.147-2.146a.5.5 0 010-.708z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconArrowCounterclockwise = /*#__PURE__*/ makeIcon(\n 'ArrowCounterclockwise',\n '<path fill-rule=\"evenodd\" d=\"M10 4.5A5.5 5.5 0 114.5 10a.5.5 0 00-1 0 6.5 6.5 0 103.25-5.63l.5.865A5.472 5.472 0 0110 4.5z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M9.354 1.646a.5.5 0 00-.708 0l-2.5 2.5a.5.5 0 000 .708l2.5 2.5a.5.5 0 10.708-.708L7.207 4.5l2.147-2.146a.5.5 0 000-.708z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconArrowDown = /*#__PURE__*/ makeIcon(\n 'ArrowDown',\n '<path fill-rule=\"evenodd\" d=\"M6.646 11.646a.5.5 0 01.708 0L10 14.293l2.646-2.647a.5.5 0 01.708.708l-3 3a.5.5 0 01-.708 0l-3-3a.5.5 0 010-.708z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M10 4.5a.5.5 0 01.5.5v9a.5.5 0 01-1 0V5a.5.5 0 01.5-.5z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconArrowDownLeft = /*#__PURE__*/ makeIcon(\n 'ArrowDownLeft',\n '<path fill-rule=\"evenodd\" d=\"M5 9.5a.5.5 0 01.5.5v4.5H10a.5.5 0 010 1H5a.5.5 0 01-.5-.5v-5a.5.5 0 01.5-.5z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M14.354 5.646a.5.5 0 010 .708l-9 9a.5.5 0 01-.708-.708l9-9a.5.5 0 01.708 0z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconArrowDownRight = /*#__PURE__*/ makeIcon(\n 'ArrowDownRight',\n '<path fill-rule=\"evenodd\" d=\"M14 9.5a.5.5 0 01.5.5v5a.5.5 0 01-.5.5H9a.5.5 0 010-1h4.5V10a.5.5 0 01.5-.5z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M4.646 5.646a.5.5 0 01.708 0l9 9a.5.5 0 01-.708.708l-9-9a.5.5 0 010-.708z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconArrowDownShort = /*#__PURE__*/ makeIcon(\n 'ArrowDownShort',\n '<path fill-rule=\"evenodd\" d=\"M6.646 9.646a.5.5 0 01.708 0L10 12.293l2.646-2.647a.5.5 0 01.708.708l-3 3a.5.5 0 01-.708 0l-3-3a.5.5 0 010-.708z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M10 6.5a.5.5 0 01.5.5v5a.5.5 0 01-1 0V7a.5.5 0 01.5-.5z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconArrowLeft = /*#__PURE__*/ makeIcon(\n 'ArrowLeft',\n '<path fill-rule=\"evenodd\" d=\"M7.854 6.646a.5.5 0 010 .708L5.207 10l2.647 2.646a.5.5 0 01-.708.708l-3-3a.5.5 0 010-.708l3-3a.5.5 0 01.708 0z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M4.5 10a.5.5 0 01.5-.5h10.5a.5.5 0 010 1H5a.5.5 0 01-.5-.5z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconArrowLeftRight = /*#__PURE__*/ makeIcon(\n 'ArrowLeftRight',\n '<path fill-rule=\"evenodd\" d=\"M12.146 9.646a.5.5 0 01.708 0l3 3a.5.5 0 010 .708l-3 3a.5.5 0 01-.708-.708L14.793 13l-2.647-2.646a.5.5 0 010-.708z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M4 13a.5.5 0 01.5-.5H15a.5.5 0 010 1H4.5A.5.5 0 014 13zm3.854-9.354a.5.5 0 010 .708L5.207 7l2.647 2.646a.5.5 0 01-.708.708l-3-3a.5.5 0 010-.708l3-3a.5.5 0 01.708 0z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M4.5 7a.5.5 0 01.5-.5h10.5a.5.5 0 010 1H5a.5.5 0 01-.5-.5z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconArrowLeftShort = /*#__PURE__*/ makeIcon(\n 'ArrowLeftShort',\n '<path fill-rule=\"evenodd\" d=\"M9.854 6.646a.5.5 0 010 .708L7.207 10l2.647 2.646a.5.5 0 01-.708.708l-3-3a.5.5 0 010-.708l3-3a.5.5 0 01.708 0z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M6.5 10a.5.5 0 01.5-.5h6.5a.5.5 0 010 1H7a.5.5 0 01-.5-.5z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconArrowRepeat = /*#__PURE__*/ makeIcon(\n 'ArrowRepeat',\n '<path fill-rule=\"evenodd\" d=\"M4 9.5a.5.5 0 00-.5.5 6.5 6.5 0 0012.13 3.25.5.5 0 00-.866-.5A5.5 5.5 0 014.5 10a.5.5 0 00-.5-.5z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M4.354 9.146a.5.5 0 00-.708 0l-2 2a.5.5 0 00.708.708L4 10.207l1.646 1.647a.5.5 0 00.708-.708l-2-2zM15.947 10.5a.5.5 0 00.5-.5 6.5 6.5 0 00-12.13-3.25.5.5 0 10.866.5A5.5 5.5 0 0115.448 10a.5.5 0 00.5.5z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M18.354 8.146a.5.5 0 00-.708 0L16 9.793l-1.646-1.647a.5.5 0 00-.708.708l2 2a.5.5 0 00.708 0l2-2a.5.5 0 000-.708z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconArrowRight = /*#__PURE__*/ makeIcon(\n 'ArrowRight',\n '<path fill-rule=\"evenodd\" d=\"M12.146 6.646a.5.5 0 01.708 0l3 3a.5.5 0 010 .708l-3 3a.5.5 0 01-.708-.708L14.793 10l-2.647-2.646a.5.5 0 010-.708z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M4 10a.5.5 0 01.5-.5H15a.5.5 0 010 1H4.5A.5.5 0 014 10z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconArrowRightShort = /*#__PURE__*/ makeIcon(\n 'ArrowRightShort',\n '<path fill-rule=\"evenodd\" d=\"M10.146 6.646a.5.5 0 01.708 0l3 3a.5.5 0 010 .708l-3 3a.5.5 0 01-.708-.708L12.793 10l-2.647-2.646a.5.5 0 010-.708z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M6 10a.5.5 0 01.5-.5H13a.5.5 0 010 1H6.5A.5.5 0 016 10z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconArrowUp = /*#__PURE__*/ makeIcon(\n 'ArrowUp',\n '<path fill-rule=\"evenodd\" d=\"M10 5.5a.5.5 0 01.5.5v9a.5.5 0 01-1 0V6a.5.5 0 01.5-.5z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M9.646 4.646a.5.5 0 01.708 0l3 3a.5.5 0 01-.708.708L10 5.707 7.354 8.354a.5.5 0 11-.708-.708l3-3z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconArrowUpDown = /*#__PURE__*/ makeIcon(\n 'ArrowUpDown',\n '<path fill-rule=\"evenodd\" d=\"M13 5.5a.5.5 0 01.5.5v9a.5.5 0 01-1 0V6a.5.5 0 01.5-.5z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M12.646 4.646a.5.5 0 01.708 0l3 3a.5.5 0 01-.708.708L13 5.707l-2.646 2.647a.5.5 0 01-.708-.708l3-3zm-9 7a.5.5 0 01.708 0L7 14.293l2.646-2.647a.5.5 0 01.708.708l-3 3a.5.5 0 01-.708 0l-3-3a.5.5 0 010-.708z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M7 4.5a.5.5 0 01.5.5v9a.5.5 0 01-1 0V5a.5.5 0 01.5-.5z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconArrowUpLeft = /*#__PURE__*/ makeIcon(\n 'ArrowUpLeft',\n '<path fill-rule=\"evenodd\" d=\"M4.5 6a.5.5 0 01.5-.5h5a.5.5 0 010 1H5.5V11a.5.5 0 01-1 0V6z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M4.646 5.646a.5.5 0 01.708 0l9 9a.5.5 0 01-.708.708l-9-9a.5.5 0 010-.708z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconArrowUpRight = /*#__PURE__*/ makeIcon(\n 'ArrowUpRight',\n '<path fill-rule=\"evenodd\" d=\"M8.5 6a.5.5 0 01.5-.5h5a.5.5 0 01.5.5v5a.5.5 0 01-1 0V6.5H9a.5.5 0 01-.5-.5z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M14.354 5.646a.5.5 0 010 .708l-9 9a.5.5 0 01-.708-.708l9-9a.5.5 0 01.708 0z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconArrowUpShort = /*#__PURE__*/ makeIcon(\n 'ArrowUpShort',\n '<path fill-rule=\"evenodd\" d=\"M10 7.5a.5.5 0 01.5.5v5a.5.5 0 01-1 0V8a.5.5 0 01.5-.5z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M9.646 6.646a.5.5 0 01.708 0l3 3a.5.5 0 01-.708.708L10 7.707l-2.646 2.647a.5.5 0 01-.708-.708l3-3z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconArrowsAngleContract = /*#__PURE__*/ makeIcon(\n 'ArrowsAngleContract',\n '<path fill-rule=\"evenodd\" d=\"M11.5 4.036a.5.5 0 01.5.5v3.5h3.5a.5.5 0 010 1h-4a.5.5 0 01-.5-.5v-4a.5.5 0 01.5-.5z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M16.354 3.646a.5.5 0 010 .708l-4.5 4.5a.5.5 0 01-.708-.708l4.5-4.5a.5.5 0 01.708 0zm-7.5 7.5a.5.5 0 010 .708l-4.5 4.5a.5.5 0 01-.708-.708l4.5-4.5a.5.5 0 01.708 0z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M4.036 11.5a.5.5 0 01.5-.5h4a.5.5 0 01.5.5v4a.5.5 0 01-1 0V12h-3.5a.5.5 0 01-.5-.5z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconArrowsAngleExpand = /*#__PURE__*/ makeIcon(\n 'ArrowsAngleExpand',\n '<path fill-rule=\"evenodd\" d=\"M4 11.5a.5.5 0 01.5.5v3.5H8a.5.5 0 010 1H4a.5.5 0 01-.5-.5v-4a.5.5 0 01.5-.5z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M8.854 11.11a.5.5 0 010 .708l-4.5 4.5a.5.5 0 11-.708-.707l4.5-4.5a.5.5 0 01.708 0zm7.464-7.464a.5.5 0 010 .708l-4.5 4.5a.5.5 0 11-.707-.708l4.5-4.5a.5.5 0 01.707 0z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M11.5 4a.5.5 0 01.5-.5h4a.5.5 0 01.5.5v4a.5.5 0 01-1 0V4.5H12a.5.5 0 01-.5-.5z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconArrowsCollapse = /*#__PURE__*/ makeIcon(\n 'ArrowsCollapse',\n '<path fill-rule=\"evenodd\" d=\"M4 10a.5.5 0 01.5-.5h11a.5.5 0 010 1h-11A.5.5 0 014 10zm6-7a.5.5 0 01.5.5V8a.5.5 0 01-1 0V3.5A.5.5 0 0110 3z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M12.354 5.646a.5.5 0 010 .708l-2 2a.5.5 0 01-.708 0l-2-2a.5.5 0 11.708-.708L10 7.293l1.646-1.647a.5.5 0 01.708 0zM10 17a.5.5 0 00.5-.5V12a.5.5 0 00-1 0v4.5a.5.5 0 00.5.5z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M12.354 14.354a.5.5 0 000-.708l-2-2a.5.5 0 00-.708 0l-2 2a.5.5 0 00.708.708L10 12.707l1.646 1.647a.5.5 0 00.708 0z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconArrowsExpand = /*#__PURE__*/ makeIcon(\n 'ArrowsExpand',\n '<path fill-rule=\"evenodd\" d=\"M4 10a.5.5 0 01.5-.5h11a.5.5 0 010 1h-11A.5.5 0 014 10zm6-1.5a.5.5 0 00.5-.5V3.5a.5.5 0 00-1 0V8a.5.5 0 00.5.5z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M12.354 5.854a.5.5 0 000-.708l-2-2a.5.5 0 00-.708 0l-2 2a.5.5 0 10.708.708L10 4.207l1.646 1.647a.5.5 0 00.708 0zM10 11.5a.5.5 0 01.5.5v4.5a.5.5 0 01-1 0V12a.5.5 0 01.5-.5z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M12.354 14.146a.5.5 0 010 .708l-2 2a.5.5 0 01-.708 0l-2-2a.5.5 0 01.708-.708L10 15.793l1.646-1.647a.5.5 0 01.708 0z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconArrowsFullscreen = /*#__PURE__*/ makeIcon(\n 'ArrowsFullscreen',\n '<path fill-rule=\"evenodd\" d=\"M4 11.5a.5.5 0 01.5.5v3.5H8a.5.5 0 010 1H4a.5.5 0 01-.5-.5v-4a.5.5 0 01.5-.5z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M8.854 11.11a.5.5 0 010 .708l-4.5 4.5a.5.5 0 11-.708-.707l4.5-4.5a.5.5 0 01.708 0zm7.464-7.464a.5.5 0 010 .708l-4.5 4.5a.5.5 0 11-.707-.708l4.5-4.5a.5.5 0 01.707 0z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M11.5 4a.5.5 0 01.5-.5h4a.5.5 0 01.5.5v4a.5.5 0 01-1 0V4.5H12a.5.5 0 01-.5-.5zm4.5 7.5a.5.5 0 00-.5.5v3.5H12a.5.5 0 000 1h4a.5.5 0 00.5-.5v-4a.5.5 0 00-.5-.5z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M11.146 11.11a.5.5 0 000 .708l4.5 4.5a.5.5 0 00.708-.707l-4.5-4.5a.5.5 0 00-.708 0zM3.682 3.646a.5.5 0 000 .708l4.5 4.5a.5.5 0 10.707-.708l-4.5-4.5a.5.5 0 00-.707 0z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M8.5 4a.5.5 0 00-.5-.5H4a.5.5 0 00-.5.5v4a.5.5 0 001 0V4.5H8a.5.5 0 00.5-.5z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconAt = /*#__PURE__*/ makeIcon(\n 'At',\n '<path fill-rule=\"evenodd\" d=\"M15.106 9.222c0-2.967-2.249-5.032-5.482-5.032-3.35 0-5.646 2.318-5.646 5.702 0 3.493 2.235 5.708 5.762 5.708.862 0 1.689-.123 2.304-.335v-.862c-.43.199-1.354.328-2.29.328-2.926 0-4.813-1.88-4.813-4.798 0-2.844 1.921-4.881 4.594-4.881 2.735 0 4.608 1.688 4.608 4.156 0 1.682-.554 2.769-1.416 2.769-.492 0-.772-.28-.772-.76V7.206h-1.032v.834h-.11c-.266-.595-.881-.964-1.6-.964-1.4 0-2.378 1.162-2.378 2.823 0 1.737.957 2.906 2.379 2.906.8 0 1.415-.39 1.709-1.087h.11c.081.67.703 1.148 1.503 1.148 1.572 0 2.57-1.415 2.57-3.643zm-7.177.704c0-1.197.54-1.907 1.456-1.907.93 0 1.524.738 1.524 1.907s-.601 1.914-1.538 1.914c-.895 0-1.442-.725-1.442-1.914z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconAward = /*#__PURE__*/ makeIcon(\n 'Award',\n '<path d=\"M10 2l1.669.864 1.858.282.842 1.68 1.337 1.32L15.4 8l.306 1.854-1.337 1.32-.842 1.68-1.858.282L10 14l-1.669-.864-1.858-.282-.842-1.68-1.337-1.32L4.6 8l-.306-1.854 1.337-1.32.842-1.68 1.858-.282L10 2z\"/><path d=\"M6 13.794V18l4-1 4 1v-4.206l-2.018.306L10 15.126 8.018 14.1 6 13.794z\"/>'\n)\n\nexport const BIconBackspace = /*#__PURE__*/ makeIcon(\n 'Backspace',\n '<path fill-rule=\"evenodd\" d=\"M8.603 4h7.08a1 1 0 011 1v10a1 1 0 01-1 1h-7.08a1 1 0 01-.76-.35L3 10l4.844-5.65A1 1 0 018.603 4zm7.08-1a2 2 0 012 2v10a2 2 0 01-2 2h-7.08a2 2 0 01-1.519-.698L2.241 10.65a1 1 0 010-1.302L7.084 3.7A2 2 0 018.603 3h7.08z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M7.83 7.146a.5.5 0 000 .708l5 5a.5.5 0 00.707-.708l-5-5a.5.5 0 00-.708 0z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M13.537 7.146a.5.5 0 010 .708l-5 5a.5.5 0 01-.708-.708l5-5a.5.5 0 01.707 0z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconBackspaceFill = /*#__PURE__*/ makeIcon(\n 'BackspaceFill',\n '<path fill-rule=\"evenodd\" d=\"M17.683 5a2 2 0 00-2-2h-7.08a2 2 0 00-1.519.698L2.241 9.35a1 1 0 000 1.302l4.843 5.65A2 2 0 008.603 17h7.08a2 2 0 002-2V5zM7.829 7.854a.5.5 0 11.707-.708l2.147 2.147 2.146-2.147a.5.5 0 11.707.708L11.39 10l2.146 2.146a.5.5 0 01-.707.708l-2.146-2.147-2.147 2.147a.5.5 0 01-.707-.708L9.976 10 7.829 7.854z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconBackspaceReverse = /*#__PURE__*/ makeIcon(\n 'BackspaceReverse',\n '<path fill-rule=\"evenodd\" d=\"M11.08 4H4a1 1 0 00-1 1v10a1 1 0 001 1h7.08a1 1 0 00.76-.35L16.682 10l-4.844-5.65A1 1 0 0011.08 4zM4 3a2 2 0 00-2 2v10a2 2 0 002 2h7.08a2 2 0 001.519-.698l4.843-5.651a1 1 0 000-1.302L12.6 3.7a2 2 0 00-1.52-.7H4z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M11.854 7.146a.5.5 0 010 .708l-5 5a.5.5 0 01-.708-.708l5-5a.5.5 0 01.708 0z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M6.146 7.146a.5.5 0 000 .708l5 5a.5.5 0 00.708-.708l-5-5a.5.5 0 00-.708 0z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconBackspaceReverseFill = /*#__PURE__*/ makeIcon(\n 'BackspaceReverseFill',\n '<path fill-rule=\"evenodd\" d=\"M2 5a2 2 0 012-2h7.08a2 2 0 011.519.698l4.843 5.651a1 1 0 010 1.302L12.6 16.3a2 2 0 01-1.52.7H4a2 2 0 01-2-2V5zm9.854 2.854a.5.5 0 00-.708-.708L9 9.293 6.854 7.146a.5.5 0 10-.708.708L8.293 10l-2.147 2.146a.5.5 0 00.708.708L9 10.707l2.146 2.147a.5.5 0 00.708-.708L9.707 10l2.147-2.146z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconBarChart = /*#__PURE__*/ makeIcon(\n 'BarChart',\n '<path fill-rule=\"evenodd\" d=\"M6 13H4v3h2v-3zm5-4H9v7h2V9zm5-5h-2v12h2V4zm-2-1a1 1 0 00-1 1v12a1 1 0 001 1h2a1 1 0 001-1V4a1 1 0 00-1-1h-2zM8 9a1 1 0 011-1h2a1 1 0 011 1v7a1 1 0 01-1 1H9a1 1 0 01-1-1V9zm-5 4a1 1 0 011-1h2a1 1 0 011 1v3a1 1 0 01-1 1H4a1 1 0 01-1-1v-3z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconBarChartFill = /*#__PURE__*/ makeIcon(\n 'BarChartFill',\n '<rect width=\"4\" height=\"5\" x=\"3\" y=\"12\" rx=\"1\"/><rect width=\"4\" height=\"9\" x=\"8\" y=\"8\" rx=\"1\"/><rect width=\"4\" height=\"14\" x=\"13\" y=\"3\" rx=\"1\"/>'\n)\n\nexport const BIconBattery = /*#__PURE__*/ makeIcon(\n 'Battery',\n '<path fill-rule=\"evenodd\" d=\"M14 7H4a1 1 0 00-1 1v4a1 1 0 001 1h10a1 1 0 001-1V8a1 1 0 00-1-1zM4 6a2 2 0 00-2 2v4a2 2 0 002 2h10a2 2 0 002-2V8a2 2 0 00-2-2H4z\" clip-rule=\"evenodd\"/><path d=\"M16.5 11.5a1.5 1.5 0 000-3v3z\"/>'\n)\n\nexport const BIconBatteryCharging = /*#__PURE__*/ makeIcon(\n 'BatteryCharging',\n '<path d=\"M16.5 11.5a1.5 1.5 0 000-3v3z\"/><path fill-rule=\"evenodd\" d=\"M11.585 4.568a.5.5 0 01.226.579l-1.134 3.686h1.99a.5.5 0 01.364.843l-5.334 5.667a.5.5 0 01-.842-.49l1.135-3.686H6a.5.5 0 01-.364-.843l5.333-5.667a.5.5 0 01.616-.09z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M8.332 6H4a2 2 0 00-2 2v4a2 2 0 002 2h2.072l.307-1H4a1 1 0 01-1-1V8a1 1 0 011-1h3.391l.941-1zM6.45 8H4v4h1.313a1.5 1.5 0 01-.405-2.361L6.45 8zm.976 5l-.308 1H8.96l.21-.224h.001l.73-.776H8.53l-.085.09.028-.09H7.426zm1.354-1H7.733l.257-.833H6a.5.5 0 01-.364-.843l.793-.843L7.823 8h1.373l-2.039 2.167h1.51a.492.492 0 01.166.028.5.5 0 01.312.619L8.78 12zm.69 0h1.373l1.395-1.482.793-.842a.5.5 0 00-.364-.843h-1.99L10.933 8H9.887l-.166.54-.199.646a.5.5 0 00.478.647h1.51L9.47 12zm.725-5h1.046l.308-1H9.706l-.942 1h1.374l.085-.09-.028.09zm2.4-1l-.308 1H14a1 1 0 011 1v4a1 1 0 01-1 1h-2.724l-.942 1H14a2 2 0 002-2V8a2 2 0 00-2-2h-1.405zm-.378 6H14v-1.98a1.499 1.499 0 01-.241.341L12.217 12zM14 8.646V8h-.646a1.5 1.5 0 01.646.646z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconBatteryFull = /*#__PURE__*/ makeIcon(\n 'BatteryFull',\n '<path fill-rule=\"evenodd\" d=\"M14 7H4a1 1 0 00-1 1v4a1 1 0 001 1h10a1 1 0 001-1V8a1 1 0 00-1-1zM4 6a2 2 0 00-2 2v4a2 2 0 002 2h10a2 2 0 002-2V8a2 2 0 00-2-2H4z\" clip-rule=\"evenodd\"/><path d=\"M4 8h10v4H4V8zm12.5 3.5a1.5 1.5 0 000-3v3z\"/>'\n)\n\nexport const BIconBell = /*#__PURE__*/ makeIcon(\n 'Bell',\n '<path d=\"M10 18a2 2 0 002-2H8a2 2 0 002 2z\"/><path fill-rule=\"evenodd\" d=\"M10 3.918l-.797.161A4.002 4.002 0 006 8c0 .628-.134 2.197-.459 3.742-.16.767-.376 1.566-.663 2.258h10.244c-.287-.692-.502-1.49-.663-2.258C14.134 10.197 14 8.628 14 8a4.002 4.002 0 00-3.203-3.92L10 3.917zM16.22 14c.223.447.482.801.78 1H3c.299-.199.557-.553.78-1C4.68 12.2 5 8.88 5 8c0-2.42 1.72-4.44 4.005-4.901a1 1 0 111.99 0A5.002 5.002 0 0115 8c0 .88.32 4.2 1.22 6z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconBellFill = /*#__PURE__*/ makeIcon(\n 'BellFill',\n '<path d=\"M10 18a2 2 0 002-2H8a2 2 0 002 2zm.995-14.901a1 1 0 10-1.99 0A5.002 5.002 0 005 8c0 1.098-.5 6-2 7h14c-1.5-1-2-5.902-2-7 0-2.42-1.72-4.44-4.005-4.901z\"/>'\n)\n\nexport const BIconBlockquoteLeft = /*#__PURE__*/ makeIcon(\n 'BlockquoteLeft',\n '<path fill-rule=\"evenodd\" d=\"M4 5.5a.5.5 0 01.5-.5h11a.5.5 0 010 1h-11a.5.5 0 01-.5-.5zm5 3a.5.5 0 01.5-.5h6a.5.5 0 010 1h-6a.5.5 0 01-.5-.5zm0 3a.5.5 0 01.5-.5h6a.5.5 0 010 1h-6a.5.5 0 01-.5-.5zm-5 3a.5.5 0 01.5-.5h11a.5.5 0 010 1h-11a.5.5 0 01-.5-.5z\" clip-rule=\"evenodd\"/><path d=\"M5.734 8.352a6.586 6.586 0 00-.445.275 1.94 1.94 0 00-.346.299 1.38 1.38 0 00-.252.369c-.058.129-.1.295-.123.498h.282c.242 0 .431.06.568.182.14.117.21.29.21.521a.697.697 0 01-.187.463c-.12.14-.289.21-.503.21-.336 0-.577-.109-.721-.327-.145-.223-.217-.514-.217-.873 0-.254.055-.485.164-.692.11-.21.242-.398.399-.562.16-.168.33-.31.51-.428.179-.117.33-.213.45-.287l.211.352zm2.168 0a6.588 6.588 0 00-.445.275 1.94 1.94 0 00-.346.299c-.113.12-.199.246-.257.375a1.75 1.75 0 00-.118.492h.282c.242 0 .431.06.568.182.14.117.21.29.21.521a.697.697 0 01-.187.463c-.12.14-.289.21-.504.21-.335 0-.576-.109-.72-.327-.145-.223-.217-.514-.217-.873 0-.254.055-.485.164-.692.11-.21.242-.398.398-.562.16-.168.33-.31.51-.428.18-.117.33-.213.451-.287l.211.352z\"/>'\n)\n\nexport const BIconBlockquoteRight = /*#__PURE__*/ makeIcon(\n 'BlockquoteRight',\n '<path fill-rule=\"evenodd\" d=\"M4 5.5a.5.5 0 01.5-.5h11a.5.5 0 010 1h-11a.5.5 0 01-.5-.5zm0 3a.5.5 0 01.5-.5h6a.5.5 0 010 1h-6a.5.5 0 01-.5-.5zm0 3a.5.5 0 01.5-.5h6a.5.5 0 010 1h-6a.5.5 0 01-.5-.5zm0 3a.5.5 0 01.5-.5h11a.5.5 0 010 1h-11a.5.5 0 01-.5-.5z\" clip-rule=\"evenodd\"/><path d=\"M14.168 8.352c.184.105.332.197.445.275.114.074.229.174.346.299.11.117.193.24.252.369s.1.295.123.498h-.281c-.243 0-.432.06-.569.182-.14.117-.21.29-.21.521 0 .164.062.319.187.463.121.14.289.21.504.21.336 0 .576-.109.72-.327.145-.223.217-.514.217-.873 0-.254-.054-.485-.164-.692a2.436 2.436 0 00-.398-.562c-.16-.168-.33-.31-.51-.428-.18-.117-.33-.213-.451-.287l-.211.352zm-2.168 0c.184.105.332.197.445.275.114.074.229.174.346.299.113.12.2.246.258.375.055.125.094.289.117.492h-.281c-.242 0-.432.06-.569.182-.14.117-.21.29-.21.521 0 .164.062.319.187.463.121.14.289.21.504.21.336 0 .576-.109.72-.327.145-.223.217-.514.217-.873 0-.254-.054-.485-.164-.692a2.438 2.438 0 00-.398-.562c-.16-.168-.33-.31-.51-.428-.18-.117-.33-.213-.451-.287L12 8.352z\"/>'\n)\n\nexport const BIconBook = /*#__PURE__*/ makeIcon(\n 'Book',\n '<path fill-rule=\"evenodd\" d=\"M5.214 3.072c1.599-.32 3.702-.363 5.14 1.074a.5.5 0 01.146.354v11a.5.5 0 01-.854.354c-.843-.844-2.115-1.059-3.47-.92-1.344.14-2.66.617-3.452 1.013A.5.5 0 012 15.5v-11a.5.5 0 01.276-.447L2.5 4.5l-.224-.447.002-.001.004-.002.013-.006a5.116 5.116 0 01.22-.103 12.958 12.958 0 012.7-.869zM3 4.82v9.908c.846-.343 1.944-.672 3.074-.788 1.143-.118 2.387-.023 3.426.56V4.718c-1.063-.929-2.631-.956-4.09-.664A11.958 11.958 0 003 4.82z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M14.786 3.072c-1.598-.32-3.702-.363-5.14 1.074A.5.5 0 009.5 4.5v11a.5.5 0 00.854.354c.844-.844 2.115-1.059 3.47-.92 1.344.14 2.66.617 3.452 1.013A.5.5 0 0018 15.5v-11a.5.5 0 00-.276-.447L17.5 4.5l.224-.447-.002-.001-.004-.002-.013-.006-.047-.023a12.582 12.582 0 00-.799-.34 12.96 12.96 0 00-2.073-.609zM17 4.82v9.908c-.846-.343-1.944-.672-3.074-.788-1.143-.118-2.386-.023-3.426.56V4.718c1.063-.929 2.631-.956 4.09-.664A11.956 11.956 0 0117 4.82z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconBookHalfFill = /*#__PURE__*/ makeIcon(\n 'BookHalfFill',\n '<path fill-rule=\"evenodd\" d=\"M5.214 3.072c1.599-.32 3.702-.363 5.14 1.074a.5.5 0 01.146.354v11a.5.5 0 01-.854.354c-.843-.844-2.115-1.059-3.47-.92-1.344.14-2.66.617-3.452 1.013A.5.5 0 012 15.5v-11a.5.5 0 01.276-.447L2.5 4.5l-.224-.447.002-.001.004-.002.013-.006a5.116 5.116 0 01.22-.103 12.958 12.958 0 012.7-.869zM3 4.82v9.908c.846-.343 1.944-.672 3.074-.788 1.143-.118 2.387-.023 3.426.56V4.718c-1.063-.929-2.631-.956-4.09-.664A11.958 11.958 0 003 4.82z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M14.786 3.072c-1.598-.32-3.702-.363-5.14 1.074A.5.5 0 009.5 4.5v11a.5.5 0 00.854.354c.844-.844 2.115-1.059 3.47-.92 1.344.14 2.66.617 3.452 1.013A.5.5 0 0018 15.5v-11a.5.5 0 00-.276-.447L17.5 4.5l.224-.447-.002-.001-.004-.002-.013-.006-.047-.023a12.582 12.582 0 00-.799-.34 12.96 12.96 0 00-2.073-.609z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconBookmark = /*#__PURE__*/ makeIcon(\n 'Bookmark',\n '<path fill-rule=\"evenodd\" d=\"M10 14l5 3V5a2 2 0 00-2-2H7a2 2 0 00-2 2v12l5-3zm-4 1.234l4-2.4 4 2.4V5a1 1 0 00-1-1H7a1 1 0 00-1 1v10.234z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconBookmarkFill = /*#__PURE__*/ makeIcon(\n 'BookmarkFill',\n '<path fill-rule=\"evenodd\" d=\"M5 5a2 2 0 012-2h6a2 2 0 012 2v12l-5-3-5 3V5z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconBootstrap = /*#__PURE__*/ makeIcon(\n 'Bootstrap',\n '<path fill-rule=\"evenodd\" d=\"M14 3H6a3 3 0 00-3 3v8a3 3 0 003 3h8a3 3 0 003-3V6a3 3 0 00-3-3zM6 2a4 4 0 00-4 4v8a4 4 0 004 4h8a4 4 0 004-4V6a4 4 0 00-4-4H6z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M10.537 14H7.062V5.545h3.398c1.588 0 2.543.809 2.543 2.11 0 .884-.65 1.675-1.482 1.816v.1c1.143.117 1.904.931 1.904 2.033 0 1.488-1.084 2.396-2.888 2.396zM8.375 6.658v2.467h1.558c1.16 0 1.764-.428 1.764-1.23 0-.78-.568-1.237-1.541-1.237H8.375zm1.898 6.229H8.375v-2.725h1.822c1.236 0 1.887.463 1.887 1.348 0 .896-.627 1.377-1.811 1.377z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconBootstrapFill = /*#__PURE__*/ makeIcon(\n 'BootstrapFill',\n '<path fill-rule=\"evenodd\" d=\"M6.002 2a4 4 0 00-4 4v8a4 4 0 004 4h8a4 4 0 004-4V6a4 4 0 00-4-4h-8zm1.06 12h3.475c1.804 0 2.888-.908 2.888-2.396 0-1.102-.761-1.916-1.904-2.034v-.1c.832-.14 1.482-.93 1.482-1.816 0-1.3-.955-2.11-2.543-2.11H7.063V14zm1.313-4.875V6.658h1.78c.974 0 1.542.457 1.542 1.237 0 .802-.604 1.23-1.764 1.23H8.375zm0 3.762h1.898c1.184 0 1.81-.48 1.81-1.377 0-.885-.65-1.348-1.886-1.348H8.375v2.725z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconBootstrapReboot = /*#__PURE__*/ makeIcon(\n 'BootstrapReboot',\n '<path fill-rule=\"evenodd\" d=\"M3.161 10a6.84 6.84 0 106.842-6.84.58.58 0 110-1.16 8 8 0 11-6.556 3.412l-.663-.577a.58.58 0 01.227-.997l2.52-.69a.58.58 0 01.728.633l-.332 2.592a.58.58 0 01-.956.364l-.643-.56A6.812 6.812 0 003.16 10zm5.228-.079V7.277h1.57c.881 0 1.416.499 1.416 1.32 0 .84-.505 1.324-1.386 1.324h-1.6zm0 3.75v-2.828h1.57l1.498 2.828h1.314l-1.646-3.006c.897-.3 1.427-1.106 1.427-2.1 0-1.37-.943-2.246-2.456-2.246H7.248v7.352h1.141z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconBoxArrowBottomLeft = /*#__PURE__*/ makeIcon(\n 'BoxArrowBottomLeft',\n '<path fill-rule=\"evenodd\" d=\"M15 3.5A1.5 1.5 0 0116.5 5v8a1.5 1.5 0 01-1.5 1.5h-4a.5.5 0 010-1h4a.5.5 0 00.5-.5V5a.5.5 0 00-.5-.5H7a.5.5 0 00-.5.5v4a.5.5 0 01-1 0V5A1.5 1.5 0 017 3.5h8zm-11 7a.5.5 0 00-.5.5v5a.5.5 0 00.5.5h5a.5.5 0 000-1H4.5V11a.5.5 0 00-.5-.5z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M3.646 16.354a.5.5 0 00.708 0l8-8a.5.5 0 00-.708-.708l-8 8a.5.5 0 000 .708z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconBoxArrowBottomRight = /*#__PURE__*/ makeIcon(\n 'BoxArrowBottomRight',\n '<path fill-rule=\"evenodd\" d=\"M5 3.5A1.5 1.5 0 003.5 5v8A1.5 1.5 0 005 14.5h4a.5.5 0 000-1H5a.5.5 0 01-.5-.5V5a.5.5 0 01.5-.5h8a.5.5 0 01.5.5v4a.5.5 0 001 0V5A1.5 1.5 0 0013 3.5H5zm11 7a.5.5 0 01.5.5v5a.5.5 0 01-.5.5h-5a.5.5 0 010-1h4.5V11a.5.5 0 01.5-.5z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M16.354 16.354a.5.5 0 01-.708 0l-8-8a.5.5 0 11.708-.708l8 8a.5.5 0 010 .708z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconBoxArrowDown = /*#__PURE__*/ makeIcon(\n 'BoxArrowDown',\n '<path fill-rule=\"evenodd\" d=\"M6.646 13.646a.5.5 0 01.708 0L10 16.293l2.646-2.647a.5.5 0 01.708.708l-3 3a.5.5 0 01-.708 0l-3-3a.5.5 0 010-.708z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M10 6.5a.5.5 0 01.5.5v9a.5.5 0 01-1 0V7a.5.5 0 01.5-.5z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M4.5 4A1.5 1.5 0 016 2.5h8A1.5 1.5 0 0115.5 4v7a1.5 1.5 0 01-1.5 1.5h-1.5a.5.5 0 010-1H14a.5.5 0 00.5-.5V4a.5.5 0 00-.5-.5H6a.5.5 0 00-.5.5v7a.5.5 0 00.5.5h1.5a.5.5 0 010 1H6A1.5 1.5 0 014.5 11V4z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconBoxArrowLeft = /*#__PURE__*/ makeIcon(\n 'BoxArrowLeft',\n '<path fill-rule=\"evenodd\" d=\"M6.354 13.354a.5.5 0 000-.708L3.707 10l2.647-2.646a.5.5 0 10-.708-.708l-3 3a.5.5 0 000 .708l3 3a.5.5 0 00.708 0z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M13.5 10a.5.5 0 00-.5-.5H4a.5.5 0 000 1h9a.5.5 0 00.5-.5z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M16 15.5a1.5 1.5 0 001.5-1.5V6A1.5 1.5 0 0016 4.5H9A1.5 1.5 0 007.5 6v1.5a.5.5 0 001 0V6a.5.5 0 01.5-.5h7a.5.5 0 01.5.5v8a.5.5 0 01-.5.5H9a.5.5 0 01-.5-.5v-1.5a.5.5 0 00-1 0V14A1.5 1.5 0 009 15.5h7z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconBoxArrowRight = /*#__PURE__*/ makeIcon(\n 'BoxArrowRight',\n '<path fill-rule=\"evenodd\" d=\"M13.646 13.354a.5.5 0 010-.708L16.293 10l-2.647-2.646a.5.5 0 01.708-.708l3 3a.5.5 0 010 .708l-3 3a.5.5 0 01-.708 0z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M6.5 10a.5.5 0 01.5-.5h9a.5.5 0 010 1H7a.5.5 0 01-.5-.5z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M4 15.5A1.5 1.5 0 012.5 14V6A1.5 1.5 0 014 4.5h7A1.5 1.5 0 0112.5 6v1.5a.5.5 0 01-1 0V6a.5.5 0 00-.5-.5H4a.5.5 0 00-.5.5v8a.5.5 0 00.5.5h7a.5.5 0 00.5-.5v-1.5a.5.5 0 011 0V14a1.5 1.5 0 01-1.5 1.5H4z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconBoxArrowUp = /*#__PURE__*/ makeIcon(\n 'BoxArrowUp',\n '<path fill-rule=\"evenodd\" d=\"M6.646 6.354a.5.5 0 00.708 0L10 3.707l2.646 2.647a.5.5 0 00.708-.708l-3-3a.5.5 0 00-.708 0l-3 3a.5.5 0 000 .708z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M10 13.5a.5.5 0 00.5-.5V4a.5.5 0 00-1 0v9a.5.5 0 00.5.5z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M4.5 16A1.5 1.5 0 006 17.5h8a1.5 1.5 0 001.5-1.5V9A1.5 1.5 0 0014 7.5h-1.5a.5.5 0 000 1H14a.5.5 0 01.5.5v7a.5.5 0 01-.5.5H6a.5.5 0 01-.5-.5V9a.5.5 0 01.5-.5h1.5a.5.5 0 000-1H6A1.5 1.5 0 004.5 9v7z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconBoxArrowUpLeft = /*#__PURE__*/ makeIcon(\n 'BoxArrowUpLeft',\n '<path fill-rule=\"evenodd\" d=\"M16.5 15a1.5 1.5 0 01-1.5 1.5H7A1.5 1.5 0 015.5 15v-4a.5.5 0 011 0v4a.5.5 0 00.5.5h8a.5.5 0 00.5-.5V7a.5.5 0 00-.5-.5h-4a.5.5 0 010-1h4A1.5 1.5 0 0116.5 7v8zm-7-11a.5.5 0 00-.5-.5H4a.5.5 0 00-.5.5v5a.5.5 0 001 0V4.5H9a.5.5 0 00.5-.5z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M3.646 3.646a.5.5 0 000 .708l8 8a.5.5 0 00.708-.708l-8-8a.5.5 0 00-.708 0z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconBoxArrowUpRight = /*#__PURE__*/ makeIcon(\n 'BoxArrowUpRight',\n '<path fill-rule=\"evenodd\" d=\"M3.5 15A1.5 1.5 0 005 16.5h8a1.5 1.5 0 001.5-1.5v-4a.5.5 0 00-1 0v4a.5.5 0 01-.5.5H5a.5.5 0 01-.5-.5V7a.5.5 0 01.5-.5h4a.5.5 0 000-1H5A1.5 1.5 0 003.5 7v8zm7-11a.5.5 0 01.5-.5h5a.5.5 0 01.5.5v5a.5.5 0 01-1 0V4.5H11a.5.5 0 01-.5-.5z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M16.354 3.646a.5.5 0 010 .708l-8 8a.5.5 0 01-.708-.708l8-8a.5.5 0 01.708 0z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconBraces = /*#__PURE__*/ makeIcon(\n 'Braces',\n '<path d=\"M4.114 10.063V9.9c1.005-.102 1.497-.615 1.497-1.6V6.503c0-1.094.39-1.538 1.354-1.538h.273V4h-.376C5.25 4 4.49 4.759 4.49 6.352v1.524c0 1.094-.376 1.456-1.49 1.456v1.299c1.114 0 1.49.362 1.49 1.456v1.524c0 1.593.759 2.352 2.372 2.352h.376v-.964h-.273c-.964 0-1.354-.444-1.354-1.538v-1.798c0-.984-.492-1.497-1.497-1.6zM15.886 9.9v.163c-1.005.103-1.497.616-1.497 1.6v1.798c0 1.094-.39 1.538-1.354 1.538h-.273v.964h.376c1.613 0 2.372-.759 2.372-2.352v-1.524c0-1.094.376-1.456 1.49-1.456V9.332c-1.114 0-1.49-.362-1.49-1.456V6.352C15.51 4.759 14.75 4 13.138 4h-.376v.964h.273c.964 0 1.354.444 1.354 1.538V8.3c0 .984.492 1.497 1.497 1.6z\"/>'\n)\n\nexport const BIconBrightnessFillHigh = /*#__PURE__*/ makeIcon(\n 'BrightnessFillHigh',\n '<circle cx=\"10\" cy=\"10\" r=\"4\"/><path fill-rule=\"evenodd\" d=\"M10 2a.5.5 0 01.5.5v2a.5.5 0 01-1 0v-2A.5.5 0 0110 2zm0 13a.5.5 0 01.5.5v2a.5.5 0 01-1 0v-2a.5.5 0 01.5-.5zm8-5a.5.5 0 01-.5.5h-2a.5.5 0 010-1h2a.5.5 0 01.5.5zM5 10a.5.5 0 01-.5.5h-2a.5.5 0 010-1h2a.5.5 0 01.5.5zm10.657-5.657a.5.5 0 010 .707l-1.414 1.414a.5.5 0 01-.707-.707l1.414-1.414a.5.5 0 01.707 0zm-9.193 9.193a.5.5 0 010 .707L5.05 15.657a.5.5 0 01-.707-.707l1.414-1.414a.5.5 0 01.707 0zm9.193 2.121a.5.5 0 01-.707 0l-1.414-1.414a.5.5 0 01.707-.707l1.414 1.414a.5.5 0 010 .707zM6.464 6.464a.5.5 0 01-.707 0L4.343 5.05a.5.5 0 01.707-.707l1.414 1.414a.5.5 0 010 .707z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconBrightnessFillLow = /*#__PURE__*/ makeIcon(\n 'BrightnessFillLow',\n '<circle cx=\"10\" cy=\"10\" r=\"4\"/><circle cx=\"10\" cy=\"4.5\" r=\".5\"/><circle cx=\"10\" cy=\"15.5\" r=\".5\"/><circle cx=\"15.5\" cy=\"10\" r=\".5\" transform=\"rotate(90 15.5 10)\"/><circle cx=\"4.5\" cy=\"10\" r=\".5\" transform=\"rotate(90 4.5 10)\"/><circle cx=\"13.889\" cy=\"6.111\" r=\".5\" transform=\"rotate(45 13.89 6.11)\"/><circle cx=\"6.111\" cy=\"13.889\" r=\".5\" transform=\"rotate(45 6.11 13.89)\"/><circle cx=\"13.889\" cy=\"13.889\" r=\".5\" transform=\"rotate(135 13.89 13.89)\"/><circle cx=\"6.111\" cy=\"6.111\" r=\".5\" transform=\"rotate(135 6.11 6.11)\"/>'\n)\n\nexport const BIconBrightnessHigh = /*#__PURE__*/ makeIcon(\n 'BrightnessHigh',\n '<path fill-rule=\"evenodd\" d=\"M10 13a3 3 0 100-6 3 3 0 000 6zm0 1a4 4 0 100-8 4 4 0 000 8zm0-12a.5.5 0 01.5.5v2a.5.5 0 01-1 0v-2A.5.5 0 0110 2zm0 13a.5.5 0 01.5.5v2a.5.5 0 01-1 0v-2a.5.5 0 01.5-.5zm8-5a.5.5 0 01-.5.5h-2a.5.5 0 010-1h2a.5.5 0 01.5.5zM5 10a.5.5 0 01-.5.5h-2a.5.5 0 010-1h2a.5.5 0 01.5.5zm10.657-5.657a.5.5 0 010 .707l-1.414 1.414a.5.5 0 11-.707-.707l1.414-1.414a.5.5 0 01.707 0zm-9.193 9.193a.5.5 0 010 .707L5.05 15.657a.5.5 0 01-.707-.707l1.414-1.414a.5.5 0 01.707 0zm9.193 2.121a.5.5 0 01-.707 0l-1.414-1.414a.5.5 0 01.707-.707l1.414 1.414a.5.5 0 010 .707zM6.464 6.464a.5.5 0 01-.707 0L4.343 5.05a.5.5 0 01.707-.707l1.414 1.414a.5.5 0 010 .707z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconBrightnessLow = /*#__PURE__*/ makeIcon(\n 'BrightnessLow',\n '<path fill-rule=\"evenodd\" d=\"M10 13a3 3 0 100-6 3 3 0 000 6zm0 1a4 4 0 100-8 4 4 0 000 8z\" clip-rule=\"evenodd\"/><circle cx=\"10\" cy=\"4.5\" r=\".5\"/><circle cx=\"10\" cy=\"15.5\" r=\".5\"/><circle cx=\"15.5\" cy=\"10\" r=\".5\" transform=\"rotate(90 15.5 10)\"/><circle cx=\"4.5\" cy=\"10\" r=\".5\" transform=\"rotate(90 4.5 10)\"/><circle cx=\"13.889\" cy=\"6.111\" r=\".5\" transform=\"rotate(45 13.89 6.11)\"/><circle cx=\"6.111\" cy=\"13.889\" r=\".5\" transform=\"rotate(45 6.11 13.89)\"/><circle cx=\"13.889\" cy=\"13.889\" r=\".5\" transform=\"rotate(135 13.89 13.89)\"/><circle cx=\"6.111\" cy=\"6.111\" r=\".5\" transform=\"rotate(135 6.11 6.11)\"/>'\n)\n\nexport const BIconBrush = /*#__PURE__*/ makeIcon(\n 'Brush',\n '<path d=\"M17.213 3.018a.572.572 0 01.755.05.57.57 0 01.058.746c-.941 1.268-3.982 5.293-6.426 7.736a12.89 12.89 0 01-1.952 1.596c-.508.339-1.167.234-1.599-.197-.416-.416-.53-1.047-.213-1.543.347-.542.888-1.273 1.643-1.977 2.521-2.35 6.476-5.44 7.734-6.411z\"/><path d=\"M9 14a2 2 0 01-2 2c-1 0-2 0-3.5-.5s.5-1 1-1.5 1.395-2 2.5-2a2 2 0 012 2z\"/>'\n)\n\nexport const BIconBucket = /*#__PURE__*/ makeIcon(\n 'Bucket',\n '<path fill-rule=\"evenodd\" d=\"M10 3.5A4.5 4.5 0 005.5 8h-1a5.5 5.5 0 1111 0h-1A4.5 4.5 0 0010 3.5z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M3.61 7.687A.5.5 0 014 7.5h12a.5.5 0 01.488.608l-1.826 8.217a1.5 1.5 0 01-1.464 1.175H6.802a1.5 1.5 0 01-1.464-1.175L3.512 8.108a.5.5 0 01.098-.42zm1.013.813l1.691 7.608a.5.5 0 00.488.392h6.396a.5.5 0 00.488-.392l1.69-7.608H4.624z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconBucketFill = /*#__PURE__*/ makeIcon(\n 'BucketFill',\n '<path fill-rule=\"evenodd\" d=\"M10 3.5A4.5 4.5 0 005.5 8h-1a5.5 5.5 0 1111 0h-1A4.5 4.5 0 0010 3.5z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M3.61 7.687A.5.5 0 014 7.5h12a.5.5 0 01.488.608l-1.826 8.217a1.5 1.5 0 01-1.464 1.175H6.802a1.5 1.5 0 01-1.464-1.175L3.512 8.108a.5.5 0 01.098-.42z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconBuilding = /*#__PURE__*/ makeIcon(\n 'Building',\n '<path fill-rule=\"evenodd\" d=\"M17.285 2.089a.5.5 0 01.215.411v15a.5.5 0 01-.5.5h-3a.5.5 0 01-.5-.5V16h-1v1.5a.5.5 0 01-.5.5H3a.5.5 0 01-.5-.5v-6a.5.5 0 01.418-.493l5.582-.93V5.5a.5.5 0 01.324-.468l8-3a.5.5 0 01.46.057zM9.5 5.846V10.5a.5.5 0 01-.418.493l-5.582.93V17h8v-1.5a.5.5 0 01.5-.5h2a.5.5 0 01.5.5V17h2V3.221l-7 2.625z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M8.5 17.5v-7h1v7h-1z\" clip-rule=\"evenodd\"/><path d=\"M4.5 13h1v1h-1v-1zm2 0h1v1h-1v-1zm-2 2h1v1h-1v-1zm2 0h1v1h-1v-1zm6-10h1v1h-1V5zm2 0h1v1h-1V5zm-4 2h1v1h-1V7zm2 0h1v1h-1V7zm2 0h1v1h-1V7zm-2 2h1v1h-1V9zm2 0h1v1h-1V9zm-4 0h1v1h-1V9zm0 2h1v1h-1v-1zm2 0h1v1h-1v-1zm2 0h1v1h-1v-1zm-4 2h1v1h-1v-1zm2 0h1v1h-1v-1zm2 0h1v1h-1v-1z\"/>'\n)\n\nexport const BIconBullseye = /*#__PURE__*/ makeIcon(\n 'Bullseye',\n '<path fill-rule=\"evenodd\" d=\"M10 17a7 7 0 100-14 7 7 0 000 14zm0 1a8 8 0 100-16 8 8 0 000 16z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M10 15a5 5 0 100-10 5 5 0 000 10zm0 1a6 6 0 100-12 6 6 0 000 12z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M10 13a3 3 0 100-6 3 3 0 000 6zm0 1a4 4 0 100-8 4 4 0 000 8z\" clip-rule=\"evenodd\"/><path d=\"M11.5 10a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0z\"/>'\n)\n\nexport const BIconCalendar = /*#__PURE__*/ makeIcon(\n 'Calendar',\n '<path fill-rule=\"evenodd\" d=\"M16 2H4a2 2 0 00-2 2v12a2 2 0 002 2h12a2 2 0 002-2V4a2 2 0 00-2-2zM3 5.857C3 5.384 3.448 5 4 5h12c.552 0 1 .384 1 .857v10.286c0 .473-.448.857-1 .857H4c-.552 0-1-.384-1-.857V5.857z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M8.5 9a1 1 0 100-2 1 1 0 000 2zm3 0a1 1 0 100-2 1 1 0 000 2zm3 0a1 1 0 100-2 1 1 0 000 2zm-9 3a1 1 0 100-2 1 1 0 000 2zm3 0a1 1 0 100-2 1 1 0 000 2zm3 0a1 1 0 100-2 1 1 0 000 2zm3 0a1 1 0 100-2 1 1 0 000 2zm-9 3a1 1 0 100-2 1 1 0 000 2zm3 0a1 1 0 100-2 1 1 0 000 2zm3 0a1 1 0 100-2 1 1 0 000 2z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconCalendarFill = /*#__PURE__*/ makeIcon(\n 'CalendarFill',\n '<path d=\"M2 4a2 2 0 012-2h12a2 2 0 012 2H2z\"/><path fill-rule=\"evenodd\" d=\"M2 5h16v11a2 2 0 01-2 2H4a2 2 0 01-2-2V5zm6.5 4a1 1 0 100-2 1 1 0 000 2zm4-1a1 1 0 11-2 0 1 1 0 012 0zm2 1a1 1 0 100-2 1 1 0 000 2zm-8 2a1 1 0 11-2 0 1 1 0 012 0zm2 1a1 1 0 100-2 1 1 0 000 2zm4-1a1 1 0 11-2 0 1 1 0 012 0zm2 1a1 1 0 100-2 1 1 0 000 2zm-8 2a1 1 0 11-2 0 1 1 0 012 0zm2 1a1 1 0 100-2 1 1 0 000 2zm4-1a1 1 0 11-2 0 1 1 0 012 0z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconCamera = /*#__PURE__*/ makeIcon(\n 'Camera',\n '<path d=\"M11 7c-1.657 0-4 1.343-4 3a4 4 0 014-4v1z\"/><path fill-rule=\"evenodd\" d=\"M16.333 5h-2.015A5.97 5.97 0 0011 4a5.972 5.972 0 00-3.318 1H3.667C2.747 5 2 5.746 2 6.667v6.666C2 14.253 2.746 15 3.667 15h4.015c.95.632 2.091 1 3.318 1a5.973 5.973 0 003.318-1h2.015c.92 0 1.667-.746 1.667-1.667V6.667C18 5.747 17.254 5 16.333 5zM3.5 7a.5.5 0 100-1 .5.5 0 000 1zm7.5 8a5 5 0 100-10 5 5 0 000 10z\" clip-rule=\"evenodd\"/><path d=\"M4 5a1 1 0 011-1h1a1 1 0 010 2H5a1 1 0 01-1-1z\"/>'\n)\n\nexport const BIconCameraVideo = /*#__PURE__*/ makeIcon(\n 'CameraVideo',\n '<path fill-rule=\"evenodd\" d=\"M4.667 5.5c-.645 0-1.167.522-1.167 1.167v6.666c0 .645.522 1.167 1.167 1.167h6.666c.645 0 1.167-.522 1.167-1.167V6.667c0-.645-.522-1.167-1.167-1.167H4.667zM2.5 6.667C2.5 5.47 3.47 4.5 4.667 4.5h6.666c1.197 0 2.167.97 2.167 2.167v6.666c0 1.197-.97 2.167-2.167 2.167H4.667A2.167 2.167 0 012.5 13.333V6.667z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M13.25 7.65l2.768-1.605a.318.318 0 01.482.263v7.384c0 .228-.26.393-.482.264l-2.767-1.605-.502.865 2.767 1.605c.859.498 1.984-.095 1.984-1.129V6.308c0-1.033-1.125-1.626-1.984-1.128L12.75 6.785l.502.865z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconCameraVideoFill = /*#__PURE__*/ makeIcon(\n 'CameraVideoFill',\n '<path d=\"M4.667 5h6.666C12.253 5 13 5.746 13 6.667v6.666c0 .92-.746 1.667-1.667 1.667H4.667C3.747 15 3 14.254 3 13.333V6.667C3 5.747 3.746 5 4.667 5z\"/><path d=\"M9.404 10.697l6.363 3.692c.54.313 1.233-.066 1.233-.697V6.308c0-.63-.692-1.01-1.233-.696L9.404 9.304a.802.802 0 000 1.393z\"/>'\n)\n\nexport const BIconCapslock = /*#__PURE__*/ makeIcon(\n 'Capslock',\n '<path fill-rule=\"evenodd\" d=\"M9.27 3.047a1 1 0 011.46 0l6.345 6.77c.6.638.146 1.683-.73 1.683H13.5v1a1 1 0 01-1 1h-5a1 1 0 01-1-1v-1H3.654c-.875 0-1.328-1.045-.73-1.684L9.27 3.047zm7.076 7.453L10 3.731 3.654 10.5H6.5a1 1 0 011 1v1h5v-1a1 1 0 011-1h2.846zm-9.846 5a1 1 0 011-1h5a1 1 0 011 1v1a1 1 0 01-1 1h-5a1 1 0 01-1-1v-1zm6 0h-5v1h5v-1z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconCapslockFill = /*#__PURE__*/ makeIcon(\n 'CapslockFill',\n '<path fill-rule=\"evenodd\" d=\"M9.27 3.047a1 1 0 011.46 0l6.345 6.77c.6.638.146 1.683-.73 1.683H13.5v1a1 1 0 01-1 1h-5a1 1 0 01-1-1v-1H3.654c-.875 0-1.328-1.045-.73-1.684L9.27 3.047zM6.5 15.5a1 1 0 011-1h5a1 1 0 011 1v1a1 1 0 01-1 1h-5a1 1 0 01-1-1v-1z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconChat = /*#__PURE__*/ makeIcon(\n 'Chat',\n '<path fill-rule=\"evenodd\" d=\"M8.207 13.293L7.5 14a5.5 5.5 0 110-11h5a5.5 5.5 0 110 11s-1.807 2.169-4.193 2.818C7.887 16.933 7.449 17 7 17c.291-.389.488-.74.617-1.052C8.149 14.649 7.5 14 7.5 14c.707-.707.708-.707.708-.706h.001l.002.003.004.004.01.01a1.184 1.184 0 01.074.084c.039.047.085.108.134.183.097.15.206.36.284.626.114.386.154.855.047 1.394.717-.313 1.37-.765 1.895-1.201a10.266 10.266 0 001.013-.969l.05-.056.01-.012m0 0A1 1 0 0112.5 13a4.5 4.5 0 100-9h-5a4.5 4.5 0 000 9 1 1 0 01.707.293\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconChatFill = /*#__PURE__*/ makeIcon(\n 'ChatFill',\n '<path fill-rule=\"evenodd\" d=\"M7.5 14s.65.65.117 1.948A4.821 4.821 0 017 17c.449 0 .887-.067 1.307-.181C10.692 16.169 12.5 14 12.5 14a5.5 5.5 0 100-11h-5a5.5 5.5 0 100 11z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconCheck = /*#__PURE__*/ makeIcon(\n 'Check',\n '<path fill-rule=\"evenodd\" d=\"M15.854 5.646a.5.5 0 010 .708l-7 7a.5.5 0 01-.708 0l-3.5-3.5a.5.5 0 11.708-.708L8.5 12.293l6.646-6.647a.5.5 0 01.708 0z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconCheckBox = /*#__PURE__*/ makeIcon(\n 'CheckBox',\n '<path fill-rule=\"evenodd\" d=\"M17.354 4.646a.5.5 0 010 .708l-7 7a.5.5 0 01-.708 0l-3-3a.5.5 0 11.708-.708L10 11.293l6.646-6.647a.5.5 0 01.708 0z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M3.5 15A1.5 1.5 0 005 16.5h10a1.5 1.5 0 001.5-1.5v-5a.5.5 0 00-1 0v5a.5.5 0 01-.5.5H5a.5.5 0 01-.5-.5V5a.5.5 0 01.5-.5h8a.5.5 0 000-1H5A1.5 1.5 0 003.5 5v10z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconCheckCircle = /*#__PURE__*/ makeIcon(\n 'CheckCircle',\n '<path fill-rule=\"evenodd\" d=\"M17.354 4.646a.5.5 0 010 .708l-7 7a.5.5 0 01-.708 0l-3-3a.5.5 0 11.708-.708L10 11.293l6.646-6.647a.5.5 0 01.708 0z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M10 4.5a5.5 5.5 0 105.5 5.5.5.5 0 011 0 6.5 6.5 0 11-3.25-5.63.5.5 0 11-.5.865A5.472 5.472 0 0010 4.5z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconChevronCompactDown = /*#__PURE__*/ makeIcon(\n 'ChevronCompactDown',\n '<path fill-rule=\"evenodd\" d=\"M3.553 8.776a.5.5 0 01.67-.223L10 11.44l5.776-2.888a.5.5 0 11.448.894l-6 3a.5.5 0 01-.448 0l-6-3a.5.5 0 01-.223-.67z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconChevronCompactLeft = /*#__PURE__*/ makeIcon(\n 'ChevronCompactLeft',\n '<path fill-rule=\"evenodd\" d=\"M11.224 3.553a.5.5 0 01.223.67L8.56 10l2.888 5.776a.5.5 0 11-.894.448l-3-6a.5.5 0 010-.448l3-6a.5.5 0 01.67-.223z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconChevronCompactRight = /*#__PURE__*/ makeIcon(\n 'ChevronCompactRight',\n '<path fill-rule=\"evenodd\" d=\"M8.776 3.553a.5.5 0 01.671.223l3 6a.5.5 0 010 .448l-3 6a.5.5 0 11-.894-.448L11.44 10 8.553 4.224a.5.5 0 01.223-.671z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconChevronCompactUp = /*#__PURE__*/ makeIcon(\n 'ChevronCompactUp',\n '<path fill-rule=\"evenodd\" d=\"M9.776 7.553a.5.5 0 01.448 0l6 3a.5.5 0 11-.448.894L10 8.56l-5.776 2.888a.5.5 0 11-.448-.894l6-3z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconChevronDown = /*#__PURE__*/ makeIcon(\n 'ChevronDown',\n '<path fill-rule=\"evenodd\" d=\"M3.646 6.646a.5.5 0 01.708 0L10 12.293l5.646-5.647a.5.5 0 01.708.708l-6 6a.5.5 0 01-.708 0l-6-6a.5.5 0 010-.708z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconChevronLeft = /*#__PURE__*/ makeIcon(\n 'ChevronLeft',\n '<path fill-rule=\"evenodd\" d=\"M13.354 3.646a.5.5 0 010 .708L7.707 10l5.647 5.646a.5.5 0 01-.708.708l-6-6a.5.5 0 010-.708l6-6a.5.5 0 01.708 0z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconChevronRight = /*#__PURE__*/ makeIcon(\n 'ChevronRight',\n '<path fill-rule=\"evenodd\" d=\"M6.646 3.646a.5.5 0 01.708 0l6 6a.5.5 0 010 .708l-6 6a.5.5 0 01-.708-.708L12.293 10 6.646 4.354a.5.5 0 010-.708z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconChevronUp = /*#__PURE__*/ makeIcon(\n 'ChevronUp',\n '<path fill-rule=\"evenodd\" d=\"M9.646 6.646a.5.5 0 01.708 0l6 6a.5.5 0 01-.708.708L10 7.707l-5.646 5.647a.5.5 0 01-.708-.708l6-6z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconCircle = /*#__PURE__*/ makeIcon(\n 'Circle',\n '<path fill-rule=\"evenodd\" d=\"M10 17a7 7 0 100-14 7 7 0 000 14zm0 1a8 8 0 100-16 8 8 0 000 16z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconCircleFill = /*#__PURE__*/ makeIcon(\n 'CircleFill',\n '<circle cx=\"10\" cy=\"10\" r=\"8\"/>'\n)\n\nexport const BIconCircleHalf = /*#__PURE__*/ makeIcon(\n 'CircleHalf',\n '<path fill-rule=\"evenodd\" d=\"M10 17V3a7 7 0 000 14zm0 1a8 8 0 100-16 8 8 0 000 16z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconCircleSlash = /*#__PURE__*/ makeIcon(\n 'CircleSlash',\n '<path fill-rule=\"evenodd\" d=\"M10 1.5a8.5 8.5 0 100 17 8.5 8.5 0 000-17zM5.071 4.347a7.5 7.5 0 0110.582 10.582L5.071 4.347zm-.724.724a7.5 7.5 0 0010.582 10.582L4.347 5.071z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconClock = /*#__PURE__*/ makeIcon(\n 'Clock',\n '<path fill-rule=\"evenodd\" d=\"M10 17a7 7 0 100-14 7 7 0 000 14zm8-7a8 8 0 11-16 0 8 8 0 0116 0z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M10 4a.5.5 0 01.5.5V10a.5.5 0 01-.5.5H5.5a.5.5 0 010-1h4v-5A.5.5 0 0110 4z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconClockFill = /*#__PURE__*/ makeIcon(\n 'ClockFill',\n '<path fill-rule=\"evenodd\" d=\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zM5.5 9.5h4v-5a.5.5 0 011 0V10a.5.5 0 01-.5.5H5.5a.5.5 0 010-1z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconCloud = /*#__PURE__*/ makeIcon(\n 'Cloud',\n '<path fill-rule=\"evenodd\" d=\"M6.887 9.2l-.964-.165A2.5 2.5 0 105.5 14h10a1.5 1.5 0 00.237-2.982l-1.038-.164.216-1.028a4 4 0 10-7.843-1.587l-.185.96zm9.084.341a5 5 0 00-9.88-1.492A3.5 3.5 0 105.5 15h9.999a2.5 2.5 0 00.394-4.968c.033-.16.06-.324.077-.49z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconCloudDownload = /*#__PURE__*/ makeIcon(\n 'CloudDownload',\n '<path d=\"M6.887 7.2l-.964-.165A2.5 2.5 0 105.5 12H8v1H5.5a3.5 3.5 0 11.59-6.95 5.002 5.002 0 119.804 1.98A2.501 2.501 0 0115.5 13H12v-1h3.5a1.5 1.5 0 00.237-2.981L14.7 8.854l.216-1.028a4 4 0 10-7.843-1.587l-.185.96z\"/><path fill-rule=\"evenodd\" d=\"M7 14.5a.5.5 0 01.707 0L10 16.793l2.293-2.293a.5.5 0 11.707.707l-2.646 2.647a.5.5 0 01-.708 0L7 15.207a.5.5 0 010-.707z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M10 8a.5.5 0 01.5.5v8a.5.5 0 01-1 0v-8A.5.5 0 0110 8z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconCloudFill = /*#__PURE__*/ makeIcon(\n 'CloudFill',\n '<path fill-rule=\"evenodd\" d=\"M5.5 15a3.5 3.5 0 11.59-6.95 5.002 5.002 0 119.804 1.98A2.5 2.5 0 0115.5 15h-10z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconCloudUpload = /*#__PURE__*/ makeIcon(\n 'CloudUpload',\n '<path d=\"M6.887 8.2l-.964-.165A2.5 2.5 0 105.5 13H8v1H5.5a3.5 3.5 0 11.59-6.95 5.002 5.002 0 119.804 1.98A2.501 2.501 0 0115.5 14H12v-1h3.5a1.5 1.5 0 00.237-2.982L14.7 9.854l.216-1.028a4 4 0 10-7.843-1.587l-.185.96z\"/><path fill-rule=\"evenodd\" d=\"M7 10.854a.5.5 0 00.707 0L10 8.56l2.293 2.293a.5.5 0 00.707-.707L10.354 7.5a.5.5 0 00-.708 0L7 10.146a.5.5 0 000 .708z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M10 8a.5.5 0 01.5.5v8a.5.5 0 01-1 0v-8A.5.5 0 0110 8z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconCode = /*#__PURE__*/ makeIcon(\n 'Code',\n '<path fill-rule=\"evenodd\" d=\"M7.854 6.146a.5.5 0 010 .708L4.707 10l3.147 3.146a.5.5 0 01-.708.708l-3.5-3.5a.5.5 0 010-.708l3.5-3.5a.5.5 0 01.708 0zm4.292 0a.5.5 0 000 .708L15.293 10l-3.147 3.146a.5.5 0 00.708.708l3.5-3.5a.5.5 0 000-.708l-3.5-3.5a.5.5 0 00-.708 0z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconCodeSlash = /*#__PURE__*/ makeIcon(\n 'CodeSlash',\n '<path fill-rule=\"evenodd\" d=\"M6.854 6.146a.5.5 0 010 .708L3.707 10l3.147 3.146a.5.5 0 01-.708.708l-3.5-3.5a.5.5 0 010-.708l3.5-3.5a.5.5 0 01.708 0zm6.292 0a.5.5 0 000 .708L16.293 10l-3.147 3.146a.5.5 0 00.708.708l3.5-3.5a.5.5 0 000-.708l-3.5-3.5a.5.5 0 00-.708 0zm-.999-3.124a.5.5 0 01.33.625l-4 13a.5.5 0 11-.955-.294l4-13a.5.5 0 01.625-.33z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconColumns = /*#__PURE__*/ makeIcon(\n 'Columns',\n '<path fill-rule=\"evenodd\" d=\"M17 4H3v12h14V4zM3 3a1 1 0 00-1 1v12a1 1 0 001 1h14a1 1 0 001-1V4a1 1 0 00-1-1H3z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M9.5 16V4h1v12h-1zm0-8H3V7h6.5v1zm7.5 5h-6.5v-1H17v1z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconColumnsGutters = /*#__PURE__*/ makeIcon(\n 'ColumnsGutters',\n '<path fill-rule=\"evenodd\" d=\"M8 3H3v3h5V3zM3 2a1 1 0 00-1 1v3a1 1 0 001 1h5a1 1 0 001-1V3a1 1 0 00-1-1H3zm14 12h-5v3h5v-3zm-5-1a1 1 0 00-1 1v3a1 1 0 001 1h5a1 1 0 001-1v-3a1 1 0 00-1-1h-5zm-4-3H3v7h5v-7zM3 9a1 1 0 00-1 1v7a1 1 0 001 1h5a1 1 0 001-1v-7a1 1 0 00-1-1H3zm14-6h-5v7h5V3zm-5-1a1 1 0 00-1 1v7a1 1 0 001 1h5a1 1 0 001-1V3a1 1 0 00-1-1h-5z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconCommand = /*#__PURE__*/ makeIcon(\n 'Command',\n '<path fill-rule=\"evenodd\" d=\"M4 5.5A1.5 1.5 0 005.5 7H7V5.5a1.5 1.5 0 10-3 0zM8 8V5.5A2.5 2.5 0 105.5 8H8zm8-2.5A1.5 1.5 0 0114.5 7H13V5.5a1.5 1.5 0 013 0zM12 8V5.5A2.5 2.5 0 1114.5 8H12zm-8 6.5A1.5 1.5 0 015.5 13H7v1.5a1.5 1.5 0 01-3 0zM8 12v2.5A2.5 2.5 0 115.5 12H8zm8 2.5a1.5 1.5 0 00-1.5-1.5H13v1.5a1.5 1.5 0 003 0zM12 12v2.5a2.5 2.5 0 102.5-2.5H12z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M12 8H8v4h4V8zM7 7v6h6V7H7z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconCompass = /*#__PURE__*/ makeIcon(\n 'Compass',\n '<path fill-rule=\"evenodd\" d=\"M10 17.016a6.5 6.5 0 100-13 6.5 6.5 0 000 13zm0 1a7.5 7.5 0 100-15 7.5 7.5 0 000 15z\" clip-rule=\"evenodd\"/><rect width=\"4\" height=\"2\" x=\"8\" y=\"2\" rx=\"1\"/><path d=\"M8.94 9.44l4.95-2.83-2.83 4.95-4.95 2.83 2.83-4.95z\"/>'\n)\n\nexport const BIconCone = /*#__PURE__*/ makeIcon(\n 'Cone',\n '<path d=\"M9.03 3.88c.252-1.01 1.688-1.01 1.94 0L14 16H6L9.03 3.88z\"/><path fill-rule=\"evenodd\" d=\"M3.5 16a.5.5 0 01.5-.5h12a.5.5 0 010 1H4a.5.5 0 01-.5-.5z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconConeStriped = /*#__PURE__*/ makeIcon(\n 'ConeStriped',\n '<path fill-rule=\"evenodd\" d=\"M9.879 13.015a.5.5 0 01.242 0l6 1.5a.5.5 0 01.037.96l-6 2a.499.499 0 01-.316 0l-6-2a.5.5 0 01.037-.96l6-1.5z\" clip-rule=\"evenodd\"/><path d=\"M13.885 14.538l-.72-2.877c-.862.212-1.964.339-3.165.339s-2.303-.127-3.165-.339l-.72 2.877c-.073.292-.002.6.256.756.49.295 1.545.706 3.629.706s3.14-.411 3.63-.706c.257-.155.328-.464.255-.756zM11.97 6.88l.953 3.811C12.159 10.878 11.14 11 10 11c-1.14 0-2.159-.122-2.923-.309L8.03 6.88C8.635 6.957 9.3 7 10 7s1.365-.043 1.97-.12zm-.245-.978L10.97 2.88c-.252-1.01-1.688-1.01-1.94 0L8.275 5.9C8.8 5.965 9.382 6 10 6c.618 0 1.2-.036 1.725-.098z\"/>'\n)\n\nexport const BIconController = /*#__PURE__*/ makeIcon(\n 'Controller',\n '<path fill-rule=\"evenodd\" d=\"M13.119 4.693c.904.19 1.75.495 2.235.98.407.408.779 1.05 1.094 1.772.32.733.599 1.591.805 2.466.206.875.34 1.78.364 2.606.024.815-.059 1.602-.328 2.21a1.42 1.42 0 01-1.445.83c-.636-.067-1.115-.394-1.513-.773a11.307 11.307 0 01-.739-.809c-.126-.147-.25-.291-.368-.422-.728-.804-1.597-1.527-3.224-1.527-1.627 0-2.496.723-3.224 1.527-.119.131-.242.275-.368.422-.243.283-.494.576-.739.81-.398.378-.877.705-1.513.772a1.42 1.42 0 01-1.445-.83c-.27-.608-.352-1.395-.329-2.21.024-.826.16-1.73.365-2.606.206-.875.486-1.733.805-2.466.315-.722.687-1.364 1.094-1.772.486-.485 1.331-.79 2.235-.98.932-.196 2.03-.292 3.119-.292 1.089 0 2.187.096 3.119.292zm-6.032.979c-.877.185-1.469.443-1.733.708-.276.276-.587.783-.885 1.465a13.748 13.748 0 00-.748 2.295 12.35 12.35 0 00-.339 2.406c-.022.755.062 1.368.243 1.776a.42.42 0 00.426.24c.327-.034.61-.199.929-.502.212-.202.4-.423.615-.674.133-.156.276-.323.44-.505.826-.912 1.943-1.854 3.965-1.854s3.139.942 3.965 1.854c.164.182.307.35.44.505.214.25.403.472.615.674.318.303.601.468.929.503a.42.42 0 00.426-.241c.18-.408.265-1.02.243-1.776a12.353 12.353 0 00-.339-2.406 13.753 13.753 0 00-.748-2.295c-.298-.682-.61-1.19-.885-1.465-.264-.265-.856-.523-1.733-.708-.85-.179-1.877-.27-2.913-.27-1.036 0-2.063.091-2.913.27z\" clip-rule=\"evenodd\"/><path d=\"M13.5 8.026a.5.5 0 11-1 0 .5.5 0 011 0zm-1 1a.5.5 0 11-1 0 .5.5 0 011 0zm2 0a.5.5 0 11-1 0 .5.5 0 011 0zm-1 1.001a.5.5 0 11-1 0 .5.5 0 011 0zm-7-2.501h1v3h-1v-3z\"/><path d=\"M5.5 8.526h3v1h-3v-1zM5.051 5.26a.5.5 0 01.354-.613l1.932-.518a.5.5 0 01.258.966l-1.932.518a.5.5 0 01-.612-.354zm9.976 0a.5.5 0 00-.353-.613l-1.932-.518a.5.5 0 10-.259.966l1.932.518a.5.5 0 00.612-.354z\"/>'\n)\n\nexport const BIconCreditCard = /*#__PURE__*/ makeIcon(\n 'CreditCard',\n '<path fill-rule=\"evenodd\" d=\"M16 5H4a1 1 0 00-1 1v8a1 1 0 001 1h12a1 1 0 001-1V6a1 1 0 00-1-1zM4 4a2 2 0 00-2 2v8a2 2 0 002 2h12a2 2 0 002-2V6a2 2 0 00-2-2H4z\" clip-rule=\"evenodd\"/><rect width=\"3\" height=\"3\" x=\"4\" y=\"11\" rx=\"1\"/><path d=\"M3 7h14v2H3z\"/>'\n)\n\nexport const BIconCursor = /*#__PURE__*/ makeIcon(\n 'Cursor',\n '<path fill-rule=\"evenodd\" d=\"M16.081 4.182a.5.5 0 01.104.557l-5.657 12.727a.5.5 0 01-.917-.006L7.57 12.694l-4.766-2.042a.5.5 0 01-.006-.917L15.525 4.08a.5.5 0 01.556.103zM4.25 10.184l3.897 1.67a.5.5 0 01.262.263l1.67 3.897L14.743 5.52 4.25 10.184z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconCursorFill = /*#__PURE__*/ makeIcon(\n 'CursorFill',\n '<path fill-rule=\"evenodd\" d=\"M16.081 4.182a.5.5 0 01.104.557l-5.657 12.727a.5.5 0 01-.917-.006L7.57 12.694l-4.766-2.042a.5.5 0 01-.006-.917L15.525 4.08a.5.5 0 01.556.103z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconDash = /*#__PURE__*/ makeIcon(\n 'Dash',\n '<path fill-rule=\"evenodd\" d=\"M5.5 10a.5.5 0 01.5-.5h8a.5.5 0 010 1H6a.5.5 0 01-.5-.5z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconDiamond = /*#__PURE__*/ makeIcon(\n 'Diamond',\n '<path fill-rule=\"evenodd\" d=\"M5.1 2.7a.5.5 0 01.4-.2h9a.5.5 0 01.4.2l2.976 3.974c.149.185.156.45.01.644L10.4 17.3a.5.5 0 01-.8 0l-7.5-10a.5.5 0 010-.6l3-4zm11.386 3.785l-1.806-2.41-.776 2.413 2.582-.003zm-3.633.004l.961-2.989H6.186l.963 2.995 5.704-.006zM7.47 7.495l5.062-.005L10 15.366 7.47 7.495zm-1.371-.999l-.78-2.422-1.818 2.425 2.598-.003zM3.499 7.5l2.92-.003 2.193 6.82L3.5 7.5zm7.889 6.817l2.194-6.828 2.929-.003-5.123 6.831z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconDiamondHalf = /*#__PURE__*/ makeIcon(\n 'DiamondHalf',\n '<path fill-rule=\"evenodd\" d=\"M8.94 2.354a1.5 1.5 0 012.12 0l6.586 6.585a1.5 1.5 0 010 2.122l-6.585 6.585a1.5 1.5 0 01-2.122 0l-6.585-6.585a1.5 1.5 0 010-2.122l6.585-6.585zm1.06.56a.498.498 0 00-.354.147L3.061 9.646a.5.5 0 000 .707l6.585 6.586a.499.499 0 00.354.147V2.914z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconDisplay = /*#__PURE__*/ makeIcon(\n 'Display',\n '<path d=\"M7.75 15.5c.167-.333.25-.833.25-1.5h4c0 .667.083 1.167.25 1.5H13a.5.5 0 010 1H7a.5.5 0 010-1h.75z\"/><path fill-rule=\"evenodd\" d=\"M15.991 5H4c-.325 0-.502.078-.602.145a.758.758 0 00-.254.302A1.46 1.46 0 003 6.01V12c0 .325.078.502.145.602.07.105.17.188.302.254a1.464 1.464 0 00.538.143L4.01 13H16c.325 0 .502-.078.602-.145a.758.758 0 00.254-.302 1.464 1.464 0 00.143-.538L17 11.99V6c0-.325-.078-.502-.145-.602a.757.757 0 00-.302-.254A1.46 1.46 0 0015.99 5zM16 4H4C2 4 2 6 2 6v6c0 2 2 2 2 2h12c2 0 2-2 2-2V6c0-2-2-2-2-2z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconDisplayFill = /*#__PURE__*/ makeIcon(\n 'DisplayFill',\n '<path d=\"M7.75 15.5c.167-.333.25-.833.25-1.5h4c0 .667.083 1.167.25 1.5H13a.5.5 0 010 1H7a.5.5 0 010-1h.75z\"/><path fill-rule=\"evenodd\" d=\"M15.991 5H4c-.325 0-.502.078-.602.145a.758.758 0 00-.254.302A1.46 1.46 0 003 6.01V12c0 .325.078.502.145.602.07.105.17.188.302.254a1.464 1.464 0 00.538.143L4.01 13H16c.325 0 .502-.078.602-.145a.758.758 0 00.254-.302 1.464 1.464 0 00.143-.538L17 11.99V6c0-.325-.078-.502-.145-.602a.757.757 0 00-.302-.254A1.46 1.46 0 0015.99 5zM16 4H4C2 4 2 6 2 6v6c0 2 2 2 2 2h12c2 0 2-2 2-2V6c0-2-2-2-2-2z\" clip-rule=\"evenodd\"/><path d=\"M4 6h12v6H4z\"/>'\n)\n\nexport const BIconDocument = /*#__PURE__*/ makeIcon(\n 'Document',\n '<path fill-rule=\"evenodd\" d=\"M6 3h8a2 2 0 012 2v10a2 2 0 01-2 2H6a2 2 0 01-2-2V5a2 2 0 012-2zm0 1a1 1 0 00-1 1v10a1 1 0 001 1h8a1 1 0 001-1V5a1 1 0 00-1-1H6z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconDocumentCode = /*#__PURE__*/ makeIcon(\n 'DocumentCode',\n '<path fill-rule=\"evenodd\" d=\"M6 3h8a2 2 0 012 2v10a2 2 0 01-2 2H6a2 2 0 01-2-2V5a2 2 0 012-2zm0 1a1 1 0 00-1 1v10a1 1 0 001 1h8a1 1 0 001-1V5a1 1 0 00-1-1H6z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M10.646 7.646a.5.5 0 01.708 0l2 2a.5.5 0 010 .708l-2 2a.5.5 0 01-.708-.708L12.293 10l-1.647-1.646a.5.5 0 010-.708zm-1.292 0a.5.5 0 00-.708 0l-2 2a.5.5 0 000 .708l2 2a.5.5 0 00.708-.708L7.707 10l1.647-1.646a.5.5 0 000-.708z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconDocumentDiff = /*#__PURE__*/ makeIcon(\n 'DocumentDiff',\n '<path fill-rule=\"evenodd\" d=\"M6 3h8a2 2 0 012 2v10a2 2 0 01-2 2H6a2 2 0 01-2-2V5a2 2 0 012-2zm0 1a1 1 0 00-1 1v10a1 1 0 001 1h8a1 1 0 001-1V5a1 1 0 00-1-1H6z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M7.5 13a.5.5 0 01.5-.5h4a.5.5 0 010 1H8a.5.5 0 01-.5-.5zM10 6.5a.5.5 0 01.5.5v4a.5.5 0 01-1 0V7a.5.5 0 01.5-.5z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M7.5 9a.5.5 0 01.5-.5h4a.5.5 0 010 1H8a.5.5 0 01-.5-.5z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconDocumentRichtext = /*#__PURE__*/ makeIcon(\n 'DocumentRichtext',\n '<path fill-rule=\"evenodd\" d=\"M6 3h8a2 2 0 012 2v10a2 2 0 01-2 2H6a2 2 0 01-2-2V5a2 2 0 012-2zm0 1a1 1 0 00-1 1v10a1 1 0 001 1h8a1 1 0 001-1V5a1 1 0 00-1-1H6z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M6.5 14a.5.5 0 01.5-.5h3a.5.5 0 010 1H7a.5.5 0 01-.5-.5zm0-2a.5.5 0 01.5-.5h6a.5.5 0 010 1H7a.5.5 0 01-.5-.5zm1.639-3.958l1.33.886 1.854-1.855a.25.25 0 01.289-.047L13.5 8v1.75a.5.5 0 01-.5.5H7a.5.5 0 01-.5-.5v-.5s1.54-1.274 1.639-1.208zM8.25 7a.75.75 0 100-1.5.75.75 0 000 1.5z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconDocumentSpreadsheet = /*#__PURE__*/ makeIcon(\n 'DocumentSpreadsheet',\n '<path fill-rule=\"evenodd\" d=\"M6 3h8a2 2 0 012 2v10a2 2 0 01-2 2H6a2 2 0 01-2-2V5a2 2 0 012-2zm0 1a1 1 0 00-1 1v10a1 1 0 001 1h8a1 1 0 001-1V5a1 1 0 00-1-1H6z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M15 8H5V7h10v1zm0 3H5v-1h10v1zm0 3H5v-1h10v1z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M7 16V8h1v8H7zm4 0V8h1v8h-1z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconDocumentText = /*#__PURE__*/ makeIcon(\n 'DocumentText',\n '<path fill-rule=\"evenodd\" d=\"M6 3h8a2 2 0 012 2v10a2 2 0 01-2 2H6a2 2 0 01-2-2V5a2 2 0 012-2zm0 1a1 1 0 00-1 1v10a1 1 0 001 1h8a1 1 0 001-1V5a1 1 0 00-1-1H6z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M6.5 14a.5.5 0 01.5-.5h3a.5.5 0 010 1H7a.5.5 0 01-.5-.5zm0-2a.5.5 0 01.5-.5h6a.5.5 0 010 1H7a.5.5 0 01-.5-.5zm0-2a.5.5 0 01.5-.5h6a.5.5 0 010 1H7a.5.5 0 01-.5-.5zm0-2a.5.5 0 01.5-.5h6a.5.5 0 010 1H7a.5.5 0 01-.5-.5zm0-2a.5.5 0 01.5-.5h6a.5.5 0 010 1H7a.5.5 0 01-.5-.5z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconDocuments = /*#__PURE__*/ makeIcon(\n 'Documents',\n '<path fill-rule=\"evenodd\" d=\"M5 4h8a2 2 0 012 2v10a2 2 0 01-2 2H5a2 2 0 01-2-2V6a2 2 0 012-2zm0 1a1 1 0 00-1 1v10a1 1 0 001 1h8a1 1 0 001-1V6a1 1 0 00-1-1H5z\" clip-rule=\"evenodd\"/><path d=\"M7 2h8a2 2 0 012 2v10a2 2 0 01-2 2v-1a1 1 0 001-1V4a1 1 0 00-1-1H7a1 1 0 00-1 1H5a2 2 0 012-2z\"/>'\n)\n\nexport const BIconDocumentsAlt = /*#__PURE__*/ makeIcon(\n 'DocumentsAlt',\n '<path fill-rule=\"evenodd\" d=\"M5 3h8a2 2 0 012 2v10a2 2 0 01-2 2H5a2 2 0 01-2-2V5a2 2 0 012-2zm0 1a1 1 0 00-1 1v10a1 1 0 001 1h8a1 1 0 001-1V5a1 1 0 00-1-1H5z\" clip-rule=\"evenodd\"/><path d=\"M15 6V5a2 2 0 012 2v6a2 2 0 01-2 2v-1a1 1 0 001-1V7a1 1 0 00-1-1z\"/>'\n)\n\nexport const BIconDot = /*#__PURE__*/ makeIcon(\n 'Dot',\n '<path fill-rule=\"evenodd\" d=\"M10 11.5a1.5 1.5 0 100-3 1.5 1.5 0 000 3z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconDownload = /*#__PURE__*/ makeIcon(\n 'Download',\n '<path fill-rule=\"evenodd\" d=\"M2.5 10a.5.5 0 01.5.5V14a1 1 0 001 1h12a1 1 0 001-1v-3.5a.5.5 0 011 0V14a2 2 0 01-2 2H4a2 2 0 01-2-2v-3.5a.5.5 0 01.5-.5z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M7 9.5a.5.5 0 01.707 0L10 11.793 12.293 9.5a.5.5 0 01.707.707l-2.646 2.647a.5.5 0 01-.708 0L7 10.207A.5.5 0 017 9.5z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M10 3a.5.5 0 01.5.5v8a.5.5 0 01-1 0v-8A.5.5 0 0110 3z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconEggFried = /*#__PURE__*/ makeIcon(\n 'EggFried',\n '<path fill-rule=\"evenodd\" d=\"M15.665 8.113a1 1 0 01-.667-.977L15 7a4 4 0 00-6.483-3.136 1 1 0 01-.8.2 4 4 0 00-3.693 6.61 1 1 0 01.2 1 4 4 0 006.67 4.087 1 1 0 011.262-.152 2.5 2.5 0 003.715-2.905 1 1 0 01.341-1.113 2.001 2.001 0 00-.547-3.478zM16 7c0 .057 0 .113-.003.17a3.001 3.001 0 01.822 5.216 3.5 3.5 0 01-5.201 4.065 5 5 0 01-8.336-5.109A5 5 0 017.896 3.08 5 5 0 0116 7z\" clip-rule=\"evenodd\"/><circle cx=\"10\" cy=\"10\" r=\"3\"/>'\n)\n\nexport const BIconEject = /*#__PURE__*/ makeIcon(\n 'Eject',\n '<path fill-rule=\"evenodd\" d=\"M9.27 3.047a1 1 0 011.46 0l6.345 6.77c.6.638.146 1.683-.73 1.683H3.656c-.876 0-1.33-1.045-.73-1.684L9.27 3.047zm7.076 7.453L10 3.731 3.654 10.5h12.692zM2.5 13.5a1 1 0 011-1h13a1 1 0 011 1v1a1 1 0 01-1 1h-13a1 1 0 01-1-1v-1zm14 0h-13v1h13v-1z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconEjectFill = /*#__PURE__*/ makeIcon(\n 'EjectFill',\n '<path fill-rule=\"evenodd\" d=\"M9.27 3.047a1 1 0 011.46 0l6.345 6.77c.6.638.146 1.683-.73 1.683H3.656c-.876 0-1.33-1.045-.73-1.684L9.27 3.047zM2.5 13.5a1 1 0 011-1h13a1 1 0 011 1v1a1 1 0 01-1 1h-13a1 1 0 01-1-1v-1z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconEnvelope = /*#__PURE__*/ makeIcon(\n 'Envelope',\n '<path fill-rule=\"evenodd\" d=\"M16 5H4a1 1 0 00-1 1v8a1 1 0 001 1h12a1 1 0 001-1V6a1 1 0 00-1-1zM4 4a2 2 0 00-2 2v8a2 2 0 002 2h12a2 2 0 002-2V6a2 2 0 00-2-2H4z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M2.071 6.243a.5.5 0 01.686-.172L10 10.417l7.243-4.346a.5.5 0 11.514.858L10 11.583 2.243 6.93a.5.5 0 01-.172-.686z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconEnvelopeFill = /*#__PURE__*/ makeIcon(\n 'EnvelopeFill',\n '<path d=\"M2.05 5.555L10 10.414l7.95-4.859A2 2 0 0016 4H4a2 2 0 00-1.95 1.555zM18 6.697l-5.875 3.59L18 13.743V6.697zm-.168 8.108l-6.675-3.926-1.157.707-1.157-.707-6.675 3.926A2 2 0 004 16h12a2 2 0 001.832-1.195zM2 13.743l5.875-3.456L2 6.697v7.046z\"/>'\n)\n\nexport const BIconEnvelopeOpen = /*#__PURE__*/ makeIcon(\n 'EnvelopeOpen',\n '<path fill-rule=\"evenodd\" d=\"M2.243 8.929l.514-.858L10 12.417l7.243-4.346.514.858L10 13.583 2.243 8.93z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M9.184 12.68l-6.432 3.752-.504-.864 6.432-3.752.504.864zm1.632 0l6.432 3.752.504-.864-6.432-3.752-.504.864z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M10.47 3.318a1 1 0 00-.94 0l-6 3.2A1 1 0 003 7.4V16a1 1 0 001 1h12a1 1 0 001-1V7.4a1 1 0 00-.53-.882l-6-3.2zm-1.41-.883a2 2 0 011.882 0l6 3.2A2 2 0 0118 7.4V16a2 2 0 01-2 2H4a2 2 0 01-2-2V7.4a2 2 0 011.059-1.765l6-3.2z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconEnvelopeOpenFill = /*#__PURE__*/ makeIcon(\n 'EnvelopeOpenFill',\n '<path fill-rule=\"evenodd\" d=\"M10.941 2.435a2 2 0 00-1.882 0l-6 3.2A2 2 0 002 7.4v.125l8 4.889 8-4.889V7.4a2 2 0 00-1.059-1.765l-6-3.2zM18 8.697l-5.875 3.59L18 15.743V8.697zm-.168 8.108l-6.586-3.874-.088-.052-.897.548-.261.159-.26-.16-.897-.547-.09.052-6.585 3.874A2 2 0 004 18h12a2 2 0 001.832-1.195zM2 15.743l5.875-3.456L2 8.697v7.046z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconEye = /*#__PURE__*/ makeIcon(\n 'Eye',\n '<path fill-rule=\"evenodd\" d=\"M18 10s-3-5.5-8-5.5S2 10 2 10s3 5.5 8 5.5 8-5.5 8-5.5zM3.173 10a13.133 13.133 0 001.66 2.043C6.12 13.332 7.88 14.5 10 14.5c2.12 0 3.879-1.168 5.168-2.457A13.133 13.133 0 0016.828 10a13.133 13.133 0 00-1.66-2.043C13.879 6.668 12.119 5.5 10 5.5c-2.12 0-3.879 1.168-5.168 2.457A13.133 13.133 0 003.172 10z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M10 7.5a2.5 2.5 0 100 5 2.5 2.5 0 000-5zM6.5 10a3.5 3.5 0 117 0 3.5 3.5 0 01-7 0z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconEyeFill = /*#__PURE__*/ makeIcon(\n 'EyeFill',\n '<path d=\"M12.5 10a2.5 2.5 0 11-5 0 2.5 2.5 0 015 0z\"/><path fill-rule=\"evenodd\" d=\"M2 10s3-5.5 8-5.5 8 5.5 8 5.5-3 5.5-8 5.5S2 10 2 10zm8 3.5a3.5 3.5 0 100-7 3.5 3.5 0 000 7z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconEyeSlash = /*#__PURE__*/ makeIcon(\n 'EyeSlash',\n '<path d=\"M15.359 13.238C17.06 11.72 18 10 18 10s-3-5.5-8-5.5a7.028 7.028 0 00-2.79.588l.77.771A5.944 5.944 0 0110 5.5c2.12 0 3.879 1.168 5.168 2.457A13.134 13.134 0 0116.828 10c-.058.087-.122.183-.195.288a13.14 13.14 0 01-1.465 1.755c-.165.165-.337.328-.517.486l.708.709z\"/><path d=\"M13.297 11.176a3.5 3.5 0 00-4.474-4.474l.823.823a2.5 2.5 0 012.829 2.829l.822.822zm-2.943 1.299l.822.822a3.5 3.5 0 01-4.474-4.474l.823.823a2.5 2.5 0 002.829 2.829z\"/><path d=\"M5.35 7.47c-.18.16-.353.322-.518.487A13.134 13.134 0 003.172 10l.195.288c.335.48.83 1.12 1.465 1.755C6.121 13.332 7.881 14.5 10 14.5c.716 0 1.39-.133 2.02-.36l.77.772A7.027 7.027 0 0110 15.5c-5 0-8-5.5-8-5.5s.939-1.721 2.641-3.238l.708.709z\"/><path fill-rule=\"evenodd\" d=\"M15.646 16.354l-12-12 .708-.708 12 12-.708.707z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconEyeSlashFill = /*#__PURE__*/ makeIcon(\n 'EyeSlashFill',\n '<path d=\"M12.79 14.912l-1.614-1.615a3.5 3.5 0 01-4.474-4.474l-2.06-2.06C2.938 8.278 2 10 2 10s3 5.5 8 5.5a7.027 7.027 0 002.79-.588zM7.21 5.088A7.028 7.028 0 0110 4.5c5 0 8 5.5 8 5.5s-.939 1.72-2.641 3.238l-2.062-2.062a3.5 3.5 0 00-4.474-4.474L7.21 5.088z\"/><path d=\"M7.525 9.646a2.5 2.5 0 002.829 2.829l-2.83-2.829zm4.95.708l-2.829-2.83a2.5 2.5 0 012.829 2.829z\"/><path fill-rule=\"evenodd\" d=\"M15.646 16.354l-12-12 .708-.708 12 12-.708.707z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconFilter = /*#__PURE__*/ makeIcon(\n 'Filter',\n '<path fill-rule=\"evenodd\" d=\"M7.5 13a.5.5 0 01.5-.5h4a.5.5 0 010 1H8a.5.5 0 01-.5-.5zm-2-3a.5.5 0 01.5-.5h8a.5.5 0 010 1H6a.5.5 0 01-.5-.5zm-2-3a.5.5 0 01.5-.5h12a.5.5 0 010 1H4a.5.5 0 01-.5-.5z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconFlag = /*#__PURE__*/ makeIcon(\n 'Flag',\n '<path fill-rule=\"evenodd\" d=\"M5.5 3a.5.5 0 01.5.5v13a.5.5 0 01-1 0v-13a.5.5 0 01.5-.5z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M5.762 4.558C6.735 3.909 7.348 3.5 8.5 3.5c.653 0 1.139.325 1.495.562l.032.022c.392.26.646.416.973.416.168 0 .356-.042.587-.126.187-.068.376-.153.593-.25.058-.027.117-.053.18-.08.57-.255 1.278-.544 2.14-.544a.5.5 0 01.5.5v6a.5.5 0 01-.5.5c-.638 0-1.18.21-1.734.457l-.159.07c-.22.1-.453.205-.678.287A2.718 2.718 0 0111 11.5c-.653 0-1.139-.325-1.495-.563l-.032-.021c-.391-.26-.646-.416-.973-.416-.833 0-1.218.246-2.223.916a.5.5 0 11-.515-.858C6.735 9.909 7.348 9.5 8.5 9.5c.653 0 1.139.325 1.495.563l.032.021c.392.26.646.416.973.416.168 0 .356-.042.587-.126.187-.068.376-.153.593-.25.058-.027.117-.053.18-.08.456-.204 1-.43 1.64-.512V4.543c-.433.074-.83.234-1.234.414l-.159.07c-.22.1-.453.205-.678.287A2.72 2.72 0 0111 5.5c-.653 0-1.139-.325-1.495-.562l-.032-.022c-.391-.26-.646-.416-.973-.416-.833 0-1.218.246-2.223.916a.5.5 0 01-.554-.832l.04-.026z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconFlagFill = /*#__PURE__*/ makeIcon(\n 'FlagFill',\n '<path fill-rule=\"evenodd\" d=\"M5.5 3a.5.5 0 01.5.5v13a.5.5 0 01-1 0v-13a.5.5 0 01.5-.5z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M5.762 4.558C6.735 3.909 7.348 3.5 8.5 3.5c.653 0 1.139.325 1.495.562l.032.022c.392.26.646.416.973.416.168 0 .356-.042.587-.126.187-.068.376-.153.593-.25.058-.027.117-.053.18-.08.57-.255 1.278-.544 2.14-.544a.5.5 0 01.5.5v6a.5.5 0 01-.5.5c-.638 0-1.18.21-1.734.457l-.159.07c-.22.1-.453.205-.678.287A2.718 2.718 0 0111 11.5c-.653 0-1.139-.325-1.495-.563l-.032-.021c-.391-.26-.646-.416-.973-.416-.833 0-1.218.246-2.223.916A.5.5 0 015.5 11V5a.5.5 0 01.223-.416l.04-.026z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconFolder = /*#__PURE__*/ makeIcon(\n 'Folder',\n '<path d=\"M11.828 6a3 3 0 01-2.12-.879l-.83-.828A1 1 0 008.173 4H4.5a1 1 0 00-1 .981L3.546 6h-1L2.5 5a2 2 0 012-2h3.672a2 2 0 011.414.586l.828.828A2 2 0 0011.828 5v1z\"/><path fill-rule=\"evenodd\" d=\"M15.81 6H4.19a1 1 0 00-.996 1.09l.637 7a1 1 0 00.995.91h10.348a1 1 0 00.995-.91l.637-7A1 1 0 0015.81 6zM4.19 5a2 2 0 00-1.992 2.181l.637 7A2 2 0 004.826 16h10.348a2 2 0 001.991-1.819l.637-7A2 2 0 0015.81 5H4.19z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconFolderFill = /*#__PURE__*/ makeIcon(\n 'FolderFill',\n '<path fill-rule=\"evenodd\" d=\"M11.828 5h3.982a2 2 0 011.992 2.181l-.637 7A2 2 0 0115.174 16H4.826a2 2 0 01-1.991-1.819l-.637-7a1.99 1.99 0 01.342-1.31L2.5 5a2 2 0 012-2h3.672a2 2 0 011.414.586l.828.828A2 2 0 0011.828 5zm-8.322.12C3.72 5.042 3.95 5 4.19 5h5.396l-.707-.707A1 1 0 008.172 4H4.5a1 1 0 00-1 .981l.006.139z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconFolderSymlink = /*#__PURE__*/ makeIcon(\n 'FolderSymlink',\n '<path d=\"M11.828 6a3 3 0 01-2.12-.879l-.83-.828A1 1 0 008.173 4H4.5a1 1 0 00-1 .981L3.546 6h-1L2.5 5a2 2 0 012-2h3.672a2 2 0 011.414.586l.828.828A2 2 0 0011.828 5v1z\"/><path fill-rule=\"evenodd\" d=\"M15.81 6H4.19a1 1 0 00-.996 1.09l.637 7a1 1 0 00.995.91h10.348a1 1 0 00.995-.91l.637-7A1 1 0 0015.81 6zM4.19 5a2 2 0 00-1.992 2.181l.637 7A2 2 0 004.826 16h10.348a2 2 0 001.991-1.819l.637-7A2 2 0 0015.81 5H4.19z\" clip-rule=\"evenodd\"/><path d=\"M10.616 12.24l3.182-1.969a.442.442 0 000-.742l-3.182-1.97c-.27-.166-.616.036-.616.372V8.7c-.857 0-3.429 0-4 4.8 1.429-2.7 4-2.4 4-2.4v.769c0 .336.346.538.616.371z\"/>'\n)\n\nexport const BIconFolderSymlinkFill = /*#__PURE__*/ makeIcon(\n 'FolderSymlinkFill',\n '<path fill-rule=\"evenodd\" d=\"M15.81 5h-3.982a2 2 0 01-1.414-.586l-.828-.828A2 2 0 008.172 3H4.5a2 2 0 00-2 2l.04.87a1.99 1.99 0 00-.342 1.311l.637 7A2 2 0 004.826 16h10.348a2 2 0 001.991-1.819l.637-7A2 2 0 0015.81 5zM4.19 5c-.24 0-.47.042-.684.12L3.5 4.98a1 1 0 011-.98h3.672a1 1 0 01.707.293L9.586 5H4.19zm9.608 5.271l-3.182 1.97c-.27.166-.616-.036-.616-.372V11.1s-2.571-.3-4 2.4c.571-4.8 3.143-4.8 4-4.8v-.769c0-.336.346-.538.616-.371l3.182 1.969c.27.166.27.576 0 .742z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconFonts = /*#__PURE__*/ makeIcon(\n 'Fonts',\n '<path d=\"M14.258 5H5.747l-.082 2.46h.479c.26-1.544.758-1.783 2.693-1.845l.424-.013v7.827c0 .663-.144.82-1.3.923v.52h4.082v-.52c-1.162-.103-1.306-.26-1.306-.923V5.602l.43.013c1.935.062 2.434.301 2.694 1.846h.479L14.258 5z\"/>'\n)\n\nexport const BIconForward = /*#__PURE__*/ makeIcon(\n 'Forward',\n '<path fill-rule=\"evenodd\" d=\"M11.502 7.513a.144.144 0 00-.202.134V8.65a.5.5 0 01-.5.5H4.5v2.9h6.3a.5.5 0 01.5.5v1.003c0 .108.11.176.202.134l3.984-2.933a.522.522 0 01.042-.028.147.147 0 000-.252.523.523 0 01-.042-.028l-3.984-2.933zm-1.202.134a1.144 1.144 0 011.767-.96l3.994 2.94a1.147 1.147 0 010 1.946l-3.994 2.94a1.144 1.144 0 01-1.767-.96v-.503H4a.5.5 0 01-.5-.5v-3.9a.5.5 0 01.5-.5h6.3v-.503z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconForwardFill = /*#__PURE__*/ makeIcon(\n 'ForwardFill',\n '<path d=\"M11.77 14.11l4.012-2.953a.647.647 0 000-1.114L11.771 7.09a.644.644 0 00-.971.557V8.65H4v3.9h6.8v1.003c0 .505.545.808.97.557z\"/>'\n)\n\nexport const BIconGear = /*#__PURE__*/ makeIcon(\n 'Gear',\n '<path fill-rule=\"evenodd\" d=\"M10.837 3.626c-.246-.835-1.428-.835-1.674 0l-.094.319A1.873 1.873 0 016.377 5.06l-.292-.16c-.764-.415-1.6.42-1.184 1.185l.159.292a1.873 1.873 0 01-1.115 2.692l-.319.094c-.835.246-.835 1.428 0 1.674l.319.094a1.873 1.873 0 011.115 2.693l-.16.291c-.415.764.42 1.6 1.185 1.184l.292-.159a1.873 1.873 0 012.692 1.115l.094.319c.246.835 1.428.835 1.674 0l.094-.319a1.873 1.873 0 012.693-1.115l.291.16c.764.415 1.6-.42 1.184-1.185l-.159-.291a1.873 1.873 0 011.115-2.693l.319-.094c.835-.246.835-1.428 0-1.674l-.319-.094a1.873 1.873 0 01-1.115-2.692l.16-.292c.415-.764-.42-1.6-1.185-1.184l-.291.159a1.873 1.873 0 01-2.693-1.115l-.094-.319zm-2.633-.283c.527-1.79 3.064-1.79 3.592 0l.094.319a.873.873 0 001.255.52l.292-.16c1.64-.892 3.434.901 2.54 2.541l-.159.292a.873.873 0 00.52 1.255l.319.094c1.79.527 1.79 3.064 0 3.592l-.319.094a.873.873 0 00-.52 1.255l.16.292c.893 1.64-.902 3.434-2.541 2.54l-.292-.159a.873.873 0 00-1.255.52l-.094.319c-.527 1.79-3.065 1.79-3.592 0l-.094-.319a.873.873 0 00-1.255-.52l-.292.16c-1.64.893-3.433-.902-2.54-2.541l.159-.292a.873.873 0 00-.52-1.255l-.319-.094c-1.79-.527-1.79-3.065 0-3.592l.319-.094a.873.873 0 00.52-1.255l-.16-.292c-.892-1.64.901-3.433 2.541-2.54l.292.159a.873.873 0 001.255-.52l.094-.319z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M10 7.754a2.246 2.246 0 100 4.492 2.246 2.246 0 000-4.492zM6.754 10a3.246 3.246 0 116.492 0 3.246 3.246 0 01-6.492 0z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconGearFill = /*#__PURE__*/ makeIcon(\n 'GearFill',\n '<path fill-rule=\"evenodd\" d=\"M11.405 3.05c-.413-1.4-2.397-1.4-2.81 0l-.1.34a1.464 1.464 0 01-2.105.872l-.31-.17c-1.283-.698-2.686.705-1.987 1.987l.169.311c.446.82.023 1.841-.872 2.105l-.34.1c-1.4.413-1.4 2.397 0 2.81l.34.1a1.464 1.464 0 01.872 2.105l-.17.31c-.698 1.283.705 2.686 1.987 1.987l.311-.169a1.464 1.464 0 012.105.872l.1.34c.413 1.4 2.397 1.4 2.81 0l.1-.34a1.464 1.464 0 012.105-.872l.31.17c1.283.698 2.686-.705 1.987-1.987l-.169-.311a1.464 1.464 0 01.872-2.105l.34-.1c1.4-.413 1.4-2.397 0-2.81l-.34-.1a1.464 1.464 0 01-.872-2.105l.17-.31c.698-1.283-.705-2.686-1.987-1.987l-.311.169a1.464 1.464 0 01-2.105-.872l-.1-.34zM10 12.93a2.929 2.929 0 100-5.858 2.929 2.929 0 000 5.858z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconGearWide = /*#__PURE__*/ makeIcon(\n 'GearWide',\n '<path fill-rule=\"evenodd\" d=\"M10.932 2.724c-.243-.97-1.621-.97-1.864 0l-.072.286a.96.96 0 01-1.622.434l-.205-.211c-.695-.72-1.889-.03-1.614.932l.08.283a.96.96 0 01-1.187 1.188l-.283-.081c-.962-.275-1.651.919-.932 1.614l.211.205a.96.96 0 01-.434 1.622l-.286.072c-.97.243-.97 1.621 0 1.864l.286.072a.96.96 0 01.434 1.622l-.211.205c-.72.695-.03 1.889.932 1.614l.283-.08a.96.96 0 011.188 1.187l-.081.283c-.275.962.919 1.651 1.614.932l.205-.211a.96.96 0 011.622.434l.072.286c.243.97 1.621.97 1.864 0l.072-.286a.96.96 0 011.622-.434l.205.211c.695.72 1.889.03 1.614-.932l-.08-.283a.96.96 0 011.187-1.188l.283.081c.962.275 1.651-.919.932-1.614l-.211-.205a.96.96 0 01.434-1.622l.286-.072c.97-.243.97-1.621 0-1.864l-.286-.072a.96.96 0 01-.434-1.622l.211-.205c.72-.695.03-1.889-.932-1.614l-.283.08a.96.96 0 01-1.188-1.187l.081-.283c.275-.962-.919-1.651-1.614-.932l-.205.211a.96.96 0 01-1.622-.434l-.072-.286zM10 15a5 5 0 100-10 5 5 0 000 10z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconGearWideConnected = /*#__PURE__*/ makeIcon(\n 'GearWideConnected',\n '<path fill-rule=\"evenodd\" d=\"M10.932 2.724c-.243-.97-1.621-.97-1.864 0l-.072.286a.96.96 0 01-1.622.434l-.205-.211c-.695-.72-1.889-.03-1.614.932l.08.283a.96.96 0 01-1.187 1.188l-.283-.081c-.962-.275-1.651.919-.932 1.614l.211.205a.96.96 0 01-.434 1.622l-.286.072c-.97.243-.97 1.621 0 1.864l.286.072a.96.96 0 01.434 1.622l-.211.205c-.72.695-.03 1.889.932 1.614l.283-.08a.96.96 0 011.188 1.187l-.081.283c-.275.962.919 1.651 1.614.932l.205-.211a.96.96 0 011.622.434l.072.286c.243.97 1.621.97 1.864 0l.072-.286a.96.96 0 011.622-.434l.205.211c.695.72 1.889.03 1.614-.932l-.08-.283a.96.96 0 011.187-1.188l.283.081c.962.275 1.651-.919.932-1.614l-.211-.205a.96.96 0 01.434-1.622l.286-.072c.97-.243.97-1.621 0-1.864l-.286-.072a.96.96 0 01-.434-1.622l.211-.205c.72-.695.03-1.889-.932-1.614l-.283.08a.96.96 0 01-1.188-1.187l.081-.283c.275-.962-.919-1.651-1.614-.932l-.205.211a.96.96 0 01-1.622-.434l-.072-.286zM10 15a5 5 0 100-10 5 5 0 000 10z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M9.375 10L6.6 6.3l.8-.6 2.85 3.8H15v1h-4.75L7.4 14.3l-.8-.6L9.375 10z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconGeo = /*#__PURE__*/ makeIcon(\n 'Geo',\n '<path d=\"M13 6a3 3 0 11-6 0 3 3 0 016 0z\"/><path d=\"M9.5 6h1v9a.5.5 0 01-1 0V6z\"/><path fill-rule=\"evenodd\" d=\"M8.489 14.095a.5.5 0 01-.383.594c-.565.123-1.003.292-1.286.472-.302.192-.32.321-.32.339 0 .013.005.085.146.21.14.124.372.26.701.383.655.245 1.593.407 2.653.407s1.998-.162 2.653-.407c.329-.124.56-.259.701-.383.14-.125.146-.197.146-.21 0-.018-.018-.147-.32-.339-.283-.18-.721-.35-1.286-.472a.5.5 0 11.212-.977c.63.137 1.193.34 1.61.606.4.253.784.645.784 1.182 0 .402-.219.724-.483.958-.264.235-.618.423-1.013.57-.793.298-1.855.472-3.004.472s-2.21-.174-3.004-.471c-.395-.148-.749-.337-1.013-.571-.264-.234-.483-.556-.483-.958 0-.537.384-.929.783-1.182.418-.266.98-.47 1.611-.606a.5.5 0 01.595.383z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconGraphDown = /*#__PURE__*/ makeIcon(\n 'GraphDown',\n '<path d=\"M2 2h1v16H2V2zm1 15h15v1H3v-1z\"/><path fill-rule=\"evenodd\" d=\"M16.39 11.041l-4.349-5.436L9 8.646 5.354 5l-.708.707L9 10.061l2.959-2.959 3.65 4.564.781-.625z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M12 11.854a.5.5 0 00.5.5h4a.5.5 0 00.5-.5v-4a.5.5 0 00-1 0v3.5h-3.5a.5.5 0 00-.5.5z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconGraphUp = /*#__PURE__*/ makeIcon(\n 'GraphUp',\n '<path d=\"M2 2h1v16H2V2zm1 15h15v1H3v-1z\"/><path fill-rule=\"evenodd\" d=\"M16.39 6.312l-4.349 5.437L9 8.707l-3.646 3.647-.708-.708L9 7.293l2.959 2.958 3.65-4.563.781.624z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M12 5.5a.5.5 0 01.5-.5h4a.5.5 0 01.5.5v4a.5.5 0 01-1 0V6h-3.5a.5.5 0 01-.5-.5z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconGrid = /*#__PURE__*/ makeIcon(\n 'Grid',\n '<path fill-rule=\"evenodd\" d=\"M9.5 4.5a1 1 0 00-1-1h-4a1 1 0 00-1 1v4a1 1 0 001 1h4a1 1 0 001-1v-4zm-1 7h-4v4h4v-4zm7 0h-4v4h4v-4zm0-7h-4v4h4v-4zm-7 0h-4v4h4v-4zm2 0a1 1 0 011-1h4a1 1 0 011 1v4a1 1 0 01-1 1h-4a1 1 0 01-1-1v-4zm-6 6a1 1 0 00-1 1v4a1 1 0 001 1h4a1 1 0 001-1v-4a1 1 0 00-1-1h-4zm7 0a1 1 0 00-1 1v4a1 1 0 001 1h4a1 1 0 001-1v-4a1 1 0 00-1-1h-4z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconGridFill = /*#__PURE__*/ makeIcon(\n 'GridFill',\n '<rect width=\"6\" height=\"6\" x=\"3.5\" y=\"10.5\" rx=\"1\"/><rect width=\"6\" height=\"6\" x=\"10.5\" y=\"10.5\" rx=\"1\"/><rect width=\"6\" height=\"6\" x=\"10.5\" y=\"3.5\" rx=\"1\"/><rect width=\"6\" height=\"6\" x=\"3.5\" y=\"3.5\" rx=\"1\"/>'\n)\n\nexport const BIconHammer = /*#__PURE__*/ makeIcon(\n 'Hammer',\n '<path d=\"M11.812 3.952a.5.5 0 01-.312.89c-1.671 0-2.852.596-3.616 1.185L6.857 7.073V8.21a.5.5 0 01-.146.354L5.426 9.853a.5.5 0 01-.709 0L2.146 7.274a.5.5 0 010-.706l1.286-1.29a.5.5 0 01.354-.146H4.84c1.664-1.904 3.375-2.27 4.716-2.091a5.008 5.008 0 012.076.782l.18.129z\"/><path fill-rule=\"evenodd\" d=\"M8.012 5.5a.5.5 0 01.359.165l9.146 8.646A.5.5 0 0117.5 15L16 16.5a.5.5 0 01-.756-.056L6.598 7.297a.5.5 0 01.048-.65l1-1a.5.5 0 01.366-.147z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconHash = /*#__PURE__*/ makeIcon(\n 'Hash',\n '<path d=\"M10.39 14.648a1.32 1.32 0 00-.015.18c0 .305.21.508.5.508.266 0 .492-.172.555-.477l.554-2.703h1.204c.421 0 .617-.234.617-.547 0-.312-.188-.53-.617-.53h-.985l.516-2.524h1.265c.43 0 .618-.227.618-.547 0-.313-.188-.524-.618-.524h-1.046l.476-2.304c.008-.04.016-.117.016-.164a.51.51 0 00-.516-.516.54.54 0 00-.539.43l-.523 2.554H9.617l.477-2.304c.008-.04.015-.117.015-.164a.512.512 0 00-.523-.516.539.539 0 00-.531.43L8.53 7.484H7.414c-.43 0-.617.22-.617.532 0 .312.187.539.617.539h.906l-.515 2.523H6.609c-.421 0-.609.219-.609.531 0 .313.188.547.61.547h.976l-.516 2.492c-.008.04-.015.125-.015.18 0 .305.21.508.5.508.265 0 .492-.172.554-.477l.555-2.703h2.242l-.515 2.492zm-1-6.109h2.266l-.515 2.563H8.859l.532-2.563z\"/>'\n)\n\nexport const BIconHeart = /*#__PURE__*/ makeIcon(\n 'Heart',\n '<path fill-rule=\"evenodd\" d=\"M10 4.748l-.717-.737C7.6 2.281 4.514 2.878 3.4 5.053c-.523 1.023-.641 2.5.314 4.385.92 1.815 2.834 3.989 6.286 6.357 3.452-2.368 5.365-4.542 6.286-6.357.955-1.886.837-3.362.314-4.385-1.114-2.175-4.2-2.773-5.883-1.043L10 4.748zM10 17C-5.333 6.868 5.279-1.04 9.824 3.143c.06.055.119.112.176.171a3.12 3.12 0 01.176-.17C14.72-1.042 25.333 6.867 10 17z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconHeartFill = /*#__PURE__*/ makeIcon(\n 'HeartFill',\n '<path fill-rule=\"evenodd\" d=\"M10 3.314C14.438-1.248 25.534 6.735 10 17-5.534 6.736 5.562-1.248 10 3.314z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconHouse = /*#__PURE__*/ makeIcon(\n 'House',\n '<path fill-rule=\"evenodd\" d=\"M9.646 3.146a.5.5 0 01.708 0l6 6a.5.5 0 01.146.354v7a.5.5 0 01-.5.5h-4.5a.5.5 0 01-.5-.5v-4H9v4a.5.5 0 01-.5.5H4a.5.5 0 01-.5-.5v-7a.5.5 0 01.146-.354l6-6zM4.5 9.707V16H8v-4a.5.5 0 01.5-.5h3a.5.5 0 01.5.5v4h3.5V9.707l-5.5-5.5-5.5 5.5z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M15 4.5V8l-2-2V4.5a.5.5 0 01.5-.5h1a.5.5 0 01.5.5z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconHouseFill = /*#__PURE__*/ makeIcon(\n 'HouseFill',\n '<path d=\"M8.5 12.995V16.5a.5.5 0 01-.5.5H4a.5.5 0 01-.5-.5v-7a.5.5 0 01.146-.354l6-6a.5.5 0 01.708 0l6 6a.5.5 0 01.146.354v7a.5.5 0 01-.5.5h-4a.5.5 0 01-.5-.5V13c0-.25-.25-.5-.5-.5H9c-.25 0-.5.25-.5.495z\"/><path fill-rule=\"evenodd\" d=\"M15 4.5V8l-2-2V4.5a.5.5 0 01.5-.5h1a.5.5 0 01.5.5z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconImage = /*#__PURE__*/ makeIcon(\n 'Image',\n '<path fill-rule=\"evenodd\" d=\"M16.002 4h-12a1 1 0 00-1 1v10a1 1 0 001 1h12a1 1 0 001-1V5a1 1 0 00-1-1zm-12-1a2 2 0 00-2 2v10a2 2 0 002 2h12a2 2 0 002-2V5a2 2 0 00-2-2h-12z\" clip-rule=\"evenodd\"/><path d=\"M12.648 9.646a.5.5 0 01.577-.093l3.777 1.947V16h-14v-2l2.646-2.354a.5.5 0 01.63-.062l2.66 1.773 3.71-3.71z\"/><path fill-rule=\"evenodd\" d=\"M6.502 9a1.5 1.5 0 100-3 1.5 1.5 0 000 3z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconImageAlt = /*#__PURE__*/ makeIcon(\n 'ImageAlt',\n '<path d=\"M12.648 8.646a.5.5 0 01.577-.093l4.777 3.947V17a1 1 0 01-1 1h-14a1 1 0 01-1-1v-2l3.646-4.354a.5.5 0 01.63-.062l2.66 2.773 3.71-4.71z\"/><path fill-rule=\"evenodd\" d=\"M6.5 7a2.5 2.5 0 100-5 2.5 2.5 0 000 5z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconImageFill = /*#__PURE__*/ makeIcon(\n 'ImageFill',\n '<path fill-rule=\"evenodd\" d=\"M2.002 5a2 2 0 012-2h12a2 2 0 012 2v10a2 2 0 01-2 2h-12a2 2 0 01-2-2V5zm1 9l2.646-2.354a.5.5 0 01.63-.062l2.66 1.773 3.71-3.71a.5.5 0 01.577-.094l3.777 1.947V15a1 1 0 01-1 1h-12a1 1 0 01-1-1v-1zm5-6.5a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconImages = /*#__PURE__*/ makeIcon(\n 'Images',\n '<path fill-rule=\"evenodd\" d=\"M14.002 6h-10a1 1 0 00-1 1v8a1 1 0 001 1h10a1 1 0 001-1V7a1 1 0 00-1-1zm-10-1a2 2 0 00-2 2v8a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-10z\" clip-rule=\"evenodd\"/><path d=\"M12.648 10.646a.5.5 0 01.577-.093l1.777 1.947V16h-12v-1l2.646-2.354a.5.5 0 01.63-.062l2.66 1.773 3.71-3.71z\"/><path fill-rule=\"evenodd\" d=\"M6.502 11a1.5 1.5 0 100-3 1.5 1.5 0 000 3zM6 4h10a1 1 0 011 1v8a1 1 0 01-1 1v1a2 2 0 002-2V5a2 2 0 00-2-2H6a2 2 0 00-2 2h1a1 1 0 011-1z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconInbox = /*#__PURE__*/ makeIcon(\n 'Inbox',\n '<path fill-rule=\"evenodd\" d=\"M5.81 6.063A1.5 1.5 0 016.98 5.5h6.04a1.5 1.5 0 011.17.563l3.7 4.625a.5.5 0 11-.78.624l-3.7-4.624a.5.5 0 00-.39-.188H6.98a.5.5 0 00-.39.188l-3.7 4.624a.5.5 0 11-.78-.624l3.7-4.625z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M2.125 10.67a.5.5 0 01.375-.17H8a.5.5 0 01.5.5 1.5 1.5 0 003 0 .5.5 0 01.5-.5h5.5a.5.5 0 01.496.562l-.39 3.124a1.5 1.5 0 01-1.489 1.314H3.883a1.5 1.5 0 01-1.489-1.314l-.39-3.124a.5.5 0 01.121-.393zm.941.83l.32 2.562a.5.5 0 00.497.438h12.234a.5.5 0 00.496-.438l.32-2.562H12.45a2.5 2.5 0 01-4.9 0H3.066z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconInboxFill = /*#__PURE__*/ makeIcon(\n 'InboxFill',\n '<path fill-rule=\"evenodd\" d=\"M5.81 6.063A1.5 1.5 0 016.98 5.5h6.04a1.5 1.5 0 011.17.563l3.7 4.625a.5.5 0 11-.78.624l-3.7-4.624a.5.5 0 00-.39-.188H6.98a.5.5 0 00-.39.188l-3.7 4.624a.5.5 0 11-.78-.624l3.7-4.625z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M2.125 10.67a.5.5 0 01.375-.17h5a.5.5 0 01.5.5c0 .828.625 2 2 2s2-1.172 2-2a.5.5 0 01.5-.5h5a.5.5 0 01.496.562l-.39 3.124a1.5 1.5 0 01-1.489 1.314H3.883a1.5 1.5 0 01-1.489-1.314l-.39-3.124a.5.5 0 01.121-.393z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconInboxes = /*#__PURE__*/ makeIcon(\n 'Inboxes',\n '<path fill-rule=\"evenodd\" d=\"M2.125 13.17A.5.5 0 012.5 13H8a.5.5 0 01.5.5 1.5 1.5 0 003 0 .5.5 0 01.5-.5h5.5a.5.5 0 01.496.562l-.39 3.124A1.5 1.5 0 0116.117 18H3.883a1.5 1.5 0 01-1.489-1.314l-.39-3.124a.5.5 0 01.121-.393zm.941.83l.32 2.562a.5.5 0 00.497.438h12.234a.5.5 0 00.496-.438l.32-2.562H12.45a2.5 2.5 0 01-4.9 0H3.066zM5.81 2.563A1.5 1.5 0 016.98 2h6.04a1.5 1.5 0 011.17.563l3.7 4.625a.5.5 0 11-.78.624l-3.7-4.624A.5.5 0 0013.02 3H6.98a.5.5 0 00-.39.188l-3.7 4.624a.5.5 0 11-.78-.624l3.7-4.625z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M2.125 7.17A.5.5 0 012.5 7H8a.5.5 0 01.5.5 1.5 1.5 0 003 0A.5.5 0 0112 7h5.5a.5.5 0 01.496.562l-.39 3.124A1.5 1.5 0 0116.117 12H3.883a1.5 1.5 0 01-1.489-1.314l-.39-3.124a.5.5 0 01.121-.393zm.941.83l.32 2.562a.5.5 0 00.497.438h12.234a.5.5 0 00.496-.438L16.933 8H12.45a2.5 2.5 0 01-4.9 0H3.066z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconInboxesFill = /*#__PURE__*/ makeIcon(\n 'InboxesFill',\n '<path fill-rule=\"evenodd\" d=\"M2.125 13.17A.5.5 0 012.5 13H8a.5.5 0 01.5.5 1.5 1.5 0 003 0 .5.5 0 01.5-.5h5.5a.5.5 0 01.496.562l-.39 3.124A1.5 1.5 0 0116.117 18H3.883a1.5 1.5 0 01-1.489-1.314l-.39-3.124a.5.5 0 01.121-.393zM5.81 2.563A1.5 1.5 0 016.98 2h6.04a1.5 1.5 0 011.17.563l3.7 4.625a.5.5 0 11-.78.624l-3.7-4.624A.5.5 0 0013.02 3H6.98a.5.5 0 00-.39.188l-3.7 4.624a.5.5 0 11-.78-.624l3.7-4.625z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M2.125 7.17A.5.5 0 012.5 7H8a.5.5 0 01.5.5 1.5 1.5 0 003 0A.5.5 0 0112 7h5.5a.5.5 0 01.496.562l-.39 3.124A1.5 1.5 0 0116.117 12H3.883a1.5 1.5 0 01-1.489-1.314l-.39-3.124a.5.5 0 01.121-.393z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconInfo = /*#__PURE__*/ makeIcon(\n 'Info',\n '<path fill-rule=\"evenodd\" d=\"M10 17a7 7 0 100-14 7 7 0 000 14zm8-7a8 8 0 11-16 0 8 8 0 0116 0z\" clip-rule=\"evenodd\"/><path d=\"M10.93 8.588l-2.29.287-.082.38.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246-.275 0-.375-.193-.304-.533l1.002-4.705z\"/><circle cx=\"10\" cy=\"6.5\" r=\"1\"/>'\n)\n\nexport const BIconInfoFill = /*#__PURE__*/ makeIcon(\n 'InfoFill',\n '<path fill-rule=\"evenodd\" d=\"M10 18a8 8 0 100-16 8 8 0 000 16zm.93-9.412l-2.29.287-.082.38.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246-.275 0-.375-.193-.304-.533l1.002-4.705zM10 7.5a1 1 0 100-2 1 1 0 000 2z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconInfoSquare = /*#__PURE__*/ makeIcon(\n 'InfoSquare',\n '<path fill-rule=\"evenodd\" d=\"M16 3H4a1 1 0 00-1 1v12a1 1 0 001 1h12a1 1 0 001-1V4a1 1 0 00-1-1zM4 2a2 2 0 00-2 2v12a2 2 0 002 2h12a2 2 0 002-2V4a2 2 0 00-2-2H4z\" clip-rule=\"evenodd\"/><path d=\"M10.93 8.588l-2.29.287-.082.38.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246-.275 0-.375-.193-.304-.533l1.002-4.705z\"/><circle cx=\"10\" cy=\"6.5\" r=\"1\"/>'\n)\n\nexport const BIconInfoSquareFill = /*#__PURE__*/ makeIcon(\n 'InfoSquareFill',\n '<path fill-rule=\"evenodd\" d=\"M2 4a2 2 0 012-2h12a2 2 0 012 2v12a2 2 0 01-2 2H4a2 2 0 01-2-2V4zm8.93 4.588l-2.29.287-.082.38.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246-.275 0-.375-.193-.304-.533l1.002-4.705zM10 7.5a1 1 0 100-2 1 1 0 000 2z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconJustify = /*#__PURE__*/ makeIcon(\n 'Justify',\n '<path fill-rule=\"evenodd\" d=\"M4 14.5a.5.5 0 01.5-.5h11a.5.5 0 010 1h-11a.5.5 0 01-.5-.5zm0-3a.5.5 0 01.5-.5h11a.5.5 0 010 1h-11a.5.5 0 01-.5-.5zm0-3a.5.5 0 01.5-.5h11a.5.5 0 010 1h-11a.5.5 0 01-.5-.5zm0-3a.5.5 0 01.5-.5h11a.5.5 0 010 1h-11a.5.5 0 01-.5-.5z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconJustifyLeft = /*#__PURE__*/ makeIcon(\n 'JustifyLeft',\n '<path fill-rule=\"evenodd\" d=\"M4 14.5a.5.5 0 01.5-.5h7a.5.5 0 010 1h-7a.5.5 0 01-.5-.5zm0-3a.5.5 0 01.5-.5h11a.5.5 0 010 1h-11a.5.5 0 01-.5-.5zm0-3a.5.5 0 01.5-.5h11a.5.5 0 010 1h-11a.5.5 0 01-.5-.5zm0-3a.5.5 0 01.5-.5h11a.5.5 0 010 1h-11a.5.5 0 01-.5-.5z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconJustifyRight = /*#__PURE__*/ makeIcon(\n 'JustifyRight',\n '<path fill-rule=\"evenodd\" d=\"M8 14.5a.5.5 0 01.5-.5h7a.5.5 0 010 1h-7a.5.5 0 01-.5-.5zm-4-3a.5.5 0 01.5-.5h11a.5.5 0 010 1h-11a.5.5 0 01-.5-.5zm0-3a.5.5 0 01.5-.5h11a.5.5 0 010 1h-11a.5.5 0 01-.5-.5zm0-3a.5.5 0 01.5-.5h11a.5.5 0 010 1h-11a.5.5 0 01-.5-.5z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconKanban = /*#__PURE__*/ makeIcon(\n 'Kanban',\n '<path fill-rule=\"evenodd\" d=\"M15.5 3h-11a1 1 0 00-1 1v12a1 1 0 001 1h11a1 1 0 001-1V4a1 1 0 00-1-1zm-11-1a2 2 0 00-2 2v12a2 2 0 002 2h11a2 2 0 002-2V4a2 2 0 00-2-2h-11z\" clip-rule=\"evenodd\"/><rect width=\"3\" height=\"5\" x=\"8.5\" y=\"4\" rx=\"1\"/><rect width=\"3\" height=\"9\" x=\"4.5\" y=\"4\" rx=\"1\"/><rect width=\"3\" height=\"12\" x=\"12.5\" y=\"4\" rx=\"1\"/>'\n)\n\nexport const BIconKanbanFill = /*#__PURE__*/ makeIcon(\n 'KanbanFill',\n '<path fill-rule=\"evenodd\" d=\"M4.5 2a2 2 0 00-2 2v12a2 2 0 002 2h11a2 2 0 002-2V4a2 2 0 00-2-2h-11zm5 2a1 1 0 00-1 1v3a1 1 0 001 1h1a1 1 0 001-1V5a1 1 0 00-1-1h-1zm-5 1a1 1 0 011-1h1a1 1 0 011 1v7a1 1 0 01-1 1h-1a1 1 0 01-1-1V5zm9-1a1 1 0 00-1 1v10a1 1 0 001 1h1a1 1 0 001-1V5a1 1 0 00-1-1h-1z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconLaptop = /*#__PURE__*/ makeIcon(\n 'Laptop',\n '<path fill-rule=\"evenodd\" d=\"M15.5 4h-11a.5.5 0 00-.5.5v7a.5.5 0 00.5.5h11a.5.5 0 00.5-.5v-7a.5.5 0 00-.5-.5zm-11-1A1.5 1.5 0 003 4.5v7A1.5 1.5 0 004.5 13h11a1.5 1.5 0 001.5-1.5v-7A1.5 1.5 0 0015.5 3h-11z\" clip-rule=\"evenodd\"/><path d=\"M2.81 13.758A1 1 0 013.78 13h12.44a1 1 0 01.97.758l.5 2A1 1 0 0116.72 17H3.28a1 1 0 01-.97-1.242l.5-2z\"/>'\n)\n\nexport const BIconLayoutSidebar = /*#__PURE__*/ makeIcon(\n 'LayoutSidebar',\n '<path fill-rule=\"evenodd\" d=\"M16 4H4a1 1 0 00-1 1v10a1 1 0 001 1h12a1 1 0 001-1V5a1 1 0 00-1-1zM4 3a2 2 0 00-2 2v10a2 2 0 002 2h12a2 2 0 002-2V5a2 2 0 00-2-2H4z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M6 16V4h1v12H6z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconLayoutSidebarReverse = /*#__PURE__*/ makeIcon(\n 'LayoutSidebarReverse',\n '<path fill-rule=\"evenodd\" d=\"M16 4H4a1 1 0 00-1 1v10a1 1 0 001 1h12a1 1 0 001-1V5a1 1 0 00-1-1zM4 3a2 2 0 00-2 2v10a2 2 0 002 2h12a2 2 0 002-2V5a2 2 0 00-2-2H4z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M13 16V4h1v12h-1z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconLayoutSplit = /*#__PURE__*/ makeIcon(\n 'LayoutSplit',\n '<path fill-rule=\"evenodd\" d=\"M1.5 5A2.5 2.5 0 014 2.5h12A2.5 2.5 0 0118.5 5v10a2.5 2.5 0 01-2.5 2.5H4A2.5 2.5 0 011.5 15V5zM4 3.5A1.5 1.5 0 002.5 5v10A1.5 1.5 0 004 16.5h12a1.5 1.5 0 001.5-1.5V5A1.5 1.5 0 0016 3.5h-5.5v13h-1v-13H4z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconList = /*#__PURE__*/ makeIcon(\n 'List',\n '<path fill-rule=\"evenodd\" d=\"M4.5 13.5A.5.5 0 015 13h10a.5.5 0 010 1H5a.5.5 0 01-.5-.5zm0-4A.5.5 0 015 9h10a.5.5 0 010 1H5a.5.5 0 01-.5-.5zm0-4A.5.5 0 015 5h10a.5.5 0 010 1H5a.5.5 0 01-.5-.5z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconListCheck = /*#__PURE__*/ makeIcon(\n 'ListCheck',\n '<path fill-rule=\"evenodd\" d=\"M7 13.5a.5.5 0 01.5-.5h9a.5.5 0 010 1h-9a.5.5 0 01-.5-.5zm0-4a.5.5 0 01.5-.5h9a.5.5 0 010 1h-9a.5.5 0 01-.5-.5zm0-4a.5.5 0 01.5-.5h9a.5.5 0 010 1h-9a.5.5 0 01-.5-.5zM5.854 4.146a.5.5 0 010 .708l-1.5 1.5a.5.5 0 01-.708 0l-.5-.5a.5.5 0 11.708-.708L4 5.293l1.146-1.147a.5.5 0 01.708 0zm0 4a.5.5 0 010 .708l-1.5 1.5a.5.5 0 01-.708 0l-.5-.5a.5.5 0 11.708-.708L4 9.293l1.146-1.147a.5.5 0 01.708 0zm0 4a.5.5 0 010 .708l-1.5 1.5a.5.5 0 01-.708 0l-.5-.5a.5.5 0 01.708-.708l.146.147 1.146-1.147a.5.5 0 01.708 0z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconListOl = /*#__PURE__*/ makeIcon(\n 'ListOl',\n '<path fill-rule=\"evenodd\" d=\"M7 13.5a.5.5 0 01.5-.5h9a.5.5 0 010 1h-9a.5.5 0 01-.5-.5zm0-4a.5.5 0 01.5-.5h9a.5.5 0 010 1h-9a.5.5 0 01-.5-.5zm0-4a.5.5 0 01.5-.5h9a.5.5 0 010 1h-9a.5.5 0 01-.5-.5z\" clip-rule=\"evenodd\"/><path d=\"M3.713 13.865v-.474H4c.217 0 .363-.137.363-.317 0-.185-.158-.31-.361-.31-.223 0-.367.152-.373.31h-.59c.016-.467.373-.787.986-.787.588-.002.954.291.957.703a.595.595 0 01-.492.594v.033a.615.615 0 01.569.631c.003.533-.502.8-1.051.8-.656 0-1-.37-1.008-.794h.582c.008.178.186.306.422.309.254 0 .424-.145.422-.35-.002-.195-.155-.348-.414-.348h-.3zm-.004-4.699h-.604v-.035c0-.408.295-.844.958-.844.583 0 .96.326.96.756 0 .389-.257.617-.476.848l-.537.572v.03h1.054V11H3.143v-.395l.957-.99c.138-.142.293-.304.293-.508 0-.18-.147-.32-.342-.32a.33.33 0 00-.342.338v.041zM4.564 7h-.635V4.924h-.031l-.598.42v-.567l.629-.443h.635V7z\"/>'\n)\n\nexport const BIconListTask = /*#__PURE__*/ makeIcon(\n 'ListTask',\n '<path fill-rule=\"evenodd\" d=\"M4 4.5a.5.5 0 00-.5.5v1a.5.5 0 00.5.5h1a.5.5 0 00.5-.5V5a.5.5 0 00-.5-.5H4zM5 5H4v1h1V5z\" clip-rule=\"evenodd\"/><path d=\"M7 5.5a.5.5 0 01.5-.5h9a.5.5 0 010 1h-9a.5.5 0 01-.5-.5zM7.5 9a.5.5 0 000 1h9a.5.5 0 000-1h-9zm0 4a.5.5 0 000 1h9a.5.5 0 000-1h-9z\"/><path fill-rule=\"evenodd\" d=\"M3.5 9a.5.5 0 01.5-.5h1a.5.5 0 01.5.5v1a.5.5 0 01-.5.5H4a.5.5 0 01-.5-.5V9zM4 9h1v1H4V9zm0 3.5a.5.5 0 00-.5.5v1a.5.5 0 00.5.5h1a.5.5 0 00.5-.5v-1a.5.5 0 00-.5-.5H4zm1 .5H4v1h1v-1z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconListUl = /*#__PURE__*/ makeIcon(\n 'ListUl',\n '<path fill-rule=\"evenodd\" d=\"M7 13.5a.5.5 0 01.5-.5h9a.5.5 0 010 1h-9a.5.5 0 01-.5-.5zm0-4a.5.5 0 01.5-.5h9a.5.5 0 010 1h-9a.5.5 0 01-.5-.5zm0-4a.5.5 0 01.5-.5h9a.5.5 0 010 1h-9a.5.5 0 01-.5-.5zm-3 1a1 1 0 100-2 1 1 0 000 2zm0 4a1 1 0 100-2 1 1 0 000 2zm0 4a1 1 0 100-2 1 1 0 000 2z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconLock = /*#__PURE__*/ makeIcon(\n 'Lock',\n '<path fill-rule=\"evenodd\" d=\"M13.655 9H6.333c-.264 0-.398.068-.471.121a.73.73 0 00-.224.296 1.626 1.626 0 00-.138.59V15c0 .342.076.531.14.635.064.106.151.18.256.237a1.122 1.122 0 00.436.127l.013.001h7.322c.264 0 .398-.068.471-.121a.73.73 0 00.224-.296 1.627 1.627 0 00.138-.59V10c0-.342-.076-.531-.14-.635a.658.658 0 00-.255-.237 1.123 1.123 0 00-.45-.128zm.012-1H6.333C4.5 8 4.5 10 4.5 10v5c0 2 1.833 2 1.833 2h7.334c1.833 0 1.833-2 1.833-2v-5c0-2-1.833-2-1.833-2zM6.5 5a3.5 3.5 0 117 0v3h-1V5a2.5 2.5 0 00-5 0v3h-1V5z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconLockFill = /*#__PURE__*/ makeIcon(\n 'LockFill',\n '<rect width=\"11\" height=\"9\" x=\"4.5\" y=\"8\" rx=\"2\"/><path fill-rule=\"evenodd\" d=\"M6.5 5a3.5 3.5 0 117 0v3h-1V5a2.5 2.5 0 00-5 0v3h-1V5z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconMap = /*#__PURE__*/ makeIcon(\n 'Map',\n '<path fill-rule=\"evenodd\" d=\"M17.817 2.613A.5.5 0 0118 3v13a.5.5 0 01-.402.49l-5 1a.502.502 0 01-.196 0L7.5 16.51l-4.902.98A.5.5 0 012 17V4a.5.5 0 01.402-.49l5-1a.5.5 0 01.196 0l4.902.98 4.902-.98a.5.5 0 01.415.103zM12 4.41l-4-.8v11.98l4 .8V4.41zm1 11.98l4-.8V3.61l-4 .8v11.98zm-6-.8V3.61l-4 .8v11.98l4-.8z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconMic = /*#__PURE__*/ makeIcon(\n 'Mic',\n '<path d=\"M7 5a3 3 0 016 0v5a3 3 0 11-6 0V5z\"/><path fill-rule=\"evenodd\" d=\"M5.5 8.5A.5.5 0 016 9v1a4 4 0 008 0V9a.5.5 0 011 0v1a5 5 0 01-4.5 4.975V17h3a.5.5 0 010 1h-7a.5.5 0 010-1h3v-2.025A5 5 0 015 10V9a.5.5 0 01.5-.5z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconMoon = /*#__PURE__*/ makeIcon(\n 'Moon',\n '<path d=\"M17.293 13.293A8 8 0 016.707 2.707a8.002 8.002 0 1010.586 10.586z\"/>'\n)\n\nexport const BIconMusicPlayer = /*#__PURE__*/ makeIcon(\n 'MusicPlayer',\n '<path fill-rule=\"evenodd\" d=\"M14 3H6a1 1 0 00-1 1v12a1 1 0 001 1h8a1 1 0 001-1V4a1 1 0 00-1-1zM6 2a2 2 0 00-2 2v12a2 2 0 002 2h8a2 2 0 002-2V4a2 2 0 00-2-2H6z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M13 5H7v3h6V5zM7 4a1 1 0 00-1 1v3a1 1 0 001 1h6a1 1 0 001-1V5a1 1 0 00-1-1H7zm3 11a2 2 0 100-4 2 2 0 000 4zm3-2a3 3 0 11-6 0 3 3 0 016 0z\" clip-rule=\"evenodd\"/><circle cx=\"10\" cy=\"13\" r=\"1\"/>'\n)\n\nexport const BIconMusicPlayerFill = /*#__PURE__*/ makeIcon(\n 'MusicPlayerFill',\n '<path fill-rule=\"evenodd\" d=\"M4 4a2 2 0 012-2h8a2 2 0 012 2v12a2 2 0 01-2 2H6a2 2 0 01-2-2V4zm2 1a1 1 0 011-1h6a1 1 0 011 1v2.5a1 1 0 01-1 1H7a1 1 0 01-1-1V5zm7 8a3 3 0 11-6 0 3 3 0 016 0z\" clip-rule=\"evenodd\"/><circle cx=\"10\" cy=\"13\" r=\"1\"/>'\n)\n\nexport const BIconOption = /*#__PURE__*/ makeIcon(\n 'Option',\n '<path fill-rule=\"evenodd\" d=\"M2.5 4.5A.5.5 0 013 4h4a.5.5 0 01.439.26L13.297 15H17a.5.5 0 010 1h-4a.5.5 0 01-.439-.26L6.703 5H3a.5.5 0 01-.5-.5zm10 0A.5.5 0 0113 4h4a.5.5 0 010 1h-4a.5.5 0 01-.5-.5z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconOutlet = /*#__PURE__*/ makeIcon(\n 'Outlet',\n '<path fill-rule=\"evenodd\" d=\"M5.34 4.994c.275-.338.68-.494 1.074-.494h7.172c.393 0 .798.156 1.074.494.578.708 1.84 2.534 1.84 5.006 0 2.472-1.262 4.297-1.84 5.006-.276.338-.68.494-1.074.494H6.414c-.394 0-.799-.156-1.074-.494C4.762 14.297 3.5 12.472 3.5 10c0-2.472 1.262-4.298 1.84-5.006zm1.074.506a.376.376 0 00-.299.126C5.599 6.259 4.5 7.863 4.5 10c0 2.137 1.099 3.74 1.615 4.374.06.073.163.126.3.126h7.17c.137 0 .24-.053.3-.126.516-.633 1.615-2.237 1.615-4.374 0-2.137-1.099-3.74-1.615-4.374a.376.376 0 00-.3-.126h-7.17z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M8 7.5a.5.5 0 01.5.5v1.5a.5.5 0 01-1 0V8a.5.5 0 01.5-.5zm4 0a.5.5 0 01.5.5v1.5a.5.5 0 01-1 0V8a.5.5 0 01.5-.5z\" clip-rule=\"evenodd\"/><path d=\"M9 12v1h2v-1a1 1 0 10-2 0z\"/>'\n)\n\nexport const BIconPause = /*#__PURE__*/ makeIcon(\n 'Pause',\n '<path fill-rule=\"evenodd\" d=\"M8 5.5a.5.5 0 01.5.5v8a.5.5 0 01-1 0V6a.5.5 0 01.5-.5zm4 0a.5.5 0 01.5.5v8a.5.5 0 01-1 0V6a.5.5 0 01.5-.5z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconPauseFill = /*#__PURE__*/ makeIcon(\n 'PauseFill',\n '<path d=\"M7.5 5.5A1.5 1.5 0 019 7v6a1.5 1.5 0 01-3 0V7a1.5 1.5 0 011.5-1.5zm5 0A1.5 1.5 0 0114 7v6a1.5 1.5 0 01-3 0V7a1.5 1.5 0 011.5-1.5z\"/>'\n)\n\nexport const BIconPen = /*#__PURE__*/ makeIcon(\n 'Pen',\n '<path fill-rule=\"evenodd\" d=\"M7.707 15.707a1 1 0 01-.39.242l-3 1a1 1 0 01-1.266-1.265l1-3a1 1 0 01.242-.391L12.086 4.5a2 2 0 012.828 0l.586.586a2 2 0 010 2.828l-7.793 7.793zM5 13l7.793-7.793a1 1 0 011.414 0l.586.586a1 1 0 010 1.414L7 15l-3 1 1-3z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M11.854 4.56a.5.5 0 00-.708 0L7.854 7.855a.5.5 0 11-.708-.708l3.293-3.292a1.5 1.5 0 012.122 0l.293.292a.5.5 0 11-.708.708l-.292-.293z\" clip-rule=\"evenodd\"/><path d=\"M15.293 3.207a1 1 0 011.414 0l.03.03a1 1 0 01.03 1.383L15.5 6 14 4.5l1.293-1.293z\"/>'\n)\n\nexport const BIconPencil = /*#__PURE__*/ makeIcon(\n 'Pencil',\n '<path fill-rule=\"evenodd\" d=\"M13.293 3.293a1 1 0 011.414 0l2 2a1 1 0 010 1.414l-9 9a1 1 0 01-.39.242l-3 1a1 1 0 01-1.266-1.265l1-3a1 1 0 01.242-.391l9-9zM14 4l2 2-9 9-3 1 1-3 9-9z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M14.146 8.354l-2.5-2.5.708-.708 2.5 2.5-.708.708zM5 12v.5a.5.5 0 00.5.5H6v.5a.5.5 0 00.5.5H7v.5a.5.5 0 00.5.5H8v-1.5a.5.5 0 00-.5-.5H7v-.5a.5.5 0 00-.5-.5H5z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconPeople = /*#__PURE__*/ makeIcon(\n 'People',\n '<path fill-rule=\"evenodd\" d=\"M17 16s1 0 1-1-1-4-5-4-5 3-5 4 1 1 1 1h8zm-7.995-.944v-.002zM9.022 15h7.956a.274.274 0 00.014-.002l.008-.002c-.002-.264-.167-1.03-.76-1.72C15.688 12.629 14.718 12 13 12c-1.717 0-2.687.63-3.24 1.276-.593.69-.759 1.457-.76 1.72a1.05 1.05 0 00.022.004zm7.973.056v-.002zM13 9a2 2 0 100-4 2 2 0 000 4zm3-2a3 3 0 11-6 0 3 3 0 016 0zm-7.064 4.28a5.873 5.873 0 00-1.23-.247A7.334 7.334 0 007 11c-4 0-5 3-5 4 0 .667.333 1 1 1h4.216A2.238 2.238 0 017 15c0-1.01.377-2.042 1.09-2.904.243-.294.526-.569.846-.816zM6.92 12c-1.668.02-2.615.64-3.16 1.276C3.163 13.97 3 14.739 3 15h3c0-1.045.323-2.086.92-3zM3.5 7.5a3 3 0 116 0 3 3 0 01-6 0zm3-2a2 2 0 100 4 2 2 0 000-4z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconPeopleFill = /*#__PURE__*/ makeIcon(\n 'PeopleFill',\n '<path fill-rule=\"evenodd\" d=\"M9 16s-1 0-1-1 1-4 5-4 5 3 5 4-1 1-1 1H9zm4-6a3 3 0 100-6 3 3 0 000 6zm-5.784 6A2.238 2.238 0 017 15c0-1.355.68-2.75 1.936-3.72A6.325 6.325 0 007 11c-4 0-5 3-5 4s1 1 1 1h4.216zM6.5 10a2.5 2.5 0 100-5 2.5 2.5 0 000 5z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconPerson = /*#__PURE__*/ makeIcon(\n 'Person',\n '<path fill-rule=\"evenodd\" d=\"M15 16s1 0 1-1-1-4-6-4-6 3-6 4 1 1 1 1h10zm-9.995-.944v-.002zM5.022 15h9.956a.274.274 0 00.014-.002l.008-.002c-.001-.246-.154-.986-.832-1.664C13.516 12.68 12.289 12 10 12c-2.29 0-3.516.68-4.168 1.332-.678.678-.83 1.418-.832 1.664a1.05 1.05 0 00.022.004zm9.974.056v-.002zM10 9a2 2 0 100-4 2 2 0 000 4zm3-2a3 3 0 11-6 0 3 3 0 016 0z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconPersonFill = /*#__PURE__*/ makeIcon(\n 'PersonFill',\n '<path fill-rule=\"evenodd\" d=\"M5 16s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H5zm5-6a3 3 0 100-6 3 3 0 000 6z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconPhone = /*#__PURE__*/ makeIcon(\n 'Phone',\n '<path fill-rule=\"evenodd\" d=\"M13 3H7a1 1 0 00-1 1v11a1 1 0 001 1h6a1 1 0 001-1V4a1 1 0 00-1-1zM7 2a2 2 0 00-2 2v11a2 2 0 002 2h6a2 2 0 002-2V4a2 2 0 00-2-2H7z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M10 15a1 1 0 100-2 1 1 0 000 2z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconPhoneLandscape = /*#__PURE__*/ makeIcon(\n 'PhoneLandscape',\n '<path fill-rule=\"evenodd\" d=\"M3.5 6.5v6a1 1 0 001 1h11a1 1 0 001-1v-6a1 1 0 00-1-1h-11a1 1 0 00-1 1zm-1 6a2 2 0 002 2h11a2 2 0 002-2v-6a2 2 0 00-2-2h-11a2 2 0 00-2 2v6z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M15.5 9.5a1 1 0 10-2 0 1 1 0 002 0z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconPieChart = /*#__PURE__*/ makeIcon(\n 'PieChart',\n '<path fill-rule=\"evenodd\" d=\"M10 17a7 7 0 100-14 7 7 0 000 14zm0 1a8 8 0 100-16 8 8 0 000 16z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M9.5 9.793V3h1v6.5H17v1h-6.793l-4.853 4.854-.708-.708L9.5 9.793z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconPieChartFill = /*#__PURE__*/ makeIcon(\n 'PieChartFill',\n '<path d=\"M17.985 10.5h-7.778l-5.5 5.5a8 8 0 0013.277-5.5zM4 15.292A8 8 0 019.5 2.015v7.778l-5.5 5.5zm6.5-13.277V9.5h7.485A8.001 8.001 0 0010.5 2.015z\"/>'\n)\n\nexport const BIconPlay = /*#__PURE__*/ makeIcon(\n 'Play',\n '<path fill-rule=\"evenodd\" d=\"M12.804 10L7 6.633v6.734L12.804 10zm.792-.696a.802.802 0 010 1.392l-6.363 3.692C6.713 14.69 6 14.345 6 13.692V6.308c0-.653.713-.998 1.233-.696l6.363 3.692z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconPlayFill = /*#__PURE__*/ makeIcon(\n 'PlayFill',\n '<path d=\"M13.596 10.697l-6.363 3.692c-.54.313-1.233-.066-1.233-.697V6.308c0-.63.692-1.01 1.233-.696l6.363 3.692a.802.802 0 010 1.393z\"/>'\n)\n\nexport const BIconPlug = /*#__PURE__*/ makeIcon(\n 'Plug',\n '<path d=\"M6 7h8v3a4 4 0 01-8 0V7z\"/><path fill-rule=\"evenodd\" d=\"M8 3.5a.5.5 0 01.5.5v3a.5.5 0 01-1 0V4a.5.5 0 01.5-.5zm4 0a.5.5 0 01.5.5v3a.5.5 0 01-1 0V4a.5.5 0 01.5-.5zM9.115 15.651c.256-.511.385-1.408.385-2.651h1c0 1.257-.121 2.36-.49 3.099-.191.381-.47.707-.87.877-.401.17-.845.15-1.298-.002-.961-.32-1.534-.175-1.851.046-.33.23-.491.615-.491.98h-1c0-.635.278-1.353.918-1.8.653-.456 1.58-.561 2.74-.174.297.099.478.078.592.03.115-.05.244-.161.365-.405z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconPlus = /*#__PURE__*/ makeIcon(\n 'Plus',\n '<path fill-rule=\"evenodd\" d=\"M10 5.5a.5.5 0 01.5.5v4a.5.5 0 01-.5.5H6a.5.5 0 010-1h3.5V6a.5.5 0 01.5-.5z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M9.5 10a.5.5 0 01.5-.5h4a.5.5 0 010 1h-3.5V14a.5.5 0 01-1 0v-4z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconPower = /*#__PURE__*/ makeIcon(\n 'Power',\n '<path fill-rule=\"evenodd\" d=\"M7.578 6.437a5 5 0 104.922.044l.5-.865a6 6 0 11-5.908-.053l.486.874z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M9.5 10V3h1v7h-1z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconQuestion = /*#__PURE__*/ makeIcon(\n 'Question',\n '<path fill-rule=\"evenodd\" d=\"M10 17a7 7 0 100-14 7 7 0 000 14zm8-7a8 8 0 11-16 0 8 8 0 0116 0z\" clip-rule=\"evenodd\"/><path d=\"M7.25 8.033h1.32c0-.781.458-1.384 1.36-1.384.685 0 1.313.343 1.313 1.168 0 .635-.374.927-.965 1.371-.673.489-1.206 1.06-1.168 1.987l.007.463h1.307v-.355c0-.718.273-.927 1.01-1.486.609-.463 1.244-.977 1.244-2.056 0-1.511-1.276-2.241-2.673-2.241-1.326 0-2.786.647-2.754 2.533zm1.562 5.516c0 .533.425.927 1.01.927.609 0 1.028-.394 1.028-.927 0-.552-.42-.94-1.029-.94-.584 0-1.009.388-1.009.94z\"/>'\n)\n\nexport const BIconQuestionFill = /*#__PURE__*/ makeIcon(\n 'QuestionFill',\n '<path fill-rule=\"evenodd\" d=\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zM8.57 8.033H7.25C7.22 6.147 8.68 5.5 10.006 5.5c1.397 0 2.673.73 2.673 2.24 0 1.08-.635 1.594-1.244 2.057-.737.559-1.01.768-1.01 1.486v.355H9.117l-.007-.463c-.038-.927.495-1.498 1.168-1.987.59-.444.965-.736.965-1.371 0-.825-.628-1.168-1.314-1.168-.901 0-1.358.603-1.358 1.384zm1.251 6.443c-.584 0-1.009-.394-1.009-.927 0-.552.425-.94 1.01-.94.609 0 1.028.388 1.028.94 0 .533-.42.927-1.029.927z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconQuestionSquare = /*#__PURE__*/ makeIcon(\n 'QuestionSquare',\n '<path fill-rule=\"evenodd\" d=\"M16 3H4a1 1 0 00-1 1v12a1 1 0 001 1h12a1 1 0 001-1V4a1 1 0 00-1-1zM4 2a2 2 0 00-2 2v12a2 2 0 002 2h12a2 2 0 002-2V4a2 2 0 00-2-2H4z\" clip-rule=\"evenodd\"/><path d=\"M7.25 8.033h1.32c0-.781.458-1.384 1.36-1.384.685 0 1.313.343 1.313 1.168 0 .635-.374.927-.965 1.371-.673.489-1.206 1.06-1.168 1.987l.007.463h1.307v-.355c0-.718.273-.927 1.01-1.486.609-.463 1.244-.977 1.244-2.056 0-1.511-1.276-2.241-2.673-2.241-1.326 0-2.786.647-2.754 2.533zm1.562 5.516c0 .533.425.927 1.01.927.609 0 1.028-.394 1.028-.927 0-.552-.42-.94-1.029-.94-.584 0-1.009.388-1.009.94z\"/>'\n)\n\nexport const BIconQuestionSquareFill = /*#__PURE__*/ makeIcon(\n 'QuestionSquareFill',\n '<path fill-rule=\"evenodd\" d=\"M4 2a2 2 0 00-2 2v12a2 2 0 002 2h12a2 2 0 002-2V4a2 2 0 00-2-2H4zm4.57 6.033H7.25C7.22 6.147 8.68 5.5 10.006 5.5c1.397 0 2.673.73 2.673 2.24 0 1.08-.635 1.594-1.244 2.057-.737.559-1.01.768-1.01 1.486v.355H9.117l-.007-.463c-.038-.927.495-1.498 1.168-1.987.59-.444.965-.736.965-1.371 0-.825-.628-1.168-1.314-1.168-.901 0-1.358.603-1.358 1.384zm1.251 6.443c-.584 0-1.009-.394-1.009-.927 0-.552.425-.94 1.01-.94.609 0 1.028.388 1.028.94 0 .533-.42.927-1.029.927z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconReply = /*#__PURE__*/ makeIcon(\n 'Reply',\n '<path fill-rule=\"evenodd\" d=\"M11.502 7.013a.144.144 0 00-.202.134V8.3a.5.5 0 01-.5.5c-.667 0-2.013.005-3.3.822-.984.624-1.99 1.76-2.595 3.876 1.02-.983 2.185-1.516 3.205-1.799a8.745 8.745 0 011.921-.306 7.468 7.468 0 01.798.008h.013l.005.001h.001l-.048.498.05-.498a.5.5 0 01.45.498v1.153c0 .108.11.176.202.134l3.984-2.933a.522.522 0 01.042-.028.147.147 0 000-.252.51.51 0 01-.042-.028l-3.984-2.933zM10.3 12.386a7.745 7.745 0 00-1.923.277c-1.326.368-2.896 1.201-3.94 3.08a.5.5 0 01-.933-.305c.464-3.71 1.886-5.662 3.46-6.66 1.245-.79 2.527-.942 3.336-.971v-.66a1.144 1.144 0 011.767-.96l3.994 2.94a1.147 1.147 0 010 1.946l-3.994 2.94a1.144 1.144 0 01-1.767-.96v-.667z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconReplyAll = /*#__PURE__*/ makeIcon(\n 'ReplyAll',\n '<path fill-rule=\"evenodd\" d=\"M10.002 7.013a.144.144 0 00-.202.134V8.3a.5.5 0 01-.5.5c-.667 0-2.013.005-3.3.822-.984.624-1.99 1.76-2.595 3.876 1.02-.983 2.185-1.516 3.205-1.799a8.745 8.745 0 011.921-.306 7.47 7.47 0 01.798.008h.013l.005.001h.001L9.3 11.9l.05-.498a.5.5 0 01.45.498v1.153c0 .108.11.176.202.134l3.984-2.933a.522.522 0 01.042-.028.147.147 0 000-.252.51.51 0 01-.042-.028l-3.984-2.933zM8.8 12.386a7.745 7.745 0 00-1.923.277c-1.326.368-2.896 1.201-3.94 3.08a.5.5 0 01-.933-.305c.464-3.71 1.886-5.662 3.46-6.66 1.245-.79 2.527-.942 3.336-.971v-.66a1.144 1.144 0 011.767-.96l3.994 2.94a1.147 1.147 0 010 1.946l-3.994 2.94a1.144 1.144 0 01-1.767-.96v-.667z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M12.868 6.293a.5.5 0 01.7-.106l3.993 2.94a1.147 1.147 0 010 1.946l-3.994 2.94a.5.5 0 11-.593-.805l4.012-2.954a.523.523 0 01.042-.028.147.147 0 000-.252.512.512 0 01-.042-.028l-4.012-2.954a.5.5 0 01-.106-.699z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconReplyAllFill = /*#__PURE__*/ makeIcon(\n 'ReplyAllFill',\n '<path d=\"M10.079 13.9l4.568-3.281a.719.719 0 000-1.238L10.079 6.1A.716.716 0 009 6.719V8c-1.5 0-6 0-7 8 2.5-4.5 7-4 7-4v1.281c0 .56.606.898 1.079.62z\"/><path fill-rule=\"evenodd\" d=\"M12.868 6.293a.5.5 0 01.7-.106l3.993 2.94a1.147 1.147 0 010 1.946l-3.994 2.94a.5.5 0 11-.593-.805l4.012-2.954a.523.523 0 01.042-.028.147.147 0 000-.252.512.512 0 01-.042-.028l-4.012-2.954a.5.5 0 01-.106-.699z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconReplyFill = /*#__PURE__*/ makeIcon(\n 'ReplyFill',\n '<path d=\"M11.079 13.9l4.568-3.281a.719.719 0 000-1.238L11.079 6.1A.716.716 0 0010 6.719V8c-1.5 0-6 0-7 8 2.5-4.5 7-4 7-4v1.281c0 .56.606.898 1.079.62z\"/>'\n)\n\nexport const BIconScrewdriver = /*#__PURE__*/ makeIcon(\n 'Screwdriver',\n '<path fill-rule=\"evenodd\" d=\"M2 3l1-1 3.081 2.2a1 1 0 01.419.815v.07a1 1 0 00.293.708L12.5 11.5l.914-.305a1 1 0 011.023.242l3.356 3.356a1 1 0 010 1.414l-1.586 1.586a1 1 0 01-1.414 0l-3.356-3.356a1 1 0 01-.242-1.023l.305-.914-5.707-5.707a1 1 0 00-.707-.293h-.071a1 1 0 01-.814-.419L2 3zm11.354 9.646a.5.5 0 00-.708.708l3 3a.5.5 0 00.708-.708l-3-3z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconSearch = /*#__PURE__*/ makeIcon(\n 'Search',\n '<path fill-rule=\"evenodd\" d=\"M12.442 12.442a1 1 0 011.415 0l3.85 3.85a1 1 0 01-1.414 1.415l-3.85-3.85a1 1 0 010-1.415z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M8.5 14a5.5 5.5 0 100-11 5.5 5.5 0 000 11zM15 8.5a6.5 6.5 0 11-13 0 6.5 6.5 0 0113 0z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconShield = /*#__PURE__*/ makeIcon(\n 'Shield',\n '<path fill-rule=\"evenodd\" d=\"M7.443 3.991a60.17 60.17 0 00-2.725.802.454.454 0 00-.315.366C3.87 9.056 5.1 11.9 6.567 13.773c.736.94 1.533 1.636 2.197 2.093.333.228.626.394.857.5.116.053.21.089.282.11A.73.73 0 0010 16.5a.774.774 0 00.097-.023c.072-.022.166-.058.282-.111.23-.106.524-.272.857-.5a10.198 10.198 0 002.197-2.093C14.9 11.9 16.13 9.056 15.597 5.159a.454.454 0 00-.315-.366c-.626-.2-1.682-.526-2.725-.802C11.491 3.71 10.51 3.5 10 3.5c-.51 0-1.49.21-2.557.491zm-.256-.966C8.23 2.749 9.337 2.5 10 2.5c.662 0 1.77.249 2.813.525 1.066.282 2.14.614 2.772.815.528.168.926.623 1.003 1.184.573 4.197-.756 7.307-2.367 9.365a11.192 11.192 0 01-2.418 2.3 6.942 6.942 0 01-1.007.586c-.27.124-.558.225-.796.225s-.527-.101-.796-.225a6.908 6.908 0 01-1.007-.586 11.192 11.192 0 01-2.418-2.3c-1.611-2.058-2.94-5.168-2.367-9.365A1.454 1.454 0 014.415 3.84a61.113 61.113 0 012.772-.815z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconShieldFill = /*#__PURE__*/ makeIcon(\n 'ShieldFill',\n '<path fill-rule=\"evenodd\" d=\"M7.187 3.025C8.23 2.749 9.337 2.5 10 2.5c.662 0 1.77.249 2.813.525 1.066.282 2.14.614 2.772.815.528.168.926.623 1.003 1.184.573 4.197-.756 7.307-2.367 9.365a11.192 11.192 0 01-2.418 2.3 6.942 6.942 0 01-1.007.586c-.27.124-.558.225-.796.225s-.527-.101-.796-.225a6.908 6.908 0 01-1.007-.586 11.192 11.192 0 01-2.418-2.3c-1.611-2.058-2.94-5.168-2.367-9.365A1.454 1.454 0 014.415 3.84a61.113 61.113 0 012.772-.815z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconShieldLock = /*#__PURE__*/ makeIcon(\n 'ShieldLock',\n '<path fill-rule=\"evenodd\" d=\"M7.443 3.991a60.17 60.17 0 00-2.725.802.454.454 0 00-.315.366C3.87 9.056 5.1 11.9 6.567 13.773c.736.94 1.533 1.636 2.197 2.093.333.228.626.394.857.5.116.053.21.089.282.11A.73.73 0 0010 16.5a.774.774 0 00.097-.023c.072-.022.166-.058.282-.111.23-.106.524-.272.857-.5a10.198 10.198 0 002.197-2.093C14.9 11.9 16.13 9.056 15.597 5.159a.454.454 0 00-.315-.366c-.626-.2-1.682-.526-2.725-.802C11.491 3.71 10.51 3.5 10 3.5c-.51 0-1.49.21-2.557.491zm-.256-.966C8.23 2.749 9.337 2.5 10 2.5c.662 0 1.77.249 2.813.525 1.066.282 2.14.614 2.772.815.528.168.926.623 1.003 1.184.573 4.197-.756 7.307-2.367 9.365a11.192 11.192 0 01-2.418 2.3 6.942 6.942 0 01-1.007.586c-.27.124-.558.225-.796.225s-.527-.101-.796-.225a6.908 6.908 0 01-1.007-.586 11.192 11.192 0 01-2.418-2.3c-1.611-2.058-2.94-5.168-2.367-9.365A1.454 1.454 0 014.415 3.84a61.113 61.113 0 012.772-.815z\" clip-rule=\"evenodd\"/><path d=\"M11.5 8.5a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0z\"/><path d=\"M9.41 10.034a.5.5 0 01.494-.417h.156a.5.5 0 01.492.414l.347 2a.5.5 0 01-.493.585h-.835a.5.5 0 01-.493-.582l.333-2z\"/>'\n)\n\nexport const BIconShieldLockFill = /*#__PURE__*/ makeIcon(\n 'ShieldLockFill',\n '<path fill-rule=\"evenodd\" d=\"M7.187 3.025C8.23 2.749 9.337 2.5 10 2.5c.662 0 1.77.249 2.813.525a61.1 61.1 0 012.772.815c.527.168.926.623 1.003 1.184.573 4.197-.756 7.307-2.368 9.365a11.19 11.19 0 01-2.417 2.3 6.942 6.942 0 01-1.007.586c-.27.124-.558.225-.796.225s-.527-.101-.796-.225a6.908 6.908 0 01-1.007-.586 11.192 11.192 0 01-2.418-2.3c-1.611-2.058-2.94-5.168-2.367-9.365A1.454 1.454 0 014.415 3.84a61.105 61.105 0 012.772-.815zm3.328 6.884a1.5 1.5 0 10-1.06-.011.5.5 0 00-.044.136l-.333 2a.5.5 0 00.493.582h.835a.5.5 0 00.493-.585l-.347-2a.501.501 0 00-.037-.122z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconShieldShaded = /*#__PURE__*/ makeIcon(\n 'ShieldShaded',\n '<path fill-rule=\"evenodd\" d=\"M7.443 3.991a60.17 60.17 0 00-2.725.802.454.454 0 00-.315.366C3.87 9.056 5.1 11.9 6.567 13.773c.736.94 1.533 1.636 2.197 2.093.333.228.626.394.857.5.116.053.21.089.282.11A.73.73 0 0010 16.5a.774.774 0 00.097-.023c.072-.022.166-.058.282-.111a5.94 5.94 0 00.857-.5 10.198 10.198 0 002.197-2.093C14.9 11.9 16.13 9.056 15.597 5.159a.454.454 0 00-.315-.366c-.626-.2-1.682-.526-2.725-.802C11.491 3.71 10.51 3.5 10 3.5c-.51 0-1.49.21-2.557.491zm-.256-.966C8.23 2.749 9.337 2.5 10 2.5c.662 0 1.77.249 2.813.525 1.066.282 2.14.614 2.772.815.528.168.926.623 1.003 1.184.573 4.197-.756 7.307-2.367 9.365a11.192 11.192 0 01-2.418 2.3 6.942 6.942 0 01-1.007.586c-.27.124-.558.225-.796.225s-.526-.101-.796-.225a6.908 6.908 0 01-1.007-.586 11.192 11.192 0 01-2.418-2.3c-1.611-2.058-2.94-5.168-2.367-9.365A1.454 1.454 0 014.415 3.84a61.105 61.105 0 012.772-.815z\" clip-rule=\"evenodd\"/><path d=\"M10 4.25c.909 0 3.188.685 4.254 1.022a.94.94 0 01.656.773c.814 6.424-4.13 9.452-4.91 9.452V4.25z\"/>'\n)\n\nexport const BIconShift = /*#__PURE__*/ makeIcon(\n 'Shift',\n '<path fill-rule=\"evenodd\" d=\"M9.27 4.047a1 1 0 011.46 0l6.345 6.77c.6.638.146 1.683-.73 1.683H13.5v3a1 1 0 01-1 1h-5a1 1 0 01-1-1v-3H3.654c-.875 0-1.328-1.045-.73-1.684L9.27 4.047zm7.076 7.453L10 4.731 3.654 11.5H6.5a1 1 0 011 1v3h5v-3a1 1 0 011-1h2.846z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconShiftFill = /*#__PURE__*/ makeIcon(\n 'ShiftFill',\n '<path fill-rule=\"evenodd\" d=\"M9.27 4.047a1 1 0 011.46 0l6.345 6.769c.6.639.146 1.684-.73 1.684H13.5v3a1 1 0 01-1 1h-5a1 1 0 01-1-1v-3H3.654c-.875 0-1.328-1.045-.73-1.684L9.27 4.047z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconSkipBackward = /*#__PURE__*/ makeIcon(\n 'SkipBackward',\n '<path fill-rule=\"evenodd\" d=\"M2.5 5.5A.5.5 0 013 6v3.248l6.267-3.636c.52-.302 1.233.043 1.233.696v2.94l6.267-3.636c.52-.302 1.233.043 1.233.696v7.384c0 .653-.713.998-1.233.696L10.5 10.752v2.94c0 .653-.713.998-1.233.696L3 10.752V14a.5.5 0 01-1 0V6a.5.5 0 01.5-.5zm7 1.133L3.696 10 9.5 13.367V6.633zm7.5 0L11.196 10 17 13.367V6.633z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconSkipBackwardFill = /*#__PURE__*/ makeIcon(\n 'SkipBackwardFill',\n '<path stroke=\"currentColor\" stroke-linecap=\"round\" d=\"M14 6v8\"/><path d=\"M13.596 10.697l-6.363 3.692c-.54.313-1.233-.066-1.233-.697V6.308c0-.63.692-1.01 1.233-.696l6.363 3.692a.802.802 0 010 1.393z\"/>'\n)\n\nexport const BIconSkipEnd = /*#__PURE__*/ makeIcon(\n 'SkipEnd',\n '<path fill-rule=\"evenodd\" d=\"M14 5.5a.5.5 0 01.5.5v8a.5.5 0 01-1 0V6a.5.5 0 01.5-.5z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M12.804 10L7 6.633v6.734L12.804 10zm.792-.696a.802.802 0 010 1.392l-6.363 3.692C6.713 14.69 6 14.345 6 13.692V6.308c0-.653.713-.998 1.233-.696l6.363 3.692z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconSkipEndFill = /*#__PURE__*/ makeIcon(\n 'SkipEndFill',\n '<path stroke=\"currentColor\" stroke-linecap=\"round\" d=\"M2.5 6v8\"/><path d=\"M2.904 10.697l6.363 3.692c.54.313 1.233-.066 1.233-.697V6.308c0-.63-.693-1.01-1.233-.696L2.904 9.304a.802.802 0 000 1.393z\"/><path d=\"M10.404 10.697l6.363 3.692c.54.313 1.233-.066 1.233-.697V6.308c0-.63-.692-1.01-1.233-.696l-6.363 3.692a.802.802 0 000 1.393z\"/>'\n)\n\nexport const BIconSkipForward = /*#__PURE__*/ makeIcon(\n 'SkipForward',\n '<path fill-rule=\"evenodd\" d=\"M17.5 5.5a.5.5 0 01.5.5v8a.5.5 0 01-1 0v-3.248l-6.267 3.636c-.52.302-1.233-.043-1.233-.696v-2.94l-6.267 3.636C2.713 14.69 2 14.345 2 13.692V6.308c0-.653.713-.998 1.233-.696L9.5 9.248v-2.94c0-.653.713-.998 1.233-.696L17 9.248V6a.5.5 0 01.5-.5zM3 6.633v6.734L8.804 10 3 6.633zm7.5 0v6.734L16.304 10 10.5 6.633z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconSkipForwardFill = /*#__PURE__*/ makeIcon(\n 'SkipForwardFill',\n '<path stroke=\"currentColor\" stroke-linecap=\"round\" d=\"M17.5 6v8\"/><path d=\"M9.596 10.697l-6.363 3.692c-.54.313-1.233-.066-1.233-.697V6.308c0-.63.692-1.01 1.233-.696l6.363 3.692a.802.802 0 010 1.393z\"/><path d=\"M17.096 10.697l-6.363 3.692c-.54.313-1.233-.066-1.233-.697V6.308c0-.63.693-1.01 1.233-.696l6.363 3.692a.802.802 0 010 1.393z\"/>'\n)\n\nexport const BIconSkipStart = /*#__PURE__*/ makeIcon(\n 'SkipStart',\n '<path fill-rule=\"evenodd\" d=\"M6.5 5.5A.5.5 0 006 6v8a.5.5 0 001 0V6a.5.5 0 00-.5-.5z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M7.696 10L13.5 6.633v6.734L7.696 10zm-.792-.696a.802.802 0 000 1.392l6.363 3.692c.52.302 1.233-.043 1.233-.696V6.308c0-.653-.713-.998-1.233-.696L6.904 9.304z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconSkipStartFill = /*#__PURE__*/ makeIcon(\n 'SkipStartFill',\n '<path stroke=\"currentColor\" stroke-linecap=\"round\" d=\"M6.5 6v8\"/><path d=\"M6.903 10.697l6.364 3.692c.54.313 1.232-.066 1.232-.697V6.308c0-.63-.692-1.01-1.232-.696L6.903 9.304a.802.802 0 000 1.393z\"/>'\n)\n\nexport const BIconSpeaker = /*#__PURE__*/ makeIcon(\n 'Speaker',\n '<path d=\"M11 6a1 1 0 11-2 0 1 1 0 012 0zm-2.5 6.5a1.5 1.5 0 113 0 1.5 1.5 0 01-3 0z\"/><path fill-rule=\"evenodd\" d=\"M6 2a2 2 0 00-2 2v12a2 2 0 002 2h8a2 2 0 002-2V4a2 2 0 00-2-2H6zm6 4a2 2 0 11-4 0 2 2 0 014 0zm-2 3a3.5 3.5 0 100 7 3.5 3.5 0 000-7z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconSquare = /*#__PURE__*/ makeIcon(\n 'Square',\n '<path fill-rule=\"evenodd\" d=\"M16 3H4a1 1 0 00-1 1v12a1 1 0 001 1h12a1 1 0 001-1V4a1 1 0 00-1-1zM4 2a2 2 0 00-2 2v12a2 2 0 002 2h12a2 2 0 002-2V4a2 2 0 00-2-2H4z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconSquareFill = /*#__PURE__*/ makeIcon(\n 'SquareFill',\n '<rect width=\"16\" height=\"16\" x=\"2\" y=\"2\" rx=\"2\"/>'\n)\n\nexport const BIconSquareHalf = /*#__PURE__*/ makeIcon(\n 'SquareHalf',\n '<path fill-rule=\"evenodd\" d=\"M10 3H4a1 1 0 00-1 1v12a1 1 0 001 1h6V3zM4 2a2 2 0 00-2 2v12a2 2 0 002 2h12a2 2 0 002-2V4a2 2 0 00-2-2H4z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconStar = /*#__PURE__*/ makeIcon(\n 'Star',\n '<path fill-rule=\"evenodd\" d=\"M4.866 16.85c-.078.444.36.791.746.593l4.39-2.256 4.389 2.256c.386.198.824-.149.746-.592l-.83-4.73 3.523-3.356c.329-.314.158-.888-.283-.95l-4.898-.696-2.184-4.327a.513.513 0 00-.927 0L7.354 7.12l-4.898.696c-.441.062-.612.636-.282.95l3.522 3.356-.83 4.73zm4.905-2.767l-3.686 1.894.694-3.957a.565.565 0 00-.163-.505L3.71 8.745l4.052-.576a.525.525 0 00.393-.288l1.847-3.658 1.846 3.658c.08.157.226.264.393.288l4.053.575-2.907 2.77a.564.564 0 00-.163.506l.694 3.957-3.686-1.894a.503.503 0 00-.461 0z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconStarFill = /*#__PURE__*/ makeIcon(\n 'StarFill',\n '<path d=\"M5.612 17.443c-.386.198-.824-.149-.746-.592l.83-4.73-3.522-3.356c-.33-.314-.16-.888.282-.95l4.898-.696 2.184-4.327c.197-.39.73-.39.927 0l2.184 4.327 4.898.696c.441.062.612.636.283.95l-3.523 3.356.83 4.73c.078.443-.36.79-.746.592L10 15.187l-4.389 2.256z\"/>'\n)\n\nexport const BIconStarHalf = /*#__PURE__*/ makeIcon(\n 'StarHalf',\n '<path fill-rule=\"evenodd\" d=\"M7.354 7.119l2.184-4.327A.516.516 0 0110 2.5c.183 0 .366.097.465.292l2.184 4.327 4.898.696A.537.537 0 0118 8.32a.55.55 0 01-.17.445l-3.523 3.356.83 4.73c.078.443-.36.79-.746.592L10 15.187l-4.389 2.256a.52.52 0 01-.146.05c-.341.06-.668-.254-.6-.642l.83-4.73-3.522-3.356a.55.55 0 01-.172-.403.59.59 0 01.084-.302.513.513 0 01.37-.245l4.898-.696zM10 14.027c.08 0 .16.018.232.056l3.686 1.894-.694-3.957a.564.564 0 01.163-.505l2.907-2.77-4.053-.576a.525.525 0 01-.393-.288l-1.847-3.658-.001.003v9.8z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconStop = /*#__PURE__*/ makeIcon(\n 'Stop',\n '<path fill-rule=\"evenodd\" d=\"M5.5 7A1.5 1.5 0 017 5.5h6A1.5 1.5 0 0114.5 7v6a1.5 1.5 0 01-1.5 1.5H7A1.5 1.5 0 015.5 13V7zM7 6.5a.5.5 0 00-.5.5v6a.5.5 0 00.5.5h6a.5.5 0 00.5-.5V7a.5.5 0 00-.5-.5H7z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconStopFill = /*#__PURE__*/ makeIcon(\n 'StopFill',\n '<path d=\"M7 5.5h6A1.5 1.5 0 0114.5 7v6a1.5 1.5 0 01-1.5 1.5H7A1.5 1.5 0 015.5 13V7A1.5 1.5 0 017 5.5z\"/>'\n)\n\nexport const BIconStopwatch = /*#__PURE__*/ makeIcon(\n 'Stopwatch',\n '<path fill-rule=\"evenodd\" d=\"M10 17a6 6 0 100-12 6 6 0 000 12zm0 1a7 7 0 100-14 7 7 0 000 14z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M10 6.5a.5.5 0 01.5.5v4a.5.5 0 01-.5.5H6.5a.5.5 0 010-1h3V7a.5.5 0 01.5-.5zm-2.5-4A.5.5 0 018 2h4a.5.5 0 010 1H8a.5.5 0 01-.5-.5z\" clip-rule=\"evenodd\"/><path d=\"M9 3h2v2H9V3z\"/>'\n)\n\nexport const BIconStopwatchFill = /*#__PURE__*/ makeIcon(\n 'StopwatchFill',\n '<path fill-rule=\"evenodd\" d=\"M7.5 2.5A.5.5 0 018 2h4a.5.5 0 010 1h-1v1.07A7.002 7.002 0 0110 18 7 7 0 019 4.07V3H8a.5.5 0 01-.5-.5zm3 4.5a.5.5 0 00-1 0v3.5h-3a.5.5 0 000 1H10a.5.5 0 00.5-.5V7z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconSun = /*#__PURE__*/ makeIcon(\n 'Sun',\n '<path d=\"M5.5 10a4.5 4.5 0 119 0 4.5 4.5 0 01-9 0z\"/><path fill-rule=\"evenodd\" d=\"M10.202 2.28a.25.25 0 00-.404 0l-.91 1.255a.25.25 0 01-.334.067L7.232 2.79a.25.25 0 00-.374.155l-.36 1.508a.25.25 0 01-.282.189l-1.532-.244a.25.25 0 00-.286.286l.244 1.532a.25.25 0 01-.189.282l-1.508.36a.25.25 0 00-.155.374l.812 1.322a.25.25 0 01-.067.333l-1.256.91a.25.25 0 000 .405l1.256.91a.25.25 0 01.067.334l-.812 1.322a.25.25 0 00.155.374l1.508.36a.25.25 0 01.19.282l-.245 1.532a.25.25 0 00.286.286l1.532-.244a.25.25 0 01.282.189l.36 1.508a.25.25 0 00.374.155l1.322-.812a.25.25 0 01.333.067l.91 1.256a.25.25 0 00.405 0l.91-1.256a.25.25 0 01.334-.067l1.322.812a.25.25 0 00.374-.155l.36-1.508a.25.25 0 01.282-.19l1.532.245a.25.25 0 00.286-.286l-.244-1.532a.25.25 0 01.189-.282l1.508-.36a.25.25 0 00.155-.374l-.812-1.322a.25.25 0 01.067-.333l1.256-.91a.25.25 0 000-.405l-1.256-.91a.25.25 0 01-.067-.334l.812-1.322a.25.25 0 00-.155-.374l-1.508-.36a.25.25 0 01-.19-.282l.245-1.532a.25.25 0 00-.286-.286l-1.532.244a.25.25 0 01-.282-.189l-.36-1.509a.25.25 0 00-.374-.154l-1.322.812a.25.25 0 01-.333-.067l-.91-1.256zM10 4.5a5.5 5.5 0 100 11 5.5 5.5 0 000-11z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconTable = /*#__PURE__*/ makeIcon(\n 'Table',\n '<path fill-rule=\"evenodd\" d=\"M16 3H4a1 1 0 00-1 1v12a1 1 0 001 1h12a1 1 0 001-1V4a1 1 0 00-1-1zM4 2a2 2 0 00-2 2v12a2 2 0 002 2h12a2 2 0 002-2V4a2 2 0 00-2-2H4z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M17 6H3V5h14v1z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M7 17.5v-14h1v14H7zm5 0v-14h1v14h-1z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M17 10H3V9h14v1zm0 4H3v-1h14v1z\" clip-rule=\"evenodd\"/><path d=\"M2 4a2 2 0 012-2h12a2 2 0 012 2v2H2V4z\"/>'\n)\n\nexport const BIconTablet = /*#__PURE__*/ makeIcon(\n 'Tablet',\n '<path fill-rule=\"evenodd\" d=\"M14 3.5H6a1 1 0 00-1 1v11a1 1 0 001 1h8a1 1 0 001-1v-11a1 1 0 00-1-1zm-8-1a2 2 0 00-2 2v11a2 2 0 002 2h8a2 2 0 002-2v-11a2 2 0 00-2-2H6z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M10 15.5a1 1 0 100-2 1 1 0 000 2z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconTabletLandscape = /*#__PURE__*/ makeIcon(\n 'TabletLandscape',\n '<path fill-rule=\"evenodd\" d=\"M3.5 6v8a1 1 0 001 1h11a1 1 0 001-1V6a1 1 0 00-1-1h-11a1 1 0 00-1 1zm-1 8a2 2 0 002 2h11a2 2 0 002-2V6a2 2 0 00-2-2h-11a2 2 0 00-2 2v8z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M15.5 10a1 1 0 10-2 0 1 1 0 002 0z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconTag = /*#__PURE__*/ makeIcon(\n 'Tag',\n '<path fill-rule=\"evenodd\" d=\"M2.5 4A1.5 1.5 0 014 2.5h4.586a1.5 1.5 0 011.06.44l7 7a1.5 1.5 0 010 2.12l-4.585 4.586a1.5 1.5 0 01-2.122 0l-7-7a1.5 1.5 0 01-.439-1.06V4zM4 3.5a.5.5 0 00-.5.5v4.586a.5.5 0 00.146.353l7 7a.5.5 0 00.708 0l4.585-4.585a.5.5 0 000-.708l-7-7a.5.5 0 00-.353-.146H4z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M4.5 6.5a2 2 0 114 0 2 2 0 01-4 0zm2-1a1 1 0 100 2 1 1 0 000-2z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconTagFill = /*#__PURE__*/ makeIcon(\n 'TagFill',\n '<path fill-rule=\"evenodd\" d=\"M4 3a1 1 0 00-1 1v4.586a1 1 0 00.293.707l7 7a1 1 0 001.414 0l4.586-4.586a1 1 0 000-1.414l-7-7A1 1 0 008.586 3H4zm4 3.5a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconTerminal = /*#__PURE__*/ makeIcon(\n 'Terminal',\n '<path fill-rule=\"evenodd\" d=\"M16 4H4a1 1 0 00-1 1v10a1 1 0 001 1h12a1 1 0 001-1V5a1 1 0 00-1-1zM4 3a2 2 0 00-2 2v10a2 2 0 002 2h12a2 2 0 002-2V5a2 2 0 00-2-2H4z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M8 11a.5.5 0 01.5-.5h3a.5.5 0 010 1h-3A.5.5 0 018 11zM5.146 6.146a.5.5 0 01.708 0l2 2a.5.5 0 010 .708l-2 2a.5.5 0 01-.708-.708L6.793 8.5 5.146 6.854a.5.5 0 010-.708z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconTerminalFill = /*#__PURE__*/ makeIcon(\n 'TerminalFill',\n '<path fill-rule=\"evenodd\" d=\"M2 5a2 2 0 012-2h12a2 2 0 012 2v10a2 2 0 01-2 2H4a2 2 0 01-2-2V5zm9.5 5.5h-3a.5.5 0 000 1h3a.5.5 0 000-1zm-6.354-.354L6.793 8.5 5.146 6.854a.5.5 0 11.708-.708l2 2a.5.5 0 010 .708l-2 2a.5.5 0 01-.708-.708z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconTextCenter = /*#__PURE__*/ makeIcon(\n 'TextCenter',\n '<path fill-rule=\"evenodd\" d=\"M6 14.5a.5.5 0 01.5-.5h7a.5.5 0 010 1h-7a.5.5 0 01-.5-.5zm-2-3a.5.5 0 01.5-.5h11a.5.5 0 010 1h-11a.5.5 0 01-.5-.5zm2-3a.5.5 0 01.5-.5h7a.5.5 0 010 1h-7a.5.5 0 01-.5-.5zm-2-3a.5.5 0 01.5-.5h11a.5.5 0 010 1h-11a.5.5 0 01-.5-.5z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconTextIndentLeft = /*#__PURE__*/ makeIcon(\n 'TextIndentLeft',\n '<path fill-rule=\"evenodd\" d=\"M4 5.5a.5.5 0 01.5-.5h11a.5.5 0 010 1h-11a.5.5 0 01-.5-.5zm.646 2.146a.5.5 0 01.708 0l2 2a.5.5 0 010 .708l-2 2a.5.5 0 01-.708-.708L6.293 10 4.646 8.354a.5.5 0 010-.708zM9 8.5a.5.5 0 01.5-.5h6a.5.5 0 010 1h-6a.5.5 0 01-.5-.5zm0 3a.5.5 0 01.5-.5h6a.5.5 0 010 1h-6a.5.5 0 01-.5-.5zm-5 3a.5.5 0 01.5-.5h11a.5.5 0 010 1h-11a.5.5 0 01-.5-.5z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconTextIndentRight = /*#__PURE__*/ makeIcon(\n 'TextIndentRight',\n '<path fill-rule=\"evenodd\" d=\"M4 5.5a.5.5 0 01.5-.5h11a.5.5 0 010 1h-11a.5.5 0 01-.5-.5zm10.646 2.146a.5.5 0 01.708.708L13.707 10l1.647 1.646a.5.5 0 01-.708.708l-2-2a.5.5 0 010-.708l2-2zM4 8.5a.5.5 0 01.5-.5h6a.5.5 0 010 1h-6a.5.5 0 01-.5-.5zm0 3a.5.5 0 01.5-.5h6a.5.5 0 010 1h-6a.5.5 0 01-.5-.5zm0 3a.5.5 0 01.5-.5h11a.5.5 0 010 1h-11a.5.5 0 01-.5-.5z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconTextLeft = /*#__PURE__*/ makeIcon(\n 'TextLeft',\n '<path fill-rule=\"evenodd\" d=\"M4 14.5a.5.5 0 01.5-.5h7a.5.5 0 010 1h-7a.5.5 0 01-.5-.5zm0-3a.5.5 0 01.5-.5h11a.5.5 0 010 1h-11a.5.5 0 01-.5-.5zm0-3a.5.5 0 01.5-.5h7a.5.5 0 010 1h-7a.5.5 0 01-.5-.5zm0-3a.5.5 0 01.5-.5h11a.5.5 0 010 1h-11a.5.5 0 01-.5-.5z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconTextRight = /*#__PURE__*/ makeIcon(\n 'TextRight',\n '<path stroke=\"currentColor\" stroke-linecap=\"round\" d=\"M8.5 14.5h7m-11-3h11m-7-3h7m-11-3h11\"/>'\n)\n\nexport const BIconThreeDots = /*#__PURE__*/ makeIcon(\n 'ThreeDots',\n '<path fill-rule=\"evenodd\" d=\"M5 11.5a1.5 1.5 0 110-3 1.5 1.5 0 010 3zm5 0a1.5 1.5 0 110-3 1.5 1.5 0 010 3zm5 0a1.5 1.5 0 110-3 1.5 1.5 0 010 3z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconThreeDotsVertical = /*#__PURE__*/ makeIcon(\n 'ThreeDotsVertical',\n '<path fill-rule=\"evenodd\" d=\"M11.5 15a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0zm0-5a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0zm0-5a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconToggleOff = /*#__PURE__*/ makeIcon(\n 'ToggleOff',\n '<path fill-rule=\"evenodd\" d=\"M13 6a4 4 0 010 8h-3a4.992 4.992 0 002-4 4.992 4.992 0 00-2-4h3zm-6 8a4 4 0 110-8 4 4 0 010 8zm-5-4a5 5 0 005 5h6a5 5 0 000-10H7a5 5 0 00-5 5z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconToggleOn = /*#__PURE__*/ makeIcon(\n 'ToggleOn',\n '<path fill-rule=\"evenodd\" d=\"M7 5a5 5 0 000 10h6a5 5 0 000-10H7zm6 9a4 4 0 100-8 4 4 0 000 8z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconToggles = /*#__PURE__*/ makeIcon(\n 'Toggles',\n '<path fill-rule=\"evenodd\" d=\"M13.5 3h-7a2.5 2.5 0 000 5h7a2.5 2.5 0 000-5zm-7-1a3.5 3.5 0 100 7h7a3.5 3.5 0 100-7h-7zm0 9a3.5 3.5 0 100 7h7a3.5 3.5 0 100-7h-7zm7 6a2.5 2.5 0 100-5 2.5 2.5 0 000 5z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M10 5.5a3.5 3.5 0 11-7 0 3.5 3.5 0 017 0zM6.5 8a2.5 2.5 0 100-5 2.5 2.5 0 000 5z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconTools = /*#__PURE__*/ makeIcon(\n 'Tools',\n '<path fill-rule=\"evenodd\" d=\"M2 3l1-1 3.081 2.2a1 1 0 01.419.815v.07a1 1 0 00.293.708L12.5 11.5l.914-.305a1 1 0 011.023.242l3.356 3.356a1 1 0 010 1.414l-1.586 1.586a1 1 0 01-1.414 0l-3.356-3.356a1 1 0 01-.242-1.023l.305-.914-5.707-5.707a1 1 0 00-.707-.293h-.071a1 1 0 01-.814-.419L2 3zm11.354 9.646a.5.5 0 00-.708.708l3 3a.5.5 0 00.708-.708l-3-3z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M17.898 4.223a3.003 3.003 0 01-3.679 3.674L7.878 14.15a3 3 0 11-2.027-2.027l6.252-6.341a3 3 0 013.675-3.68l-2.142 2.142L14 6l1.757.364 2.141-2.141zm-13.37 9.019L5 13l.471.242.529.026.287.445.445.287.026.529L7 15l-.242.471-.026.529-.445.287-.287.445-.529.026L5 17l-.471-.242L4 16.732l-.287-.445L3.268 16l-.026-.529L3 15l.242-.471.026-.529.445-.287.287-.445.529-.026z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconTrash = /*#__PURE__*/ makeIcon(\n 'Trash',\n '<path d=\"M7.5 7.5A.5.5 0 018 8v6a.5.5 0 01-1 0V8a.5.5 0 01.5-.5zm2.5 0a.5.5 0 01.5.5v6a.5.5 0 01-1 0V8a.5.5 0 01.5-.5zm3 .5a.5.5 0 00-1 0v6a.5.5 0 001 0V8z\"/><path fill-rule=\"evenodd\" d=\"M16.5 5a1 1 0 01-1 1H15v9a2 2 0 01-2 2H7a2 2 0 01-2-2V6h-.5a1 1 0 01-1-1V4a1 1 0 011-1H8a1 1 0 011-1h2a1 1 0 011 1h3.5a1 1 0 011 1v1zM6.118 6L6 6.059V15a1 1 0 001 1h6a1 1 0 001-1V6.059L13.882 6H6.118zM4.5 5V4h11v1h-11z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconTrashFill = /*#__PURE__*/ makeIcon(\n 'TrashFill',\n '<path fill-rule=\"evenodd\" d=\"M4.5 3a1 1 0 00-1 1v1a1 1 0 001 1H5v9a2 2 0 002 2h6a2 2 0 002-2V6h.5a1 1 0 001-1V4a1 1 0 00-1-1H12a1 1 0 00-1-1H9a1 1 0 00-1 1H4.5zm3 4a.5.5 0 01.5.5v7a.5.5 0 01-1 0v-7a.5.5 0 01.5-.5zM10 7a.5.5 0 01.5.5v7a.5.5 0 01-1 0v-7A.5.5 0 0110 7zm3 .5a.5.5 0 00-1 0v7a.5.5 0 001 0v-7z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconTriangle = /*#__PURE__*/ makeIcon(\n 'Triangle',\n '<path fill-rule=\"evenodd\" d=\"M9.938 4.016a.146.146 0 00-.054.057L3.027 15.74a.176.176 0 00-.002.183c.016.03.037.05.054.06.015.01.034.017.066.017h13.713a.12.12 0 00.066-.017.163.163 0 00.055-.06.176.176 0 00-.003-.183L10.12 4.073a.146.146 0 00-.054-.057.13.13 0 00-.063-.016.13.13 0 00-.064.016zm1.043-.45a1.13 1.13 0 00-1.96 0L2.166 15.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767L10.982 3.566z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconTriangleFill = /*#__PURE__*/ makeIcon(\n 'TriangleFill',\n '<path fill-rule=\"evenodd\" d=\"M9.022 3.566a1.13 1.13 0 011.96 0l6.857 11.667c.457.778-.092 1.767-.98 1.767H3.144c-.889 0-1.437-.99-.98-1.767L9.022 3.566z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconTriangleHalf = /*#__PURE__*/ makeIcon(\n 'TriangleHalf',\n '<path fill-rule=\"evenodd\" d=\"M9.938 4.016a.146.146 0 00-.054.057L3.027 15.74a.176.176 0 00-.002.183c.016.03.037.05.054.06.015.01.034.017.066.017l6.857-.017V4a.13.13 0 00-.064.016zm1.043-.45a1.13 1.13 0 00-1.96 0L2.166 15.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767L10.982 3.566z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconTrophy = /*#__PURE__*/ makeIcon(\n 'Trophy',\n '<path d=\"M5 3h10c-.495 3.467-.5 10-5 10S5.495 6.467 5 3zm0 15a1 1 0 011-1h8a1 1 0 011 1H5zm2-1a1 1 0 011-1h4a1 1 0 011 1H7z\"/><path fill-rule=\"evenodd\" d=\"M14.5 5a2 2 0 100 4 2 2 0 000-4zm-3 2a3 3 0 116 0 3 3 0 01-6 0zm-6-2a2 2 0 100 4 2 2 0 000-4zm-3 2a3 3 0 116 0 3 3 0 01-6 0z\" clip-rule=\"evenodd\"/><path d=\"M9 12h2v4H9v-4z\"/><path d=\"M12 13c0 .552-.895 1-2 1s-2-.448-2-1 .895-1 2-1 2 .448 2 1z\"/>'\n)\n\nexport const BIconTv = /*#__PURE__*/ makeIcon(\n 'Tv',\n '<path fill-rule=\"evenodd\" d=\"M2.216 6H1.5v-.04l.005-.083a2.957 2.957 0 01.298-1.102c.154-.309.394-.633.763-.88C2.94 3.648 3.413 3.5 4 3.5h12.039l.083.005a2.958 2.958 0 011.102.298c.309.154.633.394.88.763.248.373.396.847.396 1.434v6H18h.5v.039l-.005.083a2.957 2.957 0 01-.298 1.102 2.257 2.257 0 01-.763.88c-.373.248-.847.396-1.434.396H3.961l-.083-.005a2.956 2.956 0 01-1.102-.298 2.254 2.254 0 01-.88-.763C1.648 13.06 1.5 12.588 1.5 12V6h.716zm.284.002v-.008l.003-.044a1.959 1.959 0 01.195-.726c.095-.191.23-.367.423-.495.19-.127.466-.229.879-.229h12.006l.044.003a1.958 1.958 0 01.726.195c.191.095.367.23.495.423.127.19.229.466.229.879v6.006l-.003.044a1.959 1.959 0 01-.195.726c-.095.191-.23.367-.423.495-.19.127-.466.229-.879.229H3.994l-.044-.003a1.96 1.96 0 01-.726-.195 1.256 1.256 0 01-.495-.423c-.127-.19-.229-.466-.229-.879V6.002zM4.003 13.5zm.497 2A.5.5 0 015 15h10a.5.5 0 010 1H5a.5.5 0 01-.5-.5z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconTvFill = /*#__PURE__*/ makeIcon(\n 'TvFill',\n '<path fill-rule=\"evenodd\" d=\"M4.5 15.5A.5.5 0 015 15h10a.5.5 0 010 1H5a.5.5 0 01-.5-.5zM4 4h12s2 0 2 2v6s0 2-2 2H4s-2 0-2-2V6s0-2 2-2z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconType = /*#__PURE__*/ makeIcon(\n 'Type',\n '<path d=\"M4.244 15.081l.944-2.803H8.66l.944 2.803h1.257L7.54 5.75H6.322L3 15.081h1.244zm2.7-7.923l1.395 4.157h-2.83L6.91 7.158h.034zm9.146 7.027h.035v.896h1.128v-4.956c0-1.51-1.114-2.345-2.646-2.345-1.736 0-2.59.916-2.666 2.174h1.108c.068-.718.595-1.19 1.517-1.19.971 0 1.518.52 1.518 1.463v.732H14.19c-1.647.007-2.522.8-2.522 2.058 0 1.319.957 2.18 2.345 2.18 1.06 0 1.716-.43 2.078-1.011zm-1.763.035c-.752 0-1.456-.397-1.456-1.244 0-.65.424-1.115 1.408-1.115h1.805v.834c0 .896-.752 1.525-1.757 1.525z\"/>'\n)\n\nexport const BIconTypeBold = /*#__PURE__*/ makeIcon(\n 'TypeBold',\n '<path d=\"M10.21 15c2.106 0 3.412-1.087 3.412-2.823 0-1.306-.984-2.283-2.324-2.386v-.055a2.176 2.176 0 001.852-2.14c0-1.51-1.162-2.46-3.014-2.46H5.843V15h4.368zM7.908 6.674h1.696c.963 0 1.517.451 1.517 1.244 0 .834-.629 1.32-1.73 1.32H7.908V6.673zm0 6.788v-2.864h1.73c1.216 0 1.88.492 1.88 1.415 0 .943-.643 1.449-1.832 1.449H7.907z\"/>'\n)\n\nexport const BIconTypeH1 = /*#__PURE__*/ makeIcon(\n 'TypeH1',\n '<path d=\"M10.637 15V5.669H9.379V9.62H4.758V5.67H3.5V15h1.258v-4.273h4.62V15h1.259zm5.329 0V5.669h-1.244L12.5 7.316v1.265l2.16-1.565h.062V15h1.244z\"/>'\n)\n\nexport const BIconTypeH2 = /*#__PURE__*/ makeIcon(\n 'TypeH2',\n '<path d=\"M9.638 15V5.669H8.38V9.62H3.759V5.67H2.5V15h1.258v-4.273h4.62V15h1.259zm3.022-6.733v-.048c0-.889.63-1.668 1.716-1.668.957 0 1.675.608 1.675 1.572 0 .855-.554 1.504-1.067 2.085l-3.513 3.999V15H17.5v-1.094h-4.245v-.075l2.481-2.844c.875-.998 1.586-1.784 1.586-2.953 0-1.463-1.155-2.556-2.919-2.556-1.941 0-2.966 1.326-2.966 2.74v.049h1.223z\"/>'\n)\n\nexport const BIconTypeH3 = /*#__PURE__*/ makeIcon(\n 'TypeH3',\n '<path d=\"M9.637 15V5.669H8.379V9.62H3.758V5.67H2.5V15h1.258v-4.273h4.62V15h1.259zm3.625-4.273h1.018c1.142 0 1.935.67 1.949 1.675.013 1.005-.78 1.737-2.01 1.73-1.08-.007-1.853-.588-1.935-1.32h-1.176c.069 1.327 1.224 2.386 3.083 2.386 1.935 0 3.343-1.155 3.309-2.789-.027-1.51-1.251-2.16-2.037-2.249v-.068c.704-.123 1.764-.91 1.723-2.229-.035-1.353-1.176-2.4-2.954-2.385-1.873.006-2.857 1.162-2.898 2.358h1.196c.062-.69.711-1.299 1.696-1.299.998 0 1.695.622 1.695 1.525.007.922-.718 1.592-1.695 1.592h-.964v1.073z\"/>'\n)\n\nexport const BIconTypeItalic = /*#__PURE__*/ makeIcon(\n 'TypeItalic',\n '<path d=\"M9.991 13.674l1.538-7.219c.123-.595.246-.71 1.347-.807l.11-.52H9.211l-.11.52c1.06.096 1.128.212 1.005.807L8.57 13.674c-.123.595-.246.71-1.346.806l-.11.52h3.774l.11-.52c-1.06-.095-1.129-.211-1.006-.806z\"/>'\n)\n\nexport const BIconTypeStrikethrough = /*#__PURE__*/ makeIcon(\n 'TypeStrikethrough',\n '<path d=\"M10.527 15.164c-2.153 0-3.589-1.107-3.705-2.81h1.23c.144 1.06 1.129 1.703 2.544 1.703 1.34 0 2.31-.705 2.31-1.675 0-.827-.547-1.374-1.914-1.675l-.946-.207h3.45c.468.437.675.994.675 1.697 0 1.826-1.436 2.967-3.644 2.967zM8.602 8.5H7.167a2.776 2.776 0 01-.099-.76c0-1.627 1.436-2.768 3.48-2.768 1.969 0 3.39 1.175 3.445 2.85h-1.23c-.11-1.08-.964-1.743-2.25-1.743-1.23 0-2.18.602-2.18 1.607 0 .31.083.581.27.814z\"/><path fill-rule=\"evenodd\" d=\"M17 10.5H3v-1h14v1z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconTypeUnderline = /*#__PURE__*/ makeIcon(\n 'TypeUnderline',\n '<path d=\"M7.313 5.136h-1.23v6.405c0 2.105 1.47 3.623 3.917 3.623s3.917-1.518 3.917-3.623V5.136h-1.23v6.323c0 1.49-.978 2.57-2.687 2.57-1.709 0-2.687-1.08-2.687-2.57V5.136z\"/><path fill-rule=\"evenodd\" d=\"M14.5 17h-9v-1h9v1z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconUnlock = /*#__PURE__*/ makeIcon(\n 'Unlock',\n '<path fill-rule=\"evenodd\" d=\"M11.655 9H4.333c-.264 0-.398.068-.471.121a.73.73 0 00-.224.296 1.626 1.626 0 00-.138.59V15c0 .342.076.531.14.635.064.106.151.18.256.237a1.122 1.122 0 00.436.127l.013.001h7.322c.264 0 .398-.068.471-.121a.73.73 0 00.224-.296 1.627 1.627 0 00.138-.59V10c0-.342-.076-.531-.14-.635a.658.658 0 00-.255-.237 1.123 1.123 0 00-.45-.128zm.012-1H4.333C2.5 8 2.5 10 2.5 10v5c0 2 1.833 2 1.833 2h7.334c1.833 0 1.833-2 1.833-2v-5c0-2-1.833-2-1.833-2zM10.5 5a3.5 3.5 0 117 0v3h-1V5a2.5 2.5 0 00-5 0v3h-1V5z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconUnlockFill = /*#__PURE__*/ makeIcon(\n 'UnlockFill',\n '<path d=\"M2.5 10a2 2 0 012-2h7a2 2 0 012 2v5a2 2 0 01-2 2h-7a2 2 0 01-2-2v-5z\"/><path fill-rule=\"evenodd\" d=\"M10.5 5a3.5 3.5 0 117 0v3h-1V5a2.5 2.5 0 00-5 0v3h-1V5z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconUpload = /*#__PURE__*/ makeIcon(\n 'Upload',\n '<path fill-rule=\"evenodd\" d=\"M2.5 10a.5.5 0 01.5.5V14a1 1 0 001 1h12a1 1 0 001-1v-3.5a.5.5 0 011 0V14a2 2 0 01-2 2H4a2 2 0 01-2-2v-3.5a.5.5 0 01.5-.5zM7 6.854a.5.5 0 00.707 0L10 4.56l2.293 2.293A.5.5 0 1013 6.146L10.354 3.5a.5.5 0 00-.708 0L7 6.146a.5.5 0 000 .708z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M10 4a.5.5 0 01.5.5v8a.5.5 0 01-1 0v-8A.5.5 0 0110 4z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconVolumeDown = /*#__PURE__*/ makeIcon(\n 'VolumeDown',\n '<path fill-rule=\"evenodd\" d=\"M10.717 5.55A.5.5 0 0111 6v8a.5.5 0 01-.812.39L7.825 12.5H5.5A.5.5 0 015 12V8a.5.5 0 01.5-.5h2.325l2.363-1.89a.5.5 0 01.529-.06zM10 7.04L8.312 8.39A.5.5 0 018 8.5H6v3h2a.5.5 0 01.312.11L10 12.96V7.04z\" clip-rule=\"evenodd\"/><path d=\"M12.707 13.182A4.486 4.486 0 0014.025 10a4.486 4.486 0 00-1.318-3.182L12 7.525A3.489 3.489 0 0113.025 10c0 .966-.392 1.841-1.025 2.475l.707.707z\"/>'\n)\n\nexport const BIconVolumeDownFill = /*#__PURE__*/ makeIcon(\n 'VolumeDownFill',\n '<path fill-rule=\"evenodd\" d=\"M10.717 5.55A.5.5 0 0111 6v8a.5.5 0 01-.812.39L7.825 12.5H5.5A.5.5 0 015 12V8a.5.5 0 01.5-.5h2.325l2.363-1.89a.5.5 0 01.529-.06z\" clip-rule=\"evenodd\"/><path d=\"M12.707 13.182A4.486 4.486 0 0014.025 10a4.486 4.486 0 00-1.318-3.182L12 7.525A3.489 3.489 0 0113.025 10c0 .966-.392 1.841-1.025 2.475l.707.707z\"/>'\n)\n\nexport const BIconVolumeMute = /*#__PURE__*/ makeIcon(\n 'VolumeMute',\n '<path fill-rule=\"evenodd\" d=\"M8.717 5.55A.5.5 0 019 6v8a.5.5 0 01-.812.39L5.825 12.5H3.5A.5.5 0 013 12V8a.5.5 0 01.5-.5h2.325l2.363-1.89a.5.5 0 01.529-.06zM8 7.04L6.312 8.39A.5.5 0 016 8.5H4v3h2a.5.5 0 01.312.11L8 12.96V7.04zm7.854.606a.5.5 0 010 .708l-4 4a.5.5 0 01-.708-.708l4-4a.5.5 0 01.708 0z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M11.146 7.646a.5.5 0 000 .708l4 4a.5.5 0 00.708-.708l-4-4a.5.5 0 00-.708 0z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconVolumeMuteFill = /*#__PURE__*/ makeIcon(\n 'VolumeMuteFill',\n '<path fill-rule=\"evenodd\" d=\"M8.717 5.55A.5.5 0 019 6v8a.5.5 0 01-.812.39L5.825 12.5H3.5A.5.5 0 013 12V8a.5.5 0 01.5-.5h2.325l2.363-1.89a.5.5 0 01.529-.06zm7.137 1.596a.5.5 0 010 .708l-4 4a.5.5 0 01-.708-.708l4-4a.5.5 0 01.708 0z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M11.146 7.146a.5.5 0 000 .708l4 4a.5.5 0 00.708-.708l-4-4a.5.5 0 00-.708 0z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconVolumeUp = /*#__PURE__*/ makeIcon(\n 'VolumeUp',\n '<path fill-rule=\"evenodd\" d=\"M8.717 5.55A.5.5 0 019 6v8a.5.5 0 01-.812.39L5.825 12.5H3.5A.5.5 0 013 12V8a.5.5 0 01.5-.5h2.325l2.363-1.89a.5.5 0 01.529-.06zM8 7.04L6.312 8.39A.5.5 0 016 8.5H4v3h2a.5.5 0 01.312.11L8 12.96V7.04z\" clip-rule=\"evenodd\"/><path d=\"M13.536 16.01a8.473 8.473 0 002.49-6.01 8.473 8.473 0 00-2.49-6.01l-.708.707A7.476 7.476 0 0115.025 10c0 2.071-.84 3.946-2.197 5.303l.708.707z\"/><path d=\"M12.121 14.596A6.48 6.48 0 0014.025 10a6.48 6.48 0 00-1.904-4.596l-.707.707A5.483 5.483 0 0113.025 10a5.483 5.483 0 01-1.61 3.89l.706.706z\"/><path d=\"M10.707 13.182A4.486 4.486 0 0012.025 10a4.486 4.486 0 00-1.318-3.182L10 7.525A3.489 3.489 0 0111.025 10c0 .966-.392 1.841-1.025 2.475l.707.707z\"/>'\n)\n\nexport const BIconVolumeUpFill = /*#__PURE__*/ makeIcon(\n 'VolumeUpFill',\n '<path d=\"M13.536 16.01a8.473 8.473 0 002.49-6.01 8.473 8.473 0 00-2.49-6.01l-.708.707A7.476 7.476 0 0115.025 10c0 2.071-.84 3.946-2.197 5.303l.708.707z\"/><path d=\"M12.121 14.596A6.48 6.48 0 0014.025 10a6.48 6.48 0 00-1.904-4.596l-.707.707A5.483 5.483 0 0113.025 10a5.483 5.483 0 01-1.61 3.89l.706.706z\"/><path d=\"M10.707 13.182A4.486 4.486 0 0012.025 10a4.486 4.486 0 00-1.318-3.182L10 7.525A3.489 3.489 0 0111.025 10c0 .966-.392 1.841-1.025 2.475l.707.707z\"/><path fill-rule=\"evenodd\" d=\"M8.717 5.55A.5.5 0 019 6v8a.5.5 0 01-.812.39L5.825 12.5H3.5A.5.5 0 013 12V8a.5.5 0 01.5-.5h2.325l2.363-1.89a.5.5 0 01.529-.06z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconWallet = /*#__PURE__*/ makeIcon(\n 'Wallet',\n '<path fill-rule=\"evenodd\" d=\"M3.5 5a.5.5 0 00-.5.5v2h5a.5.5 0 01.5.5c0 .253.08.644.306.958.207.288.557.542 1.194.542.637 0 .987-.254 1.194-.542.226-.314.306-.705.306-.958a.5.5 0 01.5-.5h5v-2a.5.5 0 00-.5-.5h-13zM17 8.5h-4.551a2.678 2.678 0 01-.443 1.042c-.393.546-1.043.958-2.006.958-.963 0-1.613-.412-2.006-.958A2.679 2.679 0 017.551 8.5H3v6a.5.5 0 00.5.5h13a.5.5 0 00.5-.5v-6zm-15-3A1.5 1.5 0 013.5 4h13A1.5 1.5 0 0118 5.5v9a1.5 1.5 0 01-1.5 1.5h-13A1.5 1.5 0 012 14.5v-9z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconWatch = /*#__PURE__*/ makeIcon(\n 'Watch',\n '<path fill-rule=\"evenodd\" d=\"M6 16.333v-1.86A5.985 5.985 0 014 10c0-1.777.772-3.374 2-4.472V3.667C6 2.747 6.746 2 7.667 2h4.666C13.253 2 14 2.746 14 3.667v1.86A5.985 5.985 0 0116 10a5.985 5.985 0 01-2 4.472v1.861c0 .92-.746 1.667-1.667 1.667H7.667C6.747 18 6 17.254 6 16.333zM15 10a5 5 0 10-10 0 5 5 0 0010 0z\" clip-rule=\"evenodd\"/><rect width=\"1\" height=\"2\" x=\"15.5\" y=\"9\" rx=\".5\"/><path fill-rule=\"evenodd\" d=\"M10 6.5a.5.5 0 01.5.5v3a.5.5 0 01-.5.5H8a.5.5 0 010-1h1.5V7a.5.5 0 01.5-.5z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconWifi = /*#__PURE__*/ makeIcon(\n 'Wifi',\n '<path fill-rule=\"evenodd\" d=\"M8.858 13.858A1.991 1.991 0 0110 13.5c.425 0 .818.132 1.142.358L10 15l-1.142-1.142z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M9.731 14.024l.269.269.269-.269a1.506 1.506 0 00-.538 0zm-1.159-.576A2.49 2.49 0 0110 13c.53 0 1.023.165 1.428.448a.5.5 0 01.068.763l-1.143 1.143a.5.5 0 01-.707 0L8.504 14.21a.5.5 0 01.354-.853v.5l-.286-.41zM10 11.5a4.478 4.478 0 00-2.7.9.5.5 0 01-.6-.8c.919-.69 2.062-1.1 3.3-1.1s2.381.41 3.3 1.1a.5.5 0 01-.6.8 4.478 4.478 0 00-2.7-.9zm0-3c-1.833 0-3.51.657-4.814 1.748a.5.5 0 11-.642-.766A8.468 8.468 0 0110 7.5c2.076 0 3.98.745 5.456 1.982a.5.5 0 01-.642.766A7.468 7.468 0 0010 8.5z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M10 5.5c-2.657 0-5.082.986-6.932 2.613a.5.5 0 11-.66-.75A11.458 11.458 0 0110 4.5c2.91 0 5.567 1.08 7.592 2.862a.5.5 0 11-.66.751A10.458 10.458 0 0010 5.5z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconWindow = /*#__PURE__*/ makeIcon(\n 'Window',\n '<path fill-rule=\"evenodd\" d=\"M16 4H4a1 1 0 00-1 1v10a1 1 0 001 1h12a1 1 0 001-1V5a1 1 0 00-1-1zM4 3a2 2 0 00-2 2v10a2 2 0 002 2h12a2 2 0 002-2V5a2 2 0 00-2-2H4z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M17 8H3V7h14v1z\" clip-rule=\"evenodd\"/><path d=\"M5 5.5a.5.5 0 11-1 0 .5.5 0 011 0zm1.5 0a.5.5 0 11-1 0 .5.5 0 011 0zm1.5 0a.5.5 0 11-1 0 .5.5 0 011 0z\"/>'\n)\n\nexport const BIconWrench = /*#__PURE__*/ makeIcon(\n 'Wrench',\n '<path fill-rule=\"evenodd\" d=\"M2.102 4.223A3.004 3.004 0 005 8c.27 0 .532-.036.78-.103l6.342 6.252A3.003 3.003 0 0015 18a3 3 0 10-.851-5.878L7.897 5.781A3.004 3.004 0 004.223 2.1l2.141 2.142L6 6l-1.757.364-2.141-2.141zm13.37 9.019L15 13l-.471.242-.529.026-.287.445-.445.287-.026.529L13 15l.242.471.026.529.445.287.287.445.529.026L15 17l.471-.242.529-.026.287-.445.445-.287.026-.529L17 15l-.242-.471-.026-.529-.445-.287-.287-.445-.529-.026z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconX = /*#__PURE__*/ makeIcon(\n 'X',\n '<path fill-rule=\"evenodd\" d=\"M5.646 5.646a.5.5 0 000 .708l8 8a.5.5 0 00.708-.708l-8-8a.5.5 0 00-.708 0z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M14.354 5.646a.5.5 0 010 .708l-8 8a.5.5 0 01-.708-.708l8-8a.5.5 0 01.708 0z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconXCircle = /*#__PURE__*/ makeIcon(\n 'XCircle',\n '<path fill-rule=\"evenodd\" d=\"M10 17a7 7 0 100-14 7 7 0 000 14zm0 1a8 8 0 100-16 8 8 0 000 16z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M12.646 13.354l-6-6 .708-.708 6 6-.708.708z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M7.354 13.354l6-6-.708-.708-6 6 .708.708z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconXCircleFill = /*#__PURE__*/ makeIcon(\n 'XCircleFill',\n '<path fill-rule=\"evenodd\" d=\"M10 18a8 8 0 100-16 8 8 0 000 16zM7.354 6.646L10 9.293l2.646-2.647a.5.5 0 01.708.708L10.707 10l2.647 2.646a.5.5 0 01-.708.708L10 10.707l-2.646 2.647a.5.5 0 01-.708-.708L9.293 10 6.646 7.354a.5.5 0 11.708-.708z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconXOctagon = /*#__PURE__*/ makeIcon(\n 'XOctagon',\n '<path fill-rule=\"evenodd\" d=\"M6.54 2.146A.5.5 0 016.893 2h6.214a.5.5 0 01.353.146l4.394 4.394a.5.5 0 01.146.353v6.214a.5.5 0 01-.146.353l-4.394 4.394a.5.5 0 01-.353.146H6.893a.5.5 0 01-.353-.146L2.146 13.46A.5.5 0 012 13.107V6.893a.5.5 0 01.146-.353L6.54 2.146zM7.1 3L3 7.1v5.8L7.1 17h5.8l4.1-4.1V7.1L12.9 3H7.1z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M9.293 10L6.646 7.354l.708-.708L10 9.293l2.646-2.647.708.708L10.707 10l2.647 2.646-.707.708L10 10.707l-2.646 2.647-.708-.707L9.293 10z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconXOctagonFill = /*#__PURE__*/ makeIcon(\n 'XOctagonFill',\n '<path fill-rule=\"evenodd\" d=\"M13.46 2.146A.5.5 0 0013.107 2H6.893a.5.5 0 00-.353.146L2.146 6.54A.5.5 0 002 6.893v6.214a.5.5 0 00.146.353l4.394 4.394a.5.5 0 00.353.146h6.214a.5.5 0 00.353-.146l4.394-4.394a.5.5 0 00.146-.353V6.893a.5.5 0 00-.146-.353L13.46 2.146zm-6.106 4.5L10 9.293l2.646-2.647a.5.5 0 01.708.708L10.707 10l2.647 2.646a.5.5 0 01-.708.708L10 10.707l-2.646 2.647a.5.5 0 01-.708-.708L9.293 10 6.646 7.354a.5.5 0 11.708-.708z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconXSquare = /*#__PURE__*/ makeIcon(\n 'XSquare',\n '<path fill-rule=\"evenodd\" d=\"M16 3H4a1 1 0 00-1 1v12a1 1 0 001 1h12a1 1 0 001-1V4a1 1 0 00-1-1zM4 2a2 2 0 00-2 2v12a2 2 0 002 2h12a2 2 0 002-2V4a2 2 0 00-2-2H4z\" clip-rule=\"evenodd\"/><path fill-rule=\"evenodd\" d=\"M9.293 10L6.646 7.354l.708-.708L10 9.293l2.646-2.647.708.708L10.707 10l2.647 2.646-.708.708L10 10.707l-2.646 2.647-.708-.707L9.293 10z\" clip-rule=\"evenodd\"/>'\n)\n\nexport const BIconXSquareFill = /*#__PURE__*/ makeIcon(\n 'XSquareFill',\n '<path fill-rule=\"evenodd\" d=\"M4 2a2 2 0 00-2 2v12a2 2 0 002 2h12a2 2 0 002-2V4a2 2 0 00-2-2H4zm3.354 4.646L10 9.293l2.646-2.647a.5.5 0 01.708.708L10.707 10l2.647 2.646a.5.5 0 01-.708.708L10 10.707l-2.646 2.647a.5.5 0 01-.708-.708L9.293 10 6.646 7.354a.5.5 0 11.708-.708z\" clip-rule=\"evenodd\"/>'\n)\n\n// --- END AUTO-GENERATED FILE ---\n","import Vue from '../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\nimport { commonIconProps, BVIconBase } from './helpers/icon-base'\n\n// @vue/component\nexport const BIconstack = /*#__PURE__*/ Vue.extend({\n name: 'BIconstack',\n functional: true,\n props: { ...commonIconProps },\n render(h, { data, props, children }) {\n return h(\n BVIconBase,\n mergeData(data, { staticClass: 'b-iconstack', props: { ...props, stacked: false } }),\n children\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport KeyCodes from '../../utils/key-codes'\nimport identity from '../../utils/identity'\nimport looseEqual from '../../utils/loose-equal'\nimport { arrayIncludes, concat } from '../../utils/array'\nimport { getComponentConfig } from '../../utils/config'\nimport {\n createDate,\n createDateFormatter,\n datesEqual,\n firstDateOfMonth,\n formatYMD,\n lastDateOfMonth,\n oneMonthAgo,\n oneMonthAhead,\n oneYearAgo,\n oneYearAhead,\n parseYMD,\n resolveLocale\n} from '../../utils/date'\nimport { requestAF } from '../../utils/dom'\nimport { isArray, isFunction, isPlainObject, isString } from '../../utils/inspect'\nimport { toInteger } from '../../utils/number'\nimport { toString } from '../../utils/string'\nimport idMixin from '../../mixins/id'\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\nimport { BIconChevronLeft, BIconCircleFill } from '../../icons/icons'\nimport { BIconstack } from '../../icons/iconstack'\n\n// --- Constants ---\n\nconst NAME = 'BCalendar'\n\n// Key Codes\nconst { UP, DOWN, LEFT, RIGHT, PAGEUP, PAGEDOWN, HOME, END, ENTER, SPACE } = KeyCodes\n\n// Languages that are RTL\nconst RTL_LANGS = [\n 'ar',\n 'az',\n 'ckb',\n 'fa',\n 'he',\n 'ks',\n 'lrc',\n 'mzn',\n 'ps',\n 'sd',\n 'te',\n 'ug',\n 'ur',\n 'yi'\n].map(locale => locale.toLowerCase())\n\n// --- Helper utilities ---\n\nexport const isLocaleRTL = locale => {\n // Determines if the locale is RTL (only single locale supported)\n const parts = toString(locale)\n .toLowerCase()\n .replace(/-u-.+/, '')\n .split('-')\n const locale1 = parts.slice(0, 2).join('-')\n const locale2 = parts[0]\n return arrayIncludes(RTL_LANGS, locale1) || arrayIncludes(RTL_LANGS, locale2)\n}\n\n// --- BCalendar component ---\n\n// @vue/component\nexport const BCalendar = Vue.extend({\n name: NAME,\n mixins: [idMixin, normalizeSlotMixin],\n model: {\n // Even though this is the default that Vue assumes, we need\n // to add it for the docs to reflect that this is the model\n // And also for some validation libraries to work\n prop: 'value',\n event: 'input'\n },\n props: {\n value: {\n type: [String, Date]\n // default: null\n },\n valueAsDate: {\n // Always return the `v-model` value as a date object\n type: Boolean,\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n readonly: {\n type: Boolean,\n default: false\n },\n min: {\n type: [String, Date]\n // default: null\n },\n max: {\n type: [String, Date]\n // default: null\n },\n dateDisabledFn: {\n type: Function\n // default: null\n },\n startWeekday: {\n // `0` (Sunday), `1` (Monday), ... `6` (Saturday)\n // Day of week to start calendar on\n type: [Number, String],\n default: 0\n },\n locale: {\n // Locale(s) to use\n // Default is to use page/browser default setting\n type: [String, Array]\n // default: null\n },\n direction: {\n // 'ltr', 'rtl', or `null` (for auto detect)\n type: String\n // default: null\n },\n selectedVariant: {\n // Variant color to use for the selected date\n type: String,\n default: 'primary'\n },\n todayVariant: {\n // Variant color to use for today's date (defaults to `variant`)\n type: String\n // default: null\n },\n noHighlightToday: {\n // Disable highlighting today's date\n type: Boolean,\n default: false\n },\n dateInfoFn: {\n // Function to set a class of (classes) on the date cell\n // if passed a string or an array\n // TODO:\n // If the function returns an object, look for class prop for classes,\n // and other props for handling events/details/descriptions\n type: Function\n // default: null\n },\n width: {\n // Has no effect if prop `block` is set\n type: String,\n default: '270px'\n },\n block: {\n // Makes calendar the full width of its parent container\n type: Boolean,\n default: false\n },\n hideHeader: {\n // When true makes the selected date header `sr-only`\n type: Boolean,\n default: false\n },\n hidden: {\n // When `true`, renders a comment node, but keeps the component instance active\n // Mainly for <b-form-date>, so that we can get the component's value and locale\n // But we might just use separate date formatters, using the resolved locale\n // (adjusted for the gregorian calendar)\n type: Boolean,\n default: false\n },\n ariaControls: {\n type: String\n // default: null\n },\n roleDescription: {\n type: String\n // default: null\n },\n // Labels for buttons and keyboard shortcuts\n labelPrevYear: {\n type: String,\n default: () => getComponentConfig(NAME, 'labelPrevYear')\n },\n labelPrevMonth: {\n type: String,\n default: () => getComponentConfig(NAME, 'labelPrevMonth')\n },\n labelCurrentMonth: {\n type: String,\n default: () => getComponentConfig(NAME, 'labelCurrentMonth')\n },\n labelNextMonth: {\n type: String,\n default: () => getComponentConfig(NAME, 'labelNextMonth')\n },\n labelNextYear: {\n type: String,\n default: () => getComponentConfig(NAME, 'labelNextYear')\n },\n labelToday: {\n type: String,\n default: () => getComponentConfig(NAME, 'labelToday')\n },\n labelSelected: {\n type: String,\n default: () => getComponentConfig(NAME, 'labelSelected')\n },\n labelNoDateSelected: {\n type: String,\n default: () => getComponentConfig(NAME, 'labelNoDateSelected')\n },\n labelCalendar: {\n type: String,\n default: () => getComponentConfig(NAME, 'labelCalendar')\n },\n labelNav: {\n type: String,\n default: () => getComponentConfig(NAME, 'labelNav')\n },\n labelHelp: {\n type: String,\n default: () => getComponentConfig(NAME, 'labelHelp')\n }\n },\n data() {\n const selected = formatYMD(this.value) || ''\n return {\n // Selected date\n selectedYMD: selected,\n // Date in calendar grid that has `tabindex` of `0`\n activeYMD: selected || formatYMD(this.getToday()),\n // Will be true if the calendar grid has/contains focus\n gridHasFocus: false,\n // Flag to enable the `aria-live` region(s) after mount\n // to prevent screen reader \"outbursts\" when mounting\n isLive: false\n }\n },\n computed: {\n // TODO: Use computed props to convert `YYYY-MM-DD` to `Date` object\n selectedDate() {\n // Selected as a `Date` object\n return parseYMD(this.selectedYMD)\n },\n activeDate() {\n // Active as a `Date` object\n return parseYMD(this.activeYMD)\n },\n computedMin() {\n return parseYMD(this.min)\n },\n computedMax() {\n return parseYMD(this.max)\n },\n computedWeekStarts() {\n // `startWeekday` is a prop (constrained to `0` through `6`)\n return Math.max(toInteger(this.startWeekday) || 0, 0) % 7\n },\n computedLocale() {\n // Returns the resolved locale used by the calendar\n return resolveLocale(concat(this.locale).filter(identity), 'gregory')\n },\n calendarLocale() {\n // This locale enforces the gregorian calendar (for use in formatter functions)\n // Needed because IE 11 resolves `ar-IR` as islamic-civil calendar\n // and IE 11 (and some other browsers) do not support the `calendar` option\n // And we currently only support the gregorian calendar\n const fmt = new Intl.DateTimeFormat(this.computedLocale, { calendar: 'gregory' })\n const calendar = fmt.resolvedOptions().calendar\n let locale = fmt.resolvedOptions().locale\n /* istanbul ignore if: mainly for IE 11 and a few other browsers, hard to test in JSDOM */\n if (calendar !== 'gregory') {\n // Ensure the locale requests the gregorian calendar\n // Mainly for IE 11, and currently we can't handle non-gregorian calendars\n // TODO: Should we always return this value?\n locale = locale.replace(/-u-.+$/i, '').concat('-u-ca-gregory')\n }\n return locale\n },\n calendarYear() {\n return this.activeDate.getFullYear()\n },\n calendarMonth() {\n return this.activeDate.getMonth()\n },\n calendarFirstDay() {\n return createDate(this.calendarYear, this.calendarMonth, 1)\n },\n calendarDaysInMonth() {\n // We create a new date as to not mutate the original\n const date = createDate(this.calendarFirstDay)\n date.setMonth(date.getMonth() + 1, 0)\n return date.getDate()\n },\n computedVariant() {\n return `btn-${this.selectedVariant || 'primary'}`\n },\n computedTodayVariant() {\n return `btn-outline-${this.todayVariant || this.selectedVariant || 'primary'}`\n },\n isRTL() {\n // `true` if the language requested is RTL\n const dir = toString(this.direction).toLowerCase()\n if (dir === 'rtl') {\n /* istanbul ignore next */\n return true\n } else if (dir === 'ltr') {\n /* istanbul ignore next */\n return false\n }\n return isLocaleRTL(this.computedLocale)\n },\n context() {\n const selectedYMD = this.selectedYMD\n const selectedDate = parseYMD(selectedYMD)\n const activeYMD = this.activeYMD\n const activeDate = parseYMD(activeYMD)\n return {\n // The current value of the `v-model`\n selectedYMD: selectedYMD,\n selectedDate: selectedDate,\n selectedFormatted: selectedDate\n ? this.formatDateString(selectedDate)\n : this.labelNoDateSelected,\n // Which date cell is considered active due to navigation\n activeYMD: activeYMD,\n activeDate: activeDate,\n activeFormatted: activeDate ? this.formatDateString(activeDate) : '',\n // `true` if the date is disabled (when using keyboard navigation)\n disabled: this.dateDisabled(activeDate),\n // Locales used in formatting dates\n locale: this.computedLocale,\n calendarLocale: this.calendarLocale,\n rtl: this.isRTL\n }\n },\n // Computed props that return a function reference\n dateOutOfRange() {\n // Check wether a date is within the min/max range\n // returns a new function ref if the pops change\n // We do this as we need to trigger the calendar computed prop\n // to update when these props update\n const min = this.computedMin\n const max = this.computedMax\n return date => {\n // Handle both `YYYY-MM-DD` and `Date` objects\n date = parseYMD(date)\n return (min && date < min) || (max && date > max)\n }\n },\n dateDisabled() {\n // Returns a function for validating if a date is within range\n // We grab this variables first to ensure a new function ref\n // is generated when the props value changes\n // We do this as we need to trigger the calendar computed prop\n // to update when these props update\n const rangeFn = this.dateOutOfRange\n const disabledFn = isFunction(this.dateDisabledFn) ? this.dateDisabledFn : () => false\n // Return the function ref\n return date => {\n // Handle both `YYYY-MM-DD` and `Date` objects\n date = parseYMD(date)\n const ymd = formatYMD(date)\n return !!(rangeFn(date) || disabledFn(ymd, date))\n }\n },\n // Computed props that return date formatter functions\n formatDateString() {\n // Returns a date formatter function\n return createDateFormatter(this.calendarLocale, {\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n weekday: 'long',\n calendar: 'gregory'\n })\n },\n formatYearMonth() {\n // Returns a date formatter function\n return createDateFormatter(this.calendarLocale, {\n year: 'numeric',\n month: 'long',\n calendar: 'gregory'\n })\n },\n formatWeekdayName() {\n return createDateFormatter(this.calendarLocale, { weekday: 'long', calendar: 'gregory' })\n },\n formatWeekdayNameShort() {\n // Used as the header cells\n return createDateFormatter(this.calendarLocale, { weekday: 'short', calendar: 'gregory' })\n },\n formatDay() {\n return createDateFormatter(this.calendarLocale, { day: 'numeric', calendar: 'gregory' })\n },\n // Disabled states for the nav buttons\n prevYearDisabled() {\n const min = this.computedMin\n return this.disabled || (min && lastDateOfMonth(oneYearAgo(this.activeDate)) < min)\n },\n prevMonthDisabled() {\n const min = this.computedMin\n return this.disabled || (min && lastDateOfMonth(oneMonthAgo(this.activeDate)) < min)\n },\n thisMonthDisabled() {\n // TODO: We could/should check if today is out of range\n return this.disabled\n },\n nextMonthDisabled() {\n const max = this.computedMax\n return this.disabled || (max && firstDateOfMonth(oneMonthAhead(this.activeDate)) > max)\n },\n nextYearDisabled() {\n const max = this.computedMax\n return this.disabled || (max && firstDateOfMonth(oneYearAhead(this.activeDate)) > max)\n },\n // Calendar generation\n calendar() {\n const matrix = []\n const firstDay = this.calendarFirstDay\n const calendarYear = firstDay.getFullYear()\n const calendarMonth = firstDay.getMonth()\n const daysInMonth = this.calendarDaysInMonth\n const startIndex = firstDay.getDay() // `0`..`6`\n const weekOffset = (this.computedWeekStarts > startIndex ? 7 : 0) - this.computedWeekStarts\n // TODO: Change `dateInfoFn` to handle events and notes as well as classes\n const dateInfoFn = isFunction(this.dateInfoFn) ? this.dateInfoFn : () => ({})\n // Build the calendar matrix\n let currentDay = 0 - weekOffset - startIndex\n for (let week = 0; week < 6 && currentDay < daysInMonth; week++) {\n // For each week\n matrix[week] = []\n // The following could be a map function\n for (let j = 0; j < 7; j++) {\n // For each day in week\n currentDay++\n const date = createDate(calendarYear, calendarMonth, currentDay)\n const month = date.getMonth()\n const dayYMD = formatYMD(date)\n const dayDisabled = this.dateDisabled(date)\n // TODO: This could be a normalizer method\n let dateInfo = dateInfoFn(dayYMD, parseYMD(dayYMD))\n dateInfo =\n isString(dateInfo) || isArray(dateInfo)\n ? { class: dateInfo }\n : isPlainObject(dateInfo)\n ? { class: '', ...dateInfo }\n : { class: '' }\n matrix[week].push({\n ymd: dayYMD,\n // Cell content\n day: this.formatDay(date),\n label: this.formatDateString(date),\n // Flags for styling\n isThisMonth: month === calendarMonth,\n isDisabled: dayDisabled,\n // TODO: Handle other dateInfo properties such as notes/events\n info: dateInfo\n })\n }\n }\n return matrix\n },\n calendarHeadings() {\n return this.calendar[0].map(d => {\n return {\n text: this.formatWeekdayNameShort(parseYMD(d.ymd)),\n label: this.formatWeekdayName(parseYMD(d.ymd))\n }\n })\n }\n },\n watch: {\n value(newVal, oldVal) {\n const selected = formatYMD(newVal) || ''\n const old = formatYMD(oldVal) || ''\n if (!datesEqual(selected, old)) {\n this.activeYMD = selected || this.activeYMD\n this.selectedYMD = selected\n }\n },\n selectedYMD(newYMD, oldYMD) {\n // TODO:\n // Should we compare to `formatYMD(this.value)` and emit\n // only if they are different?\n if (newYMD !== oldYMD) {\n this.$emit('input', this.valueAsDate ? parseYMD(newYMD) || null : newYMD || '')\n }\n },\n context(newVal, oldVal) {\n if (!looseEqual(newVal, oldVal)) {\n this.$emit('context', newVal)\n }\n },\n hidden(newVal) {\n // Reset the active focused day when hidden\n this.activeYMD = this.selectedYMD || formatYMD(this.value) || formatYMD(this.getToday())\n // Enable/disable the live regions\n this.setLive(!newVal)\n }\n },\n created() {\n this.$nextTick(() => {\n this.$emit('context', this.context)\n })\n },\n mounted() {\n this.setLive(true)\n },\n activated() /* istanbul ignore next */ {\n this.setLive(true)\n },\n deactivated() /* istanbul ignore next */ {\n this.setLive(false)\n },\n beforeDestroy() {\n this.setLive(false)\n },\n methods: {\n // Public method(s)\n focus() {\n if (!this.disabled) {\n try {\n this.$refs.grid.focus()\n } catch {}\n }\n },\n blur() {\n try {\n this.$refs.grid.blur()\n } catch {}\n },\n // Private methods\n setLive(on) {\n if (on) {\n this.$nextTick(() => {\n requestAF(() => {\n this.isLive = true\n })\n })\n } else {\n this.isLive = false\n }\n },\n getToday() {\n return parseYMD(createDate())\n },\n constrainDate(date) {\n // Constrains a date between min and max\n // returns a new `Date` object instance\n date = parseYMD(date)\n const min = this.computedMin || date\n const max = this.computedMax || date\n return createDate(date < min ? min : date > max ? max : date)\n },\n emitSelected(date) {\n // Performed in a `$nextTick()` to (probably) ensure\n // the input event has emitted first\n this.$nextTick(() => {\n this.$emit('selected', formatYMD(date) || '', parseYMD(date) || null)\n })\n },\n // Event handlers\n setGridFocusFlag(evt) {\n // Sets the gridHasFocus flag to make date \"button\" look focused\n this.gridHasFocus = !this.disabled && evt.type === 'focus'\n },\n onKeydownWrapper(evt) {\n // Calendar keyboard navigation\n // Handles PAGEUP/PAGEDOWN/END/HOME/LEFT/UP/RIGHT/DOWN\n // Focuses grid after updating\n const keyCode = evt.keyCode\n const altKey = evt.altKey\n if (!arrayIncludes([PAGEUP, PAGEDOWN, END, HOME, LEFT, UP, RIGHT, DOWN], keyCode)) {\n /* istanbul ignore next */\n return\n }\n evt.preventDefault()\n evt.stopPropagation()\n let activeDate = createDate(this.activeDate)\n let checkDate = createDate(this.activeDate)\n const day = activeDate.getDate()\n const isRTL = this.isRTL\n if (keyCode === PAGEUP) {\n // PAGEUP - Previous month/year\n activeDate = (altKey ? oneYearAgo : oneMonthAgo)(activeDate)\n // We check the first day of month to be in rage\n checkDate = createDate(activeDate)\n checkDate.setDate(1)\n } else if (keyCode === PAGEDOWN) {\n // PAGEDOWN - Next month/year\n activeDate = (altKey ? oneYearAhead : oneMonthAhead)(activeDate)\n // We check the last day of month to be in rage\n checkDate = createDate(activeDate)\n checkDate.setMonth(checkDate.getMonth() + 1)\n checkDate.setDate(0)\n } else if (keyCode === LEFT) {\n // LEFT - Previous day (or next day for RTL)\n activeDate.setDate(day + (isRTL ? 1 : -1))\n checkDate = activeDate\n } else if (keyCode === RIGHT) {\n // RIGHT - Next day (or previous day for RTL)\n activeDate.setDate(day + (isRTL ? -1 : 1))\n checkDate = activeDate\n } else if (keyCode === UP) {\n // UP - Previous week\n activeDate.setDate(day - 7)\n checkDate = activeDate\n } else if (keyCode === DOWN) {\n // DOWN - Next week\n activeDate.setDate(day + 7)\n checkDate = activeDate\n } else if (keyCode === HOME) {\n // HOME - Today\n activeDate = this.getToday()\n checkDate = activeDate\n } else if (keyCode === END) {\n // END - Selected date, or today if no selected date\n activeDate = parseYMD(this.selectedDate) || this.getToday()\n checkDate = activeDate\n }\n if (!this.dateOutOfRange(checkDate) && !datesEqual(activeDate, this.activeDate)) {\n // We only jump to date if within min/max\n // We don't check for individual disabled dates though (via user function)\n this.activeYMD = formatYMD(activeDate)\n }\n // Ensure grid is focused\n this.focus()\n },\n onKeydownGrid(evt) {\n // Pressing enter/space on grid to select active date\n const keyCode = evt.keyCode\n const activeDate = this.activeDate\n if (keyCode === ENTER || keyCode === SPACE) {\n evt.preventDefault()\n evt.stopPropagation()\n if (!this.disabled && !this.readonly && !this.dateDisabled(activeDate)) {\n this.selectedYMD = formatYMD(activeDate)\n this.emitSelected(activeDate)\n }\n // Ensure grid is focused\n this.focus()\n }\n },\n onClickDay(day) {\n // Clicking on a date \"button\" to select it\n // TODO: Change to lookup the `data-data` attribute\n const selectedDate = this.selectedDate\n const activeDate = this.activeDate\n const clickedDate = parseYMD(day.ymd)\n if (!this.disabled && !day.isDisabled && !this.dateDisabled(clickedDate)) {\n if (!this.readonly) {\n // If readonly mode, we don't set the selected date, just the active date\n // If the clicked date is equal to the already selected date, we don't update the model\n this.selectedYMD = formatYMD(\n datesEqual(clickedDate, selectedDate) ? selectedDate : clickedDate\n )\n this.emitSelected(clickedDate)\n }\n this.activeYMD = formatYMD(\n datesEqual(clickedDate, activeDate) ? activeDate : createDate(clickedDate)\n )\n // Ensure grid is focused\n this.focus()\n }\n },\n gotoPrevYear() {\n this.activeYMD = formatYMD(this.constrainDate(oneYearAgo(this.activeDate)))\n },\n gotoPrevMonth() {\n this.activeYMD = formatYMD(this.constrainDate(oneMonthAgo(this.activeDate)))\n },\n gotoCurrentMonth() {\n // TODO: Maybe this goto date should be configurable?\n this.activeYMD = formatYMD(this.getToday())\n },\n gotoNextMonth() {\n this.activeYMD = formatYMD(this.constrainDate(oneMonthAhead(this.activeDate)))\n },\n gotoNextYear() {\n this.activeYMD = formatYMD(this.constrainDate(oneYearAhead(this.activeDate)))\n }\n },\n render(h) {\n // If hidden prop is set, render just a placeholder node\n if (this.hidden) {\n return h()\n }\n\n const isRTL = this.isRTL\n const todayYMD = formatYMD(this.getToday())\n const selectedYMD = this.selectedYMD\n const activeYMD = this.activeYMD\n const highlightToday = !this.noHighlightToday\n const safeId = this.safeId\n // Flag for making the `aria-live` regions live\n const isLive = this.isLive\n // Pre-compute some IDs\n const idWidget = safeId()\n const idValue = safeId('_calendar-value_')\n const idNav = safeId('_calendar-nav_')\n const idGrid = safeId('_calendar-grid_')\n const idGridCaption = safeId('_calendar-grid-caption_')\n const idGridHelp = safeId('_calendar-grid-help_')\n const idActive = activeYMD ? safeId(`_cell-${activeYMD}_`) : null\n\n // Header showing current selected date\n let $header = h(\n 'output',\n {\n staticClass: 'd-block text-center rounded border small p-1 mb-1',\n class: { 'text-muted': this.disabled, readonly: this.readonly || this.disabled },\n attrs: {\n id: idValue,\n for: idGrid,\n role: 'status',\n // Mainly for testing purposes, as we do not know\n // the exact format `Intl` will format the date string\n 'data-selected': toString(selectedYMD),\n // We wait until after mount to enable `aria-live`\n // to prevent initial announcement on page render\n 'aria-live': isLive ? 'polite' : 'off',\n 'aria-atomic': isLive ? 'true' : null\n }\n },\n this.selectedDate\n ? [\n // We use `bdi` elements here in case the label doesn't match the locale\n // Although IE 11 does not deal with <BDI> at all (equivalent to a span)\n h('bdi', { staticClass: 'sr-only' }, ` (${toString(this.labelSelected)}) `),\n h('bdi', {}, this.formatDateString(this.selectedDate))\n ]\n : this.labelNoDateSelected || '\\u00a0' // '&nbsp;'\n )\n $header = h(\n 'header',\n {\n class: this.hideHeader ? 'sr-only' : 'mb-1',\n attrs: { title: this.selectedDate ? this.labelSelectedDate || null : null }\n },\n [$header]\n )\n\n // Content for the date navigation buttons\n const $prevYearIcon = h(BIconstack, { props: { shiftV: 0.5, flipH: isRTL } }, [\n h(BIconChevronLeft, { props: { shiftH: -2 } }),\n h(BIconChevronLeft, { props: { shiftH: 2 } })\n ])\n const $prevMonthIcon = h(BIconChevronLeft, { props: { shiftV: 0.5, flipH: isRTL } })\n const $thisMonthIcon = h(BIconCircleFill, { props: { shiftV: 0.5 } })\n const $nextMonthIcon = h(BIconChevronLeft, { props: { shiftV: 0.5, flipH: !isRTL } })\n const $nextYearIcon = h(BIconstack, { props: { shiftV: 0.5, flipH: !isRTL } }, [\n h(BIconChevronLeft, { props: { shiftH: -2 } }),\n h(BIconChevronLeft, { props: { shiftH: 2 } })\n ])\n\n // Utility to create the date navigation buttons\n const makeNavBtn = (content, label, handler, btnDisabled, shortcut) => {\n return h(\n 'button',\n {\n staticClass: 'btn btn-sm btn-outline-secondary border-0 flex-fill p-1 mx-1',\n class: { disabled: btnDisabled },\n attrs: {\n title: label || null,\n type: 'button',\n 'aria-label': label || null,\n 'aria-disabled': btnDisabled ? 'true' : null,\n 'aria-keyshortcuts': shortcut || null\n },\n on: btnDisabled ? {} : { click: handler }\n },\n [h('div', { attrs: { 'aria-hidden': 'true' } }, [content])]\n )\n }\n\n // Generate the date navigation buttons\n const $nav = h(\n 'div',\n {\n staticClass: 'b-calendar-nav d-flex mx-n1 mb-1',\n attrs: {\n id: idNav,\n role: 'group',\n 'aria-hidden': this.disabled ? 'true' : null,\n 'aria-label': this.labelNav || null,\n 'aria-controls': idGrid\n }\n },\n [\n makeNavBtn(\n $prevYearIcon,\n this.labelPrevYear,\n this.gotoPrevYear,\n this.prevYearDisabled,\n 'Alt+PageDown'\n ),\n makeNavBtn(\n $prevMonthIcon,\n this.labelPrevMonth,\n this.gotoPrevMonth,\n this.prevMonthDisabled,\n 'PageDown'\n ),\n makeNavBtn(\n $thisMonthIcon,\n this.labelCurrentMonth,\n this.gotoCurrentMonth,\n this.thisMonthDisabled,\n 'Home'\n ),\n makeNavBtn(\n $nextMonthIcon,\n this.labelNextMonth,\n this.gotoNextMonth,\n this.nextMonthDisabled,\n 'PageUp'\n ),\n makeNavBtn(\n $nextYearIcon,\n this.labelNextYear,\n this.gotoNextYear,\n this.nextYearDisabled,\n 'Alt+PageUp'\n )\n ]\n )\n\n // Caption for calendar grid\n const $gridCaption = h(\n 'header',\n {\n key: 'grid-caption',\n staticClass: 'text-center font-weight-bold p-1 m-0',\n class: { 'text-muted': this.disabled },\n attrs: {\n id: idGridCaption,\n 'aria-live': isLive ? 'polite' : null,\n 'aria-atomic': isLive ? 'true' : null\n }\n },\n this.formatYearMonth(this.calendarFirstDay)\n )\n\n // Calendar weekday headings\n const $gridWeekDays = h(\n 'div',\n { staticClass: 'row no-gutters border-bottom', attrs: { 'aria-hidden': 'true' } },\n this.calendarHeadings.map((d, idx) => {\n return h(\n 'small',\n {\n key: idx,\n staticClass: 'col',\n class: { 'text-muted': this.disabled },\n attrs: {\n title: d.label === d.text ? null : d.label,\n 'aria-label': d.label\n }\n },\n d.text\n )\n })\n )\n\n // Calendar day grid\n let $gridBody = this.calendar.map(week => {\n const $cells = week.map((day, dIndex) => {\n const isSelected = day.ymd === selectedYMD\n const isActive = day.ymd === activeYMD\n const isToday = day.ymd === todayYMD\n const idCell = safeId(`_cell-${day.ymd}_`)\n // \"fake\" button\n const $btn = h(\n 'span',\n {\n staticClass: 'btn border-0 rounded-circle text-nowrap',\n // Should we add some classes to signify if today/selected/etc?\n class: {\n // Give the fake button a focus ring\n focus: isActive && this.gridHasFocus,\n // Styling\n disabled: day.isDisabled || this.disabled,\n active: isSelected, // makes the button look \"pressed\"\n // Selected date style (need to computed from variant)\n [this.computedVariant]: isSelected,\n // Today day style (if not selected), same variant color as selected date\n [this.computedTodayVariant]:\n isToday && highlightToday && !isSelected && day.isThisMonth,\n // Non selected/today styling\n 'btn-outline-light': !(isToday && highlightToday) && !isSelected && !isActive,\n 'btn-light': !(isToday && highlightToday) && !isSelected && isActive,\n // Text styling\n 'text-muted': !day.isThisMonth && !isSelected,\n 'text-dark':\n !(isToday && highlightToday) && !isSelected && !isActive && day.isThisMonth,\n 'font-weight-bold': (isSelected || day.isThisMonth) && !day.isDisabled\n },\n on: { click: () => this.onClickDay(day) }\n },\n day.day\n )\n return h(\n 'div', // Cell with button\n {\n key: dIndex,\n staticClass: 'col p-0',\n class: day.isDisabled ? 'bg-light' : day.info.class || '',\n attrs: {\n id: idCell,\n role: 'button',\n 'data-date': day.ymd, // Primarily for testing purposes\n // Only days in the month are presented as buttons to screen readers\n 'aria-hidden': day.isThisMonth ? null : 'true',\n 'aria-disabled': day.isDisabled || this.disabled ? 'true' : null,\n 'aria-label': [\n day.label,\n isSelected ? `(${this.labelSelected})` : null,\n isToday ? `(${this.labelToday})` : null\n ]\n .filter(identity)\n .join(' '),\n // NVDA doesn't convey `aria-selected`, but does `aria-current`,\n // ChromeVox doesn't convey `aria-current`, but does `aria-selected`,\n // so we set both attributes for robustness\n 'aria-selected': isSelected ? 'true' : null,\n 'aria-current': isSelected ? 'date' : null\n }\n },\n [$btn]\n )\n })\n // Return the week \"row\"\n // We use the first day of the weeks YMD value as a\n // key for efficient DOM patching / element re-use\n return h('div', { key: week[0].ymd, staticClass: 'row no-gutters' }, $cells)\n })\n $gridBody = h(\n 'div',\n {\n // A key is only required on the body if we add in transition support\n // key: this.activeYMD.slice(0, -3),\n staticClass: 'b-calendar-grid-body',\n style: this.disabled ? { pointerEvents: 'none' } : {}\n },\n $gridBody\n )\n\n const $gridHelp = h(\n 'footer',\n {\n staticClass: 'border-top small text-muted text-center bg-light',\n attrs: {\n id: idGridHelp\n }\n },\n [h('div', { staticClass: 'small' }, this.labelHelp)]\n )\n\n const $grid = h(\n 'div',\n {\n ref: 'grid',\n staticClass: 'form-control h-auto text-center p-0 mb-0',\n attrs: {\n id: idGrid,\n role: 'application',\n tabindex: this.disabled ? null : '0',\n 'data-month': activeYMD.slice(0, -3), // `YYYY-MM`, mainly for testing\n // tabindex: this.disabled ? null : '0',\n 'aria-roledescription': this.labelCalendar || null,\n 'aria-labelledby': idGridCaption,\n 'aria-describedby': idGridHelp,\n // `aria-readonly` is not considered valid on `role=\"application\"`\n // https://www.w3.org/TR/wai-aria-1.1/#aria-readonly\n // 'aria-readonly': this.readonly && !this.disabled ? 'true' : null,\n 'aria-disabled': this.disabled ? 'true' : null,\n 'aria-activedescendant': idActive\n },\n on: {\n keydown: this.onKeydownGrid,\n focus: this.setGridFocusFlag,\n blur: this.setGridFocusFlag\n }\n },\n [$gridCaption, $gridWeekDays, $gridBody, $gridHelp]\n )\n\n // Optional bottom slot\n let $slot = this.normalizeSlot('default')\n $slot = $slot ? h('footer', { staticClass: 'mt-2' }, $slot) : h()\n\n const $widget = h(\n 'div',\n {\n class: this.block ? 'd-block' : 'd-inline-block',\n style: this.block ? {} : { width: this.width },\n attrs: {\n id: idWidget,\n dir: isRTL ? 'rtl' : 'ltr',\n lang: this.computedLocale || null,\n role: 'group',\n 'aria-disabled': this.disabled ? 'true' : null,\n // If datepicker controls an input, this will specify the ID of the input\n 'aria-controls': this.ariaControls || null,\n // This should be a prop (so it can be changed to Date picker, etc, localized\n 'aria-roledescription': this.roleDescription || null,\n 'aria-describedby': [\n // Should the attr (if present) go last?\n // Or should this attr be a prop?\n this.$attrs['aria-describedby'],\n idValue,\n idGridHelp\n ]\n .filter(identity)\n .join(' ')\n },\n on: {\n keydown: this.onKeydownWrapper\n }\n },\n [$header, $nav, $grid, $slot]\n )\n\n // Wrap in an outer div that can be styled\n return h(\n 'div',\n {\n staticClass: 'b-calendar',\n // We use a style here rather than class `d-inline-block` so that users can\n // override the display value (`d-*` classes use the `!important` flag)\n style: this.block ? {} : { display: 'inline-block' }\n },\n [$widget]\n )\n }\n})\n","import { BCalendar } from './calendar'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst CalendarPlugin = /*#__PURE__*/ pluginFactory({\n components: { BCalendar }\n})\n\nexport { CalendarPlugin, BCalendar }\n","import { upperFirst } from './string'\n\n/**\n * @param {string} prefix\n * @param {string} value\n */\nconst prefixPropName = (prefix, value) => prefix + upperFirst(value)\n\nexport default prefixPropName\n","import { lowerFirst } from './string'\n\n/**\n * @param {string} prefix\n * @param {string} value\n */\nconst unprefixPropName = (prefix, value) => lowerFirst(value.replace(prefix, ''))\n\nexport default unprefixPropName\n","import identity from './identity'\nimport { isArray, isObject } from './inspect'\nimport { clone } from './object'\n\n/**\n * Copies props from one array/object to a new array/object. Prop values\n * are also cloned as new references to prevent possible mutation of original\n * prop object values. Optionally accepts a function to transform the prop name.\n *\n * @param {[]|{}} props\n * @param {Function} transformFn\n */\nconst copyProps = (props, transformFn = identity) => {\n if (isArray(props)) {\n return props.map(transformFn)\n }\n // Props as an object.\n const copied = {}\n\n for (const prop in props) {\n /* istanbul ignore else */\n // eslint-disable-next-line no-prototype-builtins\n if (props.hasOwnProperty(prop)) {\n // If the prop value is an object, do a shallow clone to prevent\n // potential mutations to the original object.\n copied[transformFn(prop)] = isObject(props[prop]) ? clone(props[prop]) : props[prop]\n }\n }\n\n return copied\n}\n\nexport default copyProps\n","// @vue/component\nexport default {\n props: {\n tag: {\n type: String,\n default: 'div'\n },\n bgVariant: {\n type: String,\n default: null\n },\n borderVariant: {\n type: String,\n default: null\n },\n textVariant: {\n type: String,\n default: null\n }\n }\n}\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\n\nexport const props = {\n title: {\n type: String,\n default: ''\n },\n titleTag: {\n type: String,\n default: 'h4'\n }\n}\n\n// @vue/component\nexport const BCardTitle = /*#__PURE__*/ Vue.extend({\n name: 'BCardTitle',\n functional: true,\n props,\n render(h, { props, data, children }) {\n return h(\n props.titleTag,\n mergeData(data, {\n staticClass: 'card-title'\n }),\n children || props.title\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\nimport { getComponentConfig } from '../../utils/config'\n\nconst NAME = 'BCardSubTitle'\n\nexport const props = {\n subTitle: {\n type: String,\n default: ''\n },\n subTitleTag: {\n type: String,\n default: 'h6'\n },\n subTitleTextVariant: {\n type: String,\n default: () => getComponentConfig(NAME, 'subTitleTextVariant')\n }\n}\n\n// @vue/component\nexport const BCardSubTitle = /*#__PURE__*/ Vue.extend({\n name: NAME,\n functional: true,\n props,\n render(h, { props, data, children }) {\n return h(\n props.subTitleTag,\n mergeData(data, {\n staticClass: 'card-subtitle',\n class: [props.subTitleTextVariant ? `text-${props.subTitleTextVariant}` : null]\n }),\n children || props.subTitle\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\nimport prefixPropName from '../../utils/prefix-prop-name'\nimport copyProps from '../../utils/copy-props'\nimport pluckProps from '../../utils/pluck-props'\nimport cardMixin from '../../mixins/card'\nimport { BCardTitle, props as titleProps } from './card-title'\nimport { BCardSubTitle, props as subTitleProps } from './card-sub-title'\n\nexport const props = {\n // Import common card props and prefix them with `body-`\n ...copyProps(cardMixin.props, prefixPropName.bind(null, 'body')),\n bodyClass: {\n type: [String, Object, Array],\n default: null\n },\n ...titleProps,\n ...subTitleProps,\n overlay: {\n type: Boolean,\n default: false\n }\n}\n\n// @vue/component\nexport const BCardBody = /*#__PURE__*/ Vue.extend({\n name: 'BCardBody',\n functional: true,\n props,\n render(h, { props, data, children }) {\n let cardTitle = h()\n let cardSubTitle = h()\n const cardContent = children || [h()]\n\n if (props.title) {\n cardTitle = h(BCardTitle, { props: pluckProps(titleProps, props) })\n }\n\n if (props.subTitle) {\n cardSubTitle = h(BCardSubTitle, {\n props: pluckProps(subTitleProps, props),\n class: ['mb-2']\n })\n }\n\n return h(\n props.bodyTag,\n mergeData(data, {\n staticClass: 'card-body',\n class: [\n {\n 'card-img-overlay': props.overlay,\n [`bg-${props.bodyBgVariant}`]: props.bodyBgVariant,\n [`border-${props.bodyBorderVariant}`]: props.bodyBorderVariant,\n [`text-${props.bodyTextVariant}`]: props.bodyTextVariant\n },\n props.bodyClass || {}\n ]\n }),\n [cardTitle, cardSubTitle, ...cardContent]\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\nimport prefixPropName from '../../utils/prefix-prop-name'\nimport copyProps from '../../utils/copy-props'\nimport { htmlOrText } from '../../utils/html'\nimport cardMixin from '../../mixins/card'\n\nexport const props = {\n ...copyProps(cardMixin.props, prefixPropName.bind(null, 'header')),\n header: {\n type: String,\n default: null\n },\n headerHtml: {\n type: String,\n default: null\n },\n headerClass: {\n type: [String, Object, Array],\n default: null\n }\n}\n\n// @vue/component\nexport const BCardHeader = /*#__PURE__*/ Vue.extend({\n name: 'BCardHeader',\n functional: true,\n props,\n render(h, { props, data, children }) {\n return h(\n props.headerTag,\n mergeData(data, {\n staticClass: 'card-header',\n class: [\n props.headerClass,\n {\n [`bg-${props.headerBgVariant}`]: props.headerBgVariant,\n [`border-${props.headerBorderVariant}`]: props.headerBorderVariant,\n [`text-${props.headerTextVariant}`]: props.headerTextVariant\n }\n ]\n }),\n children || [h('div', { domProps: htmlOrText(props.headerHtml, props.header) })]\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\n\nimport prefixPropName from '../../utils/prefix-prop-name'\nimport copyProps from '../../utils/copy-props'\nimport { htmlOrText } from '../../utils/html'\nimport cardMixin from '../../mixins/card'\n\nexport const props = {\n ...copyProps(cardMixin.props, prefixPropName.bind(null, 'footer')),\n footer: {\n type: String,\n default: null\n },\n footerHtml: {\n type: String,\n default: null\n },\n footerClass: {\n type: [String, Object, Array],\n default: null\n }\n}\n\n// @vue/component\nexport const BCardFooter = /*#__PURE__*/ Vue.extend({\n name: 'BCardFooter',\n functional: true,\n props,\n render(h, { props, data, children }) {\n return h(\n props.footerTag,\n mergeData(data, {\n staticClass: 'card-footer',\n class: [\n props.footerClass,\n {\n [`bg-${props.footerBgVariant}`]: props.footerBgVariant,\n [`border-${props.footerBorderVariant}`]: props.footerBorderVariant,\n [`text-${props.footerTextVariant}`]: props.footerTextVariant\n }\n ]\n }),\n children || [h('div', { domProps: htmlOrText(props.footerHtml, props.footer) })]\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\n\nexport const props = {\n src: {\n type: String,\n default: null,\n required: true\n },\n alt: {\n type: String,\n default: null\n },\n top: {\n type: Boolean,\n default: false\n },\n bottom: {\n type: Boolean,\n default: false\n },\n start: {\n type: Boolean,\n default: false\n },\n left: {\n // alias of 'start'\n type: Boolean,\n default: false\n },\n end: {\n type: Boolean,\n default: false\n },\n right: {\n // alias of 'end'\n type: Boolean,\n default: false\n },\n height: {\n type: [Number, String],\n default: null\n },\n width: {\n type: [Number, String],\n default: null\n }\n}\n\n// @vue/component\nexport const BCardImg = /*#__PURE__*/ Vue.extend({\n name: 'BCardImg',\n functional: true,\n props,\n render(h, { props, data }) {\n let baseClass = 'card-img'\n if (props.top) {\n baseClass += '-top'\n } else if (props.right || props.end) {\n baseClass += '-right'\n } else if (props.bottom) {\n baseClass += '-bottom'\n } else if (props.left || props.start) {\n baseClass += '-left'\n }\n\n return h(\n 'img',\n mergeData(data, {\n class: [baseClass],\n attrs: {\n src: props.src,\n alt: props.alt,\n height: props.height,\n width: props.width\n }\n })\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\nimport prefixPropName from '../../utils/prefix-prop-name'\nimport unPrefixPropName from '../../utils/unprefix-prop-name'\nimport copyProps from '../../utils/copy-props'\nimport pluckProps from '../../utils/pluck-props'\nimport { hasNormalizedSlot, normalizeSlot } from '../../utils/normalize-slot'\nimport cardMixin from '../../mixins/card'\nimport { BCardBody, props as bodyProps } from './card-body'\nimport { BCardHeader, props as headerProps } from './card-header'\nimport { BCardFooter, props as footerProps } from './card-footer'\nimport { BCardImg, props as imgProps } from './card-img'\n\nconst cardImgProps = copyProps(imgProps, prefixPropName.bind(null, 'img'))\ncardImgProps.imgSrc.required = false\n\nexport const props = {\n ...bodyProps,\n ...headerProps,\n ...footerProps,\n ...cardImgProps,\n ...copyProps(cardMixin.props),\n align: {\n type: String,\n default: null\n },\n noBody: {\n type: Boolean,\n default: false\n }\n}\n\n// @vue/component\nexport const BCard = /*#__PURE__*/ Vue.extend({\n name: 'BCard',\n functional: true,\n props,\n render(h, { props, data, slots, scopedSlots }) {\n const $slots = slots()\n // Vue < 2.6.x may return undefined for scopedSlots\n const $scopedSlots = scopedSlots || {}\n\n // Create placeholder elements for each section\n let imgFirst = h()\n let header = h()\n let content = h()\n let footer = h()\n let imgLast = h()\n\n if (props.imgSrc) {\n const img = h(BCardImg, {\n props: pluckProps(cardImgProps, props, unPrefixPropName.bind(null, 'img'))\n })\n if (props.imgBottom) {\n imgLast = img\n } else {\n imgFirst = img\n }\n }\n\n if (props.header || hasNormalizedSlot('header', $scopedSlots, $slots)) {\n header = h(\n BCardHeader,\n { props: pluckProps(headerProps, props) },\n normalizeSlot('header', {}, $scopedSlots, $slots)\n )\n }\n\n content = normalizeSlot('default', {}, $scopedSlots, $slots) || []\n if (!props.noBody) {\n // Wrap content in card-body\n content = [h(BCardBody, { props: pluckProps(bodyProps, props) }, [...content])]\n }\n\n if (props.footer || hasNormalizedSlot('footer', $scopedSlots, $slots)) {\n footer = h(\n BCardFooter,\n {\n props: pluckProps(footerProps, props)\n },\n normalizeSlot('footer', {}, $scopedSlots, $slots)\n )\n }\n\n return h(\n props.tag,\n mergeData(data, {\n staticClass: 'card',\n class: {\n 'flex-row': props.imgLeft || props.imgStart,\n 'flex-row-reverse':\n (props.imgRight || props.imgEnd) && !(props.imgLeft || props.imgStart),\n [`text-${props.align}`]: props.align,\n [`bg-${props.bgVariant}`]: props.bgVariant,\n [`border-${props.borderVariant}`]: props.borderVariant,\n [`text-${props.textVariant}`]: props.textVariant\n }\n }),\n [imgFirst, header, ...content, footer, imgLast]\n )\n }\n})\n","// v-b-visible\n// Private visibility check directive\n// Based on IntersectionObserver\n//\n// Usage:\n// v-b-visibility.<margin>.<once>=\"<callback>\"\n//\n// Value:\n// <callback>: method to be called when visibility state changes, receives one arg:\n// true: element is visible\n// false: element is not visible\n// null: IntersectionObserver not supported\n//\n// Modifiers:\n// <margin>: a positive decimal value of pixels away from viewport edge\n// before being considered \"visible\". default is 0\n// <once>: keyword 'once', meaning when the element becomes visible and\n// callback is called observation/notification will stop.\n//\n// When used in a render function:\n// export default {\n// directives: { 'b-visible': VBVisible },\n// render(h) {\n// h(\n// 'div',\n// {\n// directives: [\n// { name: 'b-visible', value=this.callback, modifiers: { '123':true, 'once':true } }\n// ]\n// }\n// )\n// }\n\nimport looseEqual from '../../utils/loose-equal'\nimport { requestAF } from '../../utils/dom'\nimport { isFunction } from '../../utils/inspect'\nimport { clone, keys } from '../../utils/object'\n\nconst OBSERVER_PROP_NAME = '__bv__visibility_observer'\n\nconst onlyDgitsRE = /^\\d+$/\n\nclass VisibilityObserver {\n constructor(el, options, vnode) {\n this.el = el\n this.callback = options.callback\n this.margin = options.margin || 0\n this.once = options.once || false\n this.observer = null\n this.visible = undefined\n this.doneOnce = false\n // Create the observer instance (if possible)\n this.createObserver(vnode)\n }\n\n createObserver(vnode) {\n // Remove any previous observer\n if (this.observer) {\n /* istanbul ignore next */\n this.stop()\n }\n\n // Should only be called once and `callback` prop should be a function\n if (this.doneOnce || !isFunction(this.callback)) {\n /* istanbul ignore next */\n return\n }\n\n // Create the observer instance\n try {\n // Future: Possibly add in other modifiers for left/right/top/bottom\n // offsets, root element reference, and thresholds\n this.observer = new IntersectionObserver(this.handler.bind(this), {\n // `null` = 'viewport'\n root: null,\n // Pixels away from view port to consider \"visible\"\n rootMargin: this.margin,\n // Intersection ratio of el and root (as a value from 0 to 1)\n threshold: 0\n })\n } catch {\n // No IntersectionObserver support, so just stop trying to observe\n this.doneOnce = true\n this.observer = undefined\n this.callback(null)\n return\n }\n\n // Start observing in a `$nextTick()` (to allow DOM to complete rendering)\n /* istanbul ignore next: IntersectionObserver not supported in JSDOM */\n vnode.context.$nextTick(() => {\n requestAF(() => {\n // Placed in an `if` just in case we were destroyed before\n // this `requestAnimationFrame` runs\n if (this.observer) {\n this.observer.observe(this.el)\n }\n })\n })\n }\n\n handler(entries) /* istanbul ignore next: IntersectionObserver not supported in JSDOM */ {\n const entry = entries ? entries[0] : {}\n const isIntersecting = Boolean(entry.isIntersecting || entry.intersectionRatio > 0.0)\n if (isIntersecting !== this.visible) {\n this.visible = isIntersecting\n this.callback(isIntersecting)\n if (this.once && this.visible) {\n this.doneOnce = true\n this.stop()\n }\n }\n }\n\n stop() {\n const observer = this.observer\n /* istanbul ignore next */\n if (observer && observer.disconnect) {\n observer.disconnect()\n }\n this.observer = null\n }\n}\n\nconst destroy = el => {\n const observer = el[OBSERVER_PROP_NAME]\n if (observer && observer.stop) {\n observer.stop()\n }\n delete el[OBSERVER_PROP_NAME]\n}\n\nconst bind = (el, { value, modifiers }, vnode) => {\n // `value` is the callback function\n const options = {\n margin: '0px',\n once: false,\n callback: value\n }\n // Parse modifiers\n keys(modifiers).forEach(mod => {\n /* istanbul ignore else: Until <b-img-lazy> is switched to use this directive */\n if (onlyDgitsRE.test(mod)) {\n options.margin = `${mod}px`\n } else if (mod.toLowerCase() === 'once') {\n options.once = true\n }\n })\n // Destroy any previous observer\n destroy(el)\n // Create new observer\n el[OBSERVER_PROP_NAME] = new VisibilityObserver(el, options, vnode)\n // Store the current modifiers on the object (cloned)\n el[OBSERVER_PROP_NAME]._prevModifiers = clone(modifiers)\n}\n\n// When the directive options may have been updated (or element)\nconst componentUpdated = (el, { value, oldValue, modifiers }, vnode) => {\n // Compare value/oldValue and modifiers to see if anything has changed\n // and if so, destroy old observer and create new observer\n /* istanbul ignore next */\n modifiers = clone(modifiers)\n /* istanbul ignore next */\n if (\n el &&\n (value !== oldValue ||\n !el[OBSERVER_PROP_NAME] ||\n !looseEqual(modifiers, el[OBSERVER_PROP_NAME]._prevModifiers))\n ) {\n // Re-bind on element\n bind(el, { value, modifiers }, vnode)\n }\n}\n\n// When directive un-binds from element\nconst unbind = el => {\n // Remove the observer\n destroy(el)\n}\n\n// Export the directive\nexport const VBVisible = {\n bind,\n componentUpdated,\n unbind\n}\n","import Vue from '../../utils/vue'\nimport identity from '../../utils/identity'\nimport { concat } from '../../utils/array'\nimport { getComponentConfig } from '../../utils/config'\nimport { isString } from '../../utils/inspect'\nimport { toInteger } from '../../utils/number'\nimport { toString } from '../../utils/string'\nimport { mergeData } from 'vue-functional-data-merge'\n\n// --- Constants --\n\nconst NAME = 'BImg'\n\n// Blank image with fill template\nconst BLANK_TEMPLATE =\n '<svg width=\"%{w}\" height=\"%{h}\" ' +\n 'xmlns=\"http://www.w3.org/2000/svg\" ' +\n 'viewBox=\"0 0 %{w} %{h}\" preserveAspectRatio=\"none\">' +\n '<rect width=\"100%\" height=\"100%\" style=\"fill:%{f};\"></rect>' +\n '</svg>'\n\nexport const props = {\n src: {\n type: String,\n default: null\n },\n srcset: {\n type: [String, Array],\n default: null\n },\n sizes: {\n type: [String, Array],\n default: null\n },\n alt: {\n type: String,\n default: null\n },\n width: {\n type: [Number, String],\n default: null\n },\n height: {\n type: [Number, String],\n default: null\n },\n block: {\n type: Boolean,\n default: false\n },\n fluid: {\n type: Boolean,\n default: false\n },\n fluidGrow: {\n // Gives fluid images class `w-100` to make them grow to fit container\n type: Boolean,\n default: false\n },\n rounded: {\n // rounded can be:\n // false: no rounding of corners\n // true: slightly rounded corners\n // 'top': top corners rounded\n // 'right': right corners rounded\n // 'bottom': bottom corners rounded\n // 'left': left corners rounded\n // 'circle': circle/oval\n // '0': force rounding off\n type: [Boolean, String],\n default: false\n },\n thumbnail: {\n type: Boolean,\n default: false\n },\n left: {\n type: Boolean,\n default: false\n },\n right: {\n type: Boolean,\n default: false\n },\n center: {\n type: Boolean,\n default: false\n },\n blank: {\n type: Boolean,\n default: false\n },\n blankColor: {\n type: String,\n default: () => getComponentConfig(NAME, 'blankColor')\n }\n}\n\n// --- Helper methods ---\n\nconst makeBlankImgSrc = (width, height, color) => {\n const src = encodeURIComponent(\n BLANK_TEMPLATE.replace('%{w}', toString(width))\n .replace('%{h}', toString(height))\n .replace('%{f}', color)\n )\n return `data:image/svg+xml;charset=UTF-8,${src}`\n}\n\n// @vue/component\nexport const BImg = /*#__PURE__*/ Vue.extend({\n name: NAME,\n functional: true,\n props,\n render(h, { props, data }) {\n let src = props.src\n let width = toInteger(props.width) || null\n let height = toInteger(props.height) || null\n let align = null\n let block = props.block\n let srcset = concat(props.srcset)\n .filter(identity)\n .join(',')\n let sizes = concat(props.sizes)\n .filter(identity)\n .join(',')\n if (props.blank) {\n if (!height && width) {\n height = width\n } else if (!width && height) {\n width = height\n }\n if (!width && !height) {\n width = 1\n height = 1\n }\n // Make a blank SVG image\n src = makeBlankImgSrc(width, height, props.blankColor || 'transparent')\n // Disable srcset and sizes\n srcset = null\n sizes = null\n }\n if (props.left) {\n align = 'float-left'\n } else if (props.right) {\n align = 'float-right'\n } else if (props.center) {\n align = 'mx-auto'\n block = true\n }\n return h(\n 'img',\n mergeData(data, {\n attrs: {\n src: src,\n alt: props.alt,\n width: width ? toString(width) : null,\n height: height ? toString(height) : null,\n srcset: srcset || null,\n sizes: sizes || null\n },\n class: {\n 'img-thumbnail': props.thumbnail,\n 'img-fluid': props.fluid || props.fluidGrow,\n 'w-100': props.fluidGrow,\n rounded: props.rounded === '' || props.rounded === true,\n [`rounded-${props.rounded}`]: isString(props.rounded) && props.rounded !== '',\n [align]: align,\n 'd-block': block\n }\n })\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport identity from '../../utils/identity'\nimport { concat } from '../../utils/array'\nimport { getComponentConfig } from '../../utils/config'\nimport { hasIntersectionObserverSupport } from '../../utils/env'\nimport { toInteger } from '../../utils/number'\nimport { VBVisible } from '../../directives/visible/visible'\nimport { BImg } from './img'\n\nconst NAME = 'BImgLazy'\n\nexport const props = {\n src: {\n type: String,\n default: null,\n required: true\n },\n srcset: {\n type: [String, Array],\n default: null\n },\n sizes: {\n type: [String, Array],\n default: null\n },\n alt: {\n type: String,\n default: null\n },\n width: {\n type: [Number, String],\n default: null\n },\n height: {\n type: [Number, String],\n default: null\n },\n blankSrc: {\n // If null, a blank image is generated\n type: String,\n default: null\n },\n blankColor: {\n type: String,\n default: () => getComponentConfig(NAME, 'blankColor')\n },\n blankWidth: {\n type: [Number, String],\n default: null\n },\n blankHeight: {\n type: [Number, String],\n default: null\n },\n show: {\n type: Boolean,\n default: false\n },\n fluid: {\n type: Boolean,\n default: false\n },\n fluidGrow: {\n type: Boolean,\n default: false\n },\n block: {\n type: Boolean,\n default: false\n },\n thumbnail: {\n type: Boolean,\n default: false\n },\n rounded: {\n type: [Boolean, String],\n default: false\n },\n left: {\n type: Boolean,\n default: false\n },\n right: {\n type: Boolean,\n default: false\n },\n center: {\n type: Boolean,\n default: false\n },\n offset: {\n // Distance away from viewport (in pixels) before being\n // considered \"visible\"\n type: [Number, String],\n default: 360\n }\n}\n\n// @vue/component\nexport const BImgLazy = /*#__PURE__*/ Vue.extend({\n name: NAME,\n directives: {\n bVisible: VBVisible\n },\n props,\n data() {\n return {\n isShown: this.show\n }\n },\n computed: {\n computedSrc() {\n return !this.blankSrc || this.isShown ? this.src : this.blankSrc\n },\n computedBlank() {\n return !(this.isShown || this.blankSrc)\n },\n computedWidth() {\n return this.isShown ? this.width : this.blankWidth || this.width\n },\n computedHeight() {\n return this.isShown ? this.height : this.blankHeight || this.height\n },\n computedSrcset() {\n const srcset = concat(this.srcset)\n .filter(identity)\n .join(',')\n return !this.blankSrc || this.isShown ? srcset : null\n },\n computedSizes() {\n const sizes = concat(this.sizes)\n .filter(identity)\n .join(',')\n return !this.blankSrc || this.isShown ? sizes : null\n }\n },\n watch: {\n show(newVal, oldVal) {\n if (newVal !== oldVal) {\n // If IntersectionObserver support is not available, image is always shown\n const visible = hasIntersectionObserverSupport ? newVal : true\n this.isShown = visible\n if (visible !== newVal) {\n // Ensure the show prop is synced (when no IntersectionObserver)\n this.$nextTick(this.updateShowProp)\n }\n }\n },\n isShown(newVal, oldVal) {\n if (newVal !== oldVal) {\n // Update synched show prop\n this.updateShowProp()\n }\n }\n },\n mounted() {\n // If IntersectionObserver is not available, image is always shown\n this.isShown = hasIntersectionObserverSupport ? this.show : true\n },\n methods: {\n updateShowProp() {\n this.$emit('update:show', this.isShown)\n },\n doShow(visible) {\n // If IntersectionObserver is not supported, the callback\n // will be called with `null` rather than `true` or `false`\n if ((visible || visible === null) && !this.isShown) {\n this.isShown = true\n }\n }\n },\n render(h) {\n const directives = []\n if (!this.isShown) {\n // We only add the visible directive if we are not shown\n directives.push({\n // Visible directive will silently do nothing if\n // IntersectionObserver is not supported\n name: 'b-visible',\n // Value expects a callback (passed one arg of `visible` = `true` or `false`)\n value: this.doShow,\n modifiers: {\n // Root margin from viewport\n [`${toInteger(this.offset) || 0}`]: true,\n // Once the image is shown, stop observing\n once: true\n }\n })\n }\n\n return h(BImg, {\n directives,\n props: {\n // Computed value props\n src: this.computedSrc,\n blank: this.computedBlank,\n width: this.computedWidth,\n height: this.computedHeight,\n srcset: this.computedSrcset || null,\n sizes: this.computedSizes || null,\n // Passthrough props\n alt: this.alt,\n blankColor: this.blankColor,\n fluid: this.fluid,\n fluidGrow: this.fluidGrow,\n block: this.block,\n thumbnail: this.thumbnail,\n rounded: this.rounded,\n left: this.left,\n right: this.right,\n center: this.center\n }\n })\n }\n})\n","import Vue from '../../utils/vue'\nimport { omit } from '../../utils/object'\nimport { mergeData } from 'vue-functional-data-merge'\nimport { BImgLazy, props as imgLazyProps } from '../image/img-lazy'\n\n// Copy of `<b-img-lazy>` props, and remove conflicting/non-applicable props\n// The `omit()` util creates a new object, so we can just pass the original props\nconst lazyProps = omit(imgLazyProps, [\n 'left',\n 'right',\n 'center',\n 'block',\n 'rounded',\n 'thumbnail',\n 'fluid',\n 'fluidGrow'\n])\n\nexport const props = {\n ...lazyProps,\n top: {\n type: Boolean,\n default: false\n },\n bottom: {\n type: Boolean,\n default: false\n },\n start: {\n type: Boolean,\n default: false\n },\n left: {\n // alias of 'start'\n type: Boolean,\n default: false\n },\n end: {\n type: Boolean,\n default: false\n },\n right: {\n // alias of 'end'\n type: Boolean,\n default: false\n }\n}\n\n// @vue/component\nexport const BCardImgLazy = /*#__PURE__*/ Vue.extend({\n name: 'BCardImgLazy',\n functional: true,\n props,\n render(h, { props, data }) {\n let baseClass = 'card-img'\n if (props.top) {\n baseClass += '-top'\n } else if (props.right || props.end) {\n baseClass += '-right'\n } else if (props.bottom) {\n baseClass += '-bottom'\n } else if (props.left || props.start) {\n baseClass += '-left'\n }\n\n // False out the left/center/right props before passing to b-img-lazy\n const lazyProps = { ...props, left: false, right: false, center: false }\n return h(\n BImgLazy,\n mergeData(data, {\n class: [baseClass],\n props: lazyProps\n })\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\n\nexport const props = {\n textTag: {\n type: String,\n default: 'p'\n }\n}\n\n// @vue/component\nexport const BCardText = /*#__PURE__*/ Vue.extend({\n name: 'BCardText',\n functional: true,\n props,\n render(h, { props, data, children }) {\n return h(props.textTag, mergeData(data, { staticClass: 'card-text' }), children)\n }\n})\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\n\nexport const props = {\n tag: {\n type: String,\n default: 'div'\n },\n deck: {\n type: Boolean,\n default: false\n },\n columns: {\n type: Boolean,\n default: false\n }\n}\n\n// @vue/component\nexport const BCardGroup = /*#__PURE__*/ Vue.extend({\n name: 'BCardGroup',\n functional: true,\n props,\n render(h, { props, data, children }) {\n return h(\n props.tag,\n mergeData(data, {\n class: props.deck ? 'card-deck' : props.columns ? 'card-columns' : 'card-group'\n }),\n children\n )\n }\n})\n","import { BCard } from './card'\nimport { BCardHeader } from './card-header'\nimport { BCardBody } from './card-body'\nimport { BCardTitle } from './card-title'\nimport { BCardSubTitle } from './card-sub-title'\nimport { BCardFooter } from './card-footer'\nimport { BCardImg } from './card-img'\nimport { BCardImgLazy } from './card-img-lazy'\nimport { BCardText } from './card-text'\nimport { BCardGroup } from './card-group'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst CardPlugin = /*#__PURE__*/ pluginFactory({\n components: {\n BCard,\n BCardHeader,\n BCardBody,\n BCardTitle,\n BCardSubTitle,\n BCardFooter,\n BCardImg,\n BCardImgLazy,\n BCardText,\n BCardGroup\n }\n})\n\nexport {\n CardPlugin,\n BCard,\n BCardHeader,\n BCardBody,\n BCardTitle,\n BCardSubTitle,\n BCardFooter,\n BCardImg,\n BCardImgLazy,\n BCardText,\n BCardGroup\n}\n","const noop = () => {}\n\nexport default noop\n","import { MutationObs, isElement } from './dom'\nimport { warnNoMutationObserverSupport } from './warn'\n\n/**\n * Observe a DOM element changes, falls back to eventListener mode\n * @param {Element} el The DOM element to observe\n * @param {Function} callback callback to be called on change\n * @param {object} [options={childList: true, subtree: true}] observe options\n * @see http://stackoverflow.com/questions/3219758\n */\nconst observeDom = (\n el,\n callback,\n options\n) => /* istanbul ignore next: difficult to test in JSDOM */ {\n // Handle cases where we might be passed a Vue instance\n el = el ? el.$el || el : null\n\n // Early exit when we have no element\n /* istanbul ignore next: difficult to test in JSDOM */\n if (!isElement(el)) {\n return null\n }\n\n // Exit and throw a warning when `MutationObserver` isn't available\n if (warnNoMutationObserverSupport('observeDom')) {\n return null\n }\n\n // Define a new observer\n const obs = new MutationObs(mutations => {\n let changed = false\n\n // A mutation can contain several change records, so we loop\n // through them to see what has changed\n // We break out of the loop early if any \"significant\" change\n // has been detected\n for (let i = 0; i < mutations.length && !changed; i++) {\n // The mutation record\n const mutation = mutations[i]\n // Mutation type\n const type = mutation.type\n // DOM node (could be any DOM node type - HTMLElement, Text, comment, etc.)\n const target = mutation.target\n\n // Detect whether a change happened based on type and target\n if (type === 'characterData' && target.nodeType === Node.TEXT_NODE) {\n // We ignore nodes that are not TEXT (i.e. comments, etc)\n // as they don't change layout\n changed = true\n } else if (type === 'attributes') {\n changed = true\n } else if (\n type === 'childList' &&\n (mutation.addedNodes.length > 0 || mutation.removedNodes.length > 0)\n ) {\n // This includes HTMLElement and text nodes being\n // added/removed/re-arranged\n changed = true\n }\n }\n\n // We only call the callback if a change that could affect\n // layout/size truely happened\n if (changed) {\n callback()\n }\n })\n\n // Have the observer observe foo for changes in children, etc\n obs.observe(el, { childList: true, subtree: true, ...options })\n\n // We return a reference to the observer so that `obs.disconnect()`\n // can be called if necessary\n // To reduce overhead when the root element is hidden\n return obs\n}\n\nexport default observeDom\n","import { hasPassiveEventSupport } from './env'\nimport { isObject } from './inspect'\n\n// --- Constants ---\n\nexport const EVENT_OPTIONS_PASSIVE = { passive: true }\nexport const EVENT_OPTIONS_NO_CAPTURE = { passive: true, capture: false }\n\n// --- Utils ---\n\n// Normalize event options based on support of passive option\n// Exported only for testing purposes\nexport const parseEventOptions = options => {\n /* istanbul ignore else: can't test in JSDOM, as it supports passive */\n if (hasPassiveEventSupport) {\n return isObject(options) ? options : { capture: !!options || false }\n } else {\n // Need to translate to actual Boolean value\n return !!(isObject(options) ? options.capture : options)\n }\n}\n\n// Attach an event listener to an element\nexport const eventOn = (el, evtName, handler, options) => {\n if (el && el.addEventListener) {\n el.addEventListener(evtName, handler, parseEventOptions(options))\n }\n}\n\n// Remove an event listener from an element\nexport const eventOff = (el, evtName, handler, options) => {\n if (el && el.removeEventListener) {\n el.removeEventListener(evtName, handler, parseEventOptions(options))\n }\n}\n\n// Utility method to add/remove a event listener based on first argument (boolean)\n// It passes all other arguments to the `eventOn()` or `eventOff` method\nexport const eventOnOff = (on, ...args) => {\n const method = on ? eventOn : eventOff\n method(...args)\n}\n","import Vue from '../../utils/vue'\nimport KeyCodes from '../../utils/key-codes'\nimport noop from '../../utils/noop'\nimport observeDom from '../../utils/observe-dom'\nimport { getComponentConfig } from '../../utils/config'\nimport { selectAll, reflow, addClass, removeClass, setAttr } from '../../utils/dom'\nimport { isBrowser, hasTouchSupport, hasPointerEventSupport } from '../../utils/env'\nimport { EVENT_OPTIONS_NO_CAPTURE, eventOn, eventOff } from '../../utils/events'\nimport { isUndefined } from '../../utils/inspect'\nimport { toInteger } from '../../utils/number'\nimport idMixin from '../../mixins/id'\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\n\nconst NAME = 'BCarousel'\n\n// Slide directional classes\nconst DIRECTION = {\n next: {\n dirClass: 'carousel-item-left',\n overlayClass: 'carousel-item-next'\n },\n prev: {\n dirClass: 'carousel-item-right',\n overlayClass: 'carousel-item-prev'\n }\n}\n\n// Fallback Transition duration (with a little buffer) in ms\nconst TRANS_DURATION = 600 + 50\n\n// Time for mouse compat events to fire after touch\nconst TOUCH_EVENT_COMPAT_WAIT = 500\n\n// Number of pixels to consider touch move a swipe\nconst SWIPE_THRESHOLD = 40\n\n// PointerEvent pointer types\nconst PointerType = {\n TOUCH: 'touch',\n PEN: 'pen'\n}\n\n// Transition Event names\nconst TransitionEndEvents = {\n WebkitTransition: 'webkitTransitionEnd',\n MozTransition: 'transitionend',\n OTransition: 'otransitionend oTransitionEnd',\n transition: 'transitionend'\n}\n\n// Return the browser specific transitionEnd event name\nconst getTransitionEndEvent = el => {\n for (const name in TransitionEndEvents) {\n if (!isUndefined(el.style[name])) {\n return TransitionEndEvents[name]\n }\n }\n // Fallback\n /* istanbul ignore next */\n return null\n}\n\n// @vue/component\nexport const BCarousel = /*#__PURE__*/ Vue.extend({\n name: NAME,\n mixins: [idMixin, normalizeSlotMixin],\n provide() {\n return { bvCarousel: this }\n },\n model: {\n prop: 'value',\n event: 'input'\n },\n props: {\n labelPrev: {\n type: String,\n default: () => getComponentConfig(NAME, 'labelPrev')\n },\n labelNext: {\n type: String,\n default: () => getComponentConfig(NAME, 'labelNext')\n },\n labelGotoSlide: {\n type: String,\n default: () => getComponentConfig(NAME, 'labelGotoSlide')\n },\n labelIndicators: {\n type: String,\n default: () => getComponentConfig(NAME, 'labelIndicators')\n },\n interval: {\n type: Number,\n default: 5000\n },\n indicators: {\n type: Boolean,\n default: false\n },\n controls: {\n type: Boolean,\n default: false\n },\n noAnimation: {\n // Disable slide/fade animation\n type: Boolean,\n default: false\n },\n fade: {\n // Enable cross-fade animation instead of slide animation\n type: Boolean,\n default: false\n },\n noWrap: {\n // Disable wrapping/looping when start/end is reached\n type: Boolean,\n default: false\n },\n noTouch: {\n // Sniffed by carousel-slide\n type: Boolean,\n default: false\n },\n noHoverPause: {\n // Disable pause on hover\n type: Boolean,\n default: false\n },\n imgWidth: {\n // Sniffed by carousel-slide\n type: [Number, String]\n // default: undefined\n },\n imgHeight: {\n // Sniffed by carousel-slide\n type: [Number, String]\n // default: undefined\n },\n background: {\n type: String\n // default: undefined\n },\n value: {\n type: Number,\n default: 0\n }\n },\n data() {\n return {\n index: this.value || 0,\n isSliding: false,\n transitionEndEvent: null,\n slides: [],\n direction: null,\n isPaused: !(toInteger(this.interval) > 0),\n // Touch event handling values\n touchStartX: 0,\n touchDeltaX: 0\n }\n },\n computed: {\n numSlides() {\n return this.slides.length\n }\n },\n watch: {\n value(newVal, oldVal) {\n if (newVal !== oldVal) {\n this.setSlide(toInteger(newVal) || 0)\n }\n },\n interval(newVal, oldVal) {\n if (newVal === oldVal) {\n /* istanbul ignore next */\n return\n }\n if (!newVal) {\n // Pausing slide show\n this.pause(false)\n } else {\n // Restarting or Changing interval\n this.pause(true)\n this.start(false)\n }\n },\n isPaused(newVal, oldVal) {\n if (newVal !== oldVal) {\n this.$emit(newVal ? 'paused' : 'unpaused')\n }\n },\n index(to, from) {\n if (to === from || this.isSliding) {\n /* istanbul ignore next */\n return\n }\n this.doSlide(to, from)\n }\n },\n created() {\n // Create private non-reactive props\n this._intervalId = null\n this._animationTimeout = null\n this._touchTimeout = null\n // Set initial paused state\n this.isPaused = !(toInteger(this.interval) > 0)\n },\n mounted() {\n // Cache current browser transitionend event name\n this.transitionEndEvent = getTransitionEndEvent(this.$el) || null\n // Get all slides\n this.updateSlides()\n // Observe child changes so we can update slide list\n observeDom(this.$refs.inner, this.updateSlides.bind(this), {\n subtree: false,\n childList: true,\n attributes: true,\n attributeFilter: ['id']\n })\n },\n beforeDestroy() {\n clearTimeout(this._animationTimeout)\n clearTimeout(this._touchTimeout)\n clearInterval(this._intervalId)\n this._intervalId = null\n this._animationTimeout = null\n this._touchTimeout = null\n },\n methods: {\n // Set slide\n setSlide(slide, direction = null) {\n // Don't animate when page is not visible\n /* istanbul ignore if: difficult to test */\n if (isBrowser && document.visibilityState && document.hidden) {\n return\n }\n const noWrap = this.noWrap\n const numSlides = this.numSlides\n // Make sure we have an integer (you never know!)\n slide = Math.floor(slide)\n // Don't do anything if nothing to slide to\n if (numSlides === 0) {\n return\n }\n // Don't change slide while transitioning, wait until transition is done\n if (this.isSliding) {\n // Schedule slide after sliding complete\n this.$once('sliding-end', () => this.setSlide(slide, direction))\n return\n }\n this.direction = direction\n // Set new slide index\n // Wrap around if necessary (if no-wrap not enabled)\n this.index =\n slide >= numSlides\n ? noWrap\n ? numSlides - 1\n : 0\n : slide < 0\n ? noWrap\n ? 0\n : numSlides - 1\n : slide\n // Ensure the v-model is synched up if no-wrap is enabled\n // and user tried to slide pass either ends\n if (noWrap && this.index !== slide && this.index !== this.value) {\n this.$emit('input', this.index)\n }\n },\n // Previous slide\n prev() {\n this.setSlide(this.index - 1, 'prev')\n },\n // Next slide\n next() {\n this.setSlide(this.index + 1, 'next')\n },\n // Pause auto rotation\n pause(evt) {\n if (!evt) {\n this.isPaused = true\n }\n if (this._intervalId) {\n clearInterval(this._intervalId)\n this._intervalId = null\n }\n },\n // Start auto rotate slides\n start(evt) {\n if (!evt) {\n this.isPaused = false\n }\n /* istanbul ignore next: most likely will never happen, but just in case */\n if (this._intervalId) {\n clearInterval(this._intervalId)\n this._intervalId = null\n }\n // Don't start if no interval, or less than 2 slides\n if (this.interval && this.numSlides > 1) {\n this._intervalId = setInterval(this.next, Math.max(1000, this.interval))\n }\n },\n // Restart auto rotate slides when focus/hover leaves the carousel\n restart() /* istanbul ignore next: difficult to test */ {\n if (!this.$el.contains(document.activeElement)) {\n this.start()\n }\n },\n doSlide(to, from) {\n const isCycling = Boolean(this.interval)\n // Determine sliding direction\n const direction = this.calcDirection(this.direction, from, to)\n const overlayClass = direction.overlayClass\n const dirClass = direction.dirClass\n // Determine current and next slides\n const currentSlide = this.slides[from]\n const nextSlide = this.slides[to]\n // Don't do anything if there aren't any slides to slide to\n if (!currentSlide || !nextSlide) {\n /* istanbul ignore next */\n return\n }\n // Start animating\n this.isSliding = true\n if (isCycling) {\n this.pause(false)\n }\n this.$emit('sliding-start', to)\n // Update v-model\n this.$emit('input', this.index)\n if (this.noAnimation) {\n addClass(nextSlide, 'active')\n removeClass(currentSlide, 'active')\n this.isSliding = false\n // Notify ourselves that we're done sliding (slid)\n this.$nextTick(() => this.$emit('sliding-end', to))\n } else {\n addClass(nextSlide, overlayClass)\n // Trigger a reflow of next slide\n reflow(nextSlide)\n addClass(currentSlide, dirClass)\n addClass(nextSlide, dirClass)\n // Transition End handler\n let called = false\n /* istanbul ignore next: difficult to test */\n const onceTransEnd = () => {\n if (called) {\n return\n }\n called = true\n /* istanbul ignore if: transition events cant be tested in JSDOM */\n if (this.transitionEndEvent) {\n const events = this.transitionEndEvent.split(/\\s+/)\n events.forEach(evt =>\n eventOff(currentSlide, evt, onceTransEnd, EVENT_OPTIONS_NO_CAPTURE)\n )\n }\n this._animationTimeout = null\n removeClass(nextSlide, dirClass)\n removeClass(nextSlide, overlayClass)\n addClass(nextSlide, 'active')\n removeClass(currentSlide, 'active')\n removeClass(currentSlide, dirClass)\n removeClass(currentSlide, overlayClass)\n setAttr(currentSlide, 'aria-current', 'false')\n setAttr(nextSlide, 'aria-current', 'true')\n setAttr(currentSlide, 'aria-hidden', 'true')\n setAttr(nextSlide, 'aria-hidden', 'false')\n this.isSliding = false\n this.direction = null\n // Notify ourselves that we're done sliding (slid)\n this.$nextTick(() => this.$emit('sliding-end', to))\n }\n // Set up transitionend handler\n /* istanbul ignore if: transition events cant be tested in JSDOM */\n if (this.transitionEndEvent) {\n const events = this.transitionEndEvent.split(/\\s+/)\n events.forEach(event =>\n eventOn(currentSlide, event, onceTransEnd, EVENT_OPTIONS_NO_CAPTURE)\n )\n }\n // Fallback to setTimeout()\n this._animationTimeout = setTimeout(onceTransEnd, TRANS_DURATION)\n }\n if (isCycling) {\n this.start(false)\n }\n },\n // Update slide list\n updateSlides() {\n this.pause(true)\n // Get all slides as DOM elements\n this.slides = selectAll('.carousel-item', this.$refs.inner)\n const numSlides = this.slides.length\n // Keep slide number in range\n const index = Math.max(0, Math.min(Math.floor(this.index), numSlides - 1))\n this.slides.forEach((slide, idx) => {\n const n = idx + 1\n if (idx === index) {\n addClass(slide, 'active')\n setAttr(slide, 'aria-current', 'true')\n } else {\n removeClass(slide, 'active')\n setAttr(slide, 'aria-current', 'false')\n }\n setAttr(slide, 'aria-posinset', String(n))\n setAttr(slide, 'aria-setsize', String(numSlides))\n })\n // Set slide as active\n this.setSlide(index)\n this.start(this.isPaused)\n },\n calcDirection(direction = null, curIndex = 0, nextIndex = 0) {\n if (!direction) {\n return nextIndex > curIndex ? DIRECTION.next : DIRECTION.prev\n }\n return DIRECTION[direction]\n },\n handleClick(evt, fn) {\n const keyCode = evt.keyCode\n if (evt.type === 'click' || keyCode === KeyCodes.SPACE || keyCode === KeyCodes.ENTER) {\n evt.preventDefault()\n evt.stopPropagation()\n fn()\n }\n },\n handleSwipe() /* istanbul ignore next: JSDOM doesn't support touch events */ {\n const absDeltaX = Math.abs(this.touchDeltaX)\n if (absDeltaX <= SWIPE_THRESHOLD) {\n return\n }\n const direction = absDeltaX / this.touchDeltaX\n // Reset touch delta X\n // https://github.com/twbs/bootstrap/pull/28558\n this.touchDeltaX = 0\n if (direction > 0) {\n // Swipe left\n this.prev()\n } else if (direction < 0) {\n // Swipe right\n this.next()\n }\n },\n touchStart(evt) /* istanbul ignore next: JSDOM doesn't support touch events */ {\n if (hasPointerEventSupport && PointerType[evt.pointerType.toUpperCase()]) {\n this.touchStartX = evt.clientX\n } else if (!hasPointerEventSupport) {\n this.touchStartX = evt.touches[0].clientX\n }\n },\n touchMove(evt) /* istanbul ignore next: JSDOM doesn't support touch events */ {\n // Ensure swiping with one touch and not pinching\n if (evt.touches && evt.touches.length > 1) {\n this.touchDeltaX = 0\n } else {\n this.touchDeltaX = evt.touches[0].clientX - this.touchStartX\n }\n },\n touchEnd(evt) /* istanbul ignore next: JSDOM doesn't support touch events */ {\n if (hasPointerEventSupport && PointerType[evt.pointerType.toUpperCase()]) {\n this.touchDeltaX = evt.clientX - this.touchStartX\n }\n this.handleSwipe()\n // If it's a touch-enabled device, mouseenter/leave are fired as\n // part of the mouse compatibility events on first tap - the carousel\n // would stop cycling until user tapped out of it;\n // here, we listen for touchend, explicitly pause the carousel\n // (as if it's the second time we tap on it, mouseenter compat event\n // is NOT fired) and after a timeout (to allow for mouse compatibility\n // events to fire) we explicitly restart cycling\n this.pause(false)\n if (this._touchTimeout) {\n clearTimeout(this._touchTimeout)\n }\n this._touchTimeout = setTimeout(\n this.start,\n TOUCH_EVENT_COMPAT_WAIT + Math.max(1000, this.interval)\n )\n }\n },\n render(h) {\n // Wrapper for slides\n const inner = h(\n 'div',\n {\n ref: 'inner',\n class: ['carousel-inner'],\n attrs: {\n id: this.safeId('__BV_inner_'),\n role: 'list'\n }\n },\n [this.normalizeSlot('default')]\n )\n\n // Prev and next controls\n let controls = h()\n if (this.controls) {\n const prevHandler = evt => {\n /* istanbul ignore next */\n if (!this.isSliding) {\n this.handleClick(evt, this.prev)\n } else {\n evt.preventDefault()\n }\n }\n const nextHandler = evt => {\n /* istanbul ignore next */\n if (!this.isSliding) {\n this.handleClick(evt, this.next)\n } else {\n evt.preventDefault()\n }\n }\n controls = [\n h(\n 'a',\n {\n class: ['carousel-control-prev'],\n attrs: {\n href: '#',\n role: 'button',\n 'aria-controls': this.safeId('__BV_inner_'),\n 'aria-disabled': this.isSliding ? 'true' : null\n },\n on: {\n click: prevHandler,\n keydown: prevHandler\n }\n },\n [\n h('span', { class: ['carousel-control-prev-icon'], attrs: { 'aria-hidden': 'true' } }),\n h('span', { class: ['sr-only'] }, [this.labelPrev])\n ]\n ),\n h(\n 'a',\n {\n class: ['carousel-control-next'],\n attrs: {\n href: '#',\n role: 'button',\n 'aria-controls': this.safeId('__BV_inner_'),\n 'aria-disabled': this.isSliding ? 'true' : null\n },\n on: {\n click: nextHandler,\n keydown: nextHandler\n }\n },\n [\n h('span', { class: ['carousel-control-next-icon'], attrs: { 'aria-hidden': 'true' } }),\n h('span', { class: ['sr-only'] }, [this.labelNext])\n ]\n )\n ]\n }\n\n // Indicators\n const indicators = h(\n 'ol',\n {\n class: ['carousel-indicators'],\n directives: [\n { name: 'show', rawName: 'v-show', value: this.indicators, expression: 'indicators' }\n ],\n attrs: {\n id: this.safeId('__BV_indicators_'),\n 'aria-hidden': this.indicators ? 'false' : 'true',\n 'aria-label': this.labelIndicators,\n 'aria-owns': this.safeId('__BV_inner_')\n }\n },\n this.slides.map((slide, n) => {\n return h('li', {\n key: `slide_${n}`,\n class: { active: n === this.index },\n attrs: {\n role: 'button',\n id: this.safeId(`__BV_indicator_${n + 1}_`),\n tabindex: this.indicators ? '0' : '-1',\n 'aria-current': n === this.index ? 'true' : 'false',\n 'aria-label': `${this.labelGotoSlide} ${n + 1}`,\n 'aria-describedby': this.slides[n].id || null,\n 'aria-controls': this.safeId('__BV_inner_')\n },\n on: {\n click: evt => {\n this.handleClick(evt, () => {\n this.setSlide(n)\n })\n },\n keydown: evt => {\n this.handleClick(evt, () => {\n this.setSlide(n)\n })\n }\n }\n })\n })\n )\n\n const on = {\n mouseenter: this.noHoverPause ? noop : this.pause,\n mouseleave: this.noHoverPause ? noop : this.restart,\n focusin: this.pause,\n focusout: this.restart,\n keydown: evt => {\n if (/input|textarea/i.test(evt.target.tagName)) {\n /* istanbul ignore next */\n return\n }\n const keyCode = evt.keyCode\n if (keyCode === KeyCodes.LEFT || keyCode === KeyCodes.RIGHT) {\n evt.preventDefault()\n evt.stopPropagation()\n this[keyCode === KeyCodes.LEFT ? 'prev' : 'next']()\n }\n }\n }\n // Touch support event handlers for environment\n if (!this.noTouch && hasTouchSupport) {\n // Attach appropriate listeners (prepend event name with '&' for passive mode)\n /* istanbul ignore next: JSDOM doesn't support touch events */\n if (hasPointerEventSupport) {\n on['&pointerdown'] = this.touchStart\n on['&pointerup'] = this.touchEnd\n } else {\n on['&touchstart'] = this.touchStart\n on['&touchmove'] = this.touchMove\n on['&touchend'] = this.touchEnd\n }\n }\n\n // Return the carousel\n return h(\n 'div',\n {\n staticClass: 'carousel',\n class: {\n slide: !this.noAnimation,\n 'carousel-fade': !this.noAnimation && this.fade,\n 'pointer-event': !this.noTouch && hasTouchSupport && hasPointerEventSupport\n },\n style: { background: this.background },\n attrs: {\n role: 'region',\n id: this.safeId(),\n 'aria-busy': this.isSliding ? 'true' : 'false'\n },\n on\n },\n [inner, controls, indicators]\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport idMixin from '../../mixins/id'\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\nimport { hasTouchSupport } from '../../utils/env'\nimport { htmlOrText } from '../../utils/html'\nimport { BImg } from '../image/img'\n\nexport const props = {\n imgSrc: {\n type: String\n // default: undefined\n },\n imgAlt: {\n type: String\n // default: undefined\n },\n imgWidth: {\n type: [Number, String]\n // default: undefined\n },\n imgHeight: {\n type: [Number, String]\n // default: undefined\n },\n imgBlank: {\n type: Boolean,\n default: false\n },\n imgBlankColor: {\n type: String,\n default: 'transparent'\n },\n contentVisibleUp: {\n type: String\n },\n contentTag: {\n type: String,\n default: 'div'\n },\n caption: {\n type: String\n },\n captionHtml: {\n type: String\n },\n captionTag: {\n type: String,\n default: 'h3'\n },\n text: {\n type: String\n },\n textHtml: {\n type: String\n },\n textTag: {\n type: String,\n default: 'p'\n },\n background: {\n type: String\n }\n}\n\n// @vue/component\nexport const BCarouselSlide = /*#__PURE__*/ Vue.extend({\n name: 'BCarouselSlide',\n mixins: [idMixin, normalizeSlotMixin],\n inject: {\n bvCarousel: {\n default() {\n return {\n // Explicitly disable touch if not a child of carousel\n noTouch: true\n }\n }\n }\n },\n props,\n computed: {\n contentClasses() {\n return [\n this.contentVisibleUp ? 'd-none' : '',\n this.contentVisibleUp ? `d-${this.contentVisibleUp}-block` : ''\n ]\n },\n computedWidth() {\n // Use local width, or try parent width\n return this.imgWidth || this.bvCarousel.imgWidth || null\n },\n computedHeight() {\n // Use local height, or try parent height\n return this.imgHeight || this.bvCarousel.imgHeight || null\n }\n },\n render(h) {\n const noDrag = !this.bvCarousel.noTouch && hasTouchSupport\n\n let img = this.normalizeSlot('img')\n if (!img && (this.imgSrc || this.imgBlank)) {\n img = h(BImg, {\n props: {\n fluidGrow: true,\n block: true,\n src: this.imgSrc,\n blank: this.imgBlank,\n blankColor: this.imgBlankColor,\n width: this.computedWidth,\n height: this.computedHeight,\n alt: this.imgAlt\n },\n // Touch support event handler\n on: noDrag\n ? {\n dragstart: e => {\n /* istanbul ignore next: difficult to test in JSDOM */\n e.preventDefault()\n }\n }\n : {}\n })\n }\n if (!img) {\n img = h()\n }\n\n let content = h()\n\n const contentChildren = [\n this.caption || this.captionHtml\n ? h(this.captionTag, {\n domProps: htmlOrText(this.captionHtml, this.caption)\n })\n : false,\n this.text || this.textHtml\n ? h(this.textTag, { domProps: htmlOrText(this.textHtml, this.text) })\n : false,\n this.normalizeSlot('default') || false\n ]\n\n if (contentChildren.some(Boolean)) {\n content = h(\n this.contentTag,\n { staticClass: 'carousel-caption', class: this.contentClasses },\n contentChildren.map(i => i || h())\n )\n }\n\n return h(\n 'div',\n {\n staticClass: 'carousel-item',\n style: { background: this.background || this.bvCarousel.background || null },\n attrs: { id: this.safeId(), role: 'listitem' }\n },\n [img, content]\n )\n }\n})\n","import { BCarousel } from './carousel'\nimport { BCarouselSlide } from './carousel-slide'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst CarouselPlugin = /*#__PURE*/ pluginFactory({\n components: {\n BCarousel,\n BCarouselSlide\n }\n})\n\nexport { CarouselPlugin, BCarousel, BCarouselSlide }\n","// Generic collapse transion helper component\n//\n// Note:\n// Applies the classes `collapse`, `show` and `collapsing`\n// during the enter/leave transition phases only\n// Although it appears that Vue may be leaving the classes\n// in-place after the transition completes\nimport Vue from './vue'\nimport { mergeData } from 'vue-functional-data-merge'\nimport { getBCR, reflow, requestAF } from './dom'\n\n// Transition event handler helpers\nconst onEnter = el => {\n el.style.height = 0\n // Animaton frame delay neeeded for `appear` to work\n requestAF(() => {\n reflow(el)\n el.style.height = `${el.scrollHeight}px`\n })\n}\n\nconst onAfterEnter = el => {\n el.style.height = null\n}\n\nconst onLeave = el => {\n el.style.height = 'auto'\n el.style.display = 'block'\n el.style.height = `${getBCR(el).height}px`\n reflow(el)\n el.style.height = 0\n}\n\nconst onAfterLeave = el => {\n el.style.height = null\n}\n\n// Default transition props\n// `appear` will use the enter classes\nconst TRANSITION_PROPS = {\n css: true,\n enterClass: '',\n enterActiveClass: 'collapsing',\n enterToClass: 'collapse show',\n leaveClass: 'collapse show',\n leaveActiveClass: 'collapsing',\n leaveToClass: 'collapse'\n}\n\n// Default transition handlers\n// `appear` will use the enter handlers\nconst TRANSITION_HANDLERS = {\n enter: onEnter,\n afterEnter: onAfterEnter,\n leave: onLeave,\n afterLeave: onAfterLeave\n}\n\n// @vue/component\nexport const BVCollapse = /*#__PURE__*/ Vue.extend({\n name: 'BVCollapse',\n functional: true,\n props: {\n appear: {\n // If `true` (and `visible` is `true` on mount), animate initially visible\n type: Boolean,\n default: false\n }\n },\n render(h, { props, data, children }) {\n return h(\n 'transition',\n // We merge in the `appear` prop last\n mergeData(data, { props: TRANSITION_PROPS, on: TRANSITION_HANDLERS }, { props }),\n // Note: `<tranition>` supports a single root element only\n children\n )\n }\n})\n","/**\n * Issue #569: collapse::toggle::state triggered too many times\n * @link https://github.com/bootstrap-vue/bootstrap-vue/issues/569\n */\n\n// @vue/component\nexport default {\n methods: {\n /**\n * Safely register event listeners on the root Vue node.\n * While Vue automatically removes listeners for individual components,\n * when a component registers a listener on root and is destroyed,\n * this orphans a callback because the node is gone,\n * but the root does not clear the callback.\n *\n * When registering a $root listener, it also registers a listener on\n * the component's `beforeDestroy` hook to automatically remove the\n * event listener from the $root instance.\n *\n * @param {string} event\n * @param {function} callback\n * @chainable\n */\n listenOnRoot(event, callback) {\n this.$root.$on(event, callback)\n this.$on('hook:beforeDestroy', () => {\n this.$root.$off(event, callback)\n })\n // Return this for easy chaining\n return this\n },\n\n /**\n * Safely register a $once event listener on the root Vue node.\n * While Vue automatically removes listeners for individual components,\n * when a component registers a listener on root and is destroyed,\n * this orphans a callback because the node is gone,\n * but the root does not clear the callback.\n *\n * When registering a $root listener, it also registers a listener on\n * the component's `beforeDestroy` hook to automatically remove the\n * event listener from the $root instance.\n *\n * @param {string} event\n * @param {function} callback\n * @chainable\n */\n listenOnRootOnce(event, callback) {\n this.$root.$once(event, callback)\n this.$on('hook:beforeDestroy', () => {\n this.$root.$off(event, callback)\n })\n // Return this for easy chaining\n return this\n },\n\n /**\n * Convenience method for calling vm.$emit on vm.$root.\n * @param {string} event\n * @param {*} args\n * @chainable\n */\n emitOnRoot(event, ...args) {\n this.$root.$emit(event, ...args)\n // Return this for easy chaining\n return this\n }\n }\n}\n","import Vue from '../../utils/vue'\nimport { isBrowser } from '../../utils/env'\nimport { addClass, hasClass, removeClass, closest, matches, getCS } from '../../utils/dom'\nimport { EVENT_OPTIONS_NO_CAPTURE, eventOnOff } from '../../utils/events'\nimport { BVCollapse } from '../../utils/bv-collapse'\nimport idMixin from '../../mixins/id'\nimport listenOnRootMixin from '../../mixins/listen-on-root'\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\n\n// Events we emit on $root\nconst EVENT_STATE = 'bv::collapse::state'\nconst EVENT_ACCORDION = 'bv::collapse::accordion'\n// Private event we emit on `$root` to ensure the toggle state is\n// always synced. It gets emitted even if the state has not changed!\n// This event is NOT to be documented as people should not be using it\nconst EVENT_STATE_SYNC = 'bv::collapse::sync::state'\n// Events we listen to on `$root`\nconst EVENT_TOGGLE = 'bv::toggle::collapse'\nconst EVENT_STATE_REQUEST = 'bv::request::collapse::state'\n\n// @vue/component\nexport const BCollapse = /*#__PURE__*/ Vue.extend({\n name: 'BCollapse',\n mixins: [idMixin, listenOnRootMixin, normalizeSlotMixin],\n model: {\n prop: 'visible',\n event: 'input'\n },\n props: {\n isNav: {\n type: Boolean,\n default: false\n },\n accordion: {\n type: String,\n default: null\n },\n visible: {\n type: Boolean,\n default: false\n },\n tag: {\n type: String,\n default: 'div'\n },\n appear: {\n // If `true` (and `visible` is `true` on mount), animate initially visible\n type: Boolean,\n default: false\n }\n },\n data() {\n return {\n show: this.visible,\n transitioning: false\n }\n },\n computed: {\n classObject() {\n return {\n 'navbar-collapse': this.isNav,\n collapse: !this.transitioning,\n show: this.show && !this.transitioning\n }\n }\n },\n watch: {\n visible(newVal) {\n if (newVal !== this.show) {\n this.show = newVal\n }\n },\n show(newVal, oldVal) {\n if (newVal !== oldVal) {\n this.emitState()\n }\n }\n },\n created() {\n this.show = this.visible\n },\n mounted() {\n this.show = this.visible\n // Listen for toggle events to open/close us\n this.listenOnRoot(EVENT_TOGGLE, this.handleToggleEvt)\n // Listen to other collapses for accordion events\n this.listenOnRoot(EVENT_ACCORDION, this.handleAccordionEvt)\n if (this.isNav) {\n // Set up handlers\n this.setWindowEvents(true)\n this.handleResize()\n }\n this.$nextTick(() => {\n this.emitState()\n })\n // Listen for \"Sync state\" requests from `v-b-toggle`\n this.listenOnRoot(EVENT_STATE_REQUEST, id => {\n if (id === this.safeId()) {\n this.$nextTick(this.emitSync)\n }\n })\n },\n updated() {\n // Emit a private event every time this component updates to ensure\n // the toggle button is in sync with the collapse's state\n // It is emitted regardless if the visible state changes\n this.emitSync()\n },\n deactivated() /* istanbul ignore next */ {\n if (this.isNav) {\n this.setWindowEvents(false)\n }\n },\n activated() /* istanbul ignore next */ {\n if (this.isNav) {\n this.setWindowEvents(true)\n }\n this.emitSync()\n },\n beforeDestroy() {\n // Trigger state emit if needed\n this.show = false\n if (this.isNav && isBrowser) {\n this.setWindowEvents(false)\n }\n },\n methods: {\n setWindowEvents(on) {\n eventOnOff(on, window, 'resize', this.handleResize, EVENT_OPTIONS_NO_CAPTURE)\n eventOnOff(on, window, 'orientationchange', this.handleResize, EVENT_OPTIONS_NO_CAPTURE)\n },\n toggle() {\n this.show = !this.show\n },\n onEnter() {\n this.transitioning = true\n // This should be moved out so we can add cancellable events\n this.$emit('show')\n },\n onAfterEnter() {\n this.transitioning = false\n this.$emit('shown')\n },\n onLeave() {\n this.transitioning = true\n // This should be moved out so we can add cancellable events\n this.$emit('hide')\n },\n onAfterLeave() {\n this.transitioning = false\n this.$emit('hidden')\n },\n emitState() {\n this.$emit('input', this.show)\n // Let `v-b-toggle` know the state of this collapse\n this.$root.$emit(EVENT_STATE, this.safeId(), this.show)\n if (this.accordion && this.show) {\n // Tell the other collapses in this accordion to close\n this.$root.$emit(EVENT_ACCORDION, this.safeId(), this.accordion)\n }\n },\n emitSync() {\n // Emit a private event every time this component updates to ensure\n // the toggle button is in sync with the collapse's state\n // It is emitted regardless if the visible state changes\n this.$root.$emit(EVENT_STATE_SYNC, this.safeId(), this.show)\n },\n checkDisplayBlock() {\n // Check to see if the collapse has `display: block !important` set\n // We can't set `display: none` directly on `this.$el`, as it would\n // trigger a new transition to start (or cancel a current one)\n const restore = hasClass(this.$el, 'show')\n removeClass(this.$el, 'show')\n const isBlock = getCS(this.$el).display === 'block'\n if (restore) {\n addClass(this.$el, 'show')\n }\n return isBlock\n },\n clickHandler(evt) {\n // If we are in a nav/navbar, close the collapse when non-disabled link clicked\n const el = evt.target\n if (!this.isNav || !el || getCS(this.$el).display !== 'block') {\n /* istanbul ignore next: can't test getComputedStyle in JSDOM */\n return\n }\n if (matches(el, '.nav-link,.dropdown-item') || closest('.nav-link,.dropdown-item', el)) {\n if (!this.checkDisplayBlock()) {\n // Only close the collapse if it is not forced to be `display: block !important`\n this.show = false\n }\n }\n },\n handleToggleEvt(target) {\n if (target !== this.safeId()) {\n return\n }\n this.toggle()\n },\n handleAccordionEvt(openedId, accordion) {\n if (!this.accordion || accordion !== this.accordion) {\n return\n }\n if (openedId === this.safeId()) {\n // Open this collapse if not shown\n if (!this.show) {\n this.toggle()\n }\n } else {\n // Close this collapse if shown\n if (this.show) {\n this.toggle()\n }\n }\n },\n handleResize() {\n // Handler for orientation/resize to set collapsed state in nav/navbar\n this.show = getCS(this.$el).display === 'block'\n }\n },\n render(h) {\n const scope = {\n visible: this.show,\n close: () => (this.show = false)\n }\n const content = h(\n this.tag,\n {\n class: this.classObject,\n directives: [{ name: 'show', value: this.show }],\n attrs: { id: this.safeId() },\n on: { click: this.clickHandler }\n },\n [this.normalizeSlot('default', scope)]\n )\n return h(\n BVCollapse,\n {\n props: { appear: this.appear },\n on: {\n enter: this.onEnter,\n afterEnter: this.onAfterEnter,\n leave: this.onLeave,\n afterLeave: this.onAfterLeave\n }\n },\n [content]\n )\n }\n})\n","import { keys } from './object'\nimport { eventOn, eventOff } from './events'\n\nconst allListenTypes = { hover: true, click: true, focus: true }\n\nconst BVBoundListeners = '__BV_boundEventListeners__'\n\nconst getTargets = binding => {\n const targets = keys(binding.modifiers || {}).filter(t => !allListenTypes[t])\n\n if (binding.value) {\n targets.push(binding.value)\n }\n\n return targets\n}\n\nconst bindTargets = (vnode, binding, listenTypes, fn) => {\n const targets = getTargets(binding)\n\n const listener = () => {\n fn({ targets, vnode })\n }\n\n keys(allListenTypes).forEach(type => {\n if (listenTypes[type] || binding.modifiers[type]) {\n eventOn(vnode.elm, type, listener)\n const boundListeners = vnode.elm[BVBoundListeners] || {}\n boundListeners[type] = boundListeners[type] || []\n boundListeners[type].push(listener)\n vnode.elm[BVBoundListeners] = boundListeners\n }\n })\n\n // Return the list of targets\n return targets\n}\n\nconst unbindTargets = (vnode, binding, listenTypes) => {\n keys(allListenTypes).forEach(type => {\n if (listenTypes[type] || binding.modifiers[type]) {\n const boundListeners = vnode.elm[BVBoundListeners] && vnode.elm[BVBoundListeners][type]\n if (boundListeners) {\n boundListeners.forEach(listener => eventOff(vnode.elm, type, listener))\n delete vnode.elm[BVBoundListeners][type]\n }\n }\n })\n}\n\nexport { bindTargets, unbindTargets, getTargets }\n\nexport default bindTargets\n","import looseEqual from '../../utils/loose-equal'\nimport { addClass, hasAttr, removeAttr, removeClass, setAttr } from '../../utils/dom'\nimport { isBrowser } from '../../utils/env'\nimport { bindTargets, getTargets, unbindTargets } from '../../utils/target'\n\n// Target listen types\nconst listenTypes = { click: true }\n\n// Property key for handler storage\nconst BV_TOGGLE = '__BV_toggle__'\nconst BV_TOGGLE_STATE = '__BV_toggle_STATE__'\nconst BV_TOGGLE_CONTROLS = '__BV_toggle_CONTROLS__'\nconst BV_TOGGLE_TARGETS = '__BV_toggle_TARGETS__'\n\n// Emitted control event for collapse (emitted to collapse)\nconst EVENT_TOGGLE = 'bv::toggle::collapse'\n\n// Listen to event for toggle state update (emitted by collapse)\nconst EVENT_STATE = 'bv::collapse::state'\n\n// Private event emitted on $root to ensure the toggle state is always synced.\n// Gets emitted even if the state of b-collapse has not changed.\n// This event is NOT to be documented as people should not be using it.\nconst EVENT_STATE_SYNC = 'bv::collapse::sync::state'\n// Private event we send to collapse to request state update sync event\nconst EVENT_STATE_REQUEST = 'bv::request::collapse::state'\n\n// Reset and remove a property from the provided element\nconst resetProp = (el, prop) => {\n el[prop] = null\n delete el[prop]\n}\n\n// Handle targets update\nconst handleTargets = ({ targets, vnode }) => {\n targets.forEach(target => {\n vnode.context.$root.$emit(EVENT_TOGGLE, target)\n })\n}\n\n// Handle directive updates\n/* istanbul ignore next: not easy to test */\nconst handleUpdate = (el, binding, vnode) => {\n if (!isBrowser) {\n return\n }\n\n if (!looseEqual(getTargets(binding), el[BV_TOGGLE_TARGETS])) {\n // Targets have changed, so update accordingly\n unbindTargets(vnode, binding, listenTypes)\n const targets = bindTargets(vnode, binding, listenTypes, handleTargets)\n // Update targets array to element\n el[BV_TOGGLE_TARGETS] = targets\n // Add aria attributes to element\n el[BV_TOGGLE_CONTROLS] = targets.join(' ')\n // ensure aria-controls is up to date\n setAttr(el, 'aria-controls', el[BV_TOGGLE_CONTROLS])\n // Request a state update from targets so that we can ensure\n // expanded state is correct\n targets.forEach(target => {\n vnode.context.$root.$emit(EVENT_STATE_REQUEST, target)\n })\n }\n\n // Ensure the collapse class and aria-* attributes persist\n // after element is updated (either by parent re-rendering\n // or changes to this element or its contents\n if (el[BV_TOGGLE_STATE] === true) {\n addClass(el, 'collapsed')\n setAttr(el, 'aria-expanded', 'true')\n } else if (el[BV_TOGGLE_STATE] === false) {\n removeClass(el, 'collapsed')\n setAttr(el, 'aria-expanded', 'false')\n }\n setAttr(el, 'aria-controls', el[BV_TOGGLE_CONTROLS])\n}\n\n/*\n * Export our directive\n */\nexport const VBToggle = {\n bind(el, binding, vnode) {\n const targets = bindTargets(vnode, binding, listenTypes, handleTargets)\n if (isBrowser && vnode.context && targets.length > 0) {\n // Add targets array to element\n el[BV_TOGGLE_TARGETS] = targets\n // Add aria attributes to element\n el[BV_TOGGLE_CONTROLS] = targets.join(' ')\n // State is initially collapsed until we receive a state event\n el[BV_TOGGLE_STATE] = false\n setAttr(el, 'aria-controls', el[BV_TOGGLE_CONTROLS])\n setAttr(el, 'aria-expanded', 'false')\n // If element is not a button, we add `role=\"button\"` for accessibility\n if (el.tagName !== 'BUTTON' && !hasAttr(el, 'role')) {\n setAttr(el, 'role', 'button')\n }\n\n // Toggle state handler\n const toggleDirectiveHandler = (id, state) => {\n const targets = el[BV_TOGGLE_TARGETS] || []\n if (targets.indexOf(id) !== -1) {\n // Set aria-expanded state\n setAttr(el, 'aria-expanded', state ? 'true' : 'false')\n // Set/Clear 'collapsed' class state\n el[BV_TOGGLE_STATE] = state\n if (state) {\n removeClass(el, 'collapsed')\n } else {\n addClass(el, 'collapsed')\n }\n }\n }\n\n // Store the toggle handler on the element\n el[BV_TOGGLE] = toggleDirectiveHandler\n\n // Listen for toggle state changes (public)\n vnode.context.$root.$on(EVENT_STATE, el[BV_TOGGLE])\n // Listen for toggle state sync (private)\n vnode.context.$root.$on(EVENT_STATE_SYNC, el[BV_TOGGLE])\n }\n },\n componentUpdated: handleUpdate,\n updated: handleUpdate,\n unbind(el, binding, vnode) /* istanbul ignore next */ {\n unbindTargets(vnode, binding, listenTypes)\n // Remove our $root listener\n if (el[BV_TOGGLE]) {\n vnode.context.$root.$off(EVENT_STATE, el[BV_TOGGLE])\n vnode.context.$root.$off(EVENT_STATE_SYNC, el[BV_TOGGLE])\n }\n // Reset custom props\n resetProp(el, BV_TOGGLE)\n resetProp(el, BV_TOGGLE_STATE)\n resetProp(el, BV_TOGGLE_CONTROLS)\n resetProp(el, BV_TOGGLE_TARGETS)\n // Reset classes/attrs\n removeClass(el, 'collapsed')\n removeAttr(el, 'aria-expanded')\n removeAttr(el, 'aria-controls')\n removeAttr(el, 'role')\n }\n}\n","import { BCollapse } from './collapse'\nimport { VBToggle } from '../../directives/toggle/toggle'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst CollapsePlugin = /*#__PURE__*/ pluginFactory({\n components: { BCollapse },\n directives: { VBToggle }\n})\n\nexport { CollapsePlugin, BCollapse }\n","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.16.1\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n\nvar timeoutDuration = function () {\n var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}();\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nfunction getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width']) + parseFloat(styles['border' + sideB + 'Width']);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.width;\n var height = sizes.height || element.clientHeight || result.height;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop);\n var marginLeft = parseFloat(styles.marginLeft);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n var parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is <html> the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized]);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width']);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n // flips variation if popper content overflows boundaries\n var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\n\n var flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.<br />\n * It will read the variation of the `placement` property.<br />\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.<br />\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.<br />\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.<br />\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.<br />\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overridden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.<br />\n * By default, it is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","import { assign, defineProperty, defineProperties, readonlyDescriptor } from './object'\n\nclass BvEvent {\n constructor(type, eventInit = {}) {\n // Start by emulating native Event constructor\n if (!type) {\n /* istanbul ignore next */\n throw new TypeError(\n `Failed to construct '${this.constructor.name}'. 1 argument required, ${\n arguments.length\n } given.`\n )\n }\n\n // Merge defaults first, the eventInit, and the type last\n // so it can't be overwritten\n assign(this, BvEvent.Defaults, this.constructor.Defaults, eventInit, { type })\n\n // Freeze some props as readonly, but leave them enumerable\n defineProperties(this, {\n type: readonlyDescriptor(),\n cancelable: readonlyDescriptor(),\n nativeEvent: readonlyDescriptor(),\n target: readonlyDescriptor(),\n relatedTarget: readonlyDescriptor(),\n vueTarget: readonlyDescriptor(),\n componentId: readonlyDescriptor()\n })\n\n // Create a private variable using closure scoping\n let defaultPrevented = false\n // Recreate preventDefault method. One way setter\n this.preventDefault = function preventDefault() {\n if (this.cancelable) {\n defaultPrevented = true\n }\n }\n\n // Create `defaultPrevented` publicly accessible prop that\n // can only be altered by the preventDefault method\n defineProperty(this, 'defaultPrevented', {\n enumerable: true,\n get() {\n return defaultPrevented\n }\n })\n }\n\n static get Defaults() {\n return {\n type: '',\n cancelable: true,\n nativeEvent: null,\n target: null,\n relatedTarget: null,\n vueTarget: null,\n componentId: null\n }\n }\n}\n\n// Named Exports\nexport { BvEvent }\n","import { contains } from '../utils/dom'\nimport { EVENT_OPTIONS_NO_CAPTURE, eventOn, eventOff } from '../utils/events'\n\n// @vue/component\nexport default {\n data() {\n return {\n listenForClickOut: false\n }\n },\n watch: {\n listenForClickOut(newValue, oldValue) {\n if (newValue !== oldValue) {\n eventOff(\n this.clickOutElement,\n this.clickOutEventName,\n this._clickOutHandler,\n EVENT_OPTIONS_NO_CAPTURE\n )\n if (newValue) {\n eventOn(\n this.clickOutElement,\n this.clickOutEventName,\n this._clickOutHandler,\n EVENT_OPTIONS_NO_CAPTURE\n )\n }\n }\n }\n },\n beforeCreate() {\n // Declare non-reactive properties\n this.clickOutElement = null\n this.clickOutEventName = null\n },\n mounted() {\n if (!this.clickOutElement) {\n this.clickOutElement = document\n }\n if (!this.clickOutEventName) {\n this.clickOutEventName = 'click'\n }\n if (this.listenForClickOut) {\n eventOn(\n this.clickOutElement,\n this.clickOutEventName,\n this._clickOutHandler,\n EVENT_OPTIONS_NO_CAPTURE\n )\n }\n },\n beforeDestroy() /* istanbul ignore next */ {\n eventOff(\n this.clickOutElement,\n this.clickOutEventName,\n this._clickOutHandler,\n EVENT_OPTIONS_NO_CAPTURE\n )\n },\n methods: {\n isClickOut(evt) {\n return !contains(this.$el, evt.target)\n },\n _clickOutHandler(evt) {\n if (this.clickOutHandler && this.isClickOut(evt)) {\n this.clickOutHandler(evt)\n }\n }\n }\n}\n","import { EVENT_OPTIONS_NO_CAPTURE, eventOn, eventOff } from '../utils/events'\n\n// @vue/component\nexport default {\n data() {\n return {\n listenForFocusIn: false\n }\n },\n watch: {\n listenForFocusIn(newValue, oldValue) {\n if (newValue !== oldValue) {\n eventOff(this.focusInElement, 'focusin', this._focusInHandler, EVENT_OPTIONS_NO_CAPTURE)\n if (newValue) {\n eventOn(this.focusInElement, 'focusin', this._focusInHandler, EVENT_OPTIONS_NO_CAPTURE)\n }\n }\n }\n },\n beforeCreate() {\n // Declare non-reactive properties\n this.focusInElement = null\n },\n mounted() {\n if (!this.focusInElement) {\n this.focusInElement = document\n }\n if (this.listenForFocusIn) {\n eventOn(this.focusInElement, 'focusin', this._focusInHandler, EVENT_OPTIONS_NO_CAPTURE)\n }\n },\n beforeDestroy() /* istanbul ignore next */ {\n eventOff(this.focusInElement, 'focusin', this._focusInHandler, EVENT_OPTIONS_NO_CAPTURE)\n },\n methods: {\n _focusInHandler(evt) {\n if (this.focusInHandler) {\n this.focusInHandler(evt)\n }\n }\n }\n}\n","import Popper from 'popper.js'\nimport KeyCodes from '../utils/key-codes'\nimport { BvEvent } from '../utils/bv-event.class'\nimport { closest, contains, isVisible, requestAF, selectAll } from '../utils/dom'\nimport { isNull } from '../utils/inspect'\nimport { HTMLElement } from '../utils/safe-types'\nimport { warn } from '../utils/warn'\nimport clickOutMixin from './click-out'\nimport focusInMixin from './focus-in'\nimport idMixin from './id'\n\n// Return an array of visible items\nconst filterVisibles = els => (els || []).filter(isVisible)\n\n// Root dropdown event names\nconst ROOT_DROPDOWN_PREFIX = 'bv::dropdown::'\nconst ROOT_DROPDOWN_SHOWN = `${ROOT_DROPDOWN_PREFIX}shown`\nconst ROOT_DROPDOWN_HIDDEN = `${ROOT_DROPDOWN_PREFIX}hidden`\n\n// Dropdown item CSS selectors\nconst Selector = {\n FORM_CHILD: '.dropdown form',\n ITEM_SELECTOR: ['.dropdown-item', '.b-dropdown-form']\n .map(selector => `${selector}:not(.disabled):not([disabled])`)\n .join(', ')\n}\n\n// Popper attachment positions\nconst AttachmentMap = {\n // Dropup left align\n TOP: 'top-start',\n // Dropup right align\n TOPEND: 'top-end',\n // Dropdown left align\n BOTTOM: 'bottom-start',\n // Dropdown right align\n BOTTOMEND: 'bottom-end',\n // Dropright left align\n RIGHT: 'right-start',\n // Dropright right align\n RIGHTEND: 'right-end',\n // Dropleft left align\n LEFT: 'left-start',\n // Dropleft right align\n LEFTEND: 'left-end'\n}\n\n// @vue/component\nexport default {\n mixins: [idMixin, clickOutMixin, focusInMixin],\n provide() {\n return { bvDropdown: this }\n },\n inject: {\n bvNavbar: { default: null }\n },\n props: {\n disabled: {\n type: Boolean,\n default: false\n },\n dropup: {\n // place on top if possible\n type: Boolean,\n default: false\n },\n dropright: {\n // place right if possible\n type: Boolean,\n default: false\n },\n dropleft: {\n // place left if possible\n type: Boolean,\n default: false\n },\n right: {\n // Right align menu (default is left align)\n type: Boolean,\n default: false\n },\n offset: {\n // Number of pixels to offset menu, or a CSS unit value (i.e. 1px, 1rem, etc)\n type: [Number, String],\n default: 0\n },\n noFlip: {\n // Disable auto-flipping of menu from bottom<=>top\n type: Boolean,\n default: false\n },\n popperOpts: {\n // type: Object,\n default: () => {}\n },\n boundary: {\n // String: `scrollParent`, `window` or `viewport`\n // HTMLElement: HTML Element reference\n type: [String, HTMLElement],\n default: 'scrollParent'\n }\n },\n data() {\n return {\n visible: false,\n visibleChangePrevented: false\n }\n },\n computed: {\n inNavbar() {\n return !isNull(this.bvNavbar)\n },\n toggler() {\n const toggle = this.$refs.toggle\n return toggle ? toggle.$el || toggle : null\n },\n 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 return ''\n }\n },\n watch: {\n visible(newValue, oldValue) {\n if (this.visibleChangePrevented) {\n this.visibleChangePrevented = false\n return\n }\n\n if (newValue !== oldValue) {\n const evtName = newValue ? 'show' : 'hide'\n const bvEvt = new BvEvent(evtName, {\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(bvEvt)\n if (bvEvt.defaultPrevented) {\n // Reset value and exit if canceled\n this.visibleChangePrevented = true\n this.visible = oldValue\n // Just in case a child element triggered `this.hide(true)`\n this.$off('hidden', this.focusToggler)\n return\n }\n if (evtName === 'show') {\n this.showMenu()\n } else {\n this.hideMenu()\n }\n }\n },\n 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() {\n // Create non-reactive property\n this.$_popper = null\n },\n deactivated() /* istanbul ignore next: not easy to test */ {\n // In case we are inside a `<keep-alive>`\n this.visible = false\n this.whileOpenListen(false)\n this.destroyPopper()\n },\n beforeDestroy() {\n this.visible = false\n this.whileOpenListen(false)\n this.destroyPopper()\n },\n methods: {\n // Event emitter\n emitEvent(bvEvt) {\n const { type } = bvEvt\n this.$emit(type, bvEvt)\n this.$root.$emit(`${ROOT_DROPDOWN_PREFIX}${type}`, bvEvt)\n },\n showMenu() {\n if (this.disabled) {\n /* istanbul ignore next */\n return\n }\n\n // Only instantiate Popper.js when dropdown is not in `<b-navbar>`\n if (!this.inNavbar) {\n if (typeof Popper === 'undefined') {\n /* istanbul ignore next */\n warn('Popper.js not found. Falling back to CSS positioning', 'BDropdown')\n } else {\n // For dropup with alignment we use the parent element as popper container\n let el = (this.dropup && this.right) || this.split ? this.$el : this.$refs.toggle\n // Make sure we have a reference to an element, not a component!\n el = el.$el || el\n // Instantiate Popper.js\n this.createPopper(el)\n }\n }\n\n // Ensure other menus are closed\n this.$root.$emit(ROOT_DROPDOWN_SHOWN, this)\n\n // Enable listeners\n this.whileOpenListen(true)\n\n // Wrap in `$nextTick()` to ensure menu is fully rendered/shown\n this.$nextTick(() => {\n // Focus on the menu container on show\n this.focusMenu()\n // Emit the shown event\n this.$emit('shown')\n })\n },\n hideMenu() {\n this.whileOpenListen(false)\n this.$root.$emit(ROOT_DROPDOWN_HIDDEN, this)\n this.$emit('hidden')\n this.destroyPopper()\n },\n createPopper(element) {\n this.destroyPopper()\n this.$_popper = new Popper(element, this.$refs.menu, this.getPopperConfig())\n },\n destroyPopper() {\n // Ensure popper event listeners are removed cleanly\n if (this.$_popper) {\n this.$_popper.destroy()\n }\n this.$_popper = null\n },\n updatePopper() /* istanbul ignore next: not easy to test */ {\n // Instructs popper to re-computes the dropdown position\n // usefull if the content changes size\n try {\n this.$_popper.scheduleUpdate()\n } catch {}\n },\n getPopperConfig() {\n let placement = AttachmentMap.BOTTOM\n if (this.dropup) {\n placement = this.right ? AttachmentMap.TOPEND : AttachmentMap.TOP\n } else if (this.dropright) {\n placement = AttachmentMap.RIGHT\n } else if (this.dropleft) {\n placement = AttachmentMap.LEFT\n } else if (this.right) {\n placement = AttachmentMap.BOTTOMEND\n }\n const popperConfig = {\n placement,\n modifiers: {\n offset: { offset: this.offset || 0 },\n flip: { enabled: !this.noFlip }\n }\n }\n if (this.boundary) {\n popperConfig.modifiers.preventOverflow = { boundariesElement: this.boundary }\n }\n return { ...popperConfig, ...(this.popperOpts || {}) }\n },\n // Turn listeners on/off while open\n whileOpenListen(isOpen) {\n // Hide the dropdown when clicked outside\n this.listenForClickOut = isOpen\n // Hide the dropdown when it loses focus\n this.listenForFocusIn = isOpen\n // Hide the dropdown when another dropdown is opened\n const method = isOpen ? '$on' : '$off'\n this.$root[method](ROOT_DROPDOWN_SHOWN, this.rootCloseListener)\n },\n rootCloseListener(vm) {\n if (vm !== this) {\n this.visible = false\n }\n },\n show() {\n // Public method to show dropdown\n if (this.disabled) {\n return\n }\n // Wrap in a `requestAF()` to allow any previous\n // click handling to occur first\n requestAF(() => {\n this.visible = true\n })\n },\n hide(refocus = false) {\n // Public method to hide dropdown\n if (this.disabled) {\n /* istanbul ignore next */\n return\n }\n this.visible = false\n if (refocus) {\n // Child element is closing the dropdown on click\n this.$once('hidden', this.focusToggler)\n }\n },\n // Called only by a button that toggles the menu\n toggle(evt) {\n evt = evt || {}\n // Early exit when not a click event or ENTER, SPACE or DOWN were pressed\n const { type, keyCode } = evt\n if (\n type !== 'click' &&\n !(\n type === 'keydown' &&\n [KeyCodes.ENTER, KeyCodes.SPACE, KeyCodes.DOWN].indexOf(keyCode) !== -1\n )\n ) {\n /* istanbul ignore next */\n return\n }\n /* istanbul ignore next */\n if (this.disabled) {\n this.visible = false\n return\n }\n this.$emit('toggle', evt)\n evt.preventDefault()\n evt.stopPropagation()\n // Toggle visibility\n if (this.visible) {\n this.hide(true)\n } else {\n this.show()\n }\n },\n // Mousedown handler for the toggle\n onMousedown(evt) /* istanbul ignore next */ {\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 evt.preventDefault()\n },\n // Called from dropdown menu context\n onKeydown(evt) {\n const { keyCode } = evt\n if (keyCode === KeyCodes.ESC) {\n // Close on ESC\n this.onEsc(evt)\n } else if (keyCode === KeyCodes.DOWN) {\n // Down Arrow\n this.focusNext(evt, false)\n } else if (keyCode === KeyCodes.UP) {\n // Up Arrow\n this.focusNext(evt, true)\n }\n },\n // If user presses ESC, close the menu\n onEsc(evt) {\n if (this.visible) {\n this.visible = false\n evt.preventDefault()\n evt.stopPropagation()\n // Return focus to original trigger button\n this.$once('hidden', this.focusToggler)\n }\n },\n // Called only in split button mode, for the split button\n onSplitClick(evt) {\n /* istanbul ignore next */\n if (this.disabled) {\n this.visible = false\n return\n }\n this.$emit('click', evt)\n },\n // Shared hide handler between click-out and focus-in events\n hideHandler(evt) {\n const { target } = evt\n if (this.visible && !contains(this.$refs.menu, target) && !contains(this.toggler, target)) {\n this.hide()\n }\n },\n // Document click-out listener\n clickOutHandler(evt) {\n this.hideHandler(evt)\n },\n // Document focus-in listener\n focusInHandler(evt) {\n this.hideHandler(evt)\n },\n // Keyboard nav\n focusNext(evt, up) {\n // Ignore key up/down on form elements\n const { target } = evt\n if (!this.visible || (evt && closest(Selector.FORM_CHILD, target))) {\n /* istanbul ignore next: should never happen */\n return\n }\n evt.preventDefault()\n evt.stopPropagation()\n this.$nextTick(() => {\n const items = this.getItems()\n if (items.length < 1) {\n /* istanbul ignore next: should never happen */\n return\n }\n let index = items.indexOf(target)\n if (up && index > 0) {\n index--\n } else if (!up && index < items.length - 1) {\n index++\n }\n if (index < 0) {\n /* istanbul ignore next: should never happen */\n index = 0\n }\n this.focusItem(index, items)\n })\n },\n focusItem(idx, items) {\n const el = items.find((el, i) => i === idx)\n if (el && el.focus) {\n el.focus()\n }\n },\n getItems() {\n // Get all items\n return filterVisibles(selectAll(Selector.ITEM_SELECTOR, this.$refs.menu))\n },\n focusMenu() {\n try {\n this.$refs.menu.focus()\n } catch {}\n },\n focusToggler() {\n this.$nextTick(() => {\n const toggler = this.toggler\n if (toggler && toggler.focus) {\n toggler.focus()\n }\n })\n }\n }\n}\n","import Vue from '../../utils/vue'\nimport { arrayIncludes } from '../../utils/array'\nimport { stripTags } from '../../utils/html'\nimport { getComponentConfig } from '../../utils/config'\nimport idMixin from '../../mixins/id'\nimport dropdownMixin from '../../mixins/dropdown'\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\nimport { BButton } from '../button/button'\n\nconst NAME = 'BDropdown'\n\nexport const props = {\n text: {\n // Button label\n type: String,\n default: ''\n },\n html: {\n // Button label\n type: String\n },\n size: {\n type: String,\n default: () => getComponentConfig(NAME, 'size')\n },\n variant: {\n type: String,\n default: () => getComponentConfig(NAME, 'variant')\n },\n block: {\n type: Boolean,\n default: false\n },\n menuClass: {\n type: [String, Array, Object],\n default: null\n },\n toggleTag: {\n type: String,\n default: 'button'\n },\n toggleText: {\n // This really should be toggleLabel\n type: String,\n default: () => getComponentConfig(NAME, 'toggleText')\n },\n toggleClass: {\n type: [String, Array, Object],\n default: null\n },\n noCaret: {\n type: Boolean,\n default: false\n },\n split: {\n type: Boolean,\n default: false\n },\n splitHref: {\n type: String\n // default: undefined\n },\n splitTo: {\n type: [String, Object]\n // default: undefined\n },\n splitVariant: {\n type: String,\n default: () => getComponentConfig(NAME, 'splitVariant')\n },\n splitClass: {\n type: [String, Array, Object],\n default: null\n },\n splitButtonType: {\n type: String,\n default: 'button',\n validator: value => arrayIncludes(['button', 'submit', 'reset'], value)\n },\n lazy: {\n // If true, only render menu contents when open\n type: Boolean,\n default: false\n },\n role: {\n type: String,\n default: 'menu'\n }\n}\n\n// @vue/component\nexport const BDropdown = /*#__PURE__*/ Vue.extend({\n name: NAME,\n mixins: [idMixin, dropdownMixin, normalizeSlotMixin],\n props,\n computed: {\n dropdownClasses() {\n return [\n this.directionClass,\n {\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': this.split || !this.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': this.block && this.split,\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 'position-static': this.boundary !== 'scrollParent' || !this.boundary\n }\n ]\n },\n menuClasses() {\n return [\n this.menuClass,\n {\n 'dropdown-menu-right': this.right,\n show: this.visible\n }\n ]\n },\n toggleClasses() {\n return [\n this.toggleClass,\n {\n 'dropdown-toggle-split': this.split,\n 'dropdown-toggle-no-caret': this.noCaret && !this.split\n }\n ]\n }\n },\n render(h) {\n let split = h()\n const buttonContent = this.normalizeSlot('button-content') || this.html || stripTags(this.text)\n if (this.split) {\n const btnProps = {\n variant: this.splitVariant || this.variant,\n size: this.size,\n block: this.block,\n disabled: this.disabled\n }\n // We add these as needed due to router-link issues with defined property with undefined/null values\n if (this.splitTo) {\n btnProps.to = this.splitTo\n } else if (this.splitHref) {\n btnProps.href = this.splitHref\n } else if (this.splitButtonType) {\n btnProps.type = this.splitButtonType\n }\n split = h(\n BButton,\n {\n ref: 'button',\n props: btnProps,\n class: this.splitClass,\n attrs: {\n id: this.safeId('_BV_button_')\n },\n on: {\n click: this.onSplitClick\n }\n },\n [buttonContent]\n )\n }\n const toggle = h(\n BButton,\n {\n ref: 'toggle',\n staticClass: 'dropdown-toggle',\n class: this.toggleClasses,\n props: {\n tag: this.toggleTag,\n variant: this.variant,\n size: this.size,\n block: this.block && !this.split,\n disabled: this.disabled\n },\n attrs: {\n id: this.safeId('_BV_toggle_'),\n 'aria-haspopup': 'true',\n 'aria-expanded': this.visible ? 'true' : 'false'\n },\n on: {\n mousedown: this.onMousedown,\n click: this.toggle,\n keydown: this.toggle // Handle ENTER, SPACE and DOWN\n }\n },\n [this.split ? h('span', { class: ['sr-only'] }, [this.toggleText]) : buttonContent]\n )\n const menu = h(\n 'ul',\n {\n ref: 'menu',\n staticClass: 'dropdown-menu',\n class: this.menuClasses,\n attrs: {\n role: this.role,\n tabindex: '-1',\n 'aria-labelledby': this.safeId(this.split ? '_BV_button_' : '_BV_toggle_')\n },\n on: {\n keydown: this.onKeydown // Handle UP, DOWN and ESC\n }\n },\n !this.lazy || this.visible ? this.normalizeSlot('default', { hide: this.hide }) : [h()]\n )\n return h(\n 'div',\n {\n staticClass: 'dropdown b-dropdown',\n class: this.dropdownClasses,\n attrs: { id: this.safeId() }\n },\n [split, toggle, menu]\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport { requestAF } from '../../utils/dom'\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\nimport { BLink, propsFactory as linkPropsFactory } from '../link/link'\n\nexport const props = linkPropsFactory()\n\n// @vue/component\nexport const BDropdownItem = /*#__PURE__*/ Vue.extend({\n name: 'BDropdownItem',\n mixins: [normalizeSlotMixin],\n inheritAttrs: false,\n inject: {\n bvDropdown: {\n default: null\n }\n },\n props: {\n ...props,\n variant: {\n type: String,\n default: null\n }\n },\n methods: {\n closeDropdown() {\n // Close on next animation frame to allow <b-link> time to process\n requestAF(() => {\n if (this.bvDropdown) {\n this.bvDropdown.hide(true)\n }\n })\n },\n onClick(evt) {\n this.$emit('click', evt)\n this.closeDropdown()\n }\n },\n render(h) {\n return h('li', { attrs: { role: 'presentation' } }, [\n h(\n BLink,\n {\n props: this.$props,\n staticClass: 'dropdown-item',\n class: {\n [`text-${this.variant}`]: this.variant && !(this.active || this.disabled)\n },\n attrs: { ...this.$attrs, role: 'menuitem' },\n on: { click: this.onClick },\n ref: 'item'\n },\n this.normalizeSlot('default')\n )\n ])\n }\n})\n","import Vue from '../../utils/vue'\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\n\nexport const props = {\n active: {\n type: Boolean,\n default: false\n },\n activeClass: {\n type: String,\n default: 'active'\n },\n disabled: {\n type: Boolean,\n default: false\n },\n variant: {\n type: String,\n default: null\n }\n}\n\n// @vue/component\nexport const BDropdownItemButton = /*#__PURE__*/ Vue.extend({\n name: 'BDropdownItemButton',\n mixins: [normalizeSlotMixin],\n inheritAttrs: false,\n inject: {\n bvDropdown: {\n default: null\n }\n },\n props,\n methods: {\n closeDropdown() {\n if (this.bvDropdown) {\n this.bvDropdown.hide(true)\n }\n },\n onClick(evt) {\n this.$emit('click', evt)\n this.closeDropdown()\n }\n },\n render(h) {\n return h('li', { attrs: { role: 'presentation' } }, [\n h(\n 'button',\n {\n staticClass: 'dropdown-item',\n class: {\n [this.activeClass]: this.active,\n [`text-${this.variant}`]: this.variant && !(this.active || this.disabled)\n },\n attrs: {\n ...this.$attrs,\n role: 'menuitem',\n type: 'button',\n disabled: this.disabled\n },\n on: { click: this.onClick },\n ref: 'button'\n },\n this.normalizeSlot('default')\n )\n ])\n }\n})\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\n\nexport const props = {\n id: {\n type: String,\n default: null\n },\n tag: {\n type: String,\n default: 'header'\n },\n variant: {\n type: String,\n default: null\n }\n}\n\n// @vue/component\nexport const BDropdownHeader = /*#__PURE__*/ Vue.extend({\n name: 'BDropdownHeader',\n functional: true,\n props,\n render(h, { props, data, children }) {\n const $attrs = data.attrs || {}\n data.attrs = {}\n return h('li', mergeData(data, { attrs: { role: 'presentation' } }), [\n h(\n props.tag,\n {\n staticClass: 'dropdown-header',\n class: {\n [`text-${props.variant}`]: props.variant\n },\n attrs: {\n ...$attrs,\n id: props.id || null,\n role: 'heading'\n },\n ref: 'header'\n },\n children\n )\n ])\n }\n})\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\n\nexport const props = {\n tag: {\n type: String,\n default: 'hr'\n }\n}\n\n// @vue/component\nexport const BDropdownDivider = /*#__PURE__*/ Vue.extend({\n name: 'BDropdownDivider',\n functional: true,\n props,\n render(h, { props, data }) {\n const $attrs = data.attrs || {}\n data.attrs = {}\n return h('li', mergeData(data, { attrs: { role: 'presentation' } }), [\n h(props.tag, {\n staticClass: 'dropdown-divider',\n attrs: {\n ...$attrs,\n role: 'separator',\n 'aria-orientation': 'horizontal'\n },\n ref: 'divider'\n })\n ])\n }\n})\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\n\nexport const props = {\n id: {\n type: String,\n default: null\n },\n inline: {\n type: Boolean,\n default: false\n },\n novalidate: {\n type: Boolean,\n default: false\n },\n validated: {\n type: Boolean,\n default: false\n }\n}\n\n// @vue/component\nexport const BForm = /*#__PURE__*/ Vue.extend({\n name: 'BForm',\n functional: true,\n props,\n render(h, { props, data, children }) {\n return h(\n 'form',\n mergeData(data, {\n class: {\n 'form-inline': props.inline,\n 'was-validated': props.validated\n },\n attrs: {\n id: props.id,\n novalidate: props.novalidate\n }\n }),\n children\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\nimport { BForm, props as formProps } from '../form/form'\n\n// @vue/component\nexport const BDropdownForm = /*#__PURE__*/ Vue.extend({\n name: 'BDropdownForm',\n functional: true,\n props: {\n ...formProps,\n disabled: {\n type: Boolean,\n default: false\n },\n formClass: {\n type: [String, Object, Array],\n default: null\n }\n },\n render(h, { props, data, children }) {\n const $attrs = data.attrs || {}\n const $listeners = data.on || {}\n data.attrs = {}\n data.on = {}\n return h('li', mergeData(data, { attrs: { role: 'presentation' } }), [\n h(\n BForm,\n {\n ref: 'form',\n staticClass: 'b-dropdown-form',\n class: [props.formClass, { disabled: props.disabled }],\n props,\n attrs: {\n ...$attrs,\n disabled: props.disabled,\n // Tab index of -1 for keyboard navigation\n tabindex: props.disabled ? null : '-1'\n },\n on: $listeners\n },\n children\n )\n ])\n }\n})\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\n\n// @vue/component\nexport const BDropdownText = /*#__PURE__*/ Vue.extend({\n name: 'BDropdownText',\n functional: true,\n props: {\n tag: {\n type: String,\n default: 'p'\n },\n variant: {\n type: String,\n default: null\n }\n },\n render(h, { props, data, children }) {\n const $attrs = data.attrs || {}\n data.attrs = {}\n return h('li', mergeData(data, { attrs: { role: 'presentation' } }), [\n h(\n props.tag,\n {\n staticClass: 'b-dropdown-text',\n class: {\n [`text-${props.variant}`]: props.variant\n },\n props,\n attrs: $attrs,\n ref: 'text'\n },\n children\n )\n ])\n }\n})\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\nimport { hasNormalizedSlot, normalizeSlot } from '../../utils/normalize-slot'\n\nexport const props = {\n id: {\n type: String,\n default: null\n },\n header: {\n type: String,\n default: null\n },\n headerTag: {\n type: String,\n default: 'header'\n },\n headerVariant: {\n type: String,\n default: null\n },\n headerClasses: {\n type: [String, Array, Object],\n default: null\n },\n ariaDescribedby: {\n type: String,\n default: null\n }\n}\n\n// @vue/component\nexport const BDropdownGroup = /*#__PURE__*/ Vue.extend({\n name: 'BDropdownGroup',\n functional: true,\n props,\n render(h, { props, data, slots, scopedSlots }) {\n const $slots = slots()\n const $scopedSlots = scopedSlots || {}\n const $attrs = data.attrs || {}\n data.attrs = {}\n let header\n let headerId = null\n\n if (hasNormalizedSlot('header', $scopedSlots, $slots) || props.header) {\n headerId = props.id ? `_bv_${props.id}_group_dd_header` : null\n header = h(\n props.headerTag,\n {\n staticClass: 'dropdown-header',\n class: [props.headerClasses, { [`text-${props.variant}`]: props.variant }],\n attrs: {\n id: headerId,\n role: 'heading'\n }\n },\n normalizeSlot('header', {}, $scopedSlots, $slots) || props.header\n )\n }\n\n const adb = [headerId, props.ariaDescribedBy]\n .filter(Boolean)\n .join(' ')\n .trim()\n\n return h('li', mergeData(data, { attrs: { role: 'presentation' } }), [\n header || h(),\n h(\n 'ul',\n {\n staticClass: 'list-unstyled',\n attrs: {\n ...$attrs,\n id: props.id || null,\n role: 'group',\n 'aria-describedby': adb || null\n }\n },\n normalizeSlot('default', {}, $scopedSlots, $slots)\n )\n ])\n }\n})\n","import { BDropdown } from './dropdown'\nimport { BDropdownItem } from './dropdown-item'\nimport { BDropdownItemButton } from './dropdown-item-button'\nimport { BDropdownHeader } from './dropdown-header'\nimport { BDropdownDivider } from './dropdown-divider'\nimport { BDropdownForm } from './dropdown-form'\nimport { BDropdownText } from './dropdown-text'\nimport { BDropdownGroup } from './dropdown-group'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst DropdownPlugin = /*#__PURE__*/ pluginFactory({\n components: {\n BDropdown,\n BDd: BDropdown,\n BDropdownItem,\n BDdItem: BDropdownItem,\n BDropdownItemButton,\n BDropdownItemBtn: BDropdownItemButton,\n BDdItemButton: BDropdownItemButton,\n BDdItemBtn: BDropdownItemButton,\n BDropdownHeader,\n BDdHeader: BDropdownHeader,\n BDropdownDivider,\n BDdDivider: BDropdownDivider,\n BDropdownForm,\n BDdForm: BDropdownForm,\n BDropdownText,\n BDdText: BDropdownText,\n BDropdownGroup,\n BDdGroup: BDropdownGroup\n }\n})\n\nexport {\n DropdownPlugin,\n BDropdown,\n BDropdownItem,\n BDropdownItemButton,\n BDropdownHeader,\n BDropdownDivider,\n BDropdownForm,\n BDropdownText,\n BDropdownGroup\n}\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\nimport { arrayIncludes } from '../../utils/array'\n\nexport const props = {\n type: {\n type: String,\n default: 'iframe',\n validator: str =>\n arrayIncludes(['iframe', 'embed', 'video', 'object', 'img', 'b-img', 'b-img-lazy'], str)\n },\n tag: {\n type: String,\n default: 'div'\n },\n aspect: {\n type: String,\n default: '16by9'\n }\n}\n\n// @vue/component\nexport const BEmbed = /*#__PURE__*/ Vue.extend({\n name: 'BEmbed',\n functional: true,\n props,\n render(h, { props, data, children }) {\n return h(\n props.tag,\n {\n ref: data.ref,\n staticClass: 'embed-responsive',\n class: {\n [`embed-responsive-${props.aspect}`]: props.aspect\n }\n },\n [h(props.type, mergeData(data, { ref: '', staticClass: 'embed-responsive-item' }), children)]\n )\n }\n})\n","import { BEmbed } from './embed'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst EmbedPlugin = /*#__PURE__*/ pluginFactory({\n components: { BEmbed }\n})\n\nexport { EmbedPlugin, BEmbed }\n","import get from '../utils/get'\nimport { stripTags } from '../utils/html'\nimport { isArray, isPlainObject, isUndefined } from '../utils/inspect'\nimport { keys } from '../utils/object'\nimport { warn } from '../utils/warn'\n\nconst OPTIONS_OBJECT_DEPRECATED_MSG =\n 'Setting prop \"options\" to an object is deprecated. Use the array format instead.'\n\n// @vue/component\nexport default {\n props: {\n options: {\n type: [Array, Object],\n default: () => []\n },\n valueField: {\n type: String,\n default: 'value'\n },\n textField: {\n type: String,\n default: 'text'\n },\n htmlField: {\n type: String,\n default: 'html'\n },\n disabledField: {\n type: String,\n default: 'disabled'\n }\n },\n computed: {\n formOptions() {\n const options = this.options\n // Normalize the given options array\n if (isArray(options)) {\n return options.map(option => this.normalizeOption(option))\n }\n // Deprecate the object options format\n warn(OPTIONS_OBJECT_DEPRECATED_MSG, this.$options.name)\n // Normalize a `options` object to an array of options\n return keys(options).map(key => this.normalizeOption(options[key] || {}, key))\n }\n },\n methods: {\n normalizeOption(option, key = null) {\n // When the option is an object, normalize it\n if (isPlainObject(option)) {\n const value = get(option, this.valueField)\n const text = get(option, this.textField)\n return {\n value: isUndefined(value) ? key || text : value,\n text: stripTags(String(isUndefined(text) ? key : text)),\n html: get(option, this.htmlField),\n disabled: Boolean(get(option, this.disabledField))\n }\n }\n // Otherwise create an `<option>` object from the given value\n return {\n value: key || option,\n text: stripTags(String(option)),\n disabled: false\n }\n }\n }\n}\n","import Vue from '../../utils/vue'\nimport formOptionsMixin from '../../mixins/form-options'\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\nimport { htmlOrText } from '../../utils/html'\n\n// @vue/component\nexport const BFormDatalist = /*#__PURE__*/ Vue.extend({\n name: 'BFormDatalist',\n mixins: [formOptionsMixin, normalizeSlotMixin],\n props: {\n id: {\n type: String,\n default: null,\n required: true\n }\n },\n render(h) {\n const options = this.formOptions.map((option, index) => {\n return h('option', {\n key: `option_${index}_opt`,\n attrs: { disabled: option.disabled },\n domProps: { ...htmlOrText(option.html, option.text), value: option.value }\n })\n })\n return h('datalist', { attrs: { id: this.id } }, [options, this.normalizeSlot('default')])\n }\n})\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\nimport { getComponentConfig } from '../../utils/config'\n\nconst NAME = 'BFormText'\n\nexport const props = {\n id: {\n type: String,\n default: null\n },\n tag: {\n type: String,\n default: 'small'\n },\n textVariant: {\n type: String,\n default: () => getComponentConfig(NAME, 'textVariant')\n },\n inline: {\n type: Boolean,\n default: false\n }\n}\n\n// @vue/component\nexport const BFormText = /*#__PURE__*/ Vue.extend({\n name: NAME,\n functional: true,\n props,\n render(h, { props, data, children }) {\n return h(\n props.tag,\n mergeData(data, {\n class: {\n 'form-text': !props.inline,\n [`text-${props.textVariant}`]: props.textVariant\n },\n attrs: {\n id: props.id\n }\n }),\n children\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\n\nexport const props = {\n id: {\n type: String,\n default: null\n },\n tag: {\n type: String,\n default: 'div'\n },\n tooltip: {\n type: Boolean,\n default: false\n },\n forceShow: {\n type: Boolean,\n default: false\n },\n state: {\n type: Boolean,\n default: null\n },\n ariaLive: {\n type: String,\n default: null\n },\n role: {\n type: String,\n default: null\n }\n}\n\n// @vue/component\nexport const BFormInvalidFeedback = /*#__PURE__*/ Vue.extend({\n name: 'BFormInvalidFeedback',\n functional: true,\n props,\n render(h, { props, data, children }) {\n const show = props.forceShow === true || props.state === false\n return h(\n props.tag,\n mergeData(data, {\n class: {\n 'invalid-feedback': !props.tooltip,\n 'invalid-tooltip': props.tooltip,\n 'd-block': show\n },\n attrs: {\n id: props.id,\n role: props.role,\n 'aria-live': props.ariaLive,\n 'aria-atomic': props.ariaLive ? 'true' : null\n }\n }),\n children\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\n\nexport const props = {\n id: {\n type: String,\n default: null\n },\n tag: {\n type: String,\n default: 'div'\n },\n tooltip: {\n type: Boolean,\n default: false\n },\n forceShow: {\n type: Boolean,\n default: false\n },\n state: {\n type: Boolean,\n default: null\n },\n ariaLive: {\n type: String,\n default: null\n },\n role: {\n type: String,\n default: null\n }\n}\n\n// @vue/component\nexport const BFormValidFeedback = /*#__PURE__*/ Vue.extend({\n name: 'BFormValidFeedback',\n functional: true,\n props,\n render(h, { props, data, children }) {\n const show = props.forceShow === true || props.state === true\n return h(\n props.tag,\n mergeData(data, {\n class: {\n 'valid-feedback': !props.tooltip,\n 'valid-tooltip': props.tooltip,\n 'd-block': show\n },\n attrs: {\n id: props.id,\n role: props.role,\n 'aria-live': props.ariaLive,\n 'aria-atomic': props.ariaLive ? 'true' : null\n }\n }),\n children\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\n\nexport const props = {\n tag: {\n type: String,\n default: 'div'\n }\n}\n\n// @vue/component\nexport const BFormRow = /*#__PURE__*/ Vue.extend({\n name: 'BFormRow',\n functional: true,\n props,\n render(h, { props, data, children }) {\n return h(\n props.tag,\n mergeData(data, {\n staticClass: 'form-row'\n }),\n children\n )\n }\n})\n","import { BForm } from './form'\nimport { BFormDatalist } from './form-datalist'\nimport { BFormText } from './form-text'\nimport { BFormInvalidFeedback } from './form-invalid-feedback'\nimport { BFormValidFeedback } from './form-valid-feedback'\nimport { BFormRow } from '../layout/form-row'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst FormPlugin = /*#__PURE__*/ pluginFactory({\n components: {\n BForm,\n BFormDatalist,\n BDatalist: BFormDatalist,\n BFormText,\n BFormInvalidFeedback,\n BFormFeedback: BFormInvalidFeedback,\n BFormValidFeedback,\n // Added here for convenience\n BFormRow\n }\n})\n\n// BFormRow is not exported here as a named export, as it is exported by Layout\nexport { FormPlugin, BForm, BFormDatalist, BFormText, BFormInvalidFeedback, BFormValidFeedback }\n","import looseEqual from './loose-equal'\n\nconst looseIndexOf = (arr, val) => {\n // Assumes that the first argument is an array\n for (let i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val)) {\n return i\n }\n }\n return -1\n}\n\nexport default looseIndexOf\n","import { matches, select, isVisible, requestAF } from '../utils/dom'\n\nconst SELECTOR = 'input, textarea, select'\n\n// @vue/component\nexport default {\n props: {\n name: {\n type: String\n // default: undefined\n },\n id: {\n type: String\n // default: undefined\n },\n disabled: {\n type: Boolean\n },\n required: {\n type: Boolean,\n default: false\n },\n form: {\n type: String,\n default: null\n },\n autofocus: {\n type: Boolean,\n default: false\n }\n },\n mounted() {\n this.handleAutofocus()\n },\n activated() /* istanbul ignore next */ {\n this.handleAutofocus()\n },\n methods: {\n handleAutofocus() {\n this.$nextTick(() => {\n requestAF(() => {\n let el = this.$el\n if (this.autofocus && isVisible(el)) {\n if (!matches(el, SELECTOR)) {\n el = select(SELECTOR, el)\n }\n el && el.focus && el.focus()\n }\n })\n })\n }\n }\n}\n","import normalizeSlotMixin from './normalize-slot'\n\n// @vue/component\nexport default {\n mixins: [normalizeSlotMixin],\n inheritAttrs: false,\n model: {\n prop: 'checked',\n event: 'input'\n },\n props: {\n value: {\n // Value when checked\n // type: Object,\n // default: undefined\n },\n checked: {\n // This is the v-model\n // type: Object,\n // default: undefined\n },\n inline: {\n type: Boolean,\n default: false\n },\n plain: {\n type: Boolean,\n default: false\n },\n button: {\n // Only applicable in standalone mode (non group)\n type: Boolean,\n default: false\n },\n buttonVariant: {\n // Only applicable when rendered with button style\n type: String,\n default: null\n },\n ariaLabel: {\n // Placed on the input if present.\n type: String,\n default: null\n },\n ariaLabelledby: {\n // Placed on the input if present.\n type: String,\n default: null\n }\n },\n data() {\n return {\n localChecked: this.isGroup ? this.bvGroup.checked : this.checked,\n hasFocus: false\n }\n },\n computed: {\n computedLocalChecked: {\n get() {\n return this.isGroup ? this.bvGroup.localChecked : this.localChecked\n },\n set(val) {\n if (this.isGroup) {\n this.bvGroup.localChecked = val\n } else {\n this.localChecked = val\n }\n }\n },\n isGroup() {\n // Is this check/radio a child of check-group or radio-group?\n return Boolean(this.bvGroup)\n },\n isBtnMode() {\n // Support button style in single input mode\n return this.isGroup ? this.bvGroup.buttons : this.button\n },\n isPlain() {\n return this.isBtnMode ? false : this.isGroup ? this.bvGroup.plain : this.plain\n },\n isCustom() {\n return this.isBtnMode ? false : !this.isPlain\n },\n isSwitch() {\n // Custom switch styling (checkboxes only)\n return this.isBtnMode || this.isRadio || this.isPlain\n ? false\n : this.isGroup\n ? this.bvGroup.switches\n : this.switch\n },\n isInline() {\n return this.isGroup ? this.bvGroup.inline : this.inline\n },\n 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() {\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.getName && (this.isGroup ? this.bvGroup.required : this.required)\n },\n getName() {\n // Group name preferred over local name\n return (this.isGroup ? this.bvGroup.groupName : this.name) || null\n },\n getForm() {\n return (this.isGroup ? this.bvGroup.form : this.form) || null\n },\n getSize() {\n return (this.isGroup ? this.bvGroup.size : this.size) || ''\n },\n getState() {\n return this.isGroup ? this.bvGroup.computedState : this.computedState\n },\n getButtonVariant() {\n // Local variant preferred over group variant\n if (this.buttonVariant) {\n return this.buttonVariant\n } else if (this.isGroup && this.bvGroup.buttonVariant) {\n return this.bvGroup.buttonVariant\n }\n // default variant\n return 'secondary'\n },\n buttonClasses() {\n // Same for radio & check\n return [\n 'btn',\n `btn-${this.getButtonVariant}`,\n {\n [`btn-${this.getSize}`]: this.getSize,\n // 'disabled' class makes \"button\" look disabled\n disabled: this.isDisabled,\n // 'active' class makes \"button\" look pressed\n active: this.isChecked,\n // Focus class makes button look focused\n focus: this.hasFocus\n }\n ]\n }\n },\n watch: {\n checked(newVal) {\n this.computedLocalChecked = newVal\n }\n },\n methods: {\n handleFocus(evt) {\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 (evt.target) {\n if (evt.type === 'focus') {\n this.hasFocus = true\n } else if (evt.type === 'blur') {\n this.hasFocus = false\n }\n }\n },\n // Convenience methods for focusing the input\n focus() {\n if (!this.isDisabled && this.$refs.input && this.$refs.input.focus) {\n this.$refs.input.focus()\n }\n },\n blur() {\n if (!this.isDisabled && this.$refs.input && this.$refs.input.blur) {\n this.$refs.input.blur()\n }\n }\n },\n render(h) {\n const defaultSlot = this.normalizeSlot('default')\n\n // Generate the input element\n const on = { change: this.handleChange }\n if (this.isBtnMode) {\n // Handlers for focus styling when in button mode\n on.focus = on.blur = this.handleFocus\n }\n const input = h('input', {\n ref: 'input',\n key: 'input',\n on,\n class: {\n 'form-check-input': this.isPlain,\n 'custom-control-input': this.isCustom,\n 'is-valid': this.getState === true && !this.isBtnMode,\n 'is-invalid': this.getState === false && !this.isBtnMode,\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/2911\n 'position-static': this.isPlain && !defaultSlot\n },\n directives: [\n {\n name: 'model',\n rawName: 'v-model',\n value: this.computedLocalChecked,\n expression: 'computedLocalChecked'\n }\n ],\n attrs: {\n ...this.$attrs,\n id: this.safeId(),\n type: this.isRadio ? 'radio' : 'checkbox',\n name: this.getName,\n form: this.getForm,\n disabled: this.isDisabled,\n required: this.isRequired,\n autocomplete: 'off',\n 'aria-required': this.isRequired || null,\n 'aria-label': this.ariaLabel || null,\n 'aria-labelledby': this.ariaLabelledby || null\n },\n domProps: {\n value: this.value,\n checked: this.isChecked\n }\n })\n\n if (this.isBtnMode) {\n // Button mode\n let button = h('label', { class: this.buttonClasses }, [input, defaultSlot])\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', { class: ['btn-group-toggle', 'd-inline-block'] }, [button])\n }\n return button\n } else {\n // Not button mode\n let label = h()\n // If no label content in plain mode we dont render the label\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/2911\n if (!(this.isPlain && !defaultSlot)) {\n label = h(\n 'label',\n {\n class: {\n 'form-check-label': this.isPlain,\n 'custom-control-label': this.isCustom\n },\n attrs: { for: this.safeId() }\n },\n defaultSlot\n )\n }\n // Wrap it in a div\n return h(\n 'div',\n {\n class: {\n 'form-check': this.isPlain,\n 'form-check-inline': this.isPlain && this.isInline,\n 'custom-control': this.isCustom,\n 'custom-control-inline': this.isCustom && this.isInline,\n 'custom-checkbox': this.isCustom && this.isCheck && !this.isSwitch,\n 'custom-switch': this.isSwitch,\n 'custom-radio': this.isCustom && this.isRadio,\n // Temporary until Bootstrap v4 supports sizing (most likely in V5)\n [`b-custom-control-${this.getSize}`]: Boolean(this.getSize && !this.isBtnMode)\n }\n },\n [input, label]\n )\n }\n }\n}\n","import { getComponentConfig } from '../utils/config'\n\n// @vue/component\nexport default {\n props: {\n size: {\n type: String,\n default: () => getComponentConfig('formControls', 'size')\n }\n },\n computed: {\n sizeFormClass() {\n return [this.size ? `form-control-${this.size}` : null]\n },\n sizeBtnClass() /* istanbul ignore next: don't think this is used */ {\n return [this.size ? `btn-${this.size}` : null]\n }\n }\n}\n","/* Form control contextual state class computation\n *\n * Returned class is either 'is-valid' or 'is-invalid' based on the 'state' prop\n * state can be one of five values:\n * - true for is-valid\n * - false for is-invalid\n * - null for no contextual state\n */\nimport { isBoolean } from '../utils/inspect'\n\n// @vue/component\nexport default {\n props: {\n state: {\n // Tri-state prop: true, false, null (or undefined)\n type: Boolean,\n default: null\n }\n },\n computed: {\n computedState() {\n // If not a boolean, ensure that value is null\n return isBoolean(this.state) ? this.state : null\n },\n stateClass() {\n const state = this.computedState\n return state === true ? 'is-valid' : state === false ? 'is-invalid' : null\n }\n }\n}\n","import Vue from '../../utils/vue'\nimport looseEqual from '../../utils/loose-equal'\nimport looseIndexOf from '../../utils/loose-index-of'\nimport { isArray } from '../../utils/inspect'\nimport formMixin from '../../mixins/form'\nimport formRadioCheckMixin from '../../mixins/form-radio-check'\nimport formSizeMixin from '../../mixins/form-size'\nimport formStateMixin from '../../mixins/form-state'\nimport idMixin from '../../mixins/id'\n\n// @vue/component\nexport const BFormCheckbox = /*#__PURE__*/ Vue.extend({\n name: 'BFormCheckbox',\n mixins: [\n formRadioCheckMixin, // Includes shared render function\n idMixin,\n formMixin,\n formSizeMixin,\n formStateMixin\n ],\n inject: {\n bvGroup: {\n from: 'bvCheckGroup',\n default: false\n }\n },\n props: {\n value: {\n // type: [String, Number, Boolean, Object],\n default: true\n },\n uncheckedValue: {\n // type: [String, Number, Boolean, Object],\n // Not applicable in multi-check mode\n default: false\n },\n indeterminate: {\n // Not applicable in multi-check mode\n type: Boolean,\n default: false\n },\n switch: {\n // Custom switch styling\n type: Boolean,\n default: false\n },\n checked: {\n // v-model (Array when multiple checkboxes have same name)\n // type: [String, Number, Boolean, Object, Array],\n default: null\n }\n },\n computed: {\n isChecked() {\n const checked = this.computedLocalChecked\n const value = this.value\n if (isArray(checked)) {\n return looseIndexOf(checked, value) > -1\n } else {\n return looseEqual(checked, value)\n }\n },\n isRadio() {\n return false\n },\n isCheck() {\n return true\n }\n },\n watch: {\n computedLocalChecked(newVal) {\n this.$emit('input', newVal)\n if (this.$refs && this.$refs.input) {\n this.$emit('update:indeterminate', this.$refs.input.indeterminate)\n }\n },\n indeterminate(newVal) {\n this.setIndeterminate(newVal)\n }\n },\n mounted() {\n // Set initial indeterminate state\n this.setIndeterminate(this.indeterminate)\n },\n methods: {\n handleChange({ target: { checked, indeterminate } }) {\n let localChecked = this.computedLocalChecked\n const value = this.value\n const isArr = isArray(localChecked)\n const uncheckedValue = isArr ? null : this.uncheckedValue\n // Update computedLocalChecked\n if (isArr) {\n const idx = looseIndexOf(localChecked, value)\n if (checked && idx < 0) {\n // Add value to array\n localChecked = localChecked.concat(value)\n } else if (!checked && idx > -1) {\n // Remove value from array\n localChecked = localChecked.slice(0, idx).concat(localChecked.slice(idx + 1))\n }\n } else {\n localChecked = checked ? value : uncheckedValue\n }\n this.computedLocalChecked = localChecked\n // Change is only emitted on user interaction\n this.$emit('change', checked ? value : uncheckedValue)\n // If this is a child of form-checkbox-group, we emit a change event on it as well\n if (this.isGroup) {\n this.bvGroup.$emit('change', localChecked)\n }\n this.$emit('update:indeterminate', indeterminate)\n },\n setIndeterminate(state) {\n // Indeterminate only supported in single checkbox mode\n if (isArray(this.computedLocalChecked)) {\n state = false\n }\n if (this.$refs && this.$refs.input) {\n this.$refs.input.indeterminate = state\n // Emit update event to prop\n this.$emit('update:indeterminate', state)\n }\n }\n }\n})\n","import Vue from '../../utils/vue'\nimport idMixin from '../../mixins/id'\nimport formMixin from '../../mixins/form'\nimport formStateMixin from '../../mixins/form-state'\nimport formSizeMixin from '../../mixins/form-size'\nimport formRadioCheckMixin from '../../mixins/form-radio-check'\nimport looseEqual from '../../utils/loose-equal'\n\n// @vue/component\nexport const BFormRadio = /*#__PURE__*/ Vue.extend({\n name: 'BFormRadio',\n mixins: [\n idMixin,\n formRadioCheckMixin, // Includes shared render function\n formMixin,\n formSizeMixin,\n formStateMixin\n ],\n inject: {\n bvGroup: {\n from: 'bvRadioGroup',\n default: false\n }\n },\n props: {\n checked: {\n // v-model\n // type: [String, Number, Boolean, Object],\n default: null\n }\n },\n computed: {\n // Radio Groups can only have a single value, so determining if checked is simple\n isChecked() {\n return looseEqual(this.value, this.computedLocalChecked)\n },\n // Flags for form-radio-check mixin\n isRadio() {\n return true\n },\n isCheck() {\n return false\n }\n },\n watch: {\n // Radio Groups can only have a single value, so our watchers are simple\n computedLocalChecked() {\n this.$emit('input', this.computedLocalChecked)\n }\n },\n methods: {\n handleChange({ target: { checked } }) {\n const value = this.value\n this.computedLocalChecked = value\n // Change is only emitted on user interaction\n this.$emit('change', checked ? value : null)\n // If this is a child of form-radio-group, we emit a change event on it as well\n if (this.isGroup) {\n this.bvGroup.$emit('change', checked ? value : null)\n }\n }\n }\n})\n","import { htmlOrText } from '../utils/html'\nimport normalizeSlotMixin from './normalize-slot'\nimport { BFormCheckbox } from '../components/form-checkbox/form-checkbox'\nimport { BFormRadio } from '../components/form-radio/form-radio'\n\n// @vue/component\nexport default {\n mixins: [normalizeSlotMixin],\n model: {\n prop: 'checked',\n event: 'input'\n },\n props: {\n validated: {\n type: Boolean,\n default: false\n },\n ariaInvalid: {\n type: [Boolean, String],\n default: false\n },\n stacked: {\n type: Boolean,\n default: false\n },\n plain: {\n type: Boolean,\n default: false\n },\n buttons: {\n // Render as button style\n type: Boolean,\n default: false\n },\n buttonVariant: {\n // Only applicable when rendered with button style\n type: String,\n default: 'secondary'\n }\n },\n computed: {\n inline() {\n return !this.stacked\n },\n groupName() {\n // Checks/Radios tied to the same model must have the same name,\n // especially for ARIA accessibility.\n return this.name || this.safeId()\n },\n groupClasses() {\n if (this.buttons) {\n return [\n 'btn-group-toggle',\n this.inline ? 'btn-group' : 'btn-group-vertical',\n this.size ? `btn-group-${this.size}` : '',\n this.validated ? `was-validated` : ''\n ]\n }\n return [this.validated ? `was-validated` : '']\n },\n computedAriaInvalid() {\n const ariaInvalid = this.ariaInvalid\n if (ariaInvalid === true || ariaInvalid === 'true' || ariaInvalid === '') {\n return 'true'\n }\n return this.computedState === false ? 'true' : null\n }\n },\n watch: {\n checked(newVal) {\n this.localChecked = newVal\n },\n localChecked(newVal) {\n this.$emit('input', newVal)\n }\n },\n render(h) {\n const inputs = this.formOptions.map((option, idx) => {\n const uid = `_BV_option_${idx}_`\n return h(\n this.isRadioGroup ? BFormRadio : BFormCheckbox,\n {\n key: uid,\n props: {\n id: this.safeId(uid),\n value: option.value,\n // Individual radios or checks can be disabled in a group\n disabled: option.disabled || false\n // We don't need to include these, since the input's will know they are inside here\n // name: this.groupName,\n // form: this.form || null,\n // required: Boolean(this.name && this.required)\n }\n },\n [h('span', { domProps: htmlOrText(option.html, option.text) })]\n )\n })\n return h(\n 'div',\n {\n class: [this.groupClasses, 'bv-no-focus-ring'],\n attrs: {\n id: this.safeId(),\n role: this.isRadioGroup ? 'radiogroup' : 'group',\n // Tabindex to allow group to be focused\n // if needed by screen readers\n tabindex: '-1',\n 'aria-required': this.required ? 'true' : null,\n 'aria-invalid': this.computedAriaInvalid\n }\n },\n [this.normalizeSlot('first'), inputs, this.normalizeSlot('default')]\n )\n }\n}\n","import Vue from '../../utils/vue'\nimport idMixin from '../../mixins/id'\nimport formMixin from '../../mixins/form'\nimport formOptionsMixin from '../../mixins/form-options'\nimport formRadioCheckGroupMixin from '../../mixins/form-radio-check-group'\nimport formSizeMixin from '../../mixins/form-size'\nimport formStateMixin from '../../mixins/form-state'\n\nexport const props = {\n switches: {\n // Custom switch styling\n type: Boolean,\n default: false\n },\n checked: {\n type: Array,\n default: null\n }\n}\n\n// @vue/component\nexport const BFormCheckboxGroup = /*#__PURE__*/ Vue.extend({\n name: 'BFormCheckboxGroup',\n mixins: [\n idMixin,\n formMixin,\n formRadioCheckGroupMixin, // Includes render function\n formOptionsMixin,\n formSizeMixin,\n formStateMixin\n ],\n provide() {\n return {\n bvCheckGroup: this\n }\n },\n props,\n data() {\n return {\n localChecked: this.checked || []\n }\n },\n computed: {\n isRadioGroup() {\n return false\n }\n }\n})\n","import { BFormCheckbox } from './form-checkbox'\nimport { BFormCheckboxGroup } from './form-checkbox-group'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst FormCheckboxPlugin = /*#__PURE__*/ pluginFactory({\n components: {\n BFormCheckbox,\n BCheckbox: BFormCheckbox,\n BCheck: BFormCheckbox,\n BFormCheckboxGroup,\n BCheckboxGroup: BFormCheckboxGroup,\n BCheckGroup: BFormCheckboxGroup\n }\n})\n\nexport { FormCheckboxPlugin, BFormCheckbox, BFormCheckboxGroup }\n","// v-b-hover directive\nimport { isBrowser } from '../../utils/env'\nimport { EVENT_OPTIONS_NO_CAPTURE, eventOnOff } from '../../utils/events'\nimport { isFunction } from '../../utils/inspect'\n\n// --- Constants ---\n\nconst PROP = '__BV_hover_handler__'\nconst MOUSEENTER = 'mouseenter'\nconst MOUSELEAVE = 'mouseleave'\n\n// --- Utility methods ---\n\nconst createListener = handler => {\n const listener = evt => {\n handler(evt.type === MOUSEENTER, evt)\n }\n listener.fn = handler\n return listener\n}\n\nconst updateListeners = (on, el, listener) => {\n eventOnOff(on, el, MOUSEENTER, listener, EVENT_OPTIONS_NO_CAPTURE)\n eventOnOff(on, el, MOUSELEAVE, listener, EVENT_OPTIONS_NO_CAPTURE)\n}\n\n// --- Directive bind/unbind/update handler ---\n\nconst directive = (el, { value: handler = null }) => {\n if (isBrowser) {\n const listener = el[PROP]\n const hasListener = isFunction(listener)\n const handlerChanged = !(hasListener && listener.fn === handler)\n if (hasListener && handlerChanged) {\n updateListeners(false, el, listener)\n delete el[PROP]\n }\n if (isFunction(handler) && handlerChanged) {\n el[PROP] = createListener(handler)\n updateListeners(true, el, el[PROP])\n }\n }\n}\n\n// VBHover directive\n\nexport const VBHover = {\n bind: directive,\n componentUpdated: directive,\n unbind(el) {\n directive(el, { value: null })\n }\n}\n","import Vue from '../../utils/vue'\nimport identity from '../../utils/identity'\nimport { getComponentConfig } from '../../utils/config'\nimport { createDate, formatYMD, parseYMD } from '../../utils/date'\nimport dropdownMixin from '../../mixins/dropdown'\nimport idMixin from '../../mixins/id'\nimport { BButton } from '../button/button'\nimport { BCalendar } from '../calendar/calendar'\nimport { BIconCalendar, BIconCalendarFill } from '../../icons/icons'\nimport { VBHover } from '../../directives/hover/hover'\n\nconst NAME = 'BFormDatepicker'\n\n// Fallback to BCalendar prop if no value found\nconst getConfigFallback = prop => {\n return getComponentConfig(NAME, prop) || getComponentConfig('BCalendar', prop)\n}\n\n// We create our props as a mixin so that we can control\n// where they appear in the props listing reference section\nconst propsMixin = {\n props: {\n value: {\n type: [String, Date],\n default: null\n },\n valueAsDate: {\n type: Boolean,\n default: false\n },\n resetValue: {\n type: [String, Date],\n default: ''\n },\n placeholder: {\n type: String,\n // Defaults to `labelNoDateSelected` from calendar context\n default: null\n },\n size: {\n type: String,\n default: null\n },\n min: {\n type: [String, Date],\n default: null\n },\n max: {\n type: [String, Date],\n default: null\n },\n disabled: {\n type: Boolean,\n default: false\n },\n readonly: {\n type: Boolean,\n default: false\n },\n required: {\n // If true adds the `aria-required` attribute\n type: Boolean,\n default: false\n },\n name: {\n type: String,\n default: null\n },\n form: {\n type: String,\n default: null\n },\n state: {\n // Tri-state prop: `true`, `false` or `null`\n type: Boolean,\n default: null\n },\n dateDisabledFn: {\n type: Function,\n default: null\n },\n noCloseOnSelect: {\n type: Boolean,\n default: false\n },\n hideHeader: {\n type: Boolean,\n default: false\n },\n locale: {\n type: [String, Array],\n default: null\n },\n startWeekday: {\n // `0` (Sunday), `1` (Monday), ... `6` (Saturday)\n // Day of week to start calendar on\n type: [Number, String],\n default: 0\n },\n direction: {\n type: String,\n default: null\n },\n selectedVariant: {\n // Variant color to use for the selected date\n type: String,\n default: 'primary'\n },\n todayVariant: {\n // Variant color to use for today's date (defaults to `variant`)\n type: String,\n default: null\n },\n noHighlightToday: {\n // Disable highlighting today's date\n type: Boolean,\n default: false\n },\n todayButton: {\n type: Boolean,\n default: false\n },\n labelTodayButton: {\n type: String,\n default: () => getComponentConfig(NAME, 'labelTodayButton')\n },\n todayButtonVariant: {\n type: String,\n default: 'outline-primary'\n },\n resetButton: {\n type: Boolean,\n default: false\n },\n labelResetButton: {\n type: String,\n default: () => getComponentConfig(NAME, 'labelResetButton')\n },\n resetButtonVariant: {\n type: String,\n default: 'outline-danger'\n },\n closeButton: {\n type: Boolean,\n default: false\n },\n labelCloseButton: {\n type: String,\n default: () => getComponentConfig(NAME, 'labelCloseButton')\n },\n closeButtonVariant: {\n type: String,\n default: 'outline-secondary'\n },\n // Labels for buttons and keyboard shortcuts\n // These pick BCalendar global config if no BFormDate global config\n labelPrevYear: {\n type: String,\n default: () => getConfigFallback('labelPrevYear')\n },\n labelPrevMonth: {\n type: String,\n default: () => getConfigFallback('labelPrevMonth')\n },\n labelCurrentMonth: {\n type: String,\n default: () => getConfigFallback('labelCurrentMonth')\n },\n labelNextMonth: {\n type: String,\n default: () => getConfigFallback('labelNextMonth')\n },\n labelNextYear: {\n type: String,\n default: () => getConfigFallback('labelNextYear')\n },\n labelToday: {\n type: String,\n default: () => getConfigFallback('labelToday')\n },\n labelSelected: {\n type: String,\n default: () => getConfigFallback('labelSelected')\n },\n labelNoDateSelected: {\n type: String,\n default: () => getConfigFallback('labelNoDateSelected')\n },\n labelCalendar: {\n type: String,\n default: () => getConfigFallback('labelCalendar')\n },\n labelNav: {\n type: String,\n default: () => getConfigFallback('labelNav')\n },\n labelHelp: {\n type: String,\n default: () => getConfigFallback('labelHelp')\n },\n // Dark mode\n dark: {\n type: Boolean,\n default: false\n }\n }\n}\n\n// --- BFormDate component ---\n\n// @vue/component\nexport const BFormDatepicker = /*#__PURE__*/ Vue.extend({\n name: NAME,\n directives: {\n BHover: VBHover\n },\n // The mixins order determines the order of appearance in the props reference section\n mixins: [idMixin, propsMixin, dropdownMixin],\n model: {\n prop: 'value',\n event: 'input'\n },\n data() {\n return {\n // We always use `YYYY-MM-DD` value internally\n localYMD: formatYMD(this.value) || '',\n // Context data from BCalendar\n localLocale: null,\n isRTL: false,\n formatedValue: '',\n activeYMD: '',\n // Flag to add focus ring to outer wrapper\n hasFocus: false,\n // If the control is hovered\n isHovered: false\n }\n },\n computed: {\n calendarYM() {\n // Returns the calendar year/month\n // Returns the `YYYY-MM` portion of the active calendar date\n return this.activeYMD.slice(0, -3)\n },\n calendarProps() {\n // TODO: Make the ID's computed props\n const idLabel = this.safeId('_value_')\n const idWrapper = this.safeId('_b-form-date_')\n return {\n // id: this.safeId('_picker_'),\n ariaControls: [idLabel, idWrapper].filter(identity).join(' ') || null,\n value: this.localYMD,\n hidden: !this.visible,\n min: this.min,\n max: this.max,\n readonly: this.readonly,\n disabled: this.disabled,\n locale: this.locale,\n startWeekday: this.startWeekday,\n direction: this.direction,\n dateDisabledFn: this.dateDisabledFn,\n selectedVariant: this.selectedVariant,\n todayVariant: this.todayVariant,\n hideHeader: this.hideHeader,\n labelPrevYear: this.labelPrevYear,\n labelPrevMonth: this.labelPrevMonth,\n labelCurrentMonth: this.labelCurrentMonth,\n labelNextMonth: this.labelNextMonth,\n labelNextYear: this.labelNextYear,\n labelToday: this.labelToday,\n labelSelected: this.labelSelected,\n labelNoDateSelected: this.labelNoDateSelected,\n labelCalendar: this.labelCalendar,\n labelNav: this.labelNav,\n labelHelp: this.labelHelp\n }\n },\n computedResetValue() {\n return parseYMD(this.resetValue) || ''\n }\n },\n watch: {\n value(newVal) {\n this.localYMD = formatYMD(newVal) || ''\n },\n localYMD(newVal) {\n this.$emit('input', this.valueAsDate ? parseYMD(newVal) || null : newVal || '')\n },\n calendarYM(newVal, oldVal) /* istanbul ignore next */ {\n // Displayed calendar month has changed\n // So possibly the calendar height has changed...\n // We need to update popper computed position\n if (newVal !== oldVal && oldVal) {\n this.updatePopper()\n }\n }\n },\n mounted() {\n this.$on('shown', () => {\n // May want to make an option to focus\n // the entire calendar (dropdown-menu) or just the date\n try {\n this.$refs.calendar.focus()\n } catch {}\n })\n },\n methods: {\n // Public methods\n focus() {\n if (!this.disabled) {\n try {\n // This assumes the toggle is an element and not a component\n this.$refs.toggle.focus()\n } catch {}\n }\n },\n blur() {\n if (!this.disabled) {\n try {\n // This assumes the toggle is an element and not a component\n this.$refs.toggle.blur()\n } catch {}\n }\n },\n // Private methods\n setAndClose(ymd) {\n this.localYMD = ymd\n // Close calendar popup, unless `noCloseOnSelect`\n if (!this.noCloseOnSelect) {\n this.$nextTick(() => {\n this.hide(true)\n })\n }\n },\n onSelected(ymd) {\n this.$nextTick(() => {\n this.setAndClose(ymd)\n })\n },\n onInput(ymd) {\n if (this.localYMD !== ymd) {\n this.localYMD = ymd\n }\n },\n onContext(ctx) {\n const { activeYMD, isRTL, locale, selectedYMD, selectedFormatted } = ctx\n this.isRTL = isRTL\n this.localLocale = locale\n this.formattedValue = selectedFormatted\n this.localYMD = selectedYMD\n this.activeYMD = activeYMD\n // Re-emit the context event\n this.$emit('context', ctx)\n },\n onTodayButton() {\n this.setAndClose(formatYMD(createDate()))\n },\n onResetButton() {\n this.setAndClose(this.computedResetValue)\n },\n onCloseButton() {\n this.hide(true)\n },\n setFocus(evt) {\n this.hasFocus = evt.type === 'focus'\n },\n handleHover(hovered) {\n this.isHovered = hovered\n }\n },\n render(h) {\n const size = this.size\n const state = this.state\n const localYMD = this.localYMD\n const disabled = this.disabled\n const readonly = this.readonly\n const idButton = this.safeId()\n const idLabel = this.safeId('_value_')\n const idMenu = this.safeId('_dialog_')\n const idWrapper = this.safeId('_b-form-date_')\n\n let $button = h('div', { attrs: { 'aria-hidden': 'true' } }, [\n this.isHovered || this.hasFocus\n ? h(BIconCalendarFill, { props: { scale: 1.25 } })\n : h(BIconCalendar, { props: { scale: 1.25 } })\n ])\n $button = h(\n 'button',\n {\n ref: 'toggle',\n staticClass: 'btn border-0 h-auto py-0',\n class: { [`btn-${size}`]: !!size },\n attrs: {\n id: idButton,\n type: 'button',\n disabled: disabled,\n 'aria-haspopup': 'dialog',\n 'aria-expanded': this.visible ? 'true' : 'false',\n 'aria-invalid': state === false ? 'true' : null,\n 'aria-required': this.required ? 'true' : null\n },\n on: {\n mousedown: this.onMousedown,\n click: this.toggle,\n keydown: this.toggle, // Handle ENTER, SPACE and DOWN\n '!focus': this.setFocus,\n '!blur': this.setFocus\n }\n },\n [$button]\n )\n\n // Label as a \"fake\" input\n // This label will be read by screen readers when the button is focused\n const $input = h(\n 'label',\n {\n staticClass: 'form-control text-break text-wrap border-0 bg-transparent h-auto pl-1 m-0',\n class: {\n // Mute the text if showing the placeholder\n 'text-muted': !localYMD,\n [`form-control-${size}`]: !!size,\n 'is-invalid': state === false,\n 'is-valid': state === true\n },\n attrs: {\n id: idLabel,\n for: idButton,\n dir: this.isRTL ? 'rtl' : 'ltr',\n lang: this.localLocale || null,\n 'aria-invalid': state === false ? 'true' : null,\n 'aria-required': this.required ? 'true' : null\n },\n on: {\n // Disable bubbling of the click event to\n // prevent menu from closing and re-opening\n click: evt => /* istanbul ignore next */ {\n evt.stopPropagation()\n }\n }\n },\n [\n // Add the formatted value or placeholder\n localYMD ? this.formattedValue : this.placeholder || this.labelNoDateSelected,\n // Add an sr-only 'selected date' label if a date is selected\n localYMD ? h('span', { staticClass: 'sr-only' }, ` (${this.labelSelected}) `) : h()\n ]\n )\n\n // Optional footer buttons\n let $controls = []\n\n if (this.todayButton) {\n const label = this.labelTodayButton\n $controls.push(\n h(\n BButton,\n {\n props: { size: 'sm', disabled: disabled || readonly, variant: this.todayButtonVariant },\n attrs: { 'aria-label': label || null },\n on: { click: this.onTodayButton }\n },\n label\n )\n )\n }\n\n if (this.resetButton) {\n const label = this.labelResetButton\n $controls.push(\n h(\n BButton,\n {\n props: { size: 'sm', disabled: disabled || readonly, variant: this.resetButtonVariant },\n attrs: { 'aria-label': label || null },\n on: { click: this.onResetButton }\n },\n label\n )\n )\n }\n\n if (this.closeButton) {\n const label = this.labelCloseButton\n $controls.push(\n h(\n BButton,\n {\n props: { size: 'sm', disabled: this.disabled, variant: this.closeButtonVariant },\n attrs: { 'aria-label': label || null },\n on: { click: this.onCloseButton }\n },\n label\n )\n )\n }\n\n if ($controls.length > 0) {\n $controls = [\n h(\n 'div',\n {\n staticClass: 'b-form-date-controls d-flex flex-wrap',\n class: {\n 'justify-content-between': $controls.length > 1,\n 'justify-content-end': $controls.length < 2\n }\n },\n $controls\n )\n ]\n }\n\n const $calendar = h(\n BCalendar,\n {\n key: 'calendar',\n ref: 'calendar',\n staticClass: 'b-form-date-calendar',\n props: this.calendarProps,\n on: {\n selected: this.onSelected,\n input: this.onInput,\n context: this.onContext\n }\n },\n $controls\n )\n\n const $menu = h(\n 'div',\n {\n ref: 'menu',\n staticClass: 'dropdown-menu p-2',\n class: {\n show: this.visible,\n 'dropdown-menu-right': this.right,\n 'bg-dark': this.dark,\n 'text-light': this.dark\n },\n attrs: {\n id: idMenu,\n role: 'dialog',\n 'aria-modal': 'false',\n 'aria-labelledby': idLabel\n },\n on: {\n keydown: this.onKeydown // Handle ESC\n }\n },\n [$calendar]\n )\n\n let $hidden = h()\n if (this.name && !disabled) {\n $hidden = h('input', {\n attrs: {\n type: 'hidden',\n name: this.name,\n form: this.form,\n value: localYMD || ''\n }\n })\n }\n\n return h(\n 'div',\n {\n staticClass: 'b-form-datepicker form-control dropdown h-auto p-0 d-flex',\n class: [\n this.directionClass,\n {\n show: this.visible,\n focus: this.hasFocus,\n [`form-control-${size}`]: !!size,\n 'is-invalid': state === false,\n 'is-valid': state === true\n }\n ],\n attrs: {\n id: idWrapper,\n role: 'group',\n 'aria-disabled': disabled,\n 'aria-readonly': readonly && !disabled,\n 'aria-labelledby': idLabel,\n 'aria-invalid': state === false ? 'true' : null,\n 'aria-required': this.required ? 'true' : null,\n // We don't want the flex order to change here\n // So we always use 'ltr'\n dir: 'ltr'\n },\n directives: [{ name: 'b-hover', value: this.handleHover }]\n },\n [$button, $hidden, $menu, $input]\n )\n }\n})\n","import { BFormDatepicker } from './form-datepicker'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst FormDatepickerPlugin = /*#__PURE__*/ pluginFactory({\n components: {\n BFormDatepicker,\n BDatepicker: BFormDatepicker\n }\n})\n\nexport { FormDatepickerPlugin, BFormDatepicker }\n","// @vue/component\nexport default {\n props: {\n plain: {\n type: Boolean,\n default: false\n }\n },\n computed: {\n custom() {\n return !this.plain\n }\n }\n}\n","import Vue from '../../utils/vue'\nimport identity from '../../utils/identity'\nimport { from as arrayFrom, isArray, concat } from '../../utils/array'\nimport { getComponentConfig } from '../../utils/config'\nimport { isFile, isFunction, isUndefinedOrNull } from '../../utils/inspect'\nimport { File } from '../../utils/safe-types'\nimport { toString } from '../../utils/string'\nimport { warn } from '../../utils/warn'\nimport formCustomMixin from '../../mixins/form-custom'\nimport formMixin from '../../mixins/form'\nimport formStateMixin from '../../mixins/form-state'\nimport idMixin from '../../mixins/id'\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\n\nconst NAME = 'BFormFile'\n\nconst VALUE_EMPTY_DEPRECATED_MSG =\n 'Setting \"value\"/\"v-model\" to an empty string for reset is deprecated. Set to \"null\" instead.'\n\n// @vue/component\nexport const BFormFile = /*#__PURE__*/ Vue.extend({\n name: NAME,\n mixins: [idMixin, formMixin, formStateMixin, formCustomMixin, normalizeSlotMixin],\n inheritAttrs: false,\n model: {\n prop: 'value',\n event: 'input'\n },\n props: {\n size: {\n type: String,\n default: () => getComponentConfig('BFormControl', 'size')\n },\n value: {\n type: [File, Array],\n default: null,\n validator: val => {\n /* istanbul ignore next */\n if (val === '') {\n warn(VALUE_EMPTY_DEPRECATED_MSG, NAME)\n return true\n }\n return (\n isUndefinedOrNull(val) ||\n isFile(val) ||\n (isArray(val) && (val.length === 0 || val.every(isFile)))\n )\n }\n },\n accept: {\n type: String,\n default: ''\n },\n // Instruct input to capture from camera\n capture: {\n type: Boolean,\n default: false\n },\n placeholder: {\n type: String,\n default: () => getComponentConfig(NAME, 'placeholder')\n },\n browseText: {\n type: String,\n default: () => getComponentConfig(NAME, 'browseText')\n },\n dropPlaceholder: {\n type: String,\n default: () => getComponentConfig(NAME, 'dropPlaceholder')\n },\n multiple: {\n type: Boolean,\n default: false\n },\n directory: {\n type: Boolean,\n default: false\n },\n noTraverse: {\n type: Boolean,\n default: false\n },\n noDrop: {\n type: Boolean,\n default: false\n },\n fileNameFormatter: {\n type: Function,\n default: null\n }\n },\n data() {\n return {\n selectedFile: null,\n dragging: false,\n hasFocus: false\n }\n },\n computed: {\n selectLabel() {\n // Draging active\n if (this.dragging && this.dropPlaceholder) {\n return this.dropPlaceholder\n }\n\n // No file chosen\n if (!this.selectedFile || this.selectedFile.length === 0) {\n return this.placeholder\n }\n\n // Convert selectedFile to an array (if not already one)\n const files = concat(this.selectedFile).filter(identity)\n\n if (this.hasNormalizedSlot('file-name')) {\n // There is a slot for formatting the files/names\n return [\n this.normalizeSlot('file-name', {\n files: files,\n names: files.map(f => f.name)\n })\n ]\n } else {\n // Use the user supplied formatter, or the built in one.\n return isFunction(this.fileNameFormatter)\n ? toString(this.fileNameFormatter(files))\n : files.map(file => file.name).join(', ')\n }\n }\n },\n watch: {\n selectedFile(newVal, oldVal) {\n // The following test is needed when the file input is \"reset\" or the\n // exact same file(s) are selected to prevent an infinite loop.\n // When in `multiple` mode we need to check for two empty arrays or\n // two arrays with identical files\n if (\n newVal === oldVal ||\n (isArray(newVal) &&\n isArray(oldVal) &&\n newVal.length === oldVal.length &&\n newVal.every((v, i) => v === oldVal[i]))\n ) {\n return\n }\n if (!newVal && this.multiple) {\n this.$emit('input', [])\n } else {\n this.$emit('input', newVal)\n }\n },\n value(newVal) {\n if (!newVal || (isArray(newVal) && newVal.length === 0)) {\n this.reset()\n }\n }\n },\n methods: {\n focusHandler(evt) {\n // Bootstrap v4 doesn't have focus styling for custom file input\n // Firefox has a '[type=file]:focus ~ sibling' selector issue,\n // so we add a 'focus' class to get around these bugs\n if (this.plain || evt.type === 'focusout') {\n this.hasFocus = false\n } else {\n // Add focus styling for custom file input\n this.hasFocus = true\n }\n },\n reset() {\n try {\n // Wrapped in try in case IE 11 craps out\n this.$refs.input.value = ''\n } catch (e) {}\n // IE 11 doesn't support setting `input.value` to '' or null\n // So we use this little extra hack to reset the value, just in case.\n // This also appears to work on modern browsers as well.\n this.$refs.input.type = ''\n this.$refs.input.type = 'file'\n this.selectedFile = this.multiple ? [] : null\n },\n onFileChange(evt) {\n // Always emit original event\n this.$emit('change', evt)\n // Check if special `items` prop is available on event (drop mode)\n // Can be disabled by setting no-traverse\n const items = evt.dataTransfer && evt.dataTransfer.items\n /* istanbul ignore next: not supported in JSDOM */\n if (items && !this.noTraverse) {\n const queue = []\n for (let i = 0; i < items.length; i++) {\n const item = items[i].webkitGetAsEntry()\n if (item) {\n queue.push(this.traverseFileTree(item))\n }\n }\n Promise.all(queue).then(filesArr => {\n this.setFiles(arrayFrom(filesArr))\n })\n return\n }\n // Normal handling\n this.setFiles(evt.target.files || evt.dataTransfer.files)\n },\n setFiles(files = []) {\n if (!files) {\n /* istanbul ignore next: this will probably not happen */\n this.selectedFile = null\n } else if (this.multiple) {\n // Convert files to array\n const filesArray = []\n for (let i = 0; i < files.length; i++) {\n filesArray.push(files[i])\n }\n // Return file(s) as array\n this.selectedFile = filesArray\n } else {\n // Return single file object\n this.selectedFile = files[0] || null\n }\n },\n onReset() {\n // Triggered when the parent form (if any) is reset\n this.selectedFile = this.multiple ? [] : null\n },\n onDragover(evt) /* istanbul ignore next: difficult to test in JSDOM */ {\n evt.preventDefault()\n evt.stopPropagation()\n if (this.noDrop || !this.custom) {\n return\n }\n this.dragging = true\n evt.dataTransfer.dropEffect = 'copy'\n },\n onDragleave(evt) /* istanbul ignore next: difficult to test in JSDOM */ {\n evt.preventDefault()\n evt.stopPropagation()\n this.dragging = false\n },\n onDrop(evt) /* istanbul ignore next: difficult to test in JSDOM */ {\n evt.preventDefault()\n evt.stopPropagation()\n if (this.noDrop) {\n return\n }\n this.dragging = false\n if (evt.dataTransfer.files && evt.dataTransfer.files.length > 0) {\n this.onFileChange(evt)\n }\n },\n traverseFileTree(item, path) /* istanbul ignore next: not supported in JSDOM */ {\n // Based on http://stackoverflow.com/questions/3590058\n return new Promise(resolve => {\n path = path || ''\n if (item.isFile) {\n // Get file\n item.file(file => {\n file.$path = path // Inject $path to file obj\n resolve(file)\n })\n } else if (item.isDirectory) {\n // Get folder contents\n item.createReader().readEntries(entries => {\n const queue = []\n for (let i = 0; i < entries.length; i++) {\n queue.push(this.traverseFileTree(entries[i], path + item.name + '/'))\n }\n Promise.all(queue).then(filesArr => {\n resolve(arrayFrom(filesArr))\n })\n })\n }\n })\n }\n },\n render(h) {\n // Form Input\n const input = h('input', {\n ref: 'input',\n class: [\n {\n 'form-control-file': this.plain,\n 'custom-file-input': this.custom,\n focus: this.custom && this.hasFocus\n },\n this.stateClass\n ],\n attrs: {\n ...this.$attrs,\n type: 'file',\n id: this.safeId(),\n name: this.name,\n disabled: this.disabled,\n required: this.required,\n form: this.form || null,\n capture: this.capture || null,\n accept: this.accept || null,\n multiple: this.multiple,\n webkitdirectory: this.directory,\n 'aria-required': this.required ? 'true' : null\n },\n on: {\n change: this.onFileChange,\n focusin: this.focusHandler,\n focusout: this.focusHandler,\n reset: this.onReset\n }\n })\n\n if (this.plain) {\n return input\n }\n\n // Overlay Labels\n const label = h(\n 'label',\n {\n staticClass: 'custom-file-label',\n class: [this.dragging ? 'dragging' : null],\n attrs: {\n for: this.safeId(),\n 'data-browse': this.browseText || null\n }\n },\n this.selectLabel\n )\n\n // Return rendered custom file input\n return h(\n 'div',\n {\n staticClass: 'custom-file b-form-file',\n class: [\n this.stateClass,\n {\n [`b-custom-control-${this.size}`]: this.size\n }\n ],\n attrs: { id: this.safeId('_BV_file_outer_') },\n on: {\n dragover: this.onDragover,\n dragleave: this.onDragleave,\n drop: this.onDrop\n }\n },\n [input, label]\n )\n }\n})\n","import { BFormFile } from './form-file'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst FormFilePlugin = /*#__PURE__*/ pluginFactory({\n components: {\n BFormFile,\n BFile: BFormFile\n }\n})\n\nexport { FormFilePlugin, BFormFile }\n","import { upperFirst } from './string'\n\n/**\n * Suffix can be a falsey value so nothing is appended to string.\n * (helps when looping over props & some shouldn't change)\n * Use data last parameters to allow for currying.\n * @param {string} suffix\n * @param {string} str\n */\nconst suffixPropName = (suffix, str) => str + (suffix ? upperFirst(suffix) : '')\n\nexport default suffixPropName\n","import { mergeData } from 'vue-functional-data-merge'\nimport identity from '../../utils/identity'\nimport memoize from '../../utils/memoize'\nimport suffixPropName from '../../utils/suffix-prop-name'\nimport { arrayIncludes } from '../../utils/array'\nimport { getBreakpointsUpCached } from '../../utils/config'\nimport { isUndefinedOrNull } from '../../utils/inspect'\nimport { assign, create, keys } from '../../utils/object'\nimport { lowerCase } from '../../utils/string'\n\nconst RX_COL_CLASS = /^col-/\n\n// Generates a prop object with a type of `[Boolean, String, Number]`\nconst boolStrNum = () => ({\n type: [Boolean, String, Number],\n default: false\n})\n\n// Generates a prop object with a type of `[String, Number]`\nconst strNum = () => ({\n type: [String, Number],\n default: null\n})\n\n// Compute a breakpoint class name\nconst computeBreakpoint = (type, breakpoint, val) => {\n let className = type\n if (isUndefinedOrNull(val) || val === false) {\n return undefined\n }\n if (breakpoint) {\n className += `-${breakpoint}`\n }\n // Handling the boolean style prop when accepting [Boolean, String, Number]\n // means Vue will not convert <b-col sm></b-col> to sm: true for us.\n // Since the default is false, an empty string indicates the prop's presence.\n if (type === 'col' && (val === '' || val === true)) {\n // .col-md\n return lowerCase(className)\n }\n // .order-md-6\n className += `-${val}`\n return lowerCase(className)\n}\n\n// Memoized function for better performance on generating class names\nconst computeBreakpointClass = memoize(computeBreakpoint)\n\n// Cached copy of the breakpoint prop names\nlet breakpointPropMap = create(null)\n\n// Lazy evaled props factory for BCol\nconst generateProps = () => {\n // Grab the breakpoints from the cached config (exclude the '' (xs) breakpoint)\n const breakpoints = getBreakpointsUpCached().filter(identity)\n\n // Supports classes like: .col-sm, .col-md-6, .col-lg-auto\n const breakpointCol = breakpoints.reduce((propMap, breakpoint) => {\n if (breakpoint) {\n // We filter out the '' breakpoint (xs), as making a prop name ''\n // would not work. The `cols` prop is used for `xs`\n propMap[breakpoint] = boolStrNum()\n }\n return propMap\n }, create(null))\n\n // Supports classes like: .offset-md-1, .offset-lg-12\n const breakpointOffset = breakpoints.reduce((propMap, breakpoint) => {\n propMap[suffixPropName(breakpoint, 'offset')] = strNum()\n return propMap\n }, create(null))\n\n // Supports classes like: .order-md-1, .order-lg-12\n const breakpointOrder = breakpoints.reduce((propMap, breakpoint) => {\n propMap[suffixPropName(breakpoint, 'order')] = strNum()\n return propMap\n }, create(null))\n\n // For loop doesn't need to check hasOwnProperty\n // when using an object created from null\n breakpointPropMap = assign(create(null), {\n col: keys(breakpointCol),\n offset: keys(breakpointOffset),\n order: keys(breakpointOrder)\n })\n\n // Return the generated props\n return {\n // Generic flexbox .col (xs)\n col: {\n type: Boolean,\n default: false\n },\n // .col-[1-12]|auto (xs)\n cols: strNum(),\n // Breakpoint Specific props\n ...breakpointCol,\n offset: strNum(),\n ...breakpointOffset,\n order: strNum(),\n ...breakpointOrder,\n // Flex alignment\n alignSelf: {\n type: String,\n default: null,\n validator: str =>\n arrayIncludes(['auto', 'start', 'end', 'center', 'baseline', 'stretch'], str)\n },\n tag: {\n type: String,\n default: 'div'\n }\n }\n}\n\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\nexport const BCol = {\n name: 'BCol',\n functional: true,\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 // eslint-disable-next-line no-return-assign\n return (this.props = generateProps())\n },\n render(h, { props, data, children }) {\n const classList = []\n // Loop through `col`, `offset`, `order` breakpoint props\n for (const type in breakpointPropMap) {\n // Returns colSm, offset, offsetSm, orderMd, etc.\n const keys = breakpointPropMap[type]\n for (let i = 0; i < keys.length; i++) {\n // computeBreakpoint(col, colSm => Sm, value=[String, Number, Boolean])\n const c = computeBreakpointClass(type, keys[i].replace(type, ''), props[keys[i]])\n // If a class is returned, push it onto the array.\n if (c) {\n classList.push(c)\n }\n }\n }\n\n const hasColClasses = classList.some(className => RX_COL_CLASS.test(className))\n\n classList.push({\n // Default to .col if no other col-{bp}-* classes generated nor `cols` specified.\n col: props.col || (!hasColClasses && !props.cols),\n [`col-${props.cols}`]: props.cols,\n [`offset-${props.offset}`]: props.offset,\n [`order-${props.order}`]: props.order,\n [`align-self-${props.alignSelf}`]: props.alignSelf\n })\n\n return h(props.tag, mergeData(data, { class: classList }), children)\n }\n}\n","// Utils\nimport memoize from '../../utils/memoize'\nimport { arrayIncludes } from '../../utils/array'\nimport { getBreakpointsUpCached } from '../../utils/config'\nimport { select, selectAll, isVisible, setAttr, removeAttr, getAttr } from '../../utils/dom'\nimport { isBrowser } from '../../utils/env'\nimport { isBoolean } from '../../utils/inspect'\nimport { keys, create } from '../../utils/object'\nimport { upperFirst } from '../../utils/string'\n// Mixins\nimport formStateMixin from '../../mixins/form-state'\nimport idMixin from '../../mixins/id'\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\n// Sub components\nimport { BCol } from '../layout/col'\nimport { BFormRow } from '../layout/form-row'\nimport { BFormText } from '../form/form-text'\nimport { BFormInvalidFeedback } from '../form/form-invalid-feedback'\nimport { BFormValidFeedback } from '../form/form-valid-feedback'\n\n// Component name\nconst NAME = 'BFormGroup'\n\n// Selector for finding first input in the form-group\nconst SELECTOR = 'input:not([disabled]),textarea:not([disabled]),select:not([disabled])'\n\n// Render helper functions (here rather than polluting the instance with more methods)\nconst renderInvalidFeedback = (h, ctx) => {\n const content = ctx.normalizeSlot('invalid-feedback') || ctx.invalidFeedback\n let invalidFeedback = h()\n if (content) {\n invalidFeedback = h(\n BFormInvalidFeedback,\n {\n props: {\n id: ctx.invalidFeedbackId,\n // If state is explicitly false, always show the feedback\n state: ctx.computedState,\n tooltip: ctx.tooltip,\n ariaLive: ctx.feedbackAriaLive,\n role: ctx.feedbackAriaLive ? 'alert' : null\n },\n attrs: { tabindex: content ? '-1' : null }\n },\n [content]\n )\n }\n return invalidFeedback\n}\n\nconst renderValidFeedback = (h, ctx) => {\n const content = ctx.normalizeSlot('valid-feedback') || ctx.validFeedback\n let validFeedback = h()\n if (content) {\n validFeedback = h(\n BFormValidFeedback,\n {\n props: {\n id: ctx.validFeedbackId,\n // If state is explicitly true, always show the feedback\n state: ctx.computedState,\n tooltip: ctx.tooltip,\n ariaLive: ctx.feedbackAriaLive,\n role: ctx.feedbackAriaLive ? 'alert' : null\n },\n attrs: { tabindex: content ? '-1' : null }\n },\n [content]\n )\n }\n return validFeedback\n}\n\nconst renderHelpText = (h, ctx) => {\n // Form help text (description)\n const content = ctx.normalizeSlot('description') || ctx.description\n let description = h()\n if (content) {\n description = h(\n BFormText,\n {\n attrs: {\n id: ctx.descriptionId,\n tabindex: content ? '-1' : null\n }\n },\n [content]\n )\n }\n return description\n}\n\nconst renderLabel = (h, ctx) => {\n // Render label/legend inside b-col if necessary\n const content = ctx.normalizeSlot('label') || ctx.label\n const labelFor = ctx.labelFor\n const isLegend = !labelFor\n const isHorizontal = ctx.isHorizontal\n const labelTag = isLegend ? 'legend' : 'label'\n if (!content && !isHorizontal) {\n return h()\n } else if (ctx.labelSrOnly) {\n let label = h()\n if (content) {\n label = h(\n labelTag,\n {\n class: 'sr-only',\n attrs: { id: ctx.labelId, for: labelFor || null }\n },\n [content]\n )\n }\n return h(isHorizontal ? BCol : 'div', { props: isHorizontal ? ctx.labelColProps : {} }, [label])\n } else {\n return h(\n isHorizontal ? BCol : labelTag,\n {\n on: isLegend ? { click: ctx.legendClick } : {},\n props: isHorizontal ? { tag: labelTag, ...ctx.labelColProps } : {},\n attrs: {\n id: ctx.labelId,\n for: labelFor || null,\n // We add a tab index to legend so that screen readers\n // will properly read the aria-labelledby in IE.\n tabindex: isLegend ? '-1' : null\n },\n class: [\n // Hide the focus ring on the legend\n isLegend ? 'bv-no-focus-ring' : '',\n // When horizontal or if a legend is rendered, add col-form-label\n // for correct sizing as Bootstrap has inconsistent font styling\n // for legend in non-horizontal form-groups.\n // See: https://github.com/twbs/bootstrap/issues/27805\n isHorizontal || isLegend ? 'col-form-label' : '',\n // Emulate label padding top of 0 on legend when not horizontal\n !isHorizontal && isLegend ? 'pt-0' : '',\n // If not horizontal and not a legend, we add d-block to label\n // so that label-align works\n !isHorizontal && !isLegend ? 'd-block' : '',\n ctx.labelSize ? `col-form-label-${ctx.labelSize}` : '',\n ctx.labelAlignClasses,\n ctx.labelClass\n ]\n },\n [content]\n )\n }\n}\n\n// -- BFormGroup Prop factory -- used for lazy generation of props\n\n// Memoize this function to return cached values to\n// save time in computed functions\nconst makePropName = memoize((breakpoint = '', prefix) => {\n return `${prefix}${upperFirst(breakpoint)}`\n})\n\n// BFormGroup prop generator for lazy generation of props\nconst generateProps = () => {\n const BREAKPOINTS = getBreakpointsUpCached()\n\n // Generate the labelCol breakpoint props\n const bpLabelColProps = BREAKPOINTS.reduce((props, breakpoint) => {\n // i.e. label-cols, label-cols-sm, label-cols-md, ...\n props[makePropName(breakpoint, 'labelCols')] = {\n type: [Number, String, Boolean],\n default: breakpoint ? false : null\n }\n return props\n }, create(null))\n\n // Generate the labelAlign breakpoint props\n const bpLabelAlignProps = BREAKPOINTS.reduce((props, breakpoint) => {\n // label-align, label-align-sm, label-align-md, ...\n props[makePropName(breakpoint, 'labelAlign')] = {\n type: String, // left, right, center\n default: null\n }\n return props\n }, create(null))\n\n return {\n label: {\n type: String,\n default: null\n },\n labelFor: {\n type: String,\n default: null\n },\n labelSize: {\n type: String,\n default: null\n },\n labelSrOnly: {\n type: Boolean,\n default: false\n },\n // label-cols prop and all label-cols-{bp} props\n ...bpLabelColProps,\n // label-align prop and all label-align-{bp} props\n ...bpLabelAlignProps,\n labelClass: {\n type: [String, Array, Object],\n default: null\n },\n description: {\n type: String,\n default: null\n },\n invalidFeedback: {\n type: String,\n default: null\n },\n validFeedback: {\n type: String,\n default: null\n },\n tooltip: {\n // Enable tooltip style feedback\n type: Boolean,\n default: false\n },\n feedbackAriaLive: {\n type: String,\n default: 'assertive'\n },\n validated: {\n type: Boolean,\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n }\n }\n}\n\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\nexport const BFormGroup = {\n name: NAME,\n mixins: [idMixin, formStateMixin, normalizeSlotMixin],\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 // eslint-disable-next-line no-return-assign\n return (this.props = generateProps())\n },\n computed: {\n labelColProps() {\n const props = {}\n getBreakpointsUpCached().forEach(breakpoint => {\n // Grab the value if the label column breakpoint prop\n let propVal = this[makePropName(breakpoint, 'labelCols')]\n // Handle case where the prop's value is an empty string,\n // which represents true\n propVal = propVal === '' ? true : propVal || false\n if (!isBoolean(propVal) && propVal !== 'auto') {\n // Convert to column size to number\n propVal = parseInt(propVal, 10) || 0\n // Ensure column size is greater than 0\n propVal = propVal > 0 ? propVal : false\n }\n if (propVal) {\n // Add the prop to the list of props to give to b-col\n // If breakpoint is '' (labelCols=true), then we use the\n // col prop to make equal width at xs\n const bColPropName = breakpoint || (isBoolean(propVal) ? 'col' : 'cols')\n // Add it to the props\n props[bColPropName] = propVal\n }\n })\n return props\n },\n labelAlignClasses() {\n const classes = []\n getBreakpointsUpCached().forEach(breakpoint => {\n // Assemble the label column breakpoint align classes\n const propVal = this[makePropName(breakpoint, 'labelAlign')] || null\n if (propVal) {\n const className = breakpoint ? `text-${breakpoint}-${propVal}` : `text-${propVal}`\n classes.push(className)\n }\n })\n return classes\n },\n isHorizontal() {\n // Determine if the resultant form-group will be rendered\n // horizontal (meaning it has label-col breakpoints)\n return keys(this.labelColProps).length > 0\n },\n labelId() {\n return this.hasNormalizedSlot('label') || this.label ? this.safeId('_BV_label_') : null\n },\n descriptionId() {\n return this.hasNormalizedSlot('description') || this.description\n ? this.safeId('_BV_description_')\n : null\n },\n hasInvalidFeedback() {\n // Used for computing aria-describedby\n return (\n this.computedState === false &&\n (this.hasNormalizedSlot('invalid-feedback') || this.invalidFeedback)\n )\n },\n invalidFeedbackId() {\n return this.hasInvalidFeedback ? this.safeId('_BV_feedback_invalid_') : null\n },\n hasValidFeedback() {\n // Used for computing aria-describedby\n return (\n this.computedState === true &&\n (this.hasNormalizedSlot('valid-feedback') || this.validFeedback)\n )\n },\n validFeedbackId() {\n return this.hasValidFeedback ? this.safeId('_BV_feedback_valid_') : null\n },\n describedByIds() {\n // Screen readers will read out any content linked to by aria-describedby\n // even if the content is hidden with `display: none;`, hence we only include\n // feedback IDs if the form-group's state is explicitly valid or invalid.\n return (\n [this.descriptionId, this.invalidFeedbackId, this.validFeedbackId]\n .filter(Boolean)\n .join(' ') || null\n )\n }\n },\n watch: {\n describedByIds(add, remove) {\n if (add !== remove) {\n this.setInputDescribedBy(add, remove)\n }\n }\n },\n mounted() {\n this.$nextTick(() => {\n // Set the aria-describedby IDs on the input specified by label-for\n // We do this in a nextTick to ensure the children have finished rendering\n this.setInputDescribedBy(this.describedByIds)\n })\n },\n methods: {\n legendClick(evt) {\n if (this.labelFor) {\n // Don't do anything if labelFor is set\n /* istanbul ignore next: clicking a label will focus the input, so no need to test */\n return\n }\n const tagName = evt.target ? evt.target.tagName : ''\n if (/^(input|select|textarea|label|button|a)$/i.test(tagName)) {\n // If clicked an interactive element inside legend,\n // we just let the default happen\n /* istanbul ignore next */\n return\n }\n const inputs = selectAll(SELECTOR, this.$refs.content).filter(isVisible)\n if (inputs && inputs.length === 1 && inputs[0].focus) {\n // if only a single input, focus it, emulating label behaviour\n try {\n inputs[0].focus()\n } catch {}\n }\n },\n setInputDescribedBy(add, remove) {\n // Sets the `aria-describedby` attribute on the input if label-for is set.\n // Optionally accepts a string of IDs to remove as the second parameter.\n // Preserves any aria-describedby value(s) user may have on input.\n if (this.labelFor && isBrowser) {\n const input = select(`#${this.labelFor}`, this.$refs.content)\n if (input) {\n const adb = 'aria-describedby'\n let ids = (getAttr(input, adb) || '').split(/\\s+/)\n add = (add || '').split(/\\s+/)\n remove = (remove || '').split(/\\s+/)\n // Update ID list, preserving any original IDs\n // and ensuring the ID's are unique\n ids = ids\n .filter(id => !arrayIncludes(remove, id))\n .concat(add)\n .filter(Boolean)\n ids = keys(ids.reduce((memo, id) => ({ ...memo, [id]: true }), {}))\n .join(' ')\n .trim()\n if (ids) {\n setAttr(input, adb, ids)\n } else {\n // No IDs, so remove the attribute\n removeAttr(input, adb)\n }\n }\n }\n }\n },\n render(h) {\n const isFieldset = !this.labelFor\n const isHorizontal = this.isHorizontal\n // Generate the label\n const label = renderLabel(h, this)\n // Generate the content\n const content = h(\n isHorizontal ? BCol : 'div',\n {\n ref: 'content',\n // Hide focus ring\n staticClass: 'bv-no-focus-ring',\n attrs: {\n tabindex: isFieldset ? '-1' : null,\n role: isFieldset ? 'group' : null\n }\n },\n [\n this.normalizeSlot('default') || h(),\n renderInvalidFeedback(h, this),\n renderValidFeedback(h, this),\n renderHelpText(h, this)\n ]\n )\n // Create the form-group\n const data = {\n staticClass: 'form-group',\n class: [this.validated ? 'was-validated' : null, this.stateClass],\n attrs: {\n id: this.safeId(),\n disabled: isFieldset ? this.disabled : null,\n role: isFieldset ? null : 'group',\n 'aria-invalid': this.computedState === false ? 'true' : null,\n // Only apply aria-labelledby if we are a horizontal fieldset\n // as the legend is no longer a direct child of fieldset\n 'aria-labelledby': isFieldset && isHorizontal ? this.labelId : null,\n // Only apply aria-describedby IDs if we are a fieldset\n // as the input will have the IDs when not a fieldset\n 'aria-describedby': isFieldset ? this.describedByIds : null\n }\n }\n // Return it wrapped in a form-group\n // Note: Fieldsets do not support adding `row` or `form-row` directly\n // to them due to browser specific render issues, so we move the `form-row`\n // to an inner wrapper div when horizontal and using a fieldset\n return h(\n isFieldset ? 'fieldset' : isHorizontal ? BFormRow : 'div',\n data,\n isHorizontal && isFieldset ? [h(BFormRow, [label, content])] : [label, content]\n )\n }\n}\n","import { BFormGroup } from './form-group'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst FormGroupPlugin = /*#__PURE__*/ pluginFactory({\n components: {\n BFormGroup,\n BFormFieldset: BFormGroup\n }\n})\n\nexport { FormGroupPlugin, BFormGroup }\n","import { isFunction } from '../utils/inspect'\nimport { toInteger, toFloat } from '../utils/number'\nimport { toString } from '../utils/string'\n\n// @vue/component\nexport default {\n model: {\n prop: 'value',\n event: 'update'\n },\n props: {\n value: {\n type: [String, Number],\n default: ''\n },\n ariaInvalid: {\n type: [Boolean, String],\n default: false\n },\n readonly: {\n type: Boolean,\n default: false\n },\n plaintext: {\n type: Boolean,\n default: false\n },\n autocomplete: {\n type: String,\n default: null\n },\n placeholder: {\n type: String,\n default: null\n },\n formatter: {\n type: Function,\n default: null\n },\n lazyFormatter: {\n type: Boolean,\n default: false\n },\n trim: {\n type: Boolean,\n default: false\n },\n number: {\n type: Boolean,\n default: false\n },\n lazy: {\n // Only update the `v-model` on blur/change events\n type: Boolean,\n default: false\n },\n debounce: {\n // Debounce timout (in ms). Not applicable with `lazy` prop\n type: [Number, String],\n default: 0\n }\n },\n data() {\n return {\n localValue: toString(this.value),\n vModelValue: this.value\n }\n },\n computed: {\n computedClass() {\n return [\n {\n // Range input needs class `custom-range`\n 'custom-range': this.type === 'range',\n // `plaintext` not supported by `type=\"range\"` or `type=\"color\"`\n 'form-control-plaintext':\n this.plaintext && this.type !== 'range' && this.type !== 'color',\n // `form-control` not used by `type=\"range\"` or `plaintext`\n // Always used by `type=\"color\"`\n 'form-control': (!this.plaintext && this.type !== 'range') || this.type === 'color'\n },\n this.sizeFormClass,\n this.stateClass\n ]\n },\n computedAriaInvalid() {\n if (!this.ariaInvalid || this.ariaInvalid === 'false') {\n // `this.ariaInvalid` is `null` or `false` or 'false'\n return this.computedState === false ? 'true' : null\n }\n if (this.ariaInvalid === true) {\n // User wants explicit `:aria-invalid=\"true\"`\n return 'true'\n }\n // Most likely a string value (which could be the string 'true')\n return this.ariaInvalid\n },\n computedDebounce() {\n // Ensure we have a positive number equal to or greater than 0\n return Math.max(toInteger(this.debounce) || 0, 0)\n },\n hasFormatter() {\n return isFunction(this.formatter)\n }\n },\n watch: {\n value(newVal) {\n const stringifyValue = toString(newVal)\n if (stringifyValue !== this.localValue && newVal !== this.vModelValue) {\n // Clear any pending debounce timeout, as we are overwriting the user input\n this.clearDebounce()\n // Update the local values\n this.localValue = stringifyValue\n this.vModelValue = newVal\n }\n }\n },\n mounted() {\n // Create non-reactive property and set up destroy handler\n this.$_inputDebounceTimer = null\n this.$on('hook:beforeDestroy', this.clearDebounce)\n // Preset the internal state\n const value = this.value\n const stringifyValue = toString(value)\n /* istanbul ignore next */\n if (stringifyValue !== this.localValue && value !== this.vModelValue) {\n this.localValue = stringifyValue\n this.vModelValue = value\n }\n },\n methods: {\n clearDebounce() {\n clearTimeout(this.$_inputDebounceTimer)\n this.$_inputDebounceTimer = null\n },\n formatValue(value, evt, force = false) {\n value = toString(value)\n if (this.hasFormatter && (!this.lazyFormatter || force)) {\n value = this.formatter(value, evt)\n }\n return value\n },\n modifyValue(value) {\n // Emulate `.trim` modifier behaviour\n if (this.trim) {\n value = value.trim()\n }\n // Emulate `.number` modifier behaviour\n if (this.number) {\n const number = toFloat(value)\n value = isNaN(number) ? value : number\n }\n return value\n },\n updateValue(value, force = false) {\n const lazy = this.lazy\n if (lazy && !force) {\n return\n }\n value = this.modifyValue(value)\n if (value !== this.vModelValue) {\n this.clearDebounce()\n const doUpdate = () => {\n this.vModelValue = value\n this.$emit('update', value)\n }\n const debounce = this.computedDebounce\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 if (debounce > 0 && !lazy && !force) {\n this.$_inputDebounceTimer = setTimeout(doUpdate, debounce)\n } else {\n // Immediately update the v-model\n doUpdate()\n }\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 /* istanbul ignore next: hard to test */\n const $input = this.$refs.input\n /* istanbul ignore if: hard to test out of sync value */\n if ($input && value !== $input.value) {\n $input.value = value\n }\n }\n },\n onInput(evt) {\n // `evt.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 /* istanbul ignore if: hard to test composition events */\n if (evt.target.composing) {\n return\n }\n const value = evt.target.value\n const formattedValue = this.formatValue(value, evt)\n // Exit when the `formatter` function strictly returned `false`\n // or prevented the input event\n /* istanbul ignore next */\n if (formattedValue === false || evt.defaultPrevented) {\n evt.preventDefault()\n return\n }\n this.localValue = formattedValue\n this.updateValue(formattedValue)\n this.$emit('input', formattedValue)\n },\n onChange(evt) {\n const value = evt.target.value\n const formattedValue = this.formatValue(value, evt)\n // Exit when the `formatter` function strictly returned `false`\n // or prevented the input event\n /* istanbul ignore next */\n if (formattedValue === false || evt.defaultPrevented) {\n evt.preventDefault()\n return\n }\n this.localValue = formattedValue\n this.updateValue(formattedValue, true)\n this.$emit('change', formattedValue)\n },\n onBlur(evt) {\n // Apply the `localValue` on blur to prevent cursor jumps\n // on mobile browsers (e.g. caused by autocomplete)\n const value = evt.target.value\n const formattedValue = this.formatValue(value, evt, true)\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))\n // We pass the formatted value here since the `updateValue` method\n // handles the modifiers itself\n this.updateValue(formattedValue, true)\n }\n // Emit native blur event\n this.$emit('blur', evt)\n },\n focus() {\n // For external handler that may want a focus method\n if (!this.disabled) {\n this.$el.focus()\n }\n },\n blur() {\n // For external handler that may want a blur method\n if (!this.disabled) {\n this.$el.blur()\n }\n }\n }\n}\n","// @vue/component\nexport default {\n computed: {\n selectionStart: {\n // Expose selectionStart for formatters, etc\n cache: false,\n get() /* istanbul ignore next */ {\n return this.$refs.input.selectionStart\n },\n set(val) /* istanbul ignore next */ {\n this.$refs.input.selectionStart = val\n }\n },\n selectionEnd: {\n // Expose selectionEnd for formatters, etc\n cache: false,\n get() /* istanbul ignore next */ {\n return this.$refs.input.selectionEnd\n },\n set(val) /* istanbul ignore next */ {\n this.$refs.input.selectionEnd = val\n }\n },\n selectionDirection: {\n // Expose selectionDirection for formatters, etc\n cache: false,\n get() /* istanbul ignore next */ {\n return this.$refs.input.selectionDirection\n },\n set(val) /* istanbul ignore next */ {\n this.$refs.input.selectionDirection = val\n }\n }\n },\n methods: {\n select() /* istanbul ignore next */ {\n // For external handler that may want a select() method\n this.$refs.input.select(...arguments)\n },\n setSelectionRange() /* istanbul ignore next */ {\n // For external handler that may want a setSelectionRange(a,b,c) method\n this.$refs.input.setSelectionRange(...arguments)\n },\n setRangeText() /* istanbul ignore next */ {\n // For external handler that may want a setRangeText(a,b,c) method\n this.$refs.input.setRangeText(...arguments)\n }\n }\n}\n","// @vue/component\nexport default {\n computed: {\n validity: {\n // Expose validity property\n cache: false,\n get() /* istanbul ignore next */ {\n return this.$refs.input.validity\n }\n },\n validationMessage: {\n // Expose validationMessage property\n cache: false,\n get() /* istanbul ignore next */ {\n return this.$refs.input.validationMessage\n }\n },\n willValidate: {\n // Expose willValidate property\n cache: false,\n get() /* istanbul ignore next */ {\n return this.$refs.input.willValidate\n }\n }\n },\n methods: {\n setCustomValidity() /* istanbul ignore next */ {\n // For external handler that may want a setCustomValidity(...) method\n return this.$refs.input.setCustomValidity(...arguments)\n },\n checkValidity() /* istanbul ignore next */ {\n // For external handler that may want a checkValidity(...) method\n return this.$refs.input.checkValidity(...arguments)\n },\n reportValidity() /* istanbul ignore next */ {\n // For external handler that may want a reportValidity(...) method\n return this.$refs.input.reportValidity(...arguments)\n }\n }\n}\n","import Vue from '../../utils/vue'\nimport { arrayIncludes } from '../../utils/array'\nimport { eventOn, eventOff, eventOnOff } from '../../utils/events'\nimport idMixin from '../../mixins/id'\nimport formMixin from '../../mixins/form'\nimport formSizeMixin from '../../mixins/form-size'\nimport formStateMixin from '../../mixins/form-state'\nimport formTextMixin from '../../mixins/form-text'\nimport formSelectionMixin from '../../mixins/form-selection'\nimport formValidityMixin from '../../mixins/form-validity'\n\n// Valid supported input types\nconst TYPES = [\n 'text',\n 'password',\n 'email',\n 'number',\n 'url',\n 'tel',\n 'search',\n 'range',\n 'color',\n 'date',\n 'time',\n 'datetime',\n 'datetime-local',\n 'month',\n 'week'\n]\n\n// @vue/component\nexport const BFormInput = /*#__PURE__*/ Vue.extend({\n name: 'BFormInput',\n mixins: [\n idMixin,\n formMixin,\n formSizeMixin,\n formStateMixin,\n formTextMixin,\n formSelectionMixin,\n formValidityMixin\n ],\n props: {\n // value prop defined in form-text mixin\n // value: { },\n type: {\n type: String,\n default: 'text',\n validator: type => arrayIncludes(TYPES, type)\n },\n noWheel: {\n // Disable mousewheel to prevent wheel from changing values (i.e. number/date).\n type: Boolean,\n default: false\n },\n min: {\n type: [String, Number],\n default: null\n },\n max: {\n type: [String, Number],\n default: null\n },\n step: {\n type: [String, Number],\n default: null\n },\n list: {\n type: String,\n default: null\n }\n },\n computed: {\n localType() {\n // We only allow certain types\n return arrayIncludes(TYPES, this.type) ? this.type : 'text'\n }\n },\n watch: {\n noWheel(newVal) {\n this.setWheelStopper(newVal)\n }\n },\n mounted() {\n this.setWheelStopper(this.noWheel)\n },\n deactivated() {\n // Turn off listeners when keep-alive component deactivated\n /* istanbul ignore next */\n this.setWheelStopper(false)\n },\n activated() {\n // Turn on listeners (if no-wheel) when keep-alive component activated\n /* istanbul ignore next */\n this.setWheelStopper(this.noWheel)\n },\n beforeDestroy() {\n /* istanbul ignore next */\n this.setWheelStopper(false)\n },\n methods: {\n setWheelStopper(on) {\n const input = this.$el\n // We use native events, so that we don't interfere with propagation\n eventOnOff(on, input, 'focus', this.onWheelFocus)\n eventOnOff(on, input, 'blur', this.onWheelBlur)\n if (!on) {\n eventOff(document, 'wheel', this.stopWheel)\n }\n },\n onWheelFocus() {\n eventOn(document, 'wheel', this.stopWheel)\n },\n onWheelBlur() {\n eventOff(document, 'wheel', this.stopWheel)\n },\n stopWheel(evt) {\n evt.preventDefault()\n this.$el.blur()\n }\n },\n render(h) {\n var self = this\n return h('input', {\n ref: 'input',\n class: self.computedClass,\n directives: [\n {\n name: 'model',\n rawName: 'v-model',\n value: self.localValue,\n expression: 'localValue'\n }\n ],\n attrs: {\n id: self.safeId(),\n name: self.name,\n form: self.form || null,\n type: self.localType,\n disabled: self.disabled,\n placeholder: self.placeholder,\n required: self.required,\n autocomplete: self.autocomplete || null,\n readonly: self.readonly || self.plaintext,\n min: self.min,\n max: self.max,\n step: self.step,\n list: self.localType !== 'password' ? self.list : null,\n 'aria-required': self.required ? 'true' : null,\n 'aria-invalid': self.computedAriaInvalid\n },\n domProps: {\n value: self.localValue\n },\n on: {\n ...self.$listeners,\n input: self.onInput,\n change: self.onChange,\n blur: self.onBlur\n }\n })\n }\n})\n","import { BFormInput } from './form-input'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst FormInputPlugin = /*#__PURE__*/ pluginFactory({\n components: {\n BFormInput,\n BInput: BFormInput\n }\n})\n\nexport { FormInputPlugin, BFormInput }\n","import Vue from '../../utils/vue'\nimport idMixin from '../../mixins/id'\nimport formMixin from '../../mixins/form'\nimport formOptionsMixin from '../../mixins/form-options'\nimport formRadioCheckGroupMixin from '../../mixins/form-radio-check-group'\nimport formSizeMixin from '../../mixins/form-size'\nimport formStateMixin from '../../mixins/form-state'\n\nexport const props = {\n checked: {\n // type: [String, Number, Boolean, Object],\n default: null\n }\n}\n\n// @vue/component\nexport const BFormRadioGroup = /*#__PURE__*/ Vue.extend({\n name: 'BFormRadioGroup',\n mixins: [\n idMixin,\n formMixin,\n formRadioCheckGroupMixin, // Includes render function\n formOptionsMixin,\n formSizeMixin,\n formStateMixin\n ],\n provide() {\n return {\n bvRadioGroup: this\n }\n },\n props,\n data() {\n return {\n localChecked: this.checked\n }\n },\n computed: {\n isRadioGroup() {\n return true\n }\n }\n})\n","import { BFormRadio } from './form-radio'\nimport { BFormRadioGroup } from './form-radio-group'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst FormRadioPlugin = /*#__PURE__*/ pluginFactory({\n components: {\n BFormRadio,\n BRadio: BFormRadio,\n BFormRadioGroup,\n BRadioGroup: BFormRadioGroup\n }\n})\n\nexport { FormRadioPlugin, BFormRadio, BFormRadioGroup }\n","import get from '../../../utils/get'\nimport { isArray, isPlainObject, isUndefined } from '../../../utils/inspect'\nimport formOptionsMixin from '../../../mixins/form-options'\n\n// @vue/component\nexport default {\n mixins: [formOptionsMixin],\n props: {\n labelField: {\n type: String,\n default: 'label'\n },\n optionsField: {\n type: String,\n default: 'options'\n }\n },\n methods: {\n normalizeOption(option, key = null) {\n // When the option is an object, normalize it\n if (isPlainObject(option)) {\n const value = get(option, this.valueField)\n const text = get(option, this.textField)\n const options = get(option, this.optionsField)\n // When it has options, create an `<optgroup>` object\n if (isArray(options)) {\n return {\n label: String(get(option, this.labelField) || text),\n options\n }\n }\n // Otherwise create an `<option>` object\n return {\n value: isUndefined(value) ? key || text : value,\n text: String(isUndefined(text) ? key : text),\n html: get(option, this.htmlField),\n disabled: Boolean(get(option, this.disabledField))\n }\n }\n // Otherwise create an `<option>` object from the given value\n return {\n value: key || option,\n text: String(option),\n disabled: false\n }\n }\n }\n}\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\n\nconst NAME = 'BFormSelectOption'\n\nexport const props = {\n value: {\n // type: [String, Number, Boolean, Object],\n required: true\n },\n disabled: {\n type: Boolean,\n default: false\n }\n}\n\n// @vue/component\nexport const BFormSelectOption = /*#__PURE__*/ Vue.extend({\n name: NAME,\n functional: true,\n props,\n render(h, { props, data, children }) {\n const { value, disabled } = props\n return h(\n 'option',\n mergeData(data, {\n attrs: { disabled },\n domProps: { value }\n }),\n children\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport { htmlOrText } from '../../utils/html'\nimport formOptionsMixin from '../../mixins/form-options'\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\nimport { BFormSelectOption } from './form-select-option'\n\n// @vue/component\nconst BFormSelectOptionGroup = /*#__PURE__*/ Vue.extend({\n name: 'BFormSelectOptionGroup',\n mixins: [normalizeSlotMixin, formOptionsMixin],\n props: {\n label: {\n type: String,\n required: true\n }\n },\n render(h) {\n return h('optgroup', { attrs: { label: this.label } }, [\n this.normalizeSlot('first'),\n this.formOptions.map((option, index) =>\n h(BFormSelectOption, {\n props: { value: option.value, disabled: option.disabled },\n domProps: htmlOrText(option.html, option.text),\n key: `option_${index}_opt`\n })\n ),\n this.normalizeSlot('default')\n ])\n }\n})\n\nexport { BFormSelectOptionGroup }\n","import Vue from '../../utils/vue'\nimport { from as arrayFrom, isArray } from '../../utils/array'\nimport { htmlOrText } from '../../utils/html'\nimport idMixin from '../../mixins/id'\nimport formMixin from '../../mixins/form'\nimport formSizeMixin from '../../mixins/form-size'\nimport formStateMixin from '../../mixins/form-state'\nimport formCustomMixin from '../../mixins/form-custom'\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\nimport optionsMixin from './helpers/mixin-options'\nimport { BFormSelectOption } from './form-select-option'\nimport { BFormSelectOptionGroup } from './form-select-option-group'\n\n// @vue/component\nexport const BFormSelect = /*#__PURE__*/ Vue.extend({\n name: 'BFormSelect',\n mixins: [\n idMixin,\n normalizeSlotMixin,\n formMixin,\n formSizeMixin,\n formStateMixin,\n formCustomMixin,\n optionsMixin\n ],\n model: {\n prop: 'value',\n event: 'input'\n },\n props: {\n value: {\n // type: [Object, Array, String, Number, Boolean],\n // default: undefined\n },\n multiple: {\n type: Boolean,\n default: false\n },\n selectSize: {\n // Browsers default size to 0, which shows 4 rows in most browsers in multiple mode\n // Size of 1 can bork out Firefox\n type: Number,\n default: 0\n },\n ariaInvalid: {\n type: [Boolean, String],\n default: false\n }\n },\n data() {\n return {\n localValue: this.value\n }\n },\n computed: {\n computedSelectSize() {\n // Custom selects with a size of zero causes the arrows to be hidden,\n // so dont render the size attribute in this case\n return !this.plain && this.selectSize === 0 ? null : this.selectSize\n },\n inputClass() {\n return [\n this.plain ? 'form-control' : 'custom-select',\n this.size && this.plain ? `form-control-${this.size}` : null,\n this.size && !this.plain ? `custom-select-${this.size}` : null,\n this.stateClass\n ]\n },\n computedAriaInvalid() {\n if (this.ariaInvalid === true || this.ariaInvalid === 'true') {\n return 'true'\n }\n return this.stateClass === 'is-invalid' ? 'true' : null\n }\n },\n watch: {\n value(newVal) {\n this.localValue = newVal\n },\n localValue() {\n this.$emit('input', this.localValue)\n }\n },\n methods: {\n focus() {\n this.$refs.input.focus()\n },\n blur() {\n this.$refs.input.blur()\n }\n },\n render(h) {\n return h(\n 'select',\n {\n ref: 'input',\n class: this.inputClass,\n directives: [\n {\n name: 'model',\n rawName: 'v-model',\n value: this.localValue,\n expression: 'localValue'\n }\n ],\n attrs: {\n id: this.safeId(),\n name: this.name,\n form: this.form || null,\n multiple: this.multiple || null,\n size: this.computedSelectSize,\n disabled: this.disabled,\n required: this.required,\n 'aria-required': this.required ? 'true' : null,\n 'aria-invalid': this.computedAriaInvalid\n },\n on: {\n change: evt => {\n const target = evt.target\n const selectedVal = arrayFrom(target.options)\n .filter(o => o.selected)\n .map(o => ('_value' in o ? o._value : o.value))\n this.localValue = target.multiple ? selectedVal : selectedVal[0]\n this.$nextTick(() => {\n this.$emit('change', this.localValue)\n })\n }\n }\n },\n [\n this.normalizeSlot('first'),\n this.formOptions.map((option, index) => {\n const key = `option_${index}_opt`\n const options = option.options\n return isArray(options)\n ? h(BFormSelectOptionGroup, { props: { label: option.label, options }, key })\n : h(BFormSelectOption, {\n props: { value: option.value, disabled: option.disabled },\n domProps: htmlOrText(option.html, option.text),\n key\n })\n }),\n this.normalizeSlot('default')\n ]\n )\n }\n})\n","import { BFormSelect } from './form-select'\nimport { BFormSelectOption } from './form-select-option'\nimport { BFormSelectOptionGroup } from './form-select-option-group'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst FormSelectPlugin = /*#__PURE__*/ pluginFactory({\n components: {\n BFormSelect,\n BFormSelectOption,\n BFormSelectOptionGroup,\n BSelect: BFormSelect,\n BSelectOption: BFormSelectOption,\n BSelectOptionGroup: BFormSelectOptionGroup\n }\n})\n\nexport { FormSelectPlugin, BFormSelect, BFormSelectOption, BFormSelectOptionGroup }\n","import Vue from '../../utils/vue'\nimport { arrayIncludes, concat } from '../../utils/array'\nimport { getComponentConfig } from '../../utils/config'\nimport { EVENT_OPTIONS_PASSIVE, eventOnOff } from '../../utils/events'\nimport { isFunction, isNull } from '../../utils/inspect'\nimport { toFloat, toInteger } from '../../utils/number'\nimport { toString } from '../../utils/string'\nimport identity from '../../utils/identity'\nimport KeyCodes from '../../utils/key-codes'\nimport idMixin from '../../mixins/id'\nimport { BIconPlus, BIconDash } from '../../icons/icons'\n\n// --- Constants ---\n\nconst NAME = 'BFormSpinbutton'\n\nconst { UP, DOWN, HOME, END, PAGEUP, PAGEDOWN } = KeyCodes\n\n// Default for spin button range and step\nconst DEFAULT_MIN = 1\nconst DEFAULT_MAX = 100\nconst DEFAULT_STEP = 1\n\n// Delay before auto-repeat in ms\nconst DEFAULT_REPEAT_DELAY = 500\n// Repeat interval in ms\nconst DEFAULT_REPEAT_INTERVAL = 100\n// Repeat rate increased after number of repeats\nconst DEFAULT_REPEAT_THRESHOLD = 10\n// Repeat speed multiplier (step multiplier, must be an integer)\nconst DEFAULT_REPEAT_MULTIPLIER = 4\n\n// --- Helper functions ---\n\nconst defaultNumber = (value, defaultValue = null) => {\n value = toFloat(value)\n return isNaN(value) ? defaultValue : value\n}\n\nconst defaultInteger = (value, defaultValue = null) => {\n value = toInteger(value)\n return isNaN(value) ? Math.abs(defaultValue) : value\n}\n\n// --- BFormSpinbutton ---\n// @vue/component\nexport const BFormSpinbutton = /*#__PURE__*/ Vue.extend({\n name: NAME,\n mixins: [idMixin],\n inheritAttrs: false,\n props: {\n value: {\n // Should this really be String, to match native number inputs?\n type: Number,\n default: null\n },\n min: {\n type: [Number, String],\n default: DEFAULT_MIN\n },\n max: {\n type: [Number, String],\n default: DEFAULT_MAX\n },\n step: {\n type: [Number, String],\n default: DEFAULT_STEP\n },\n wrap: {\n type: Boolean,\n default: false\n },\n formatterFn: {\n type: Function\n // default: null\n },\n size: {\n type: String\n // default: null\n },\n placeholder: {\n type: String,\n default: null\n },\n disabled: {\n type: Boolean,\n default: false\n },\n readonly: {\n type: Boolean,\n default: false\n },\n required: {\n // Only affects the `aria-invalid` attribute\n type: Boolean,\n default: false\n },\n name: {\n type: String\n // default: null\n },\n form: {\n type: String\n // default: null\n },\n state: {\n // Tri-state prop: `true`, `false`, or `null`\n type: Boolean,\n default: null\n },\n inline: {\n type: Boolean,\n default: false\n },\n vertical: {\n type: Boolean,\n default: false\n },\n ariaLabel: {\n type: String,\n default: null\n },\n ariaControls: {\n type: String,\n default: null\n },\n labelDecrement: {\n type: String,\n default: () => getComponentConfig(NAME, 'labelDecrement')\n },\n labelIncrement: {\n type: String,\n default: () => getComponentConfig(NAME, 'labelIncrement')\n },\n locale: {\n type: [String, Array],\n default: null\n },\n repeatDelay: {\n type: [Number, String],\n default: DEFAULT_REPEAT_DELAY\n },\n repeatInterval: {\n type: [Number, String],\n default: DEFAULT_REPEAT_INTERVAL\n },\n repeatThreshold: {\n type: [Number, String],\n default: DEFAULT_REPEAT_THRESHOLD\n },\n repeatStepMultiplier: {\n type: [Number, String],\n default: DEFAULT_REPEAT_MULTIPLIER\n }\n },\n data() {\n return {\n localValue: defaultNumber(this.value),\n hasFocus: false\n }\n },\n computed: {\n computedStep() {\n return defaultNumber(this.step, DEFAULT_STEP)\n },\n computedMin() {\n return defaultNumber(this.min, DEFAULT_MIN)\n },\n computedMax() {\n return defaultNumber(this.max, DEFAULT_MAX)\n },\n computedDelay() {\n return defaultInteger(this.repeatDelay, DEFAULT_REPEAT_DELAY) || DEFAULT_REPEAT_DELAY\n },\n computedInterval() {\n return defaultInteger(this.repeatInterval, DEFAULT_REPEAT_INTERVAL) || DEFAULT_REPEAT_INTERVAL\n },\n computedThreshold() {\n return defaultInteger(this.repeatThreshold, DEFAULT_REPEAT_THRESHOLD) || 1\n },\n computedStepMultiplier() {\n return defaultInteger(this.repeatStepMultiplier, DEFAULT_REPEAT_MULTIPLIER) || 1\n },\n computedPrecision() {\n // Quick and dirty way to get the number of decimals\n const step = this.computedStep\n return Math.floor(step) === step ? 0 : (step.toString().split('.')[1] || '').length\n },\n computedMultiplier() {\n return Math.pow(10, this.computedPrecision || 0)\n },\n valueAsFixed() {\n const value = this.localValue\n return isNull(value) ? '' : value.toFixed(this.computedPrecision)\n },\n computedLocale() {\n const locales = concat(this.locale).filter(identity)\n const nf = new Intl.NumberFormat(locales)\n return nf.resolvedOptions().locale\n },\n defaultFormatter() {\n // Returns and `Intl.NumberFormat` formatter method reference\n const precision = this.computedPrecision\n const nf = new Intl.NumberFormat(this.computedLocale, {\n style: 'decimal',\n useGrouping: false,\n minimumIntegerDigits: 1,\n minimumFractionDigits: precision,\n maximumFractionDigits: precision,\n notation: 'standard'\n })\n // Return the format method reference\n return nf.format\n }\n },\n watch: {\n value(value) {\n value = toFloat(value) // Will be `NaN` if `value` is `null`\n this.localValue = isNaN(value) ? null : value\n },\n localValue(value) {\n this.$emit('input', value)\n },\n disabled(disabled) {\n if (disabled) {\n this.clearRepeat()\n }\n },\n readonly(readonly) {\n if (readonly) {\n this.clearRepeat()\n }\n }\n },\n created() {\n // Create non reactive properties\n this.$_autoDelayTimer = null\n this.$_autoRepeatTimer = null\n this.$_keyIsDown = false\n },\n beforeDestroy() {\n this.clearRepeat()\n },\n deactivated() /* istanbul ignore next */ {\n this.clearRepeat()\n },\n methods: {\n // --- Public methods ---\n focus() {\n if (!this.disabled) {\n try {\n this.$refs.spinner.focus()\n } catch {}\n }\n },\n blur() {\n if (!this.disabled) {\n try {\n this.$refs.spinner.blur()\n } catch {}\n }\n },\n // --- Private methods ---\n emitChange() {\n this.$emit('change', this.localValue)\n },\n stepValue(direction) {\n // Sets a new incremented or decremented value, supporting optional wrapping\n // Direction is either +1 or -1 (or a multiple thereof)\n let value = this.localValue\n if (!this.disabled && !isNull(value)) {\n const step = this.computedStep * direction\n const min = this.computedMin\n const max = this.computedMax\n const multiplier = this.computedMultiplier\n const wrap = this.wrap\n // We ensure that the value steps like a native input\n value = Math.round((value - min) / step) * step + min + step\n // We ensure that precision is maintained (decimals)\n value = Math.round(value * multiplier) / multiplier\n // Handle if wrapping is enabled\n this.localValue =\n value > max ? (wrap ? min : max) : value < min ? (wrap ? max : min) : value\n }\n },\n onFocusBlur(evt) {\n if (!this.disabled) {\n this.hasFocus = evt.type === 'focus'\n } else {\n this.hasFocus = false\n }\n },\n stepUp(multiplier = 1) {\n const value = this.localValue\n if (isNull(value)) {\n this.localValue = this.computedMin\n } else {\n this.stepValue(+1 * multiplier)\n }\n },\n stepDown(multiplier = 1) {\n const value = this.localValue\n if (isNull(value)) {\n this.localValue = this.wrap ? this.computedMax : this.computedMin\n } else {\n this.stepValue(-1 * multiplier)\n }\n },\n onKeydown(evt) {\n const { keyCode, altKey, ctrlKey, metaKey } = evt\n /* istanbul ignore if */\n if (this.disabled || this.readonly || altKey || ctrlKey || metaKey) {\n return\n }\n if (arrayIncludes([UP, DOWN, HOME, END, PAGEUP, PAGEDOWN], keyCode)) {\n // https://w3c.github.io/aria-practices/#spinbutton\n evt.preventDefault()\n /* istanbul ignore if */\n if (this.$_keyIsDown) {\n // Keypress is already in progress\n return\n }\n this.resetTimers()\n if (arrayIncludes([UP, DOWN], keyCode)) {\n // The following use the custom auto-repeat handling\n this.$_keyIsDown = true\n if (keyCode === UP) {\n this.handleStepRepeat(evt, this.stepUp)\n } else if (keyCode === DOWN) {\n this.handleStepRepeat(evt, this.stepDown)\n }\n } else {\n // These use native OS key repeating\n if (keyCode === PAGEUP) {\n this.stepUp(this.computedStepMultiplier)\n } else if (keyCode === PAGEDOWN) {\n this.stepDown(this.computedStepMultiplier)\n } else if (keyCode === HOME) {\n this.localValue = this.computedMin\n } else if (keyCode === END) {\n this.localValue = this.computedMax\n }\n }\n }\n },\n onKeyup(evt) {\n // Emit a change event when the keyup happens\n const { keyCode, altKey, ctrlKey, metaKey } = evt\n /* istanbul ignore if */\n if (this.disabled || this.readonly || altKey || ctrlKey || metaKey) {\n return\n }\n if (arrayIncludes([UP, DOWN, HOME, END, PAGEUP, PAGEDOWN], keyCode)) {\n this.resetTimers()\n this.$_keyIsDown = false\n evt.preventDefault()\n this.emitChange()\n }\n },\n handleStepRepeat(evt, stepper) {\n const { type, button } = evt || {}\n if (!this.disabled && !this.readonly) {\n /* istanbul ignore if */\n if (type === 'mousedown' && button) {\n // We only respond to left (main === 0) button clicks\n return\n }\n this.resetTimers()\n // Enable body mouseup event handler\n this.setMouseup(true)\n // Step the counter initially\n stepper(1)\n const threshold = this.computedThreshold\n const multiplier = this.computedStepMultiplier\n const delay = this.computedDelay\n const interval = this.computedInterval\n // Initiate the delay/repeat interval\n this.$_autoDelayTimer = setTimeout(() => {\n let count = 0\n this.$_autoRepeatTimer = setInterval(() => {\n // After N initial repeats, we increase the incrementing step amount\n // We do this to minimize screen reader announcements of the value\n // (values are announced every change, which can be chatty for SR users)\n // And to make it easer to select a value when the range is large\n stepper(count < threshold ? 1 : multiplier)\n count++\n }, interval)\n }, delay)\n }\n },\n onMouseup(evt) {\n // `<body>` listener, only enabled when mousedown starts\n const { type, button } = evt || {}\n /* istanbul ignore if */\n if (type === 'mouseup' && button) {\n // we only care about left (main === 0) mouse button click\n return\n }\n this.resetTimers()\n this.setMouseup(false)\n // Trigger the change event\n this.emitChange()\n },\n setMouseup(on) {\n // Enable or disabled the body mouseup/touchend handlers\n // Use try/catch to handle case when called server side\n try {\n eventOnOff(on, document.body, 'mouseup', this.onMouseup, EVENT_OPTIONS_PASSIVE)\n eventOnOff(on, document.body, 'touchend', this.onMouseup, EVENT_OPTIONS_PASSIVE)\n } catch {}\n },\n resetTimers() {\n clearTimeout(this.$_autoDelayTimer)\n clearInterval(this.$_autoRepeatTimer)\n },\n clearRepeat() {\n this.resetTimers()\n this.setMouseup(false)\n this.$_keyIsDown = false\n }\n },\n render(h) {\n const spinId = this.safeId()\n const value = this.localValue\n const isVertical = this.vertical\n const isInline = this.inline && !isVertical\n const isDisabled = this.disabled\n const isReadonly = this.readonly && !isDisabled\n const isRequired = this.required && !isReadonly && !isDisabled\n const state = this.state\n const size = this.size\n const hasValue = !isNull(value)\n const formatter = isFunction(this.formatterFn) ? this.formatterFn : this.defaultFormatter\n\n const makeButton = (stepper, label, IconCmp, keyRef, shortcut, btnDisabled) => {\n const $icon = h(IconCmp, {\n props: { scale: this.hasFocus ? 1.5 : 1.25 },\n attrs: { 'aria-hidden': 'true' }\n })\n const handler = evt => /* istanbul ignore next: until tests written */ {\n if (!isDisabled && !isReadonly) {\n this.handleStepRepeat(evt, stepper)\n }\n }\n return h(\n 'button',\n {\n key: keyRef || null,\n ref: keyRef,\n staticClass: 'btn btn-sm border-0 rounded-0',\n class: { 'py-0': !isVertical },\n attrs: {\n tabindex: '-1',\n type: 'button',\n disabled: isDisabled || isReadonly || btnDisabled,\n 'aria-disabled': isDisabled || isReadonly || btnDisabled ? 'true' : null,\n 'aria-controls': spinId,\n 'aria-label': label || null,\n 'aria-keyshortcuts': shortcut || null\n },\n on: {\n mousedown: handler,\n touchstart: handler\n }\n },\n [h('div', {}, [$icon])]\n )\n }\n // TODO: Add button disabled state when `wrap` is `false` and at value max/min\n const $increment = makeButton(this.stepUp, this.labelIncrement, BIconPlus, 'inc', 'ArrowUp')\n const $decrement = makeButton(this.stepDown, this.labelDecrement, BIconDash, 'dec', 'ArrowDown')\n\n let $hidden = h()\n if (this.name && !isDisabled) {\n $hidden = h('input', {\n key: 'hidden',\n attrs: {\n type: 'hidden',\n name: this.name,\n form: this.form || null,\n // TODO: Should this be set to '' if value is out of range?\n value: this.valueAsFixed\n }\n })\n }\n\n const $spin = h(\n // We use 'output' element to make this accept a `<label for=\"id\">` (Except IE)\n 'output',\n {\n ref: 'spinner',\n key: 'output',\n staticClass: 'flex-grow-1',\n class: {\n 'w-100': !isVertical && !isInline,\n 'd-flex': isVertical,\n 'align-self-center': !isVertical,\n 'align-items-center': isVertical,\n 'py-1': isVertical,\n 'px-1': !isVertical,\n 'mx-1': isVertical,\n 'border-top': isVertical,\n 'border-bottom': isVertical,\n 'border-left': !isVertical,\n 'border-right': !isVertical\n },\n attrs: {\n id: spinId,\n role: 'spinbutton',\n tabindex: isDisabled ? null : '0',\n 'aria-live': 'off',\n 'aria-label': this.ariaLabel || null,\n 'aria-controls': this.ariaControls || null,\n // TODO: May want to check if the value is in range\n 'aria-invalid': state === false || (!hasValue && isRequired) ? 'true' : null,\n 'aria-required': isRequired ? 'true' : null,\n // These attrs are required for role spinbutton\n 'aria-valuemin': toString(this.computedMin),\n 'aria-valuemax': toString(this.computedMax),\n // These should be `null` if the value is out of range\n // They must also be non-existent attrs if the value is out of range or `null`\n 'aria-valuenow': hasValue ? value : null,\n 'aria-valuetext': hasValue ? formatter(value) : null\n }\n },\n [h('div', { staticClass: 'w-100' }, hasValue ? formatter(value) : this.placeholder || '')]\n )\n\n return h(\n 'div',\n {\n staticClass: 'b-form-spinbutton form-control p-0',\n class: {\n disabled: isDisabled,\n readonly: isReadonly,\n focus: this.hasFocus,\n [`form-control-${size}`]: !!size,\n 'd-inline-flex': isInline || isVertical,\n 'd-flex': !isInline && !isVertical,\n 'align-items-stretch': !isVertical,\n 'flex-column': isVertical,\n 'is-valid': state === true,\n 'is-invalid': state === false\n },\n attrs: {\n ...this.$attrs,\n role: 'group',\n lang: this.computedLocale,\n tabindex: isDisabled ? null : '-1',\n // We want to keep the order of the buttons regardless\n // of locale (flex will re-order based on rtl/ltr)\n dir: 'ltr'\n },\n on: {\n keydown: this.onKeydown,\n keyup: this.onKeyup,\n // We use capture phase (`!` prefix) since focus and blur do not bubble\n '!focus': this.onFocusBlur,\n '!blur': this.onFocusBlur\n }\n },\n isVertical\n ? [$increment, $hidden, $spin, $decrement]\n : [$decrement, $hidden, $spin, $increment]\n )\n }\n})\n","import { BFormSpinbutton } from './form-spinbutton'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst FormSpinbuttonPlugin = /*#__PURE__*/ pluginFactory({\n components: {\n BFormSpinbutton,\n BSpinbutton: BFormSpinbutton\n }\n})\n\nexport { FormSpinbuttonPlugin, BFormSpinbutton }\n","import Vue from '../../utils/vue'\nimport KeyCodes from '../../utils/key-codes'\nimport { getComponentConfig } from '../../utils/config'\nimport idMixin from '../../mixins/id'\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\nimport { BBadge } from '../badge/badge'\nimport { BButtonClose } from '../button/button-close'\n\nconst NAME = 'BFormTag'\n\nexport const BFormTag = /*#__PURE__*/ Vue.extend({\n name: NAME,\n mixins: [idMixin, normalizeSlotMixin],\n props: {\n variant: {\n type: String,\n default: () => getComponentConfig(NAME, 'variant')\n },\n disabled: {\n type: Boolean,\n default: false\n },\n title: {\n type: String,\n default: null\n },\n pill: {\n type: Boolean,\n default: false\n },\n removeLabel: {\n type: String,\n default: () => getComponentConfig(NAME, 'removeLabel')\n },\n tag: {\n type: String,\n default: 'span'\n }\n },\n methods: {\n onDelete(evt) {\n const { type, keyCode } = evt\n if (\n !this.disabled &&\n (type === 'click' || (type === 'keydown' && keyCode === KeyCodes.DELETE))\n ) {\n this.$emit('remove')\n }\n }\n },\n render(h) {\n const tagId = this.safeId()\n const tagLabelId = this.safeId('_taglabel_')\n let $remove = h()\n if (!this.disabled) {\n $remove = h(BButtonClose, {\n staticClass: 'b-form-tag-remove ml-1',\n props: { ariaLabel: this.removeLabel },\n attrs: {\n 'aria-controls': tagId,\n 'aria-describedby': tagLabelId,\n 'aria-keyshortcuts': 'Delete'\n },\n on: {\n click: this.onDelete,\n keydown: this.onDelete\n }\n })\n }\n const $tag = h(\n 'span',\n {\n staticClass: 'b-form-tag-content flex-grow-1 text-truncate',\n attrs: { id: tagLabelId }\n },\n this.normalizeSlot('default') || this.title || [h()]\n )\n return h(\n BBadge,\n {\n staticClass: 'b-form-tag d-inline-flex align-items-baseline mw-100',\n class: { disabled: this.disabled },\n attrs: { id: tagId, title: this.title || null, 'aria-labelledby': tagLabelId },\n props: { tag: this.tag, variant: this.variant, pill: this.pill }\n },\n [$tag, $remove]\n )\n }\n})\n","// Tagged input form control\n// Based loosely on https://adamwathan.me/renderless-components-in-vuejs/\nimport Vue from '../../utils/vue'\nimport KeyCodes from '../../utils/key-codes'\nimport identity from '../../utils/identity'\nimport looseEqual from '../../utils/loose-equal'\nimport { arrayIncludes, concat } from '../../utils/array'\nimport { getComponentConfig } from '../../utils/config'\nimport { matches, requestAF, select } from '../../utils/dom'\nimport { isEvent, isFunction, isString } from '../../utils/inspect'\nimport { escapeRegExp, toString, trim, trimLeft } from '../../utils/string'\nimport idMixin from '../../mixins/id'\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\nimport { BButton } from '../button/button'\nimport { BFormInvalidFeedback } from '../form/form-invalid-feedback'\nimport { BFormText } from '../form/form-text'\nimport { BFormTag } from './form-tag'\n\n// --- Constants ---\n\nconst NAME = 'BFormTags'\n\n// Supported input types (for built in input)\nconst TYPES = ['text', 'email', 'tel', 'url', 'number']\n\n// Pre-compiled regular expressions for performance reasons\nconst RX_SPACES = /[\\s\\uFEFF\\xA0]+/g\n\n// KeyCode constants\nconst { ENTER, BACKSPACE, DELETE } = KeyCodes\n\n// --- Utility methods ---\n\n// Escape special chars in string and replace\n// contiguous spaces with a whitespace match\nconst escapeRegExpChars = str => escapeRegExp(str).replace(RX_SPACES, '\\\\s')\n\n// Remove leading/trailing spaces from array of tags and remove duplicates\nconst cleanTags = tags => {\n return concat(tags)\n .map(tag => trim(toString(tag)))\n .filter((tag, index, arr) => tag.length > 0 && arr.indexOf(tag) === index)\n}\n\n// Processes an input/change event, normalizing string or event argument\nconst processEventValue = evt => (isString(evt) ? evt : isEvent(evt) ? evt.target.value || '' : '')\n\n// Returns a fresh empty `tagsState` object\nconst cleanTagsState = () => ({\n all: [],\n valid: [],\n invalid: [],\n duplicate: []\n})\n\n// @vue/component\nexport const BFormTags = /*#__PURE__*/ Vue.extend({\n name: NAME,\n mixins: [idMixin, normalizeSlotMixin],\n model: {\n // Even though this is the default that Vue assumes, we need\n // to add it for the docs to reflect that this is the model\n prop: 'value',\n event: 'input'\n },\n props: {\n inputId: {\n type: String,\n default: null\n },\n placeholder: {\n type: String,\n default: () => getComponentConfig(NAME, 'placeholder')\n },\n disabled: {\n type: Boolean,\n default: false\n },\n name: {\n type: String,\n default: null\n },\n form: {\n type: String,\n default: null\n },\n autofocus: {\n type: Boolean,\n default: false\n },\n state: {\n // Tri-state: `true`, `false`, `null`\n type: Boolean,\n default: null\n },\n size: {\n type: String,\n default: null\n },\n inputType: {\n type: String,\n default: 'text',\n validator: type => arrayIncludes(TYPES, type)\n },\n inputClass: {\n type: [String, Array, Object],\n default: null\n },\n inputAttrs: {\n // Additional attributes to add to the input element\n type: Object,\n default: () => ({})\n },\n addButtonText: {\n type: String,\n default: () => getComponentConfig(NAME, 'addButtonText')\n },\n addButtonVariant: {\n type: String,\n default: () => getComponentConfig(NAME, 'addButtonVariant')\n },\n tagVariant: {\n type: String,\n default: () => getComponentConfig(NAME, 'tagVariant')\n },\n tagClass: {\n type: [String, Array, Object],\n default: null\n },\n tagPills: {\n type: Boolean,\n default: false\n },\n tagRemoveLabel: {\n type: String,\n default: () => getComponentConfig(NAME, 'tagRemoveLabel')\n },\n tagRemovedLabel: {\n type: String,\n default: () => getComponentConfig(NAME, 'tagRemovedLabel')\n },\n tagValidator: {\n type: Function,\n default: null\n },\n duplicateTagText: {\n type: String,\n default: () => getComponentConfig(NAME, 'duplicateTagText')\n },\n invalidTagText: {\n type: String,\n default: () => getComponentConfig(NAME, 'invalidTagText')\n },\n separator: {\n // Character (or characters) that trigger adding tags\n type: [String, Array],\n default: null\n },\n removeOnDelete: {\n // Enable deleting last tag in list when BACKSPACE is\n // pressed and input is empty\n type: Boolean,\n default: false\n },\n addOnChange: {\n // Enable change event triggering tag addition\n // Handy if using <select> as the input\n type: Boolean,\n default: false\n },\n noAddOnEnter: {\n // Disable ENTER key from triggering tag addition\n type: Boolean,\n default: false\n },\n noOuterFocus: {\n // Disable the focus ring on the root element\n type: Boolean,\n default: false\n },\n value: {\n // The v-model prop\n type: Array,\n default: () => []\n }\n },\n data() {\n return {\n hasFocus: false,\n newTag: '',\n tags: [],\n // Tags that were removed\n removedTags: [],\n // Populated when tags are parsed\n tagsState: cleanTagsState()\n }\n },\n computed: {\n computedInputId() {\n return this.inputId || this.safeId('__input__')\n },\n computedInputType() {\n // We only allow certain types\n return arrayIncludes(TYPES, this.inputType) ? this.inputType : 'text'\n },\n computedInputAttrs() {\n return {\n // Merge in user supplied attributes\n ...this.inputAttrs,\n // Must have attributes\n id: this.computedInputId,\n value: this.newTag,\n disabled: this.disabled || null,\n form: this.form || null\n }\n },\n computedInputHandlers() {\n return {\n input: this.onInputInput,\n change: this.onInputChange,\n keydown: this.onInputKeydown\n }\n },\n computedSeparator() {\n // Merge the array into a string\n return concat(this.separator)\n .filter(isString)\n .filter(identity)\n .join('')\n },\n computedSeparatorRegExp() {\n // We use a computed prop here to precompile the RegExp\n // The RegExp is a character class RE in the form of `/[abc]+/`\n // where a, b, and c are the valid separator characters\n // -> `tags = str.split(/[abc]+/).filter(t => t)`\n const separator = this.computedSeparator\n return separator ? new RegExp(`[${escapeRegExpChars(separator)}]+`) : null\n },\n computedJoiner() {\n // When tag(s) are invalid or duplicate, we leave them\n // in the input so that the user can see them\n // If there are more than one tag in the input, we use the\n // first separator character as the separator in the input\n // We append a space if the first separator is not a space\n const joiner = this.computedSeparator.charAt(0)\n return joiner !== ' ' ? `${joiner} ` : joiner\n },\n disableAddButton() {\n // If 'Add' button should be disabled\n // If the input contains at least one tag that can\n // be added, then the 'Add' button should be enabled\n const newTag = trim(this.newTag)\n return (\n newTag === '' ||\n !this.splitTags(newTag).some(t => !arrayIncludes(this.tags, t) && this.validateTag(t))\n )\n },\n duplicateTags() {\n return this.tagsState.duplicate\n },\n hasDuplicateTags() {\n return this.duplicateTags.length > 0\n },\n invalidTags() {\n return this.tagsState.invalid\n },\n hasInvalidTags() {\n return this.invalidTags.length > 0\n }\n },\n watch: {\n value(newVal) {\n this.tags = cleanTags(newVal)\n },\n tags(newVal, oldVal) {\n // Update the `v-model` (if it differs from the value prop)\n if (!looseEqual(newVal, this.value)) {\n this.$emit('input', newVal)\n }\n if (!looseEqual(newVal, oldVal)) {\n newVal = concat(newVal).filter(identity)\n oldVal = concat(oldVal).filter(identity)\n this.removedTags = oldVal.filter(old => !arrayIncludes(newVal, old))\n }\n },\n tagsState(newVal, oldVal) {\n // Emit a tag-state event when the `tagsState` object changes\n if (!looseEqual(newVal, oldVal)) {\n this.$emit('tag-state', newVal.valid, newVal.invalid, newVal.duplicate)\n }\n }\n },\n created() {\n // We do this in created to make sure an input event emits\n // if the cleaned tags are not equal to the value prop\n this.tags = cleanTags(this.value)\n },\n mounted() {\n this.handleAutofocus()\n },\n activated() /* istanbul ignore next */ {\n this.handleAutofocus()\n },\n methods: {\n addTag(newTag) {\n newTag = isString(newTag) ? newTag : this.newTag\n /* istanbul ignore next */\n if (this.disabled || trim(newTag) === '') {\n // Early exit\n return\n }\n const parsed = this.parseTags(newTag)\n // Add any new tags to the `tags` array, or if the\n // array of `allTags` is empty, we clear the input\n if (parsed.valid.length > 0 || parsed.all.length === 0) {\n // Clear the user input element (and leave in any invalid/duplicate tag(s)\n /* istanbul ignore if: full testing to be added later */\n if (matches(this.getInput(), 'select')) {\n // The following is needed to properly\n // work with `<select>` elements\n this.newTag = ''\n } else {\n const invalidAndDuplicates = [...parsed.invalid, ...parsed.duplicate]\n this.newTag = parsed.all\n .filter(tag => arrayIncludes(invalidAndDuplicates, tag))\n .join(this.computedJoiner)\n .concat(invalidAndDuplicates.length > 0 ? this.computedJoiner.charAt(0) : '')\n }\n }\n if (parsed.valid.length > 0) {\n // We add the new tags in one atomic operation\n // to trigger reactivity once (instead of once per tag)\n // We do this after we update the new tag input value\n // `concat()` can be faster than array spread, when both args are arrays\n this.tags = concat(this.tags, parsed.valid)\n }\n this.tagsState = parsed\n // Attempt to re-focus the input (specifically for when using the Add\n // button, as the button disappears after successfully adding a tag\n this.focus()\n },\n removeTag(tag) {\n /* istanbul ignore next */\n if (this.disabled) {\n return\n }\n // TODO:\n // Add `onRemoveTag(tag)` user method, which if returns `false`\n // will prevent the tag from being removed (i.e. confirmation)\n // Or emit cancelable `BvEvent`\n this.tags = this.tags.filter(t => t !== tag)\n // Return focus to the input (if possible)\n this.$nextTick(() => {\n this.focus()\n })\n },\n // --- Input element event handlers ---\n onInputInput(evt) {\n /* istanbul ignore next: hard to test composition events */\n if (this.disabled || (isEvent(evt) && evt.target.composing)) {\n // `evt.target.composing` is set by Vue (`v-model` directive)\n // https://github.com/vuejs/vue/blob/dev/src/platforms/web/runtime/directives/model.js\n return\n }\n let newTag = processEventValue(evt)\n const separatorRe = this.computedSeparatorRegExp\n if (this.newTag !== newTag) {\n this.newTag = newTag\n }\n // We ignore leading whitespace for the following\n newTag = trimLeft(newTag)\n if (separatorRe && separatorRe.test(newTag.slice(-1))) {\n // A trailing separator character was entered, so add the tag(s)\n // Note: More than one tag on input event is possible via copy/paste\n this.addTag()\n } else {\n // Validate (parse tags) on input event\n this.tagsState = newTag === '' ? cleanTagsState() : this.parseTags(newTag)\n }\n },\n onInputChange(evt) {\n // Change is triggered on `<input>` blur, or `<select>` selected\n // This event is opt-in\n if (!this.disabled && this.addOnChange) {\n const newTag = processEventValue(evt)\n /* istanbul ignore next */\n if (this.newTag !== newTag) {\n this.newTag = newTag\n }\n this.addTag()\n }\n },\n onInputKeydown(evt) {\n // Early exit\n /* istanbul ignore next */\n if (this.disabled || !isEvent(evt)) {\n return\n }\n const keyCode = evt.keyCode\n const value = evt.target.value || ''\n /* istanbul ignore else: testing to be added later */\n if (!this.noAddOnEnter && keyCode === ENTER) {\n // Attempt to add the tag when user presses enter\n evt.preventDefault()\n this.addTag()\n } else if (\n this.removeOnDelete &&\n (keyCode === BACKSPACE || keyCode === DELETE) &&\n value === ''\n ) {\n // Remove the last tag if the user pressed backspace/delete and the input is empty\n evt.preventDefault()\n this.tags = this.tags.slice(0, -1)\n }\n },\n // --- Wrapper event handlers ---\n onClick(evt) {\n if (!this.disabled && isEvent(evt) && evt.target === evt.currentTarget) {\n this.$nextTick(() => {\n this.focus()\n })\n }\n },\n onFocusin() {\n this.hasFocus = true\n },\n onFocusout() {\n this.hasFocus = false\n },\n handleAutofocus() {\n this.$nextTick(() => {\n requestAF(() => {\n if (this.autofocus && !this.disabled) {\n this.focus()\n }\n })\n })\n },\n // --- Public methods ---\n focus() {\n if (!this.disabled) {\n try {\n this.getInput().focus()\n } catch {}\n }\n },\n blur() {\n try {\n this.getInput().blur()\n } catch {}\n },\n // --- Private methods ---\n splitTags(newTag) {\n // Split the input into an array of raw tags\n newTag = toString(newTag)\n const separatorRe = this.computedSeparatorRegExp\n // Split the tag(s) via the optional separator\n // Normally only a single tag is provided, but copy/paste\n // can enter multiple tags in a single operation\n return (separatorRe ? newTag.split(separatorRe) : [newTag]).map(trim).filter(identity)\n },\n parseTags(newTag) {\n // Takes `newTag` value and parses it into `validTags`,\n // `invalidTags`, and duplicate tags as an object\n // Split the input into raw tags\n const tags = this.splitTags(newTag)\n // Base results\n const parsed = {\n all: tags,\n valid: [],\n invalid: [],\n duplicate: []\n }\n // Parse the unique tags\n tags.forEach(tag => {\n if (arrayIncludes(this.tags, tag) || arrayIncludes(parsed.valid, tag)) {\n // Unique duplicate tags\n if (!arrayIncludes(parsed.duplicate, tag)) {\n parsed.duplicate.push(tag)\n }\n } else if (this.validateTag(tag)) {\n // We only add unique/valid tags\n parsed.valid.push(tag)\n } else {\n // Unique invalid tags\n if (!arrayIncludes(parsed.invalid, tag)) {\n parsed.invalid.push(tag)\n }\n }\n })\n return parsed\n },\n validateTag(tag) {\n // Call the user supplied tag validator\n const validator = this.tagValidator\n return isFunction(validator) ? validator(tag) : true\n },\n getInput() {\n // Returns the input element reference (or null if not found)\n return select(`#${this.computedInputId}`, this.$el)\n },\n // Default User Interface render\n defaultRender({\n tags,\n addTag,\n removeTag,\n inputType,\n inputAttrs,\n inputHandlers,\n inputClass,\n tagClass,\n tagVariant,\n tagPills,\n tagRemoveLabel,\n invalidTagText,\n duplicateTagText,\n isInvalid,\n isDuplicate,\n disabled,\n placeholder,\n addButtonText,\n addButtonVariant,\n disableAddButton\n }) {\n const h = this.$createElement\n\n // Make the list of tags\n const $tags = tags.map(tag => {\n tag = toString(tag)\n return h(\n BFormTag,\n {\n key: `li-tag__${tag}`,\n staticClass: 'mt-1 mr-1',\n class: tagClass,\n props: {\n // `BFormTag` will auto generate an ID\n // so we do not need to set the ID prop\n tag: 'li',\n title: tag,\n disabled: disabled,\n variant: tagVariant,\n pill: tagPills,\n removeLabel: tagRemoveLabel\n },\n on: { remove: () => removeTag(tag) }\n },\n tag\n )\n })\n\n // Feedback IDs if needed\n const invalidFeedbackId =\n invalidTagText && isInvalid ? this.safeId('__invalid_feedback__') : null\n const duplicateFeedbackId =\n duplicateTagText && isDuplicate ? this.safeId('__duplicate_feedback__') : null\n\n // Compute the `aria-describedby` attribute value\n const ariaDescribedby = [\n inputAttrs['aria-describedby'],\n invalidFeedbackId,\n duplicateFeedbackId\n ]\n .filter(identity)\n .join(' ')\n\n // Input\n const $input = h('input', {\n ref: 'input',\n // Directive needed to get `evt.target.composing` set (if needed)\n directives: [{ name: 'model', value: inputAttrs.value }],\n staticClass: 'b-form-tags-input w-100 flex-grow-1 p-0 m-0 bg-transparent border-0',\n class: inputClass,\n style: { outline: 0, minWidth: '5rem' },\n attrs: {\n ...inputAttrs,\n 'aria-describedby': ariaDescribedby || null,\n type: inputType,\n placeholder: placeholder || null\n },\n domProps: { value: inputAttrs.value },\n on: inputHandlers\n })\n\n // Add button\n const $button = h(\n BButton,\n {\n ref: 'button',\n staticClass: 'b-form-tags-button py-0',\n class: {\n // Only show the button if the tag can be added\n // We use the `invisible` class instead of not rendering\n // the button, so that we maintain layout to prevent\n // the user input from jumping around\n invisible: disableAddButton\n },\n style: { fontSize: '90%' },\n props: { variant: addButtonVariant, disabled: disableAddButton },\n on: { click: () => addTag() }\n },\n [this.normalizeSlot('add-button-text') || addButtonText]\n )\n\n // ID of the tags+input `<ul>` list\n // Note we could concatenate inputAttrs.id with `__TAG__LIST__`\n // But note that the inputID may be null until after mount\n // `safeId` returns `null`, if no user provided ID, until after\n // mount when a unique ID is generated\n const tagListId = this.safeId('__TAG__LIST__')\n\n const $field = h(\n 'li',\n {\n key: '__li-input__',\n staticClass: 'flex-grow-1 mt-1',\n attrs: {\n role: 'none',\n 'aria-live': 'off',\n 'aria-controls': tagListId\n }\n },\n [h('div', { staticClass: 'd-flex', attrs: { role: 'group' } }, [$input, $button])]\n )\n\n // Wrap in an unordered list element (we use a list for accessibility)\n const $ul = h(\n 'ul',\n {\n key: '_tags_list_',\n staticClass: 'list-unstyled mt-n1 mb-0 d-flex flex-wrap align-items-center',\n attrs: { id: tagListId }\n },\n // `concat()` is faster than array spread when args are known to be arrays\n concat($tags, $field)\n )\n\n // Assemble the feedback\n let $feedback = h()\n if (invalidTagText || duplicateTagText) {\n // Add an aria live region for the invalid/duplicate tag\n // messages if the user has not disabled the messages\n const joiner = this.computedJoiner\n\n // Invalid tag feedback if needed (error)\n let $invalid = h()\n if (invalidFeedbackId) {\n $invalid = h(\n BFormInvalidFeedback,\n {\n key: '_tags_invalid_feedback_',\n props: { id: invalidFeedbackId, forceShow: true }\n },\n [this.invalidTagText, ': ', this.invalidTags.join(joiner)]\n )\n }\n\n // Duplicate tag feedback if needed (warning, not error)\n let $duplicate = h()\n if (duplicateFeedbackId) {\n $duplicate = h(\n BFormText,\n {\n key: '_tags_duplicate_feedback_',\n props: { id: duplicateFeedbackId }\n },\n [this.duplicateTagText, ': ', this.duplicateTags.join(joiner)]\n )\n }\n\n $feedback = h(\n 'div',\n {\n key: '_tags_feedback_',\n attrs: { 'aria-live': 'polite', 'aria-atomic': 'true' }\n },\n [$invalid, $duplicate]\n )\n }\n // Return the content\n return [$ul, $feedback]\n }\n },\n render(h) {\n // Scoped slot properties\n const scope = {\n // Array of tags (shallow copy to prevent mutations)\n tags: this.tags.slice(),\n // Methods\n removeTag: this.removeTag,\n addTag: this.addTag,\n // We don't include this in the attrs, as users may want to override this\n inputType: this.computedInputType,\n // <input> v-bind:inputAttrs\n inputAttrs: this.computedInputAttrs,\n // <input> v-on:inputHandlers\n inputHandlers: this.computedInputHandlers,\n // <input> :id=\"inputId\"\n inputId: this.computedInputId,\n // Invalid/Duplicate state information\n invalidTags: this.invalidTags.slice(),\n isInvalid: this.hasInvalidTags,\n duplicateTags: this.duplicateTags.slice(),\n isDuplicate: this.hasDuplicateTags,\n // If the 'Add' button should be disabled\n disableAddButton: this.disableAddButton,\n // Pass-though values\n state: this.state,\n separator: this.separator,\n disabled: this.disabled,\n size: this.size,\n placeholder: this.placeholder,\n inputClass: this.inputClass,\n tagRemoveLabel: this.tagRemoveLabel,\n tagVariant: this.tagVariant,\n tagPills: this.tagPills,\n tagClass: this.tagClass,\n addButtonText: this.addButtonText,\n addButtonVariant: this.addButtonVariant,\n invalidTagText: this.invalidTagText,\n duplicateTagText: this.duplicateTagText\n }\n\n // Generate the user interface\n const $content = this.normalizeSlot('default', scope) || this.defaultRender(scope)\n\n // Generate the `aria-live` region for the current value(s)\n const $output = h(\n 'output',\n {\n staticClass: 'sr-only',\n attrs: {\n id: this.safeId('_selected-tags_'),\n role: 'status',\n for: this.computedInputId,\n 'aria-live': this.hasFocus ? 'polite' : 'off',\n 'aria-atomic': 'true',\n 'aria-relevant': 'additions text'\n }\n },\n this.tags.join(', ')\n )\n\n // Removed tag live region\n const $removed = h(\n 'div',\n {\n staticClass: 'sr-only',\n attrs: {\n id: this.safeId('_removed-tags_'),\n role: 'status',\n 'aria-live': this.hasFocus ? 'assertive' : 'off',\n 'aria-atomic': 'true'\n }\n },\n this.removedTags.length > 0 ? `(${this.tagRemovedLabel}) ${this.removedTags.join(', ')}` : ''\n )\n\n // Add hidden inputs for form submission\n let $hidden = h()\n if (this.name && !this.disabled) {\n // We add hidden inputs for each tag if a name is provided\n // for native submission of forms\n $hidden = this.tags.map(tag => {\n return h('input', {\n key: tag,\n attrs: {\n type: 'hidden',\n value: tag,\n name: this.name,\n form: this.form || null\n }\n })\n })\n }\n\n // Return the rendered output\n return h(\n 'div',\n {\n staticClass: 'b-form-tags form-control h-auto',\n class: {\n focus: this.hasFocus && !this.noOuterFocus && !this.disabled,\n disabled: this.disabled,\n 'is-valid': this.state === true,\n 'is-invalid': this.state === false,\n [`form-control-${this.size}`]: this.size\n },\n attrs: {\n id: this.safeId(),\n role: 'group',\n tabindex: this.disabled || this.noOuterFocus ? null : '-1',\n 'aria-describedby': this.safeId('_selected_')\n },\n on: {\n focusin: this.onFocusin,\n focusout: this.onFocusout,\n click: this.onClick\n }\n },\n concat($output, $removed, $content, $hidden)\n )\n }\n})\n","import { BFormTags } from './form-tags'\nimport { BFormTag } from './form-tag'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst FormTagsPlugin = /*#__PURE__*/ pluginFactory({\n components: {\n BFormTags,\n BTags: BFormTags,\n BFormTag,\n BTag: BFormTag\n }\n})\n\nexport { FormTagsPlugin, BFormTags, BFormTag }\n","import Vue from '../../utils/vue'\nimport { VBVisible } from '../../directives/visible/visible'\nimport idMixin from '../../mixins/id'\nimport formMixin from '../../mixins/form'\nimport formSizeMixin from '../../mixins/form-size'\nimport formStateMixin from '../../mixins/form-state'\nimport formTextMixin from '../../mixins/form-text'\nimport formSelectionMixin from '../../mixins/form-selection'\nimport formValidityMixin from '../../mixins/form-validity'\nimport listenOnRootMixin from '../../mixins/listen-on-root'\nimport { getCS, isVisible, requestAF } from '../../utils/dom'\nimport { isNull } from '../../utils/inspect'\n\n// @vue/component\nexport const BFormTextarea = /*#__PURE__*/ Vue.extend({\n name: 'BFormTextarea',\n directives: {\n 'b-visible': VBVisible\n },\n mixins: [\n idMixin,\n listenOnRootMixin,\n formMixin,\n formSizeMixin,\n formStateMixin,\n formTextMixin,\n formSelectionMixin,\n formValidityMixin\n ],\n props: {\n rows: {\n type: [Number, String],\n default: 2\n },\n maxRows: {\n type: [Number, String],\n default: null\n },\n wrap: {\n // 'soft', 'hard' or 'off'. Browser default is 'soft'\n type: String,\n default: 'soft'\n },\n noResize: {\n // Disable the resize handle of textarea\n type: Boolean,\n default: false\n },\n noAutoShrink: {\n // When in auto resize mode, disable shrinking to content height\n type: Boolean,\n default: false\n }\n },\n data() {\n return {\n heightInPx: null\n }\n },\n computed: {\n computedStyle() {\n const styles = {\n // Setting `noResize` to true will disable the ability for the user to\n // manually resize the textarea. We also disable when in auto height mode\n resize: !this.computedRows || this.noResize ? 'none' : null\n }\n if (!this.computedRows) {\n // Conditionally set the computed CSS height when auto rows/height is enabled\n // We avoid setting the style to `null`, which can override user manual resize handle\n styles.height = this.heightInPx\n // We always add a vertical scrollbar to the textarea when auto-height is\n // enabled so that the computed height calculation returns a stable value\n styles.overflowY = 'scroll'\n }\n return styles\n },\n computedMinRows() {\n // Ensure rows is at least 2 and positive (2 is the native textarea value)\n // A value of 1 can cause issues in some browsers, and most browsers\n // only support 2 as the smallest value\n return Math.max(parseInt(this.rows, 10) || 2, 2)\n },\n computedMaxRows() {\n return Math.max(this.computedMinRows, parseInt(this.maxRows, 10) || 0)\n },\n computedRows() {\n // This is used to set the attribute 'rows' on the textarea\n // If auto-height is enabled, then we return `null` as we use CSS to control height\n return this.computedMinRows === this.computedMaxRows ? this.computedMinRows : null\n }\n },\n watch: {\n localValue() {\n this.setHeight()\n }\n },\n mounted() {\n this.setHeight()\n },\n methods: {\n // Called by intersection observer directive\n visibleCallback(visible) /* istanbul ignore next */ {\n if (visible) {\n // We use a `$nextTick()` here just to make sure any\n // transitions or portalling have completed\n this.$nextTick(this.setHeight)\n }\n },\n setHeight() {\n this.$nextTick(() => {\n requestAF(() => {\n this.heightInPx = this.computeHeight()\n })\n })\n },\n computeHeight() /* istanbul ignore next: can't test getComputedStyle in JSDOM */ {\n if (this.$isServer || !isNull(this.computedRows)) {\n return null\n }\n\n const el = this.$el\n\n // Element must be visible (not hidden) and in document\n // Must be checked after above checks\n if (!isVisible(el)) {\n return null\n }\n\n // Get current computed styles\n const computedStyle = getCS(el)\n // Height of one line of text in px\n const lineHeight = parseFloat(computedStyle.lineHeight)\n // Calculate height of border and padding\n const border =\n (parseFloat(computedStyle.borderTopWidth) || 0) +\n (parseFloat(computedStyle.borderBottomWidth) || 0)\n const padding =\n (parseFloat(computedStyle.paddingTop) || 0) + (parseFloat(computedStyle.paddingBottom) || 0)\n // Calculate offset\n const offset = border + padding\n // Minimum height for min rows (which must be 2 rows or greater for cross-browser support)\n const minHeight = lineHeight * this.computedMinRows + offset\n\n // Get the current style height (with `px` units)\n const oldHeight = el.style.height || computedStyle.height\n // Probe scrollHeight by temporarily changing the height to `auto`\n el.style.height = 'auto'\n const scrollHeight = el.scrollHeight\n // Place the original old height back on the element, just in case `computedProp`\n // returns the same value as before\n el.style.height = oldHeight\n\n // Calculate content height in 'rows' (scrollHeight includes padding but not border)\n const contentRows = Math.max((scrollHeight - padding) / lineHeight, 2)\n // Calculate number of rows to display (limited within min/max rows)\n const rows = Math.min(Math.max(contentRows, this.computedMinRows), this.computedMaxRows)\n // Calculate the required height of the textarea including border and padding (in pixels)\n const height = Math.max(Math.ceil(rows * lineHeight + offset), minHeight)\n\n // Computed height remains the larger of `oldHeight` and new `height`,\n // when height is in `sticky` mode (prop `no-auto-shrink` is true)\n if (this.noAutoShrink && (parseFloat(oldHeight) || 0) > height) {\n return oldHeight\n }\n\n // Return the new computed CSS height in px units\n return `${height}px`\n }\n },\n render(h) {\n // Using self instead of this helps reduce code size during minification\n const self = this\n return h('textarea', {\n ref: 'input',\n class: self.computedClass,\n style: self.computedStyle,\n directives: [\n {\n name: 'model',\n value: self.localValue\n },\n {\n name: 'b-visible',\n value: this.visibleCallback,\n // If textarea is within 640px of viewport, consider it visible\n modifiers: { '640': true }\n }\n ],\n attrs: {\n id: self.safeId(),\n name: self.name,\n form: self.form || null,\n disabled: self.disabled,\n placeholder: self.placeholder,\n required: self.required,\n autocomplete: self.autocomplete || null,\n readonly: self.readonly || self.plaintext,\n rows: self.computedRows,\n wrap: self.wrap || null,\n 'aria-required': self.required ? 'true' : null,\n 'aria-invalid': self.computedAriaInvalid\n },\n domProps: {\n value: self.localValue\n },\n on: {\n ...self.$listeners,\n input: self.onInput,\n change: self.onChange,\n blur: self.onBlur\n }\n })\n }\n})\n","import { BFormTextarea } from './form-textarea'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst FormTextareaPlugin = /*#__PURE__*/ pluginFactory({\n components: {\n BFormTextarea,\n BTextarea: BFormTextarea\n }\n})\n\nexport { FormTextareaPlugin, BFormTextarea }\n","import { BImg } from './img'\nimport { BImgLazy } from './img-lazy'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst ImagePlugin = /*#__PURE__*/ pluginFactory({\n components: {\n BImg,\n BImgLazy\n }\n})\n\nexport { ImagePlugin, BImg, BImgLazy }\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\n\nexport const props = {\n tag: {\n type: String,\n default: 'div'\n }\n}\n\n// @vue/component\nexport const BInputGroupText = /*#__PURE__*/ Vue.extend({\n name: 'BInputGroupText',\n functional: true,\n props,\n render(h, { props, data, children }) {\n return h(\n props.tag,\n mergeData(data, {\n staticClass: 'input-group-text'\n }),\n children\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\nimport { BInputGroupText } from './input-group-text'\n\nexport const commonProps = {\n id: {\n type: String,\n default: null\n },\n tag: {\n type: String,\n default: 'div'\n },\n isText: {\n type: Boolean,\n default: false\n }\n}\n\n// @vue/component\nexport const BInputGroupAddon = /*#__PURE__*/ Vue.extend({\n name: 'BInputGroupAddon',\n functional: true,\n props: {\n ...commonProps,\n append: {\n type: Boolean,\n default: false\n }\n },\n render(h, { props, data, children }) {\n return h(\n props.tag,\n mergeData(data, {\n class: {\n 'input-group-append': props.append,\n 'input-group-prepend': !props.append\n },\n attrs: {\n id: props.id\n }\n }),\n props.isText ? [h(BInputGroupText, children)] : children\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\nimport { BInputGroupAddon, commonProps } from './input-group-addon'\n\n// @vue/component\nexport const BInputGroupPrepend = /*#__PURE__*/ Vue.extend({\n name: 'BInputGroupPrepend',\n functional: true,\n props: commonProps,\n render(h, { props, data, children }) {\n // pass all our props/attrs down to child, and set`append` to false\n return h(\n BInputGroupAddon,\n mergeData(data, {\n props: { ...props, append: false }\n }),\n children\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\nimport { BInputGroupAddon, commonProps } from './input-group-addon'\n\n// @vue/component\nexport const BInputGroupAppend = /*#__PURE__*/ Vue.extend({\n name: 'BInputGroupAppend',\n functional: true,\n props: commonProps,\n render(h, { props, data, children }) {\n // pass all our props/attrs down to child, and set`append` to true\n return h(\n BInputGroupAddon,\n mergeData(data, {\n props: { ...props, append: true }\n }),\n children\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\nimport { getComponentConfig } from '../../utils/config'\nimport { htmlOrText } from '../../utils/html'\nimport { hasNormalizedSlot, normalizeSlot } from '../../utils/normalize-slot'\nimport { BInputGroupPrepend } from './input-group-prepend'\nimport { BInputGroupAppend } from './input-group-append'\nimport { BInputGroupText } from './input-group-text'\n\nconst NAME = 'BInputGroup'\n\nexport const props = {\n id: {\n type: String\n },\n size: {\n type: String,\n default: () => getComponentConfig(NAME, 'size')\n },\n prepend: {\n type: String\n },\n prependHtml: {\n type: String\n },\n append: {\n type: String\n },\n appendHtml: {\n type: String\n },\n tag: {\n type: String,\n default: 'div'\n }\n}\n\n// @vue/component\nexport const BInputGroup = /*#__PURE__*/ Vue.extend({\n name: NAME,\n functional: true,\n props,\n render(h, { props, data, slots, scopedSlots }) {\n const $slots = slots()\n const $scopedSlots = scopedSlots || {}\n\n const childNodes = []\n\n // Prepend prop/slot\n if (props.prepend || props.prependHtml || hasNormalizedSlot('prepend', $scopedSlots, $slots)) {\n childNodes.push(\n h(BInputGroupPrepend, [\n // Prop\n props.prepend || props.prependHtml\n ? h(BInputGroupText, { domProps: htmlOrText(props.prependHtml, props.prepend) })\n : h(),\n // Slot\n normalizeSlot('prepend', {}, $scopedSlots, $slots) || h()\n ])\n )\n } else {\n childNodes.push(h())\n }\n\n // Default slot\n if (hasNormalizedSlot('default', $scopedSlots, $slots)) {\n childNodes.push(...normalizeSlot('default', {}, $scopedSlots, $slots))\n } else {\n childNodes.push(h())\n }\n\n // Append prop\n if (props.append || props.appendHtml || hasNormalizedSlot('append', $scopedSlots, $slots)) {\n childNodes.push(\n h(BInputGroupAppend, [\n // prop\n props.append || props.appendHtml\n ? h(BInputGroupText, { domProps: htmlOrText(props.appendHtml, props.append) })\n : h(),\n // Slot\n normalizeSlot('append', {}, $scopedSlots, $slots) || h()\n ])\n )\n } else {\n childNodes.push(h())\n }\n\n return h(\n props.tag,\n mergeData(data, {\n staticClass: 'input-group',\n class: { [`input-group-${props.size}`]: props.size },\n attrs: {\n id: props.id || null,\n role: 'group'\n }\n }),\n childNodes\n )\n }\n})\n","import { BInputGroup } from './input-group'\nimport { BInputGroupAddon } from './input-group-addon'\nimport { BInputGroupPrepend } from './input-group-prepend'\nimport { BInputGroupAppend } from './input-group-append'\nimport { BInputGroupText } from './input-group-text'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst InputGroupPlugin = /*#__PURE__*/ pluginFactory({\n components: {\n BInputGroup,\n BInputGroupAddon,\n BInputGroupPrepend,\n BInputGroupAppend,\n BInputGroupText\n }\n})\n\nexport {\n InputGroupPlugin,\n BInputGroup,\n BInputGroupAddon,\n BInputGroupPrepend,\n BInputGroupAppend,\n BInputGroupText\n}\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\n\nexport const props = {\n tag: {\n type: String,\n default: 'div'\n },\n fluid: {\n // String breakpoint name new in Bootstrap v4.4.x\n type: [Boolean, String],\n default: false\n }\n}\n\n// @vue/component\nexport const BContainer = /*#__PURE__*/ Vue.extend({\n name: 'BContainer',\n functional: true,\n props,\n render(h, { props, data, children }) {\n return h(\n props.tag,\n mergeData(data, {\n class: {\n container: !(props.fluid || props.fluid === ''),\n 'container-fluid': props.fluid === true || props.fluid === '',\n // Bootstrap v4.4+ responsive containers\n [`container-${props.fluid}`]: props.fluid && props.fluid !== true\n }\n }),\n children\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\nimport { getComponentConfig } from '../../utils/config'\nimport { stripTags } from '../../utils/html'\nimport { hasNormalizedSlot, normalizeSlot } from '../../utils/normalize-slot'\nimport { BContainer } from '../layout/container'\n\nconst NAME = 'BJumbotron'\n\nexport const props = {\n fluid: {\n type: Boolean,\n default: false\n },\n containerFluid: {\n type: [Boolean, String],\n default: false\n },\n header: {\n type: String,\n default: null\n },\n headerHtml: {\n type: String,\n default: null\n },\n headerTag: {\n type: String,\n default: 'h1'\n },\n headerLevel: {\n type: [Number, String],\n default: '3'\n },\n lead: {\n type: String,\n default: null\n },\n leadHtml: {\n type: String,\n default: null\n },\n leadTag: {\n type: String,\n default: 'p'\n },\n tag: {\n type: String,\n default: 'div'\n },\n bgVariant: {\n type: String,\n default: () => getComponentConfig(NAME, 'bgVariant')\n },\n borderVariant: {\n type: String,\n default: () => getComponentConfig(NAME, 'borderVariant')\n },\n textVariant: {\n type: String,\n default: () => getComponentConfig(NAME, 'textVariant')\n }\n}\n\n// @vue/component\nexport const BJumbotron = /*#__PURE__*/ Vue.extend({\n name: NAME,\n functional: true,\n props,\n render(h, { props, data, slots, scopedSlots }) {\n // The order of the conditionals matter.\n // We are building the component markup in order.\n let childNodes = []\n const $slots = slots()\n const $scopedSlots = scopedSlots || {}\n\n // Header\n if (props.header || hasNormalizedSlot('header', $scopedSlots, $slots) || props.headerHtml) {\n childNodes.push(\n h(\n props.headerTag,\n {\n class: {\n [`display-${props.headerLevel}`]: props.headerLevel\n }\n },\n normalizeSlot('header', {}, $scopedSlots, $slots) ||\n props.headerHtml ||\n stripTags(props.header)\n )\n )\n }\n\n // Lead\n if (props.lead || hasNormalizedSlot('lead', $scopedSlots, $slots) || props.leadHtml) {\n childNodes.push(\n h(\n props.leadTag,\n { staticClass: 'lead' },\n normalizeSlot('lead', {}, $scopedSlots, $slots) || props.leadHtml || stripTags(props.lead)\n )\n )\n }\n\n // Default slot\n if (hasNormalizedSlot('default', $scopedSlots, $slots)) {\n childNodes.push(normalizeSlot('default', {}, $scopedSlots, $slots))\n }\n\n // If fluid, wrap content in a container/container-fluid\n if (props.fluid) {\n // Children become a child of a container\n childNodes = [h(BContainer, { props: { fluid: props.containerFluid } }, childNodes)]\n }\n // Return the jumbotron\n return h(\n props.tag,\n mergeData(data, {\n staticClass: 'jumbotron',\n class: {\n 'jumbotron-fluid': props.fluid,\n [`text-${props.textVariant}`]: props.textVariant,\n [`bg-${props.bgVariant}`]: props.bgVariant,\n [`border-${props.borderVariant}`]: props.borderVariant,\n border: props.borderVariant\n }\n }),\n childNodes\n )\n }\n})\n","import { BJumbotron } from './jumbotron'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst JumbotronPlugin = /*#__PURE__*/ pluginFactory({\n components: { BJumbotron }\n})\n\nexport { JumbotronPlugin, BJumbotron }\n","import { mergeData } from 'vue-functional-data-merge'\nimport identity from '../../utils/identity'\nimport memoize from '../../utils/memoize'\nimport suffixPropName from '../../utils/suffix-prop-name'\nimport { arrayIncludes } from '../../utils/array'\nimport { getBreakpointsUpCached } from '../../utils/config'\nimport { create, keys } from '../../utils/object'\nimport { lowerCase, toString, trim } from '../../utils/string'\n\nconst COMMON_ALIGNMENT = ['start', 'end', 'center']\n\n// Generates a prop object with a type of `[String, Number]`\nconst strNum = () => ({\n type: [String, Number],\n default: null\n})\n\n// Compute a `row-cols-{breakpoint}-{cols}` class name\n// Memoized function for better performance on generating class names\nconst computeRowColsClass = memoize((breakpoint, cols) => {\n cols = trim(toString(cols))\n return cols ? lowerCase(['row-cols', breakpoint, cols].filter(identity).join('-')) : null\n})\n\n// Get the breakpoint name from the `rowCols` prop name\n// Memoized function for better performance on extracting breakpoint names\nconst computeRowColsBreakpoint = memoize(prop => lowerCase(prop.replace('cols', '')))\n\n// Cached copy of the `row-cols` breakpoint prop names\n// Will be populated when the props are generated\nlet rowColsPropList = []\n\n// Lazy evaled props factory for <b-row> (called only once,\n// the first time the component is used)\nconst generateProps = () => {\n // Grab the breakpoints from the cached config (including the '' (xs) breakpoint)\n const breakpoints = getBreakpointsUpCached()\n\n // Supports classes like: `row-cols-2`, `row-cols-md-4`, `row-cols-xl-6`\n const rowColsProps = breakpoints.reduce((props, breakpoint) => {\n props[suffixPropName(breakpoint, 'cols')] = strNum()\n return props\n }, create(null))\n\n // Cache the row-cols prop names\n rowColsPropList = keys(rowColsProps)\n\n // Return the generated props\n return {\n tag: {\n type: String,\n default: 'div'\n },\n noGutters: {\n type: Boolean,\n default: false\n },\n alignV: {\n type: String,\n default: null,\n validator: str => arrayIncludes(COMMON_ALIGNMENT.concat(['baseline', 'stretch']), str)\n },\n alignH: {\n type: String,\n default: null,\n validator: str => arrayIncludes(COMMON_ALIGNMENT.concat(['between', 'around']), str)\n },\n alignContent: {\n type: String,\n default: null,\n validator: str =>\n arrayIncludes(COMMON_ALIGNMENT.concat(['between', 'around', 'stretch']), str)\n },\n ...rowColsProps\n }\n}\n\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\nexport const BRow = {\n name: 'BRow',\n functional: true,\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 render(h, { props, data, children }) {\n const classList = []\n // Loop through row-cols breakpoint props and generate the classes\n rowColsPropList.forEach(prop => {\n const c = computeRowColsClass(computeRowColsBreakpoint(prop), props[prop])\n // If a class is returned, push it onto the array\n if (c) {\n classList.push(c)\n }\n })\n classList.push({\n 'no-gutters': props.noGutters,\n [`align-items-${props.alignV}`]: props.alignV,\n [`justify-content-${props.alignH}`]: props.alignH,\n [`align-content-${props.alignContent}`]: props.alignContent\n })\n return h(props.tag, mergeData(data, { staticClass: 'row', class: classList }), children)\n }\n}\n","import { BContainer } from './container'\nimport { BRow } from './row'\nimport { BCol } from './col'\nimport { BFormRow } from './form-row'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst LayoutPlugin = /*#__PURE__*/ pluginFactory({\n components: {\n BContainer,\n BRow,\n BCol,\n BFormRow\n }\n})\n\nexport { LayoutPlugin, BContainer, BRow, BCol, BFormRow }\n","import { BLink } from './link'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst LinkPlugin = /*#__PURE__*/ pluginFactory({\n components: { BLink }\n})\n\nexport { LinkPlugin, BLink }\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\nimport { isString } from '../../utils/inspect'\n\nexport const props = {\n tag: {\n type: String,\n default: 'div'\n },\n flush: {\n type: Boolean,\n default: false\n },\n horizontal: {\n type: [Boolean, String],\n default: false\n }\n}\n\n// @vue/component\nexport const BListGroup = /*#__PURE__*/ Vue.extend({\n name: 'BListGroup',\n functional: true,\n props,\n render(h, { props, data, children }) {\n let horizontal = props.horizontal === '' ? true : props.horizontal\n horizontal = props.flush ? false : horizontal\n const componentData = {\n staticClass: 'list-group',\n class: {\n 'list-group-flush': props.flush,\n 'list-group-horizontal': horizontal === true,\n [`list-group-horizontal-${horizontal}`]: isString(horizontal)\n }\n }\n return h(props.tag, mergeData(data, componentData), children)\n }\n})\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\nimport pluckProps from '../../utils/pluck-props'\nimport { arrayIncludes } from '../../utils/array'\nimport { getComponentConfig } from '../../utils/config'\nimport { BLink, propsFactory as linkPropsFactory } from '../link/link'\n\nconst NAME = 'BListGroupItem'\n\nconst actionTags = ['a', 'router-link', 'button', 'b-link']\nconst linkProps = linkPropsFactory()\ndelete linkProps.href.default\ndelete linkProps.to.default\n\nexport const props = {\n tag: {\n type: String,\n default: 'div'\n },\n action: {\n type: Boolean,\n default: null\n },\n button: {\n type: Boolean,\n default: null\n },\n variant: {\n type: String,\n default: () => getComponentConfig(NAME, 'variant')\n },\n ...linkProps\n}\n// @vue/component\nexport const BListGroupItem = /*#__PURE__*/ Vue.extend({\n name: NAME,\n functional: true,\n props,\n render(h, { props, data, children }) {\n const tag = props.button ? 'button' : !props.href && !props.to ? props.tag : BLink\n const isAction = Boolean(\n props.href || props.to || props.action || props.button || arrayIncludes(actionTags, props.tag)\n )\n const attrs = {}\n let itemProps = {}\n if (tag === 'button') {\n if (!data.attrs || !data.attrs.type) {\n // Add a type for button is one not provided in passed attributes\n attrs.type = 'button'\n }\n if (props.disabled) {\n // Set disabled attribute if button and disabled\n attrs.disabled = true\n }\n } else {\n itemProps = pluckProps(linkProps, props)\n }\n const componentData = {\n attrs,\n props: itemProps,\n staticClass: 'list-group-item',\n class: {\n [`list-group-item-${props.variant}`]: props.variant,\n 'list-group-item-action': isAction,\n active: props.active,\n disabled: props.disabled\n }\n }\n\n return h(tag, mergeData(data, componentData), children)\n }\n})\n","import { BListGroup } from './list-group'\nimport { BListGroupItem } from './list-group-item'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst ListGroupPlugin = /*#__PURE__*/ pluginFactory({\n components: {\n BListGroup,\n BListGroupItem\n }\n})\n\nexport { ListGroupPlugin, BListGroup, BListGroupItem }\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\n\nexport const props = {\n tag: {\n type: String,\n default: 'div'\n }\n}\n\n// @vue/component\nexport const BMediaBody = /*#__PURE__*/ Vue.extend({\n name: 'BMediaBody',\n functional: true,\n props,\n render(h, { props, data, children }) {\n return h(\n props.tag,\n mergeData(data, {\n staticClass: 'media-body'\n }),\n children\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\n\nexport const props = {\n tag: {\n type: String,\n default: 'div'\n },\n verticalAlign: {\n type: String,\n default: 'top'\n }\n}\n\n// @vue/component\nexport const BMediaAside = /*#__PURE__*/ Vue.extend({\n name: 'BMediaAside',\n functional: true,\n props,\n render(h, { props, data, children }) {\n const align =\n props.verticalAlign === 'top'\n ? 'start'\n : props.verticalAlign === 'bottom'\n ? 'end'\n : props.verticalAlign\n return h(\n props.tag,\n mergeData(data, {\n staticClass: 'd-flex',\n class: {\n [`align-self-${align}`]: align\n }\n }),\n children\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\nimport { normalizeSlot } from '../../utils/normalize-slot'\nimport { BMediaBody } from './media-body'\nimport { BMediaAside } from './media-aside'\n\nexport const props = {\n tag: {\n type: String,\n default: 'div'\n },\n rightAlign: {\n type: Boolean,\n default: false\n },\n verticalAlign: {\n type: String,\n default: 'top'\n },\n noBody: {\n type: Boolean,\n default: false\n }\n}\n\n// @vue/component\nexport const BMedia = /*#__PURE__*/ Vue.extend({\n name: 'BMedia',\n functional: true,\n props,\n render(h, { props, data, slots, scopedSlots, children }) {\n const childNodes = props.noBody ? children : []\n\n if (!props.noBody) {\n const $slots = slots()\n const $scopedSlots = scopedSlots || {}\n const $aside = normalizeSlot('aside', {}, $scopedSlots, $slots)\n const $default = normalizeSlot('default', {}, $scopedSlots, $slots)\n\n if ($aside && !props.rightAlign) {\n childNodes.push(\n h(\n BMediaAside,\n { staticClass: 'mr-3', props: { verticalAlign: props.verticalAlign } },\n $aside\n )\n )\n }\n\n childNodes.push(h(BMediaBody, $default))\n\n if ($aside && props.rightAlign) {\n childNodes.push(\n h(\n BMediaAside,\n { staticClass: 'ml-3', props: { verticalAlign: props.verticalAlign } },\n $aside\n )\n )\n }\n }\n\n return h(props.tag, mergeData(data, { staticClass: 'media' }), childNodes)\n }\n})\n","import { BMedia } from './media'\nimport { BMediaAside } from './media-aside'\nimport { BMediaBody } from './media-body'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst MediaPlugin = /*#__PURE__*/ pluginFactory({\n components: {\n BMedia,\n BMediaAside,\n BMediaBody\n }\n})\n\nexport { MediaPlugin, BMedia, BMediaAside, BMediaBody }\n","import Vue from './vue'\nimport identity from './identity'\nimport { concat } from './array'\nimport { removeNode, select } from './dom'\nimport { isBrowser } from './env'\nimport { isFunction, isString } from './inspect'\nimport { HTMLElement } from './safe-types'\nimport normalizeSlotMixin from '../mixins/normalize-slot'\n\n// BTransporterSingle/BTransporterTargetSingle:\n//\n// Single root node portaling of content, which retains parent/child hierarchy\n// Unlike Portal-Vue where portaled content is no longer a descendent of its\n// intended parent components\n//\n// Private components for use by Tooltips, Popovers and Modals\n//\n// Based on vue-simple-portal\n// https://github.com/LinusBorg/vue-simple-portal\n\n// Transporter target used by BTransporterSingle\n// Supports only a single root element\n// @vue/component\nconst BTransporterTargetSingle = /*#__PURE__*/ Vue.extend({\n // As an abstract component, it doesn't appear in the $parent chain of\n // components, which means the next parent of any component rendered inside\n // of this one will be the parent from which is was portal'd\n abstract: true,\n name: 'BTransporterTargetSingle',\n props: {\n nodes: {\n // Even though we only support a single root element,\n // VNodes are always passed as an array\n type: [Array, Function]\n // default: undefined\n }\n },\n data: vm => {\n return {\n updatedNodes: vm.nodes\n }\n },\n destroyed() {\n removeNode(this.$el)\n },\n render(h) {\n let nodes = isFunction(this.updatedNodes) ? this.updatedNodes({}) : this.updatedNodes\n nodes = concat(nodes).filter(Boolean)\n /* istanbul ignore else */\n if (nodes && nodes.length > 0 && !nodes[0].text) {\n return nodes[0]\n } else {\n /* istanbul ignore next */\n return h()\n }\n }\n})\n\n// This component has no root element, so only a single VNode is allowed\n// @vue/component\nexport const BTransporterSingle = /*#__PURE__*/ Vue.extend({\n name: 'BTransporterSingle',\n mixins: [normalizeSlotMixin],\n props: {\n disabled: {\n type: Boolean,\n default: false\n },\n container: {\n // String: CSS selector,\n // HTMLElement: Element reference\n // Mainly needed for tooltips/popovers inside modals\n type: [String, HTMLElement],\n default: 'body'\n },\n tag: {\n // This should be set to match the root element type\n type: String,\n default: 'div'\n }\n },\n watch: {\n disabled: {\n immediate: true,\n handler(disabled) {\n disabled ? this.unmountTarget() : this.$nextTick(this.mountTarget)\n }\n }\n },\n created() {\n this._bv_defaultFn = null\n this._bv_target = null\n },\n beforeMount() {\n this.mountTarget()\n },\n updated() {\n // We need to make sure that all children have completed updating\n // before rendering in the target\n // `vue-simple-portal` has the this in a `$nextTick()`,\n // while `portal-vue` doesn't\n // Just trying to see if the `$nextTick()` delay is required or not\n // Since all slots in Vue 2.6.x are always functions\n this.updateTarget()\n },\n beforeDestroy() {\n this.unmountTarget()\n this._bv_defaultFn = null\n },\n methods: {\n // Get the element which the target should be appended to\n getContainer() {\n /* istanbul ignore else */\n if (isBrowser) {\n const container = this.container\n return isString(container) ? select(container) : container\n } else {\n return null\n }\n },\n // Mount the target\n mountTarget() {\n if (!this._bv_target) {\n const container = this.getContainer()\n if (container) {\n const el = document.createElement('div')\n container.appendChild(el)\n this._bv_target = new BTransporterTargetSingle({\n el,\n parent: this,\n propsData: {\n // Initial nodes to be rendered\n nodes: concat(this.normalizeSlot('default'))\n }\n })\n }\n }\n },\n // Update the content of the target\n updateTarget() {\n if (isBrowser && this._bv_target) {\n const defaultFn = this.$scopedSlots.default\n if (!this.disabled) {\n /* istanbul ignore else: only applicable in Vue 2.5.x */\n if (defaultFn && this._bv_defaultFn !== defaultFn) {\n // We only update the target component if the scoped slot\n // function is a fresh one. The new slot syntax (since Vue 2.6)\n // can cache unchanged slot functions and we want to respect that here\n this._bv_target.updatedNodes = defaultFn\n } else if (!defaultFn) {\n // We also need to be back compatible with non-scoped default slot (i.e. 2.5.x)\n this._bv_target.updatedNodes = this.$slots.default\n }\n }\n // Update the scoped slot function cache\n this._bv_defaultFn = defaultFn\n }\n },\n // Unmount the target\n unmountTarget() {\n if (this._bv_target) {\n this._bv_target.$destroy()\n this._bv_target = null\n }\n }\n },\n render(h) {\n if (this.disabled) {\n const nodes = concat(this.normalizeSlot('default')).filter(identity)\n if (nodes.length > 0 && !nodes[0].text) {\n return nodes[0]\n }\n }\n return h()\n }\n})\n","import { arrayIncludes } from '../utils/array'\nimport { isBrowser } from '../utils/env'\nimport { EVENT_OPTIONS_NO_CAPTURE, eventOn, eventOff } from '../utils/events'\nimport { isString, isFunction } from '../utils/inspect'\nimport { keys } from '../utils/object'\n\nconst PROP = '$_bv_documentHandlers_'\n\n// @vue/component\nexport default {\n created() {\n /* istanbul ignore next */\n if (!isBrowser) {\n return\n }\n // Declare non-reactive property\n // Object of arrays, keyed by event name,\n // where value is an array of handlers\n // Prop will be defined on client only\n this[PROP] = {}\n // Set up our beforeDestroy handler (client only)\n this.$once('hook:beforeDestroy', () => {\n const items = this[PROP] || {}\n // Immediately delete this[PROP] to prevent the\n // listenOn/Off methods from running (which may occur\n // due to requestAnimationFrame/transition delays)\n delete this[PROP]\n // Remove all registered event handlers\n keys(items).forEach(evtName => {\n const handlers = items[evtName] || []\n handlers.forEach(handler => eventOff(document, evtName, handler, EVENT_OPTIONS_NO_CAPTURE))\n })\n })\n },\n methods: {\n listenDocument(on, evtName, handler) {\n on ? this.listenOnDocument(evtName, handler) : this.listenOffDocument(evtName, handler)\n },\n listenOnDocument(evtName, handler) {\n if (this[PROP] && isString(evtName) && isFunction(handler)) {\n this[PROP][evtName] = this[PROP][evtName] || []\n if (!arrayIncludes(this[PROP][evtName], handler)) {\n this[PROP][evtName].push(handler)\n eventOn(document, evtName, handler, EVENT_OPTIONS_NO_CAPTURE)\n }\n }\n },\n listenOffDocument(evtName, handler) {\n if (this[PROP] && isString(evtName) && isFunction(handler)) {\n eventOff(document, evtName, handler, EVENT_OPTIONS_NO_CAPTURE)\n this[PROP][evtName] = (this[PROP][evtName] || []).filter(h => h !== handler)\n }\n }\n }\n}\n","import { arrayIncludes } from '../utils/array'\nimport { isBrowser } from '../utils/env'\nimport { EVENT_OPTIONS_NO_CAPTURE, eventOn, eventOff } from '../utils/events'\nimport { isString, isFunction } from '../utils/inspect'\nimport { keys } from '../utils/object'\n\nconst PROP = '$_bv_windowHandlers_'\n\n// @vue/component\nexport default {\n beforeCreate() {\n // Declare non-reactive property\n // Object of arrays, keyed by event name,\n // where value is an array of handlers\n this[PROP] = {}\n },\n beforeDestroy() {\n if (isBrowser) {\n const items = this[PROP]\n // Immediately delete this[PROP] to prevent the\n // listenOn/Off methods from running (which may occur\n // due to requestAnimationFrame delays)\n delete this[PROP]\n // Remove all registered event handlers\n keys(items).forEach(evtName => {\n const handlers = items[evtName] || []\n handlers.forEach(handler => eventOff(window, evtName, handler, EVENT_OPTIONS_NO_CAPTURE))\n })\n }\n },\n methods: {\n listenWindow(on, evtName, handler) {\n on ? this.listenOnWindow(evtName, handler) : this.listenOffWindow(evtName, handler)\n },\n listenOnWindow(evtName, handler) {\n if (isBrowser && this[PROP] && isString(evtName) && isFunction(handler)) {\n this[PROP][evtName] = this[PROP][evtName] || []\n if (!arrayIncludes(this[PROP][evtName], handler)) {\n this[PROP][evtName].push(handler)\n eventOn(window, evtName, handler, EVENT_OPTIONS_NO_CAPTURE)\n }\n }\n },\n listenOffWindow(evtName, handler) {\n if (isBrowser && this[PROP] && isString(evtName) && isFunction(handler)) {\n eventOff(window, evtName, handler, EVENT_OPTIONS_NO_CAPTURE)\n this[PROP][evtName] = (this[PROP][evtName] || []).filter(h => h !== handler)\n }\n }\n }\n}\n","// This method returns a component's scoped style attribute name: `data-v-xxxxxxx`\n// The `_scopeId` options property is added by vue-loader when using scoped styles\n// and will be `undefined` if no scoped styles are in use\n\nconst getScopeId = (vm, defaultValue = null) => {\n return vm ? vm.$options._scopeId || defaultValue : defaultValue\n}\n\nexport default getScopeId\n","import getScopeId from '../utils/get-scope-id'\n\nexport default {\n computed: {\n scopedStyleAttrs() {\n const scopeId = getScopeId(this.$parent)\n return scopeId ? { [scopeId]: '' } : {}\n }\n }\n}\n","/**\n * Private ModalManager helper\n * Handles controlling modal stacking zIndexes and body adjustments/classes\n */\n\nimport Vue from '../../../utils/vue'\nimport {\n getAttr,\n hasAttr,\n removeAttr,\n setAttr,\n addClass,\n removeClass,\n getBCR,\n getCS,\n selectAll,\n requestAF\n} from '../../../utils/dom'\nimport { isBrowser } from '../../../utils/env'\nimport { isNull } from '../../../utils/inspect'\nimport { toFloat, toInteger } from '../../../utils/number'\n\n// --- Constants ---\n\n// Default modal backdrop z-index\nconst DEFAULT_ZINDEX = 1040\n\n// Selectors for padding/margin adjustments\nconst Selector = {\n FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\n STICKY_CONTENT: '.sticky-top',\n NAVBAR_TOGGLER: '.navbar-toggler'\n}\n\n// @vue/component\nconst ModalManager = /*#__PURE__*/ Vue.extend({\n data() {\n return {\n modals: [],\n baseZIndex: null,\n scrollbarWidth: null,\n isBodyOverflowing: false\n }\n },\n computed: {\n modalCount() {\n return this.modals.length\n },\n modalsAreOpen() {\n return this.modalCount > 0\n }\n },\n watch: {\n modalCount(newCount, oldCount) {\n if (isBrowser) {\n this.getScrollbarWidth()\n if (newCount > 0 && oldCount === 0) {\n // Transitioning to modal(s) open\n this.checkScrollbar()\n this.setScrollbar()\n addClass(document.body, 'modal-open')\n } else if (newCount === 0 && oldCount > 0) {\n // Transitioning to modal(s) closed\n this.resetScrollbar()\n removeClass(document.body, 'modal-open')\n }\n setAttr(document.body, 'data-modal-open-count', String(newCount))\n }\n },\n modals(newVal) {\n this.checkScrollbar()\n requestAF(() => {\n this.updateModals(newVal || [])\n })\n }\n },\n methods: {\n // Public methods\n registerModal(modal) {\n // Register the modal if not already registered\n if (modal && this.modals.indexOf(modal) === -1) {\n // Add modal to modals array\n this.modals.push(modal)\n modal.$once('hook:beforeDestroy', () => {\n this.unregisterModal(modal)\n })\n }\n },\n unregisterModal(modal) {\n const index = this.modals.indexOf(modal)\n if (index > -1) {\n // Remove modal from modals array\n this.modals.splice(index, 1)\n // Reset the modal's data\n if (!(modal._isBeingDestroyed || modal._isDestroyed)) {\n this.resetModal(modal)\n }\n }\n },\n getBaseZIndex() {\n if (isNull(this.baseZIndex) && isBrowser) {\n // Create a temporary `div.modal-backdrop` to get computed z-index\n const div = document.createElement('div')\n div.className = 'modal-backdrop d-none'\n div.style.display = 'none'\n document.body.appendChild(div)\n this.baseZIndex = toInteger(getCS(div).zIndex || DEFAULT_ZINDEX)\n document.body.removeChild(div)\n }\n return this.baseZIndex || DEFAULT_ZINDEX\n },\n getScrollbarWidth() {\n if (isNull(this.scrollbarWidth) && isBrowser) {\n // Create a temporary `div.measure-scrollbar` to get computed z-index\n const div = document.createElement('div')\n div.className = 'modal-scrollbar-measure'\n document.body.appendChild(div)\n this.scrollbarWidth = getBCR(div).width - div.clientWidth\n document.body.removeChild(div)\n }\n return this.scrollbarWidth || 0\n },\n // Private methods\n updateModals(modals) {\n const baseZIndex = this.getBaseZIndex()\n const scrollbarWidth = this.getScrollbarWidth()\n modals.forEach((modal, index) => {\n // We update data values on each modal\n modal.zIndex = baseZIndex + index\n modal.scrollbarWidth = scrollbarWidth\n modal.isTop = index === this.modals.length - 1\n modal.isBodyOverflowing = this.isBodyOverflowing\n })\n },\n resetModal(modal) {\n if (modal) {\n modal.zIndex = this.getBaseZIndex()\n modal.isTop = true\n modal.isBodyOverflowing = false\n }\n },\n checkScrollbar() {\n // Determine if the body element is overflowing\n const { left, right } = getBCR(document.body)\n this.isBodyOverflowing = left + right < window.innerWidth\n },\n setScrollbar() {\n const body = document.body\n // Storage place to cache changes to margins and padding\n // Note: This assumes the following element types are not added to the\n // document after the modal has opened.\n body._paddingChangedForModal = body._paddingChangedForModal || []\n body._marginChangedForModal = body._marginChangedForModal || []\n if (this.isBodyOverflowing) {\n const scrollbarWidth = this.scrollbarWidth\n // Adjust fixed content padding\n /* istanbul ignore next: difficult to test in JSDOM */\n selectAll(Selector.FIXED_CONTENT).forEach(el => {\n const actualPadding = el.style.paddingRight\n const calculatedPadding = getCS(el).paddingRight || 0\n setAttr(el, 'data-padding-right', actualPadding)\n el.style.paddingRight = `${toFloat(calculatedPadding) + scrollbarWidth}px`\n body._paddingChangedForModal.push(el)\n })\n // Adjust sticky content margin\n /* istanbul ignore next: difficult to test in JSDOM */\n selectAll(Selector.STICKY_CONTENT).forEach(el => /* istanbul ignore next */ {\n const actualMargin = el.style.marginRight\n const calculatedMargin = getCS(el).marginRight || 0\n setAttr(el, 'data-margin-right', actualMargin)\n el.style.marginRight = `${toFloat(calculatedMargin) - scrollbarWidth}px`\n body._marginChangedForModal.push(el)\n })\n // Adjust <b-navbar-toggler> margin\n /* istanbul ignore next: difficult to test in JSDOM */\n selectAll(Selector.NAVBAR_TOGGLER).forEach(el => /* istanbul ignore next */ {\n const actualMargin = el.style.marginRight\n const calculatedMargin = getCS(el).marginRight || 0\n setAttr(el, 'data-margin-right', actualMargin)\n el.style.marginRight = `${toFloat(calculatedMargin) + scrollbarWidth}px`\n body._marginChangedForModal.push(el)\n })\n // Adjust body padding\n const actualPadding = body.style.paddingRight\n const calculatedPadding = getCS(body).paddingRight\n setAttr(body, 'data-padding-right', actualPadding)\n body.style.paddingRight = `${toFloat(calculatedPadding) + scrollbarWidth}px`\n }\n },\n resetScrollbar() {\n const body = document.body\n if (body._paddingChangedForModal) {\n // Restore fixed content padding\n body._paddingChangedForModal.forEach(el => {\n /* istanbul ignore next: difficult to test in JSDOM */\n if (hasAttr(el, 'data-padding-right')) {\n el.style.paddingRight = getAttr(el, 'data-padding-right') || ''\n removeAttr(el, 'data-padding-right')\n }\n })\n }\n if (body._marginChangedForModal) {\n // Restore sticky content and navbar-toggler margin\n body._marginChangedForModal.forEach(el => {\n /* istanbul ignore next: difficult to test in JSDOM */\n if (hasAttr(el, 'data-margin-right')) {\n el.style.marginRight = getAttr(el, 'data-margin-right') || ''\n removeAttr(el, 'data-margin-right')\n }\n })\n }\n body._paddingChangedForModal = null\n body._marginChangedForModal = null\n // Restore body padding\n if (hasAttr(body, 'data-padding-right')) {\n body.style.paddingRight = getAttr(body, 'data-padding-right') || ''\n removeAttr(body, 'data-padding-right')\n }\n }\n }\n})\n\n// Create and export our modal manager instance\nexport const modalManager = new ModalManager()\n","import { BvEvent } from '../../../utils/bv-event.class'\nimport { defineProperties, readonlyDescriptor } from '../../../utils/object'\n\nclass BvModalEvent extends BvEvent {\n constructor(type, eventInit = {}) {\n super(type, eventInit)\n // Freeze our new props as readonly, but leave them enumerable\n defineProperties(this, {\n trigger: readonlyDescriptor()\n })\n }\n\n static get Defaults() {\n return {\n ...super.Defaults,\n trigger: null\n }\n }\n}\n\n// Named exports\nexport { BvModalEvent }\n","import Vue from '../../utils/vue'\nimport BVTransition from '../../utils/bv-transition'\nimport KeyCodes from '../../utils/key-codes'\nimport identity from '../../utils/identity'\nimport observeDom from '../../utils/observe-dom'\nimport { arrayIncludes, concat } from '../../utils/array'\nimport { getComponentConfig } from '../../utils/config'\nimport { closest, contains, isVisible, requestAF, select, selectAll } from '../../utils/dom'\nimport { isBrowser } from '../../utils/env'\nimport { EVENT_OPTIONS_NO_CAPTURE, eventOn, eventOff } from '../../utils/events'\nimport { stripTags } from '../../utils/html'\nimport { isString, isUndefinedOrNull } from '../../utils/inspect'\nimport { HTMLElement } from '../../utils/safe-types'\nimport { BTransporterSingle } from '../../utils/transporter'\nimport idMixin from '../../mixins/id'\nimport listenOnDocumentMixin from '../../mixins/listen-on-document'\nimport listenOnRootMixin from '../../mixins/listen-on-root'\nimport listenOnWindowMixin from '../../mixins/listen-on-window'\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\nimport scopedStyleAttrsMixin from '../../mixins/scoped-style-attrs'\nimport { BButton } from '../button/button'\nimport { BButtonClose } from '../button/button-close'\nimport { modalManager } from './helpers/modal-manager'\nimport { BvModalEvent } from './helpers/bv-modal-event.class'\n\n// --- Constants ---\n\nconst NAME = 'BModal'\n\n// ObserveDom config to detect changes in modal content\n// so that we can adjust the modal padding if needed\nconst OBSERVER_CONFIG = {\n subtree: true,\n childList: true,\n characterData: true,\n attributes: true,\n attributeFilter: ['style', 'class']\n}\n\n// Query selector to find all tabbable elements\n// (includes tabindex=\"-1\", which we filter out after)\nconst TABABLE_SELECTOR = [\n 'button',\n '[href]:not(.disabled)',\n 'input',\n 'select',\n 'textarea',\n '[tabindex]',\n '[contenteditable]'\n]\n .map(s => `${s}:not(:disabled):not([disabled])`)\n .join(', ')\n\n// --- Utility methods ---\n\n// Attempt to focus an element, and return true if successful\nconst attemptFocus = el => {\n if (el && isVisible(el) && el.focus) {\n try {\n el.focus()\n } catch {}\n }\n // If the element has focus, then return true\n return document.activeElement === el\n}\n\n// --- Props ---\nexport const props = {\n size: {\n type: String,\n default: () => getComponentConfig(NAME, 'size')\n },\n centered: {\n type: Boolean,\n default: false\n },\n scrollable: {\n type: Boolean,\n default: false\n },\n buttonSize: {\n type: String,\n default: ''\n },\n noStacking: {\n type: Boolean,\n default: false\n },\n noFade: {\n type: Boolean,\n default: false\n },\n noCloseOnBackdrop: {\n type: Boolean,\n default: false\n },\n noCloseOnEsc: {\n type: Boolean,\n default: false\n },\n noEnforceFocus: {\n type: Boolean,\n default: false\n },\n ignoreEnforceFocusSelector: {\n type: [Array, String],\n default: ''\n },\n title: {\n type: String,\n default: ''\n },\n titleHtml: {\n type: String\n },\n titleTag: {\n type: String,\n default: () => getComponentConfig(NAME, 'titleTag')\n },\n titleClass: {\n type: [String, Array, Object],\n default: null\n },\n titleSrOnly: {\n type: Boolean,\n default: false\n },\n ariaLabel: {\n type: String,\n default: null\n },\n headerBgVariant: {\n type: String,\n default: () => getComponentConfig(NAME, 'headerBgVariant')\n },\n headerBorderVariant: {\n type: String,\n default: () => getComponentConfig(NAME, 'headerBorderVariant')\n },\n headerTextVariant: {\n type: String,\n default: () => getComponentConfig(NAME, 'headerTextVariant')\n },\n headerCloseVariant: {\n type: String,\n default: () => getComponentConfig(NAME, 'headerCloseVariant')\n },\n headerClass: {\n type: [String, Array, Object],\n default: null\n },\n bodyBgVariant: {\n type: String,\n default: () => getComponentConfig(NAME, 'bodyBgVariant')\n },\n bodyTextVariant: {\n type: String,\n default: () => getComponentConfig(NAME, 'bodyTextVariant')\n },\n modalClass: {\n type: [String, Array, Object],\n default: null\n },\n dialogClass: {\n type: [String, Array, Object],\n default: null\n },\n contentClass: {\n type: [String, Array, Object],\n default: null\n },\n bodyClass: {\n type: [String, Array, Object],\n default: null\n },\n footerBgVariant: {\n type: String,\n default: () => getComponentConfig(NAME, 'footerBgVariant')\n },\n footerBorderVariant: {\n type: String,\n default: () => getComponentConfig(NAME, 'footerBorderVariant')\n },\n footerTextVariant: {\n type: String,\n default: () => getComponentConfig(NAME, 'footerTextVariant')\n },\n footerClass: {\n type: [String, Array, Object],\n default: null\n },\n hideHeader: {\n type: Boolean,\n default: false\n },\n hideFooter: {\n type: Boolean,\n default: false\n },\n hideHeaderClose: {\n type: Boolean,\n default: false\n },\n hideBackdrop: {\n type: Boolean,\n default: false\n },\n okOnly: {\n type: Boolean,\n default: false\n },\n okDisabled: {\n type: Boolean,\n default: false\n },\n cancelDisabled: {\n type: Boolean,\n default: false\n },\n visible: {\n type: Boolean,\n default: false\n },\n returnFocus: {\n // HTML Element, CSS selector string or Vue component instance\n type: [HTMLElement, String, Object],\n default: null\n },\n headerCloseContent: {\n type: String,\n default: () => getComponentConfig(NAME, 'headerCloseContent')\n },\n headerCloseLabel: {\n type: String,\n default: () => getComponentConfig(NAME, 'headerCloseLabel')\n },\n cancelTitle: {\n type: String,\n default: () => getComponentConfig(NAME, 'cancelTitle')\n },\n cancelTitleHtml: {\n type: String\n },\n okTitle: {\n type: String,\n default: () => getComponentConfig(NAME, 'okTitle')\n },\n okTitleHtml: {\n type: String\n },\n cancelVariant: {\n type: String,\n default: () => getComponentConfig(NAME, 'cancelVariant')\n },\n okVariant: {\n type: String,\n default: () => getComponentConfig(NAME, 'okVariant')\n },\n lazy: {\n type: Boolean,\n default: false\n },\n busy: {\n type: Boolean,\n default: false\n },\n static: {\n type: Boolean,\n default: false\n },\n autoFocusButton: {\n type: String,\n default: null,\n validator: val => {\n /* istanbul ignore next */\n return isUndefinedOrNull(val) || arrayIncludes(['ok', 'cancel', 'close'], val)\n }\n }\n}\n\n// @vue/component\nexport const BModal = /*#__PURE__*/ Vue.extend({\n name: NAME,\n mixins: [\n idMixin,\n listenOnDocumentMixin,\n listenOnRootMixin,\n listenOnWindowMixin,\n normalizeSlotMixin,\n scopedStyleAttrsMixin\n ],\n inheritAttrs: false,\n model: {\n prop: 'visible',\n event: 'change'\n },\n props,\n data() {\n return {\n isHidden: true, // If modal should not be in document\n isVisible: false, // Controls modal visible state\n isTransitioning: false, // Used for style control\n isShow: false, // Used for style control\n isBlock: false, // Used for style control\n isOpening: false, // To signal that the modal is in the process of opening\n isClosing: false, // To signal that the modal is in the process of closing\n ignoreBackdropClick: false, // Used to signify if click out listener should ignore the click\n isModalOverflowing: false,\n return_focus: this.returnFocus || null,\n // The following items are controlled by the modalManager instance\n scrollbarWidth: 0,\n zIndex: modalManager.getBaseZIndex(),\n isTop: true,\n isBodyOverflowing: false\n }\n },\n computed: {\n modalClasses() {\n return [\n {\n fade: !this.noFade,\n show: this.isShow\n },\n this.modalClass\n ]\n },\n modalStyles() {\n const sbWidth = `${this.scrollbarWidth}px`\n return {\n paddingLeft: !this.isBodyOverflowing && this.isModalOverflowing ? sbWidth : '',\n paddingRight: this.isBodyOverflowing && !this.isModalOverflowing ? sbWidth : '',\n // Needed to fix issue https://github.com/bootstrap-vue/bootstrap-vue/issues/3457\n // Even though we are using v-show, we must ensure 'none' is restored in the styles\n display: this.isBlock ? 'block' : 'none'\n }\n },\n dialogClasses() {\n return [\n {\n [`modal-${this.size}`]: this.size,\n 'modal-dialog-centered': this.centered,\n 'modal-dialog-scrollable': this.scrollable\n },\n this.dialogClass\n ]\n },\n headerClasses() {\n return [\n {\n [`bg-${this.headerBgVariant}`]: this.headerBgVariant,\n [`text-${this.headerTextVariant}`]: this.headerTextVariant,\n [`border-${this.headerBorderVariant}`]: this.headerBorderVariant\n },\n this.headerClass\n ]\n },\n titleClasses() {\n return [{ 'sr-only': this.titleSrOnly }, this.titleClass]\n },\n bodyClasses() {\n return [\n {\n [`bg-${this.bodyBgVariant}`]: this.bodyBgVariant,\n [`text-${this.bodyTextVariant}`]: this.bodyTextVariant\n },\n this.bodyClass\n ]\n },\n footerClasses() {\n return [\n {\n [`bg-${this.footerBgVariant}`]: this.footerBgVariant,\n [`text-${this.footerTextVariant}`]: this.footerTextVariant,\n [`border-${this.footerBorderVariant}`]: this.footerBorderVariant\n },\n this.footerClass\n ]\n },\n modalOuterStyle() {\n // Styles needed for proper stacking of modals\n return {\n position: 'absolute',\n zIndex: this.zIndex\n }\n },\n slotScope() {\n return {\n ok: this.onOk,\n cancel: this.onCancel,\n close: this.onClose,\n hide: this.hide,\n visible: this.isVisible\n }\n },\n computeIgnoreEnforceFocusSelector() {\n // Normalize to an single selector with selectors separated by `,`\n return concat(this.ignoreEnforceFocusSelector)\n .filter(identity)\n .join(',')\n .trim()\n }\n },\n watch: {\n visible(newVal, oldVal) {\n if (newVal !== oldVal) {\n this[newVal ? 'show' : 'hide']()\n }\n }\n },\n created() {\n // Define non-reactive properties\n this._observer = null\n },\n mounted() {\n // Set initial z-index as queried from the DOM\n this.zIndex = modalManager.getBaseZIndex()\n // Listen for events from others to either open or close ourselves\n // and listen to all modals to enable/disable enforce focus\n this.listenOnRoot('bv::show::modal', this.showHandler)\n this.listenOnRoot('bv::hide::modal', this.hideHandler)\n this.listenOnRoot('bv::toggle::modal', this.toggleHandler)\n // Listen for `bv:modal::show events`, and close ourselves if the\n // opening modal not us\n this.listenOnRoot('bv::modal::show', this.modalListener)\n // Initially show modal?\n if (this.visible === true) {\n this.$nextTick(this.show)\n }\n },\n beforeDestroy() {\n // Ensure everything is back to normal\n if (this._observer) {\n this._observer.disconnect()\n this._observer = null\n }\n if (this.isVisible) {\n this.isVisible = false\n this.isShow = false\n this.isTransitioning = false\n }\n },\n methods: {\n // Private method to update the v-model\n updateModel(val) {\n if (val !== this.visible) {\n this.$emit('change', val)\n }\n },\n // Private method to create a BvModalEvent object\n buildEvent(type, options = {}) {\n return new BvModalEvent(type, {\n // Default options\n cancelable: false,\n target: this.$refs.modal || this.$el || null,\n relatedTarget: null,\n trigger: null,\n // Supplied options\n ...options,\n // Options that can't be overridden\n vueTarget: this,\n componentId: this.safeId()\n })\n },\n // Public method to show modal\n show() {\n if (this.isVisible || this.isOpening) {\n // If already open, or in the process of opening, do nothing\n /* istanbul ignore next */\n return\n }\n /* istanbul ignore next */\n if (this.isClosing) {\n // If we are in the process of closing, wait until hidden before re-opening\n /* istanbul ignore next */\n this.$once('hidden', this.show)\n /* istanbul ignore next */\n return\n }\n this.isOpening = true\n // Set the element to return focus to when closed\n this.return_focus = this.return_focus || this.getActiveElement()\n const showEvt = this.buildEvent('show', {\n cancelable: true\n })\n this.emitEvent(showEvt)\n // Don't show if canceled\n if (showEvt.defaultPrevented || this.isVisible) {\n this.isOpening = false\n // Ensure the v-model reflects the current state\n this.updateModel(false)\n return\n }\n // Show the modal\n this.doShow()\n },\n // Public method to hide modal\n hide(trigger = '') {\n if (!this.isVisible || this.isClosing) {\n /* istanbul ignore next */\n return\n }\n this.isClosing = true\n const hideEvt = this.buildEvent('hide', {\n cancelable: trigger !== 'FORCE',\n trigger: trigger || null\n })\n // We emit specific event for one of the three built-in buttons\n if (trigger === 'ok') {\n this.$emit('ok', hideEvt)\n } else if (trigger === 'cancel') {\n this.$emit('cancel', hideEvt)\n } else if (trigger === 'headerclose') {\n this.$emit('close', hideEvt)\n }\n this.emitEvent(hideEvt)\n // Hide if not canceled\n if (hideEvt.defaultPrevented || !this.isVisible) {\n this.isClosing = false\n // Ensure v-model reflects current state\n this.updateModel(true)\n return\n }\n // Stop observing for content changes\n if (this._observer) {\n this._observer.disconnect()\n this._observer = null\n }\n // Trigger the hide transition\n this.isVisible = false\n // Update the v-model\n this.updateModel(false)\n },\n // Public method to toggle modal visibility\n toggle(triggerEl) {\n if (triggerEl) {\n this.return_focus = triggerEl\n }\n if (this.isVisible) {\n this.hide('toggle')\n } else {\n this.show()\n }\n },\n // Private method to get the current document active element\n getActiveElement() {\n if (isBrowser) {\n const activeElement = document.activeElement\n // Note: On IE 11, `document.activeElement` may be null.\n // So we test it for truthiness first.\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/3206\n // Returning focus to document.body may cause unwanted scrolls, so we\n // exclude setting focus on body\n if (activeElement && activeElement !== document.body && activeElement.focus) {\n // Preset the fallback return focus value if it is not set\n // `document.activeElement` should be the trigger element that was clicked or\n // in the case of using the v-model, which ever element has current focus\n // Will be overridden by some commands such as toggle, etc.\n return activeElement\n }\n }\n return null\n },\n // Private method to get a list of all tabable elements within modal content\n getTabables() {\n // Find all tabable elements in the modal content\n // Assumes users have not used tabindex > 0 on elements!\n return selectAll(TABABLE_SELECTOR, this.$refs.content)\n .filter(isVisible)\n .filter(i => i.tabIndex > -1 && !i.disabled)\n },\n // Private method to finish showing modal\n doShow() {\n /* istanbul ignore next: commenting out for now until we can test stacking */\n if (modalManager.modalsAreOpen && this.noStacking) {\n // If another modal(s) is already open, wait for it(them) to close\n this.listenOnRootOnce('bv::modal::hidden', this.doShow)\n return\n }\n modalManager.registerModal(this)\n // Place modal in DOM\n this.isHidden = false\n this.$nextTick(() => {\n // We do this in `$nextTick()` to ensure the modal is in DOM first\n // before we show it\n this.isVisible = true\n this.isOpening = false\n // Update the v-model\n this.updateModel(true)\n this.$nextTick(() => {\n // In a nextTick in case modal content is lazy\n // Observe changes in modal content and adjust if necessary\n this._observer = observeDom(\n this.$refs.content,\n this.checkModalOverflow.bind(this),\n OBSERVER_CONFIG\n )\n })\n })\n },\n // Transition handlers\n onBeforeEnter() {\n this.isTransitioning = true\n this.setResizeEvent(true)\n },\n onEnter() {\n this.isBlock = true\n // We add the `show` class 1 frame later\n // `requestAF()` runs the callback before the next repaint, so we need\n // two calls to guarantee the next frame has been rendered\n requestAF(() => {\n requestAF(() => {\n this.isShow = true\n })\n })\n },\n onAfterEnter() {\n this.checkModalOverflow()\n this.isTransitioning = false\n // We use `requestAF()` to allow transition hooks to complete\n // before passing control over to the other handlers\n // This will allow users to not have to use `$nextTick()` or `requestAF()`\n // when trying to pre-focus an element\n requestAF(() => {\n this.emitEvent(this.buildEvent('shown'))\n this.setEnforceFocus(true)\n this.$nextTick(() => {\n // Delayed in a `$nextTick()` to allow users time to pre-focus\n // an element if the wish\n this.focusFirst()\n })\n })\n },\n onBeforeLeave() {\n this.isTransitioning = true\n this.setResizeEvent(false)\n this.setEnforceFocus(false)\n },\n onLeave() {\n // Remove the 'show' class\n this.isShow = false\n },\n onAfterLeave() {\n this.isBlock = false\n this.isTransitioning = false\n this.isModalOverflowing = false\n this.isHidden = true\n this.$nextTick(() => {\n this.isClosing = false\n modalManager.unregisterModal(this)\n this.returnFocusTo()\n // TODO: Need to find a way to pass the `trigger` property\n // to the `hidden` event, not just only the `hide` event\n this.emitEvent(this.buildEvent('hidden'))\n })\n },\n // Event emitter\n emitEvent(bvModalEvt) {\n const type = bvModalEvt.type\n // We emit on root first incase a global listener wants to cancel\n // the event first before the instance emits its event\n this.emitOnRoot(`bv::modal::${type}`, bvModalEvt, bvModalEvt.componentId)\n this.$emit(type, bvModalEvt)\n },\n // UI event handlers\n onDialogMousedown() {\n // Watch to see if the matching mouseup event occurs outside the dialog\n // And if it does, cancel the clickOut handler\n const modal = this.$refs.modal\n const onceModalMouseup = evt => {\n eventOff(modal, 'mouseup', onceModalMouseup, EVENT_OPTIONS_NO_CAPTURE)\n if (evt.target === modal) {\n this.ignoreBackdropClick = true\n }\n }\n eventOn(modal, 'mouseup', onceModalMouseup, EVENT_OPTIONS_NO_CAPTURE)\n },\n onClickOut(evt) {\n if (this.ignoreBackdropClick) {\n // Click was initiated inside the modal content, but finished outside.\n // Set by the above onDialogMousedown handler\n this.ignoreBackdropClick = false\n return\n }\n // Do nothing if not visible, backdrop click disabled, or element\n // that generated click event is no longer in document body\n if (!this.isVisible || this.noCloseOnBackdrop || !contains(document.body, evt.target)) {\n return\n }\n // If backdrop clicked, hide modal\n if (!contains(this.$refs.content, evt.target)) {\n this.hide('backdrop')\n }\n },\n onOk() {\n this.hide('ok')\n },\n onCancel() {\n this.hide('cancel')\n },\n onClose() {\n this.hide('headerclose')\n },\n onEsc(evt) {\n // If ESC pressed, hide modal\n if (evt.keyCode === KeyCodes.ESC && this.isVisible && !this.noCloseOnEsc) {\n this.hide('esc')\n }\n },\n // Document focusin listener\n focusHandler(evt) {\n // If focus leaves modal content, bring it back\n const content = this.$refs.content\n const { target } = evt\n if (\n this.noEnforceFocus ||\n !this.isTop ||\n !this.isVisible ||\n !content ||\n document === target ||\n contains(content, target) ||\n (this.computeIgnoreEnforceFocusSelector &&\n closest(this.computeIgnoreEnforceFocusSelector, target, true))\n ) {\n return\n }\n const tabables = this.getTabables()\n const { bottomTrap, topTrap } = this.$refs\n if (bottomTrap && target === bottomTrap) {\n // If user pressed TAB out of modal into our bottom trab trap element\n // Find the first tabable element in the modal content and focus it\n if (attemptFocus(tabables[0])) {\n // Focus was successful\n return\n }\n } else if (topTrap && target === topTrap) {\n // If user pressed CTRL-TAB out of modal and into our top tab trap element\n // Find the last tabable element in the modal content and focus it\n if (attemptFocus(tabables[tabables.length - 1])) {\n // Focus was successful\n return\n }\n }\n // Otherwise focus the modal content container\n content.focus({ preventScroll: true })\n },\n // Turn on/off focusin listener\n setEnforceFocus(on) {\n this.listenDocument(on, 'focusin', this.focusHandler)\n },\n // Resize listener\n setResizeEvent(on) {\n this.listenWindow(on, 'resize', this.checkModalOverflow)\n this.listenWindow(on, 'orientationchange', this.checkModalOverflow)\n },\n // Root listener handlers\n showHandler(id, triggerEl) {\n if (id === this.safeId()) {\n this.return_focus = triggerEl || this.getActiveElement()\n this.show()\n }\n },\n hideHandler(id) {\n if (id === this.safeId()) {\n this.hide('event')\n }\n },\n toggleHandler(id, triggerEl) {\n if (id === this.safeId()) {\n this.toggle(triggerEl)\n }\n },\n modalListener(bvEvt) {\n // If another modal opens, close this one if stacking not permitted\n if (this.noStacking && bvEvt.vueTarget !== this) {\n this.hide()\n }\n },\n // Focus control handlers\n focusFirst() {\n // Don't try and focus if we are SSR\n if (isBrowser) {\n requestAF(() => {\n const modal = this.$refs.modal\n const content = this.$refs.content\n const activeElement = this.getActiveElement()\n // If the modal contains the activeElement, we don't do anything\n if (modal && content && !(activeElement && contains(content, activeElement))) {\n const ok = this.$refs['ok-button']\n const cancel = this.$refs['cancel-button']\n const close = this.$refs['close-button']\n // Focus the appropriate button or modal content wrapper\n const autoFocus = this.autoFocusButton\n const el =\n autoFocus === 'ok' && ok\n ? ok.$el || ok\n : autoFocus === 'cancel' && cancel\n ? cancel.$el || cancel\n : autoFocus === 'close' && close\n ? close.$el || close\n : content\n // Focus the element\n attemptFocus(el)\n if (el === content) {\n // Make sure top of modal is showing (if longer than the viewport)\n this.$nextTick(() => {\n modal.scrollTop = 0\n })\n }\n }\n })\n }\n },\n returnFocusTo() {\n // Prefer `returnFocus` prop over event specified\n // `return_focus` value\n let el = this.returnFocus || this.return_focus || null\n this.return_focus = null\n this.$nextTick(() => {\n // Is el a string CSS selector?\n el = isString(el) ? select(el) : el\n if (el) {\n // Possibly could be a component reference\n el = el.$el || el\n attemptFocus(el)\n }\n })\n },\n checkModalOverflow() {\n if (this.isVisible) {\n const modal = this.$refs.modal\n this.isModalOverflowing = modal.scrollHeight > document.documentElement.clientHeight\n }\n },\n makeModal(h) {\n // Modal header\n let header = h()\n if (!this.hideHeader) {\n let modalHeader = this.normalizeSlot('modal-header', this.slotScope)\n if (!modalHeader) {\n let closeButton = h()\n if (!this.hideHeaderClose) {\n closeButton = h(\n BButtonClose,\n {\n ref: 'close-button',\n props: {\n content: this.headerCloseContent,\n disabled: this.isTransitioning,\n ariaLabel: this.headerCloseLabel,\n textVariant: this.headerCloseVariant || this.headerTextVariant\n },\n on: { click: this.onClose }\n },\n [this.normalizeSlot('modal-header-close')]\n )\n }\n const domProps =\n !this.hasNormalizedSlot('modal-title') && this.titleHtml\n ? { innerHTML: this.titleHtml }\n : {}\n modalHeader = [\n h(\n this.titleTag,\n {\n staticClass: 'modal-title',\n class: this.titleClasses,\n attrs: { id: this.safeId('__BV_modal_title_') },\n domProps\n },\n [this.normalizeSlot('modal-title', this.slotScope) || stripTags(this.title)]\n ),\n closeButton\n ]\n }\n header = h(\n 'header',\n {\n ref: 'header',\n staticClass: 'modal-header',\n class: this.headerClasses,\n attrs: { id: this.safeId('__BV_modal_header_') }\n },\n [modalHeader]\n )\n }\n\n // Modal body\n const body = h(\n 'div',\n {\n ref: 'body',\n staticClass: 'modal-body',\n class: this.bodyClasses,\n attrs: { id: this.safeId('__BV_modal_body_') }\n },\n this.normalizeSlot('default', this.slotScope)\n )\n\n // Modal footer\n let footer = h()\n if (!this.hideFooter) {\n let modalFooter = this.normalizeSlot('modal-footer', this.slotScope)\n if (!modalFooter) {\n let cancelButton = h()\n if (!this.okOnly) {\n const cancelHtml = this.cancelTitleHtml ? { innerHTML: this.cancelTitleHtml } : null\n cancelButton = h(\n BButton,\n {\n ref: 'cancel-button',\n props: {\n variant: this.cancelVariant,\n size: this.buttonSize,\n disabled: this.cancelDisabled || this.busy || this.isTransitioning\n },\n on: { click: this.onCancel }\n },\n [\n this.normalizeSlot('modal-cancel') ||\n (cancelHtml ? h('span', { domProps: cancelHtml }) : stripTags(this.cancelTitle))\n ]\n )\n }\n const okHtml = this.okTitleHtml ? { innerHTML: this.okTitleHtml } : null\n const okButton = h(\n BButton,\n {\n ref: 'ok-button',\n props: {\n variant: this.okVariant,\n size: this.buttonSize,\n disabled: this.okDisabled || this.busy || this.isTransitioning\n },\n on: { click: this.onOk }\n },\n [\n this.normalizeSlot('modal-ok') ||\n (okHtml ? h('span', { domProps: okHtml }) : stripTags(this.okTitle))\n ]\n )\n modalFooter = [cancelButton, okButton]\n }\n footer = h(\n 'footer',\n {\n ref: 'footer',\n staticClass: 'modal-footer',\n class: this.footerClasses,\n attrs: { id: this.safeId('__BV_modal_footer_') }\n },\n [modalFooter]\n )\n }\n\n // Assemble modal content\n const modalContent = h(\n 'div',\n {\n ref: 'content',\n staticClass: 'modal-content',\n class: this.contentClass,\n attrs: {\n role: 'document',\n id: this.safeId('__BV_modal_content_'),\n tabindex: '-1'\n }\n },\n [header, body, footer]\n )\n\n // Tab trap to prevent page from scrolling to next element in\n // tab index during enforce focus tab cycle\n let tabTrapTop = h()\n let tabTrapBottom = h()\n if (this.isVisible && !this.noEnforceFocus) {\n tabTrapTop = h('span', { ref: 'topTrap', attrs: { tabindex: '0' } })\n tabTrapBottom = h('span', { ref: 'bottomTrap', attrs: { tabindex: '0' } })\n }\n\n // Modal dialog wrapper\n const modalDialog = h(\n 'div',\n {\n ref: 'dialog',\n staticClass: 'modal-dialog',\n class: this.dialogClasses,\n on: { mousedown: this.onDialogMousedown }\n },\n [tabTrapTop, modalContent, tabTrapBottom]\n )\n\n // Modal\n let modal = h(\n 'div',\n {\n ref: 'modal',\n staticClass: 'modal',\n class: this.modalClasses,\n style: this.modalStyles,\n directives: [\n { name: 'show', rawName: 'v-show', value: this.isVisible, expression: 'isVisible' }\n ],\n attrs: {\n id: this.safeId(),\n role: 'dialog',\n 'aria-hidden': this.isVisible ? null : 'true',\n 'aria-modal': this.isVisible ? 'true' : null,\n 'aria-label': this.ariaLabel,\n 'aria-labelledby':\n this.hideHeader ||\n this.ariaLabel ||\n !(this.hasNormalizedSlot('modal-title') || this.titleHtml || this.title)\n ? null\n : this.safeId('__BV_modal_title_'),\n 'aria-describedby': this.safeId('__BV_modal_body_')\n },\n on: { keydown: this.onEsc, click: this.onClickOut }\n },\n [modalDialog]\n )\n\n // Wrap modal in transition\n // Sadly, we can't use BVTransition here due to the differences in\n // transition durations for .modal and .modal-dialog. Not until\n // issue https://github.com/vuejs/vue/issues/9986 is resolved\n modal = h(\n 'transition',\n {\n props: {\n enterClass: '',\n enterToClass: '',\n enterActiveClass: '',\n leaveClass: '',\n leaveActiveClass: '',\n leaveToClass: ''\n },\n on: {\n beforeEnter: this.onBeforeEnter,\n enter: this.onEnter,\n afterEnter: this.onAfterEnter,\n beforeLeave: this.onBeforeLeave,\n leave: this.onLeave,\n afterLeave: this.onAfterLeave\n }\n },\n [modal]\n )\n\n // Modal backdrop\n let backdrop = h()\n if (!this.hideBackdrop && this.isVisible) {\n backdrop = h(\n 'div',\n { staticClass: 'modal-backdrop', attrs: { id: this.safeId('__BV_modal_backdrop_') } },\n [this.normalizeSlot('modal-backdrop')]\n )\n }\n backdrop = h(BVTransition, { props: { noFade: this.noFade } }, [backdrop])\n\n // If the parent has a scoped style attribute, and the modal\n // is portalled, add the scoped attribute to the modal wrapper\n const scopedStyleAttrs = !this.static ? this.scopedStyleAttrs : {}\n\n // Assemble modal and backdrop in an outer <div>\n return h(\n 'div',\n {\n key: `modal-outer-${this._uid}`,\n style: this.modalOuterStyle,\n attrs: { ...scopedStyleAttrs, ...this.$attrs, id: this.safeId('__BV_modal_outer_') }\n },\n [modal, backdrop]\n )\n }\n },\n render(h) {\n if (this.static) {\n return this.lazy && this.isHidden ? h() : this.makeModal(h)\n } else {\n return this.isHidden ? h() : h(BTransporterSingle, [this.makeModal(h)])\n }\n }\n})\n","import KeyCodes from '../../utils/key-codes'\nimport { getAttr, hasAttr, isDisabled, matches, select, setAttr } from '../../utils/dom'\nimport { EVENT_OPTIONS_PASSIVE, eventOn, eventOff } from '../../utils/events'\nimport { isString } from '../../utils/inspect'\nimport { keys } from '../../utils/object'\n\n// Emitted show event for modal\nconst EVENT_SHOW = 'bv::show::modal'\n\n// Prop name we use to store info on root element\nconst PROPERTY = '__bv_modal_directive__'\n\nconst getTarget = ({ modifiers = {}, arg, value }) => {\n // Try value, then arg, otherwise pick last modifier\n return isString(value) ? value : isString(arg) ? arg : keys(modifiers).reverse()[0]\n}\n\nconst getTriggerElement = el => {\n // If root element is a dropdown-item or nav-item, we\n // need to target the inner link or button instead\n return el && matches(el, '.dropdown-menu > li, li.nav-item') ? select('a, button', el) || el : el\n}\n\nconst setRole = trigger => {\n // Ensure accessibility on non button elements\n if (trigger && trigger.tagName !== 'BUTTON') {\n // Only set a role if the trigger element doesn't have one\n if (!hasAttr(trigger, 'role')) {\n setAttr(trigger, 'role', 'button')\n }\n // Add a tabindex is not a button or link, and tabindex is not provided\n if (trigger.tagName !== 'A' && !hasAttr(trigger, 'tabindex')) {\n setAttr(trigger, 'tabindex', '0')\n }\n }\n}\n\nconst bind = (el, binding, vnode) => {\n const target = getTarget(binding)\n const trigger = getTriggerElement(el)\n if (target && trigger) {\n const handler = evt => {\n // `currentTarget` is the element with the listener on it\n const currentTarget = evt.currentTarget\n if (!isDisabled(currentTarget)) {\n const type = evt.type\n const key = evt.keyCode\n // Open modal only if trigger is not disabled\n if (\n type === 'click' ||\n (type === 'keydown' && (key === KeyCodes.ENTER || key === KeyCodes.SPACE))\n ) {\n vnode.context.$root.$emit(EVENT_SHOW, target, currentTarget)\n }\n }\n }\n el[PROPERTY] = { handler, target, trigger }\n // If element is not a button, we add `role=\"button\"` for accessibility\n setRole(trigger)\n // Listen for click events\n eventOn(trigger, 'click', handler, EVENT_OPTIONS_PASSIVE)\n if (trigger.tagName !== 'BUTTON' && getAttr(trigger, 'role') === 'button') {\n // If trigger isn't a button but has role button,\n // we also listen for `keydown.space` && `keydown.enter`\n eventOn(trigger, 'keydown', handler, EVENT_OPTIONS_PASSIVE)\n }\n }\n}\n\nconst unbind = el => {\n const oldProp = el[PROPERTY] || {}\n const trigger = oldProp.trigger\n const handler = oldProp.handler\n if (trigger && handler) {\n eventOff(trigger, 'click', handler, EVENT_OPTIONS_PASSIVE)\n eventOff(trigger, 'keydown', handler, EVENT_OPTIONS_PASSIVE)\n eventOff(el, 'click', handler, EVENT_OPTIONS_PASSIVE)\n eventOff(el, 'keydown', handler, EVENT_OPTIONS_PASSIVE)\n }\n delete el[PROPERTY]\n}\n\nconst componentUpdated = (el, binding, vnode) => {\n const oldProp = el[PROPERTY] || {}\n const target = getTarget(binding)\n const trigger = getTriggerElement(el)\n if (target !== oldProp.target || trigger !== oldProp.trigger) {\n // We bind and rebind if the target or trigger changes\n unbind(el, binding, vnode)\n bind(el, binding, vnode)\n }\n // If trigger element is not a button, ensure `role=\"button\"`\n // is still set for accessibility\n setRole(trigger)\n}\n\nconst updated = () => {}\n\n/*\n * Export our directive\n */\nexport const VBModal = {\n inserted: componentUpdated,\n updated,\n componentUpdated,\n unbind\n}\n","// Plugin for adding `$bvModal` property to all Vue instances\nimport { BModal, props as modalProps } from '../modal'\nimport { concat } from '../../../utils/array'\nimport { getComponentConfig } from '../../../utils/config'\nimport { isUndefined, isFunction } from '../../../utils/inspect'\nimport {\n assign,\n keys,\n omit,\n defineProperty,\n defineProperties,\n readonlyDescriptor\n} from '../../../utils/object'\nimport { pluginFactory } from '../../../utils/plugins'\nimport { warn, warnNotClient, warnNoPromiseSupport } from '../../../utils/warn'\n\n// --- Constants ---\n\nconst PROP_NAME = '$bvModal'\nconst PROP_NAME_PRIV = '_bv__modal'\n\n// Base modal props that are allowed\n// Some may be ignored or overridden on some message boxes\n// Prop ID is allowed, but really only should be used for testing\n// We need to add it in explicitly as it comes from the `idMixin`\nconst BASE_PROPS = [\n 'id',\n ...keys(omit(modalProps, ['busy', 'lazy', 'noStacking', `static`, 'visible']))\n]\n\n// Fallback event resolver (returns undefined)\nconst defaultResolver = () => {}\n\n// Map prop names to modal slot names\nconst propsToSlots = {\n msgBoxContent: 'default',\n title: 'modal-title',\n okTitle: 'modal-ok',\n cancelTitle: 'modal-cancel'\n}\n\n// --- Utility methods ---\n\n// Method to filter only recognized props that are not undefined\nconst filterOptions = options => {\n return BASE_PROPS.reduce((memo, key) => {\n if (!isUndefined(options[key])) {\n memo[key] = options[key]\n }\n return memo\n }, {})\n}\n\n// Method to install `$bvModal` VM injection\nconst plugin = Vue => {\n // Create a private sub-component that extends BModal\n // which self-destructs after hidden\n // @vue/component\n const BMsgBox = Vue.extend({\n name: 'BMsgBox',\n extends: BModal,\n destroyed() {\n // Make sure we not in document any more\n if (this.$el && this.$el.parentNode) {\n this.$el.parentNode.removeChild(this.$el)\n }\n },\n mounted() {\n // Self destruct handler\n const handleDestroy = () => {\n const self = this\n this.$nextTick(() => {\n // In a `setTimeout()` to release control back to application\n setTimeout(() => self.$destroy(), 0)\n })\n }\n // Self destruct if parent destroyed\n this.$parent.$once('hook:destroyed', handleDestroy)\n // Self destruct after hidden\n this.$once('hidden', handleDestroy)\n // Self destruct on route change\n /* istanbul ignore if */\n if (this.$router && this.$route) {\n // Destroy ourselves if route changes\n /* istanbul ignore next */\n this.$once('hook:beforeDestroy', this.$watch('$router', handleDestroy))\n }\n // Show the `BMsgBox`\n this.show()\n }\n })\n\n // Method to generate the on-demand modal message box\n // Returns a promise that resolves to a value returned by the resolve\n const asyncMsgBox = ($parent, props, resolver = defaultResolver) => {\n if (warnNotClient(PROP_NAME) || warnNoPromiseSupport(PROP_NAME)) {\n /* istanbul ignore next */\n return\n }\n // Create an instance of `BMsgBox` component\n const msgBox = new BMsgBox({\n // We set parent as the local VM so these modals can emit events on\n // the app `$root`, as needed by things like tooltips and popovers\n // And it helps to ensure `BMsgBox` is destroyed when parent is destroyed\n parent: $parent,\n // Preset the prop values\n propsData: {\n ...filterOptions(getComponentConfig('BModal') || {}),\n // Defaults that user can override\n hideHeaderClose: true,\n hideHeader: !(props.title || props.titleHtml),\n // Add in (filtered) user supplied props\n ...omit(props, keys(propsToSlots)),\n // Props that can't be overridden\n lazy: false,\n busy: false,\n visible: false,\n noStacking: false,\n noEnforceFocus: false\n }\n })\n // Convert certain props to scoped slots\n keys(propsToSlots).forEach(prop => {\n if (!isUndefined(props[prop])) {\n // Can be a string, or array of VNodes.\n // Alternatively, user can use HTML version of prop to pass an HTML string.\n msgBox.$slots[propsToSlots[prop]] = concat(props[prop])\n }\n })\n // Return a promise that resolves when hidden, or rejects on destroyed\n return new Promise((resolve, reject) => {\n let resolved = false\n msgBox.$once('hook:destroyed', () => {\n if (!resolved) {\n /* istanbul ignore next */\n reject(new Error('BootstrapVue MsgBox destroyed before resolve'))\n }\n })\n msgBox.$on('hide', bvModalEvt => {\n if (!bvModalEvt.defaultPrevented) {\n const result = resolver(bvModalEvt)\n // If resolver didn't cancel hide, we resolve\n if (!bvModalEvt.defaultPrevented) {\n resolved = true\n resolve(result)\n }\n }\n })\n // Create a mount point (a DIV) and mount the msgBo which will trigger it to show\n const div = document.createElement('div')\n document.body.appendChild(div)\n msgBox.$mount(div)\n })\n }\n\n // Private utility method to open a user defined message box and returns a promise.\n // Not to be used directly by consumers, as this method may change calling syntax\n const makeMsgBox = ($parent, content, options = {}, resolver) => {\n if (\n !content ||\n warnNoPromiseSupport(PROP_NAME) ||\n warnNotClient(PROP_NAME) ||\n !isFunction(resolver)\n ) {\n /* istanbul ignore next */\n return\n }\n return asyncMsgBox($parent, { ...filterOptions(options), msgBoxContent: content }, resolver)\n }\n\n // BvModal instance class\n class BvModal {\n constructor(vm) {\n // Assign the new properties to this instance\n assign(this, { _vm: vm, _root: vm.$root })\n // Set these properties as read-only and non-enumerable\n defineProperties(this, {\n _vm: readonlyDescriptor(),\n _root: readonlyDescriptor()\n })\n }\n\n // --- Instance methods ---\n\n // Show modal with the specified ID args are for future use\n show(id, ...args) {\n if (id && this._root) {\n this._root.$emit('bv::show::modal', id, ...args)\n }\n }\n\n // Hide modal with the specified ID args are for future use\n hide(id, ...args) {\n if (id && this._root) {\n this._root.$emit('bv::hide::modal', id, ...args)\n }\n }\n\n // The following methods require Promise support!\n // IE 11 and others do not support Promise natively, so users\n // should have a Polyfill loaded (which they need anyways for IE 11 support)\n\n // Open a message box with OK button only and returns a promise\n msgBoxOk(message, options = {}) {\n // Pick the modal props we support from options\n const props = {\n ...options,\n // Add in overrides and our content prop\n okOnly: true,\n okDisabled: false,\n hideFooter: false,\n msgBoxContent: message\n }\n return makeMsgBox(this._vm, message, props, () => {\n // Always resolve to true for OK\n return true\n })\n }\n\n // Open a message box modal with OK and CANCEL buttons\n // and returns a promise\n msgBoxConfirm(message, options = {}) {\n // Set the modal props we support from options\n const props = {\n ...options,\n // Add in overrides and our content prop\n okOnly: false,\n okDisabled: false,\n cancelDisabled: false,\n hideFooter: false\n }\n return makeMsgBox(this._vm, message, props, bvModalEvt => {\n const trigger = bvModalEvt.trigger\n return trigger === 'ok' ? true : trigger === 'cancel' ? false : null\n })\n }\n }\n\n // Add our instance mixin\n Vue.mixin({\n beforeCreate() {\n // Because we need access to `$root` for `$emits`, and VM for parenting,\n // we have to create a fresh instance of `BvModal` for each VM\n this[PROP_NAME_PRIV] = new BvModal(this)\n }\n })\n\n // Define our read-only `$bvModal` instance property\n // Placed in an if just in case in HMR mode\n // eslint-disable-next-line no-prototype-builtins\n if (!Vue.prototype.hasOwnProperty(PROP_NAME)) {\n defineProperty(Vue.prototype, PROP_NAME, {\n get() {\n /* istanbul ignore next */\n if (!this || !this[PROP_NAME_PRIV]) {\n warn(`\"${PROP_NAME}\" must be accessed from a Vue instance \"this\" context.`, 'BModal')\n }\n return this[PROP_NAME_PRIV]\n }\n })\n }\n}\n\nexport const BVModalPlugin = /*#__PURE__*/ pluginFactory({\n plugins: { plugin }\n})\n","import { BModal } from './modal'\nimport { VBModal } from '../../directives/modal/modal'\nimport { BVModalPlugin } from './helpers/bv-modal'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst ModalPlugin = /*#__PURE__*/ pluginFactory({\n components: { BModal },\n directives: { VBModal },\n // $bvModal injection\n plugins: { BVModalPlugin }\n})\n\nexport { ModalPlugin, BModal }\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\n\n// -- Constants --\n\nexport const props = {\n tag: {\n type: String,\n default: 'ul'\n },\n fill: {\n type: Boolean,\n default: false\n },\n justified: {\n type: Boolean,\n default: false\n },\n align: {\n type: String,\n default: null\n },\n tabs: {\n type: Boolean,\n default: false\n },\n pills: {\n type: Boolean,\n default: false\n },\n vertical: {\n type: Boolean,\n default: false\n },\n small: {\n type: Boolean,\n default: false\n },\n cardHeader: {\n // Set to true if placing in a card header\n type: Boolean,\n default: false\n }\n}\n\n// -- Utils --\n\nconst computeJustifyContent = value => {\n // Normalize value\n value = value === 'left' ? 'start' : value === 'right' ? 'end' : value\n return `justify-content-${value}`\n}\n\n// @vue/component\nexport const BNav = /*#__PURE__*/ Vue.extend({\n name: 'BNav',\n functional: true,\n props,\n render(h, { props, data, children }) {\n return h(\n props.tag,\n mergeData(data, {\n staticClass: 'nav',\n class: {\n 'nav-tabs': props.tabs,\n 'nav-pills': props.pills && !props.tabs,\n 'card-header-tabs': !props.vertical && props.cardHeader && props.tabs,\n 'card-header-pills': !props.vertical && props.cardHeader && props.pills && !props.tabs,\n 'flex-column': props.vertical,\n 'nav-fill': !props.vertical && props.fill,\n 'nav-justified': !props.vertical && props.justified,\n [computeJustifyContent(props.align)]: !props.vertical && props.align,\n small: props.small\n }\n }),\n children\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\nimport { BLink, propsFactory as linkPropsFactory } from '../link/link'\n\nexport const props = linkPropsFactory()\n\n// @vue/component\nexport const BNavItem = /*#__PURE__*/ Vue.extend({\n name: 'BNavItem',\n functional: true,\n props: {\n ...props,\n linkAttrs: {\n type: Object,\n default: () => {}\n },\n linkClasses: {\n type: [String, Object, Array],\n default: null\n }\n },\n render(h, { props, data, listeners, children }) {\n // We transfer the listeners to the link\n delete data.on\n return h(\n 'li',\n mergeData(data, {\n staticClass: 'nav-item'\n }),\n [\n h(\n BLink,\n {\n staticClass: 'nav-link',\n class: props.linkClasses,\n attrs: props.linkAttrs,\n props,\n on: listeners\n },\n children\n )\n ]\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\n\nexport const props = {}\n\n// @vue/component\nexport const BNavText = /*#__PURE__*/ Vue.extend({\n name: 'BNavText',\n functional: true,\n props,\n render(h, { data, children }) {\n return h('li', mergeData(data, { staticClass: 'navbar-text' }), children)\n }\n})\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\nimport { omit } from '../../utils/object'\nimport { BForm, props as BFormProps } from '../form/form'\n\nexport const props = {\n ...omit(BFormProps, ['inline']),\n formClass: {\n type: [String, Array, Object],\n default: null\n }\n}\n\n// @vue/component\nexport const BNavForm = /*#__PURE__*/ Vue.extend({\n name: 'BNavForm',\n functional: true,\n props,\n render(h, { props, data, children, listeners = {} }) {\n const attrs = data.attrs\n // The following data properties are cleared out\n // as they will be passed to BForm directly\n data.attrs = {}\n data.on = {}\n const $form = h(\n BForm,\n {\n class: props.formClass,\n props: { ...props, inline: true },\n attrs,\n on: listeners\n },\n children\n )\n return h('li', mergeData(data, { staticClass: 'form-inline' }), [$form])\n }\n})\n","import Vue from '../../utils/vue'\nimport { props as BDropdownProps } from '../dropdown/dropdown'\nimport idMixin from '../../mixins/id'\nimport dropdownMixin from '../../mixins/dropdown'\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\nimport pluckProps from '../../utils/pluck-props'\nimport { htmlOrText } from '../../utils/html'\nimport { BLink } from '../link/link'\n\n// -- Constants --\n\nexport const props = pluckProps(\n ['text', 'html', 'menuClass', 'toggleClass', 'noCaret', 'role', 'lazy'],\n BDropdownProps\n)\n\n// @vue/component\nexport const BNavItemDropdown = /*#__PURE__*/ Vue.extend({\n name: 'BNavItemDropdown',\n mixins: [idMixin, dropdownMixin, normalizeSlotMixin],\n props,\n computed: {\n isNav() {\n // Signal to dropdown mixin that we are in a navbar\n return true\n },\n dropdownClasses() {\n return [this.directionClass, { show: this.visible }]\n },\n menuClasses() {\n return [\n this.menuClass,\n {\n 'dropdown-menu-right': this.right,\n show: this.visible\n }\n ]\n },\n toggleClasses() {\n return [this.toggleClass, { 'dropdown-toggle-no-caret': this.noCaret }]\n }\n },\n render(h) {\n const button = h(\n BLink,\n {\n ref: 'toggle',\n staticClass: 'nav-link dropdown-toggle',\n class: this.toggleClasses,\n props: {\n href: '#',\n disabled: this.disabled\n },\n attrs: {\n id: this.safeId('_BV_button_'),\n 'aria-haspopup': 'true',\n 'aria-expanded': this.visible ? 'true' : 'false'\n },\n on: {\n mousedown: this.onMousedown,\n click: this.toggle,\n keydown: this.toggle // Handle ENTER, SPACE and DOWN\n }\n },\n [\n this.$slots['button-content'] ||\n this.$slots.text ||\n h('span', { domProps: htmlOrText(this.html, this.text) })\n ]\n )\n const menu = h(\n 'ul',\n {\n staticClass: 'dropdown-menu',\n class: this.menuClasses,\n ref: 'menu',\n attrs: {\n tabindex: '-1',\n 'aria-labelledby': this.safeId('_BV_button_')\n },\n on: {\n keydown: this.onKeydown // Handle UP, DOWN and ESC\n }\n },\n !this.lazy || this.visible ? this.normalizeSlot('default', { hide: this.hide }) : [h()]\n )\n return h(\n 'li',\n {\n staticClass: 'nav-item b-nav-dropdown dropdown',\n class: this.dropdownClasses,\n attrs: { id: this.safeId() }\n },\n [button, menu]\n )\n }\n})\n","import { BNav } from './nav'\nimport { BNavItem } from './nav-item'\nimport { BNavText } from './nav-text'\nimport { BNavForm } from './nav-form'\nimport { BNavItemDropdown } from './nav-item-dropdown'\nimport { DropdownPlugin } from '../dropdown'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst NavPlugin = /*#__PURE__*/ pluginFactory({\n components: {\n BNav,\n BNavItem,\n BNavText,\n BNavForm,\n BNavItemDropdown,\n BNavItemDd: BNavItemDropdown,\n BNavDropdown: BNavItemDropdown,\n BNavDd: BNavItemDropdown\n },\n plugins: {\n DropdownPlugin\n }\n})\n\nexport { NavPlugin, BNav, BNavItem, BNavText, BNavForm, BNavItemDropdown }\n","import Vue from '../../utils/vue'\nimport { getComponentConfig, getBreakpoints } from '../../utils/config'\nimport { isString } from '../../utils/inspect'\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\n\nconst NAME = 'BNavbar'\n\nexport const props = {\n tag: {\n type: String,\n default: 'nav'\n },\n type: {\n type: String,\n default: 'light'\n },\n variant: {\n type: String,\n default: () => getComponentConfig(NAME, 'variant')\n },\n toggleable: {\n type: [Boolean, String],\n default: false\n },\n fixed: {\n type: String\n },\n sticky: {\n type: Boolean,\n default: false\n },\n print: {\n type: Boolean,\n default: false\n }\n}\n\n// @vue/component\nexport const BNavbar = /*#__PURE__*/ Vue.extend({\n name: NAME,\n mixins: [normalizeSlotMixin],\n props,\n provide() {\n return { bvNavbar: this }\n },\n computed: {\n breakpointClass() {\n let breakpoint = null\n const xs = getBreakpoints()[0]\n const toggleable = this.toggleable\n if (toggleable && isString(toggleable) && toggleable !== xs) {\n breakpoint = `navbar-expand-${toggleable}`\n } else if (toggleable === false) {\n breakpoint = 'navbar-expand'\n }\n\n return breakpoint\n }\n },\n render(h) {\n return h(\n this.tag,\n {\n staticClass: 'navbar',\n class: [\n {\n 'd-print': this.print,\n 'sticky-top': this.sticky,\n [`navbar-${this.type}`]: this.type,\n [`bg-${this.variant}`]: this.variant,\n [`fixed-${this.fixed}`]: this.fixed\n },\n this.breakpointClass\n ],\n attrs: {\n role: this.tag === 'nav' ? null : 'navigation'\n }\n },\n [this.normalizeSlot('default')]\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\nimport pluckProps from '../../utils/pluck-props'\nimport { props as BNavProps } from '../nav/nav'\n\n// -- Constants --\n\nexport const props = pluckProps(['tag', 'fill', 'justified', 'align', 'small'], BNavProps)\n\n// -- Utils --\n\nconst computeJustifyContent = value => {\n // Normalize value\n value = value === 'left' ? 'start' : value === 'right' ? 'end' : value\n return `justify-content-${value}`\n}\n\n// @vue/component\nexport const BNavbarNav = /*#__PURE__*/ Vue.extend({\n name: 'BNavbarNav',\n functional: true,\n props,\n render(h, { props, data, children }) {\n return h(\n props.tag,\n mergeData(data, {\n staticClass: 'navbar-nav',\n class: {\n 'nav-fill': props.fill,\n 'nav-justified': props.justified,\n [computeJustifyContent(props.align)]: props.align,\n small: props.small\n }\n }),\n children\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\nimport pluckProps from '../../utils/pluck-props'\nimport { BLink, propsFactory } from '../link/link'\n\nconst linkProps = propsFactory()\nlinkProps.href.default = undefined\nlinkProps.to.default = undefined\n\nexport const props = {\n ...linkProps,\n tag: {\n type: String,\n default: 'div'\n }\n}\n\n// @vue/component\nexport const BNavbarBrand = /*#__PURE__*/ Vue.extend({\n name: 'BNavbarBrand',\n functional: true,\n props,\n render(h, { props, data, children }) {\n const isLink = props.to || props.href\n const tag = isLink ? BLink : props.tag\n\n return h(\n tag,\n mergeData(data, {\n staticClass: 'navbar-brand',\n props: isLink ? pluckProps(linkProps, props) : {}\n }),\n children\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport listenOnRootMixin from '../../mixins/listen-on-root'\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\nimport { getComponentConfig } from '../../utils/config'\n\nconst NAME = 'BNavbarToggle'\n\n// TODO: Switch to using VBToggle directive, will reduce code footprint\n\n// Events we emit on $root\nconst EVENT_TOGGLE = 'bv::toggle::collapse'\n\n// Events we listen to on $root\nconst EVENT_STATE = 'bv::collapse::state'\n// This private event is NOT to be documented as people should not be using it.\nconst EVENT_STATE_SYNC = 'bv::collapse::sync::state'\n\n// @vue/component\nexport const BNavbarToggle = /*#__PURE__*/ Vue.extend({\n name: NAME,\n mixins: [listenOnRootMixin, normalizeSlotMixin],\n props: {\n label: {\n type: String,\n default: () => getComponentConfig(NAME, 'label')\n },\n target: {\n type: String,\n required: true\n }\n },\n data() {\n return {\n toggleState: false\n }\n },\n created() {\n this.listenOnRoot(EVENT_STATE, this.handleStateEvt)\n this.listenOnRoot(EVENT_STATE_SYNC, this.handleStateEvt)\n },\n methods: {\n onClick(evt) {\n this.$emit('click', evt)\n if (!evt.defaultPrevented) {\n this.$root.$emit(EVENT_TOGGLE, this.target)\n }\n },\n handleStateEvt(id, state) {\n if (id === this.target) {\n this.toggleState = state\n }\n }\n },\n render(h) {\n return h(\n 'button',\n {\n class: ['navbar-toggler'],\n attrs: {\n type: 'button',\n 'aria-label': this.label,\n 'aria-controls': this.target,\n 'aria-expanded': this.toggleState ? 'true' : 'false'\n },\n on: { click: this.onClick }\n },\n [this.normalizeSlot('default') || h('span', { class: ['navbar-toggler-icon'] })]\n )\n }\n})\n","import { BNavbar } from './navbar'\nimport { BNavbarNav } from './navbar-nav'\nimport { BNavbarBrand } from './navbar-brand'\nimport { BNavbarToggle } from './navbar-toggle'\nimport { NavPlugin } from '../nav'\nimport { CollapsePlugin } from '../collapse'\nimport { DropdownPlugin } from '../dropdown'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst NavbarPlugin = /*#__PURE__*/ pluginFactory({\n components: {\n BNavbar,\n BNavbarNav,\n BNavbarBrand,\n BNavbarToggle,\n BNavToggle: BNavbarToggle\n },\n plugins: {\n NavPlugin,\n CollapsePlugin,\n DropdownPlugin\n }\n})\n\nexport { NavbarPlugin, BNavbar, BNavbarNav, BNavbarBrand, BNavbarToggle }\n","/**\n * @param {number} length\n * @return {Array}\n */\nconst range = length => Array.apply(null, { length })\n\nexport default range\n","import KeyCodes from '../utils/key-codes'\nimport range from '../utils/range'\nimport { isVisible, isDisabled, selectAll, getAttr } from '../utils/dom'\nimport { isFunction, isNull } from '../utils/inspect'\nimport { toInteger } from '../utils/number'\nimport { toString } from '../utils/string'\nimport { warn } from '../utils/warn'\nimport normalizeSlotMixin from '../mixins/normalize-slot'\nimport { BLink } from '../components/link/link'\n\n// Common props, computed, data, render function, and methods\n// for `<b-pagination>` and `<b-pagination-nav>`\n\n// --- Constants ---\n\n// Threshold of limit size when we start/stop showing ellipsis\nconst ELLIPSIS_THRESHOLD = 3\n\n// Default # of buttons limit\nconst DEFAULT_LIMIT = 5\n\n// --- Helper methods ---\n\n// Make an array of N to N+X\nconst makePageArray = (startNumber, numberOfPages) =>\n range(numberOfPages).map((val, i) => ({ number: startNumber + i, classes: null }))\n\n// Sanitize the provided limit value (converting to a number)\nconst sanitizeLimit = val => {\n const limit = toInteger(val) || 1\n return limit < 1 ? DEFAULT_LIMIT : limit\n}\n\n// Sanitize the provided current page number (converting to a number)\nconst sanitizeCurrentPage = (val, numberOfPages) => {\n const page = toInteger(val) || 1\n return page > numberOfPages ? numberOfPages : page < 1 ? 1 : page\n}\n\n// Links don't normally respond to SPACE, so we add that\n// functionality via this handler\nconst onSpaceKey = evt => {\n if (evt.keyCode === KeyCodes.SPACE) {\n evt.preventDefault() // Stop page from scrolling\n evt.stopImmediatePropagation()\n evt.stopPropagation()\n // Trigger the click event on the link\n evt.currentTarget.click()\n return false\n }\n}\n\n// --- Props ---\nexport const props = {\n disabled: {\n type: Boolean,\n default: false\n },\n value: {\n type: [Number, String],\n default: null,\n validator(value) /* istanbul ignore next */ {\n const number = toInteger(value)\n if (!isNull(value) && (isNaN(number) || number < 1)) {\n warn('\"v-model\" value must be a number greater than \"0\"', 'BPagination')\n return false\n }\n return true\n }\n },\n limit: {\n type: [Number, String],\n default: DEFAULT_LIMIT,\n validator(value) /* istanbul ignore next */ {\n const number = toInteger(value)\n if (isNaN(number) || number < 1) {\n warn('Prop \"limit\" must be a number greater than \"0\"', 'BPagination')\n return false\n }\n return true\n }\n },\n align: {\n type: String,\n default: 'left'\n },\n pills: {\n type: Boolean,\n default: false\n },\n hideGotoEndButtons: {\n type: Boolean,\n default: false\n },\n ariaLabel: {\n type: String,\n default: 'Pagination'\n },\n labelFirstPage: {\n type: String,\n default: 'Go to first page'\n },\n firstText: {\n type: String,\n default: '\\u00AB' // '«'\n },\n firstNumber: {\n type: Boolean,\n default: false\n },\n firstClass: {\n type: [String, Array, Object],\n default: null\n },\n labelPrevPage: {\n type: String,\n default: 'Go to previous page'\n },\n prevText: {\n type: String,\n default: '\\u2039' // '‹'\n },\n prevClass: {\n type: [String, Array, Object],\n default: null\n },\n labelNextPage: {\n type: String,\n default: 'Go to next page'\n },\n nextText: {\n type: String,\n default: '\\u203A' // '›'\n },\n nextClass: {\n type: [String, Array, Object],\n default: null\n },\n labelLastPage: {\n type: String,\n default: 'Go to last page'\n },\n lastText: {\n type: String,\n default: '\\u00BB' // '»'\n },\n lastNumber: {\n type: Boolean,\n default: false\n },\n lastClass: {\n type: [String, Array, Object],\n default: null\n },\n labelPage: {\n type: [String, Function],\n default: 'Go to page'\n },\n pageClass: {\n type: [String, Array, Object],\n default: null\n },\n hideEllipsis: {\n type: Boolean,\n default: false\n },\n ellipsisText: {\n type: String,\n default: '\\u2026' // '…'\n },\n ellipsisClass: {\n type: [String, Array, Object],\n default: null\n }\n}\n\n// @vue/component\nexport default {\n mixins: [normalizeSlotMixin],\n model: {\n prop: 'value',\n event: 'input'\n },\n props,\n data() {\n const curr = toInteger(this.value)\n return {\n // -1 signifies no page initially selected\n currentPage: curr > 0 ? curr : -1,\n localNumberOfPages: 1,\n localLimit: DEFAULT_LIMIT\n }\n },\n computed: {\n btnSize() {\n return this.size ? `pagination-${this.size}` : ''\n },\n alignment() {\n const align = this.align\n if (align === 'center') {\n return 'justify-content-center'\n } else if (align === 'end' || align === 'right') {\n return 'justify-content-end'\n } else if (align === 'fill') {\n // The page-items will also have 'flex-fill' added\n // We add text centering to make the button appearance better in fill mode\n return 'text-center'\n }\n return ''\n },\n styleClass() {\n return this.pills ? 'b-pagination-pills' : ''\n },\n computedCurrentPage() {\n return sanitizeCurrentPage(this.currentPage, this.localNumberOfPages)\n },\n paginationParams() {\n // Determine if we should show the the ellipsis\n const limit = this.localLimit\n const numberOfPages = this.localNumberOfPages\n const currentPage = this.computedCurrentPage\n const hideEllipsis = this.hideEllipsis\n const firstNumber = this.firstNumber\n const lastNumber = this.lastNumber\n let showFirstDots = false\n let showLastDots = false\n let numberOfLinks = limit\n let startNumber = 1\n\n if (numberOfPages <= limit) {\n // Special case: Less pages available than the limit of displayed pages\n numberOfLinks = numberOfPages\n } else if (currentPage < limit - 1 && limit > ELLIPSIS_THRESHOLD) {\n if (!hideEllipsis || lastNumber) {\n showLastDots = true\n numberOfLinks = limit - (firstNumber ? 0 : 1)\n }\n numberOfLinks = Math.min(numberOfLinks, limit)\n } else if (numberOfPages - currentPage + 2 < limit && limit > ELLIPSIS_THRESHOLD) {\n if (!hideEllipsis || firstNumber) {\n showFirstDots = true\n numberOfLinks = limit - (lastNumber ? 0 : 1)\n }\n startNumber = numberOfPages - numberOfLinks + 1\n } else {\n // We are somewhere in the middle of the page list\n if (limit > ELLIPSIS_THRESHOLD) {\n numberOfLinks = limit - 2\n showFirstDots = !!(!hideEllipsis || firstNumber)\n showLastDots = !!(!hideEllipsis || lastNumber)\n }\n startNumber = currentPage - Math.floor(numberOfLinks / 2)\n }\n // Sanity checks\n /* istanbul ignore if */\n if (startNumber < 1) {\n startNumber = 1\n showFirstDots = false\n } else if (startNumber > numberOfPages - numberOfLinks) {\n startNumber = numberOfPages - numberOfLinks + 1\n showLastDots = false\n }\n if (showFirstDots && firstNumber && startNumber < 4) {\n numberOfLinks = numberOfLinks + 2\n startNumber = 1\n showFirstDots = false\n }\n const lastPageNumber = startNumber + numberOfLinks - 1\n if (showLastDots && lastNumber && lastPageNumber > numberOfPages - 3) {\n numberOfLinks = numberOfLinks + (lastPageNumber === numberOfPages - 2 ? 2 : 3)\n showLastDots = false\n }\n // Special handling for lower limits (where ellipsis are never shown)\n if (limit <= ELLIPSIS_THRESHOLD) {\n if (firstNumber && startNumber === 1) {\n numberOfLinks = Math.min(numberOfLinks + 1, numberOfPages, limit + 1)\n } else if (lastNumber && numberOfPages === startNumber + numberOfLinks - 1) {\n startNumber = Math.max(startNumber - 1, 1)\n numberOfLinks = Math.min(numberOfPages - startNumber + 1, numberOfPages, limit + 1)\n }\n }\n numberOfLinks = Math.min(numberOfLinks, numberOfPages - startNumber + 1)\n return { showFirstDots, showLastDots, numberOfLinks, startNumber }\n },\n pageList() {\n // Generates the pageList array\n const { numberOfLinks, startNumber } = this.paginationParams\n const currentPage = this.computedCurrentPage\n // Generate list of page numbers\n const pages = makePageArray(startNumber, numberOfLinks)\n // We limit to a total of 3 page buttons on XS screens\n // So add classes to page links to hide them for XS breakpoint\n // Note: Ellipsis will also be hidden on XS screens\n // TODO: Make this visual limit configurable based on breakpoint(s)\n if (pages.length > 3) {\n const idx = currentPage - startNumber\n // THe following is a bootstrap-vue custom utility class\n const classes = 'bv-d-xs-down-none'\n if (idx === 0) {\n // Keep leftmost 3 buttons visible when current page is first page\n for (let i = 3; i < pages.length; i++) {\n pages[i].classes = classes\n }\n } else if (idx === pages.length - 1) {\n // Keep rightmost 3 buttons visible when current page is last page\n for (let i = 0; i < pages.length - 3; i++) {\n pages[i].classes = classes\n }\n } else {\n // Hide all except current page, current page - 1 and current page + 1\n for (let i = 0; i < idx - 1; i++) {\n // hide some left button(s)\n pages[i].classes = classes\n }\n for (let i = pages.length - 1; i > idx + 1; i--) {\n // hide some right button(s)\n pages[i].classes = classes\n }\n }\n }\n return pages\n }\n },\n watch: {\n value(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.currentPage = sanitizeCurrentPage(newValue, this.localNumberOfPages)\n }\n },\n currentPage(newValue, oldValue) {\n if (newValue !== oldValue) {\n // Emit null if no page selected\n this.$emit('input', newValue > 0 ? newValue : null)\n }\n },\n limit(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.localLimit = sanitizeLimit(newValue)\n }\n }\n },\n created() {\n // Set our default values in data\n this.localLimit = sanitizeLimit(this.limit)\n this.$nextTick(() => {\n // Sanity check\n this.currentPage =\n this.currentPage > this.localNumberOfPages ? this.localNumberOfPages : this.currentPage\n })\n },\n methods: {\n handleKeyNav(evt) {\n const { keyCode, shiftKey } = evt\n if (keyCode === KeyCodes.LEFT || keyCode === KeyCodes.UP) {\n evt.preventDefault()\n shiftKey ? this.focusFirst() : this.focusPrev()\n } else if (keyCode === KeyCodes.RIGHT || keyCode === KeyCodes.DOWN) {\n evt.preventDefault()\n shiftKey ? this.focusLast() : this.focusNext()\n }\n },\n getButtons() {\n // Return only buttons that are visible\n return selectAll('a.page-link', this.$el).filter(btn => isVisible(btn))\n },\n setBtnFocus(btn) {\n btn.focus()\n },\n focusCurrent() {\n // We do this in `$nextTick()` to ensure buttons have finished rendering\n this.$nextTick(() => {\n const btn = this.getButtons().find(\n el => toInteger(getAttr(el, 'aria-posinset')) === this.computedCurrentPage\n )\n if (btn && btn.focus) {\n this.setBtnFocus(btn)\n } else {\n // Fallback if current page is not in button list\n this.focusFirst()\n }\n })\n },\n focusFirst() {\n // We do this in `$nextTick()` to ensure buttons have finished rendering\n this.$nextTick(() => {\n const btn = this.getButtons().find(el => !isDisabled(el))\n if (btn && btn.focus && btn !== document.activeElement) {\n this.setBtnFocus(btn)\n }\n })\n },\n focusLast() {\n // We do this in `$nextTick()` to ensure buttons have finished rendering\n this.$nextTick(() => {\n const btn = this.getButtons()\n .reverse()\n .find(el => !isDisabled(el))\n if (btn && btn.focus && btn !== document.activeElement) {\n this.setBtnFocus(btn)\n }\n })\n },\n focusPrev() {\n // We do this in `$nextTick()` to ensure buttons have finished rendering\n this.$nextTick(() => {\n const buttons = this.getButtons()\n const idx = buttons.indexOf(document.activeElement)\n if (idx > 0 && !isDisabled(buttons[idx - 1]) && buttons[idx - 1].focus) {\n this.setBtnFocus(buttons[idx - 1])\n }\n })\n },\n focusNext() {\n // We do this in `$nextTick()` to ensure buttons have finished rendering\n this.$nextTick(() => {\n const buttons = this.getButtons()\n const idx = buttons.indexOf(document.activeElement)\n const cnt = buttons.length - 1\n if (idx < cnt && !isDisabled(buttons[idx + 1]) && buttons[idx + 1].focus) {\n this.setBtnFocus(buttons[idx + 1])\n }\n })\n }\n },\n render(h) {\n const buttons = []\n const numberOfPages = this.localNumberOfPages\n const pageNumbers = this.pageList.map(p => p.number)\n const disabled = this.disabled\n const { showFirstDots, showLastDots } = this.paginationParams\n const currentPage = this.computedCurrentPage\n const fill = this.align === 'fill'\n\n // Helper function and flag\n const isActivePage = pageNum => pageNum === currentPage\n const noCurrentPage = this.currentPage < 1\n\n // Factory function for prev/next/first/last buttons\n const makeEndBtn = (linkTo, ariaLabel, btnSlot, btnText, btnClass, pageTest, key) => {\n const isDisabled =\n disabled || isActivePage(pageTest) || noCurrentPage || linkTo < 1 || linkTo > numberOfPages\n const pageNum = linkTo < 1 ? 1 : linkTo > numberOfPages ? numberOfPages : linkTo\n const scope = { disabled: isDisabled, page: pageNum, index: pageNum - 1 }\n const btnContent = this.normalizeSlot(btnSlot, scope) || toString(btnText) || h()\n const inner = h(\n isDisabled ? 'span' : BLink,\n {\n staticClass: 'page-link',\n props: isDisabled ? {} : this.linkProps(linkTo),\n attrs: {\n role: 'menuitem',\n tabindex: isDisabled ? null : '-1',\n 'aria-label': ariaLabel,\n 'aria-controls': this.ariaControls || null,\n 'aria-disabled': isDisabled ? 'true' : null\n },\n on: isDisabled\n ? {}\n : {\n click: evt => {\n this.onClick(linkTo, evt)\n },\n keydown: onSpaceKey\n }\n },\n [btnContent]\n )\n return h(\n 'li',\n {\n key,\n staticClass: 'page-item',\n class: [{ disabled: isDisabled, 'flex-fill': fill }, btnClass],\n attrs: {\n role: 'presentation',\n 'aria-hidden': isDisabled ? 'true' : null\n }\n },\n [inner]\n )\n }\n\n // Ellipsis factory\n const makeEllipsis = isLast => {\n return h(\n 'li',\n {\n key: `ellipsis-${isLast ? 'last' : 'first'}`,\n staticClass: 'page-item',\n class: ['disabled', 'bv-d-xs-down-none', fill ? 'flex-fill' : '', this.ellipsisClass],\n attrs: { role: 'separator' }\n },\n [\n h('span', { staticClass: 'page-link' }, [\n this.normalizeSlot('ellipsis-text') || toString(this.ellipsisText) || h()\n ])\n ]\n )\n }\n\n // Page button factory\n const makePageButton = (page, idx) => {\n const active = isActivePage(page.number) && !noCurrentPage\n // Active page will have tabindex of 0, or if no current page and first page button\n const tabIndex = disabled ? null : active || (noCurrentPage && idx === 0) ? '0' : '-1'\n const attrs = {\n role: 'menuitemradio',\n 'aria-disabled': disabled ? 'true' : null,\n 'aria-controls': this.ariaControls || null,\n 'aria-label': isFunction(this.labelPage)\n ? this.labelPage(page.number)\n : `${this.labelPage} ${page.number}`,\n 'aria-checked': active ? 'true' : 'false',\n 'aria-posinset': page.number,\n 'aria-setsize': numberOfPages,\n // ARIA \"roving tabindex\" method\n tabindex: tabIndex\n }\n const btnContent = toString(this.makePage(page.number))\n const scope = {\n page: page.number,\n index: page.number - 1,\n content: btnContent,\n active,\n disabled\n }\n const inner = h(\n disabled ? 'span' : BLink,\n {\n props: disabled ? {} : this.linkProps(page.number),\n staticClass: 'page-link',\n attrs,\n on: disabled\n ? {}\n : {\n click: evt => {\n this.onClick(page.number, evt)\n },\n keydown: onSpaceKey\n }\n },\n [this.normalizeSlot('page', scope) || btnContent]\n )\n return h(\n 'li',\n {\n key: `page-${page.number}`,\n staticClass: 'page-item',\n class: [{ disabled, active, 'flex-fill': fill }, page.classes, this.pageClass],\n attrs: { role: 'presentation' }\n },\n [inner]\n )\n }\n\n // Goto first page button\n // Don't render button when `hideGotoEndButtons` or `firstNumber` is set\n let $firstPageBtn = h()\n if (!this.firstNumber && !this.hideGotoEndButtons) {\n $firstPageBtn = makeEndBtn(\n 1,\n this.labelFirstPage,\n 'first-text',\n this.firstText,\n this.firstClass,\n 1,\n 'pagination-goto-first'\n )\n }\n buttons.push($firstPageBtn)\n\n // Goto previous page button\n buttons.push(\n makeEndBtn(\n currentPage - 1,\n this.labelPrevPage,\n 'prev-text',\n this.prevText,\n this.prevClass,\n 1,\n 'pagination-goto-prev'\n )\n )\n\n // Show first (1) button?\n buttons.push(this.firstNumber && pageNumbers[0] !== 1 ? makePageButton({ number: 1 }, 0) : h())\n\n // First ellipsis\n buttons.push(showFirstDots ? makeEllipsis(false) : h())\n\n // Individual page links\n this.pageList.forEach((page, idx) => {\n const offset = showFirstDots && this.firstNumber && pageNumbers[0] !== 1 ? 1 : 0\n buttons.push(makePageButton(page, idx + offset))\n })\n\n // Last ellipsis\n buttons.push(showLastDots ? makeEllipsis(true) : h())\n\n // Show last page button?\n buttons.push(\n this.lastNumber && pageNumbers[pageNumbers.length - 1] !== numberOfPages\n ? makePageButton({ number: numberOfPages }, -1)\n : h()\n )\n\n // Goto next page button\n buttons.push(\n makeEndBtn(\n currentPage + 1,\n this.labelNextPage,\n 'next-text',\n this.nextText,\n this.nextClass,\n numberOfPages,\n 'pagination-goto-next'\n )\n )\n\n // Goto last page button\n // Don't render button when `hideGotoEndButtons` or `lastNumber` is set\n let $lastPageBtn = h()\n if (!this.lastNumber && !this.hideGotoEndButtons) {\n $lastPageBtn = makeEndBtn(\n numberOfPages,\n this.labelLastPage,\n 'last-text',\n this.lastText,\n this.lastClass,\n numberOfPages,\n 'pagination-goto-last'\n )\n }\n buttons.push($lastPageBtn)\n\n // Assemble the pagination buttons\n const $pagination = h(\n 'ul',\n {\n ref: 'ul',\n staticClass: 'pagination',\n class: ['b-pagination', this.btnSize, this.alignment, this.styleClass],\n attrs: {\n role: 'menubar',\n 'aria-disabled': disabled ? 'true' : 'false',\n 'aria-label': this.ariaLabel || null\n },\n on: { keydown: this.handleKeyNav }\n },\n buttons\n )\n\n // If we are `<b-pagination-nav>`, wrap in `<nav>` wrapper\n if (this.isNav) {\n return h(\n 'nav',\n {\n attrs: {\n 'aria-disabled': disabled ? 'true' : null,\n 'aria-hidden': disabled ? 'true' : 'false'\n }\n },\n [$pagination]\n )\n }\n\n return $pagination\n }\n}\n","import Vue from '../../utils/vue'\nimport { getComponentConfig } from '../../utils/config'\nimport { isVisible } from '../../utils/dom'\nimport { isUndefinedOrNull } from '../../utils/inspect'\nimport { toInteger } from '../../utils/number'\nimport paginationMixin from '../../mixins/pagination'\n\n// --- Constants ---\n\nconst NAME = 'BPagination'\n\nconst DEFAULT_PER_PAGE = 20\nconst DEFAULT_TOTAL_ROWS = 0\n\nconst props = {\n size: {\n type: String,\n default: () => getComponentConfig(NAME, 'size')\n },\n perPage: {\n type: [Number, String],\n default: DEFAULT_PER_PAGE\n },\n totalRows: {\n type: [Number, String],\n default: DEFAULT_TOTAL_ROWS\n },\n ariaControls: {\n type: String,\n default: null\n }\n}\n\n// --- Helper functions ---\n\n// Sanitize the provided per page number (converting to a number)\nconst sanitizePerPage = val => {\n const perPage = toInteger(val) || DEFAULT_PER_PAGE\n return perPage < 1 ? 1 : perPage\n}\n\n// Sanitize the provided total rows number (converting to a number)\nconst sanitizeTotalRows = val => {\n const totalRows = toInteger(val) || DEFAULT_TOTAL_ROWS\n return totalRows < 0 ? 0 : totalRows\n}\n\n// The render function is brought in via the `paginationMixin`\n// @vue/component\nexport const BPagination = /*#__PURE__*/ Vue.extend({\n name: NAME,\n mixins: [paginationMixin],\n props,\n computed: {\n numberOfPages() {\n const result = Math.ceil(sanitizeTotalRows(this.totalRows) / sanitizePerPage(this.perPage))\n return result < 1 ? 1 : result\n },\n pageSizeNumberOfPages() {\n // Used for watching changes to `perPage` and `numberOfPages`\n return {\n perPage: sanitizePerPage(this.perPage),\n totalRows: sanitizeTotalRows(this.totalRows),\n numberOfPages: this.numberOfPages\n }\n }\n },\n watch: {\n pageSizeNumberOfPages(newVal, oldVal) {\n if (!isUndefinedOrNull(oldVal)) {\n if (newVal.perPage !== oldVal.perPage && newVal.totalRows === oldVal.totalRows) {\n // If the page size changes, reset to page 1\n this.currentPage = 1\n } else if (\n newVal.numberOfPages !== oldVal.numberOfPages &&\n this.currentPage > newVal.numberOfPages\n ) {\n // If `numberOfPages` changes and is less than\n // the `currentPage` number, reset to page 1\n this.currentPage = 1\n }\n }\n this.localNumberOfPages = newVal.numberOfPages\n }\n },\n created() {\n // Set the initial page count\n this.localNumberOfPages = this.numberOfPages\n // Set the initial page value\n const currentPage = toInteger(this.value) || 0\n if (currentPage > 0) {\n this.currentPage = currentPage\n } else {\n this.$nextTick(() => {\n // If this value parses to NaN or a value less than 1\n // Trigger an initial emit of 'null' if no page specified\n this.currentPage = 0\n })\n }\n },\n mounted() {\n // Set the initial page count\n this.localNumberOfPages = this.numberOfPages\n },\n methods: {\n // These methods are used by the render function\n onClick(num, evt) {\n // Handle edge cases where number of pages has changed (i.e. if perPage changes)\n // This should normally not happen, but just in case.\n if (num > this.numberOfPages) {\n /* istanbul ignore next */\n num = this.numberOfPages\n } else if (num < 1) {\n /* istanbul ignore next */\n num = 1\n }\n // Update the v-model\n this.currentPage = num\n // Emit event triggered by user interaction\n this.$emit('change', this.currentPage)\n this.$nextTick(() => {\n // Keep the current button focused if possible\n const target = evt.target\n if (isVisible(target) && this.$el.contains(target) && target.focus) {\n target.focus()\n } else {\n this.focusCurrent()\n }\n })\n },\n makePage(pageNum) {\n return pageNum\n },\n linkProps() {\n // Always '#' for pagination component\n return { href: '#' }\n }\n }\n})\n","import { BPagination } from './pagination'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst PaginationPlugin = /*#__PURE__*/ pluginFactory({\n components: { BPagination }\n})\n\nexport { PaginationPlugin, BPagination }\n","import Vue from '../../utils/vue'\nimport looseEqual from '../../utils/loose-equal'\nimport { getComponentConfig } from '../../utils/config'\nimport { requestAF } from '../../utils/dom'\nimport { isBrowser } from '../../utils/env'\nimport { isArray, isUndefined, isFunction, isObject } from '../../utils/inspect'\nimport { toInteger } from '../../utils/number'\nimport { computeHref, parseQuery } from '../../utils/router'\nimport { toString } from '../../utils/string'\nimport { warn } from '../../utils/warn'\nimport paginationMixin from '../../mixins/pagination'\n\nconst NAME = 'BPaginationNav'\n\n// Sanitize the provided number of pages (converting to a number)\nexport const sanitizeNumberOfPages = value => {\n const numberOfPages = toInteger(value) || 1\n return numberOfPages < 1 ? 1 : numberOfPages\n}\n\nconst props = {\n size: {\n type: String,\n default: () => getComponentConfig(NAME, 'size')\n },\n numberOfPages: {\n type: [Number, String],\n default: 1,\n validator(value) /* istanbul ignore next */ {\n const num = toInteger(value)\n if (isNaN(num) || num < 1) {\n warn('Prop \"number-of-pages\" must be a number greater than \"0\"', NAME)\n return false\n }\n return true\n }\n },\n baseUrl: {\n type: String,\n default: '/'\n },\n useRouter: {\n type: Boolean,\n default: false\n },\n linkGen: {\n type: Function,\n default: null\n },\n pageGen: {\n type: Function,\n default: null\n },\n pages: {\n // Optional array of page links\n type: Array,\n default: null\n },\n noPageDetect: {\n // Disable auto page number detection if true\n type: Boolean,\n default: false\n },\n // router-link specific props\n activeClass: {\n type: String\n // default: undefined\n },\n exact: {\n type: Boolean,\n default: false\n },\n exactActiveClass: {\n type: String\n // default: undefined\n },\n // nuxt-link specific prop(s)\n noPrefetch: {\n type: Boolean,\n default: false\n }\n}\n\n// The render function is brought in via the pagination mixin\n// @vue/component\nexport const BPaginationNav = /*#__PURE__*/ Vue.extend({\n name: NAME,\n mixins: [paginationMixin],\n props,\n computed: {\n // Used by render function to trigger wrapping in '<nav>' element\n isNav() {\n return true\n },\n computedValue() {\n // Returns the value prop as a number or `null` if undefined or < 1\n const val = toInteger(this.value)\n return isNaN(val) || val < 1 ? null : val\n }\n },\n watch: {\n numberOfPages() {\n this.$nextTick(() => {\n this.setNumberOfPages()\n })\n },\n pages() {\n this.$nextTick(() => {\n this.setNumberOfPages()\n })\n }\n },\n created() {\n this.setNumberOfPages()\n },\n mounted() {\n if (this.$router) {\n // We only add the watcher if vue router is detected\n this.$watch('$route', () => {\n this.$nextTick(() => {\n requestAF(() => {\n this.guessCurrentPage()\n })\n })\n })\n }\n },\n methods: {\n setNumberOfPages() {\n if (isArray(this.pages) && this.pages.length > 0) {\n this.localNumberOfPages = this.pages.length\n } else {\n this.localNumberOfPages = sanitizeNumberOfPages(this.numberOfPages)\n }\n this.$nextTick(() => {\n this.guessCurrentPage()\n })\n },\n onClick(pageNum, evt) {\n // Dont do anything if clicking the current active page\n if (pageNum === this.currentPage) {\n return\n }\n requestAF(() => {\n // Update the v-model\n // Done in in requestAF() to allow browser to complete the\n // native browser click handling of a link\n this.currentPage = pageNum\n this.$emit('change', pageNum)\n })\n this.$nextTick(() => {\n // Done in a nextTick() to ensure rendering complete\n try {\n // Emulate native link click page reloading behaviour by blurring the\n // paginator and returning focus to the document\n const target = evt.currentTarget || evt.target\n target.blur()\n } catch (e) {}\n })\n },\n getPageInfo(pageNum) {\n if (!isArray(this.pages) || this.pages.length === 0 || isUndefined(this.pages[pageNum - 1])) {\n const link = `${this.baseUrl}${pageNum}`\n return {\n link: this.useRouter ? { path: link } : link,\n text: toString(pageNum)\n }\n }\n const info = this.pages[pageNum - 1]\n if (isObject(info)) {\n const link = info.link\n return {\n // Normalize link for router use\n link: isObject(link) ? link : this.useRouter ? { path: link } : link,\n // Make sure text has a value\n text: toString(info.text || pageNum)\n }\n } else {\n return { link: toString(info), text: toString(pageNum) }\n }\n },\n makePage(pageNum) {\n const info = this.getPageInfo(pageNum)\n if (this.pageGen && isFunction(this.pageGen)) {\n return this.pageGen(pageNum, info)\n }\n return info.text\n },\n makeLink(pageNum) {\n const info = this.getPageInfo(pageNum)\n if (this.linkGen && isFunction(this.linkGen)) {\n return this.linkGen(pageNum, info)\n }\n return info.link\n },\n linkProps(pageNum) {\n const link = this.makeLink(pageNum)\n const props = {\n target: this.target || null,\n rel: this.rel || null,\n disabled: this.disabled,\n // The following props are only used if BLink detects router\n exact: this.exact,\n activeClass: this.activeClass,\n exactActiveClass: this.exactActiveClass,\n append: this.append,\n replace: this.replace,\n // nuxt-link specific prop\n noPrefetch: this.noPrefetch\n }\n if (this.useRouter || isObject(link)) {\n props.to = link\n } else {\n props.href = link\n }\n return props\n },\n resolveLink(to = '') {\n // Given a to (or href string), convert to normalized route-like structure\n // Works only client side!!\n let link\n try {\n // Convert the `to` to a HREF via a temporary `a` tag\n link = document.createElement('a')\n link.href = computeHref({ to }, 'a', '/', '/')\n // We need to add the anchor to the document to make sure the\n // `pathname` is correctly detected in any browser (i.e. IE)\n document.body.appendChild(link)\n // Once href is assigned, the link will be normalized to the full URL bits\n const { pathname, hash, search } = link\n // Remove link from document\n document.body.removeChild(link)\n // Return the location in a route-like object\n return { path: pathname, hash: hash, query: parseQuery(search) }\n } catch (e) {\n /* istanbul ignore next */\n try {\n link && link.parentNode && link.parentNode.removeChild(link)\n } catch (e) {}\n /* istanbul ignore next */\n return {}\n }\n },\n resolveRoute(to = '') {\n // Given a to (or href string), convert to normalized route location structure\n // works only when router available!!\n try {\n const route = this.$router.resolve(to, this.$route).route\n return { path: route.path, hash: route.hash, query: route.query }\n } catch (e) {\n /* istanbul ignore next */\n return {}\n }\n },\n guessCurrentPage() {\n let guess = this.computedValue\n const $router = this.$router\n const $route = this.$route\n // This section only occurs if we are client side, or server-side with $router\n /* istanbul ignore else */\n if (!this.noPageDetect && !guess && (isBrowser || (!isBrowser && $router))) {\n // Current route (if router available)\n const currRoute =\n $router && $route ? { path: $route.path, hash: $route.hash, query: $route.query } : {}\n // Current page full HREF (if client side). Can't be done as a computed prop!\n const loc = isBrowser ? window.location || document.location : null\n const currLink = loc\n ? { path: loc.pathname, hash: loc.hash, query: parseQuery(loc.search) }\n : {}\n // Loop through the possible pages looking for a match until found\n for (let page = 1; !guess && page <= this.localNumberOfPages; page++) {\n const to = this.makeLink(page)\n if ($router && (isObject(to) || this.useRouter)) {\n // Resolve the page via the $router\n guess = looseEqual(this.resolveRoute(to), currRoute) ? page : null\n } else if (isBrowser) {\n // If no $router available (or !this.useRouter when `to` is a string)\n // we compare using parsed URIs\n guess = looseEqual(this.resolveLink(to), currLink) ? page : null\n } else {\n // probably SSR, but no $router so we can't guess, so lets break out of\n // the loop early\n /* istanbul ignore next */\n guess = -1\n }\n }\n }\n // We set currentPage to 0 to trigger an $emit('input', null)\n // As the default for this.currentPage is -1 when no value is specified\n // And valid page numbers are greater than 0\n this.currentPage = guess > 0 ? guess : 0\n }\n }\n})\n","import { BPaginationNav } from './pagination-nav'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst PaginationNavPlugin = /*#__PURE__*/ pluginFactory({\n components: { BPaginationNav }\n})\n\nexport { PaginationNavPlugin, BPaginationNav }\n","// Base on-demand component for tooltip / popover templates\n//\n// Currently:\n// Responsible for positioning and transitioning the template\n// Templates are only instantiated when shown, and destroyed when hidden\n//\n\nimport Vue from '../../../utils/vue'\nimport Popper from 'popper.js'\nimport { getCS, select } from '../../../utils/dom'\nimport { HTMLElement, SVGElement } from '../../../utils/safe-types'\nimport { BVTransition } from '../../../utils/bv-transition'\n\nconst NAME = 'BVPopper'\n\nconst AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left',\n TOPLEFT: 'top',\n TOPRIGHT: 'top',\n RIGHTTOP: 'right',\n RIGHTBOTTOM: 'right',\n BOTTOMLEFT: 'bottom',\n BOTTOMRIGHT: 'bottom',\n LEFTTOP: 'left',\n LEFTBOTTOM: 'left'\n}\n\nconst OffsetMap = {\n AUTO: 0,\n TOPLEFT: -1,\n TOP: 0,\n TOPRIGHT: +1,\n RIGHTTOP: -1,\n RIGHT: 0,\n RIGHTBOTTOM: +1,\n BOTTOMLEFT: -1,\n BOTTOM: 0,\n BOTTOMRIGHT: +1,\n LEFTTOP: -1,\n LEFT: 0,\n LEFTBOTTOM: +1\n}\n\n// @vue/component\nexport const BVPopper = /*#__PURE__*/ Vue.extend({\n name: NAME,\n props: {\n target: {\n // Element that the tooltip/popover is positioned relative to\n type: [HTMLElement, SVGElement],\n default: null\n },\n placement: {\n type: String,\n default: 'top'\n },\n fallbackPlacement: {\n type: [String, Array],\n default: 'flip'\n },\n offset: {\n type: Number,\n default: 0\n },\n boundary: {\n // 'scrollParent', 'viewport', 'window', or Element\n type: [String, HTMLElement],\n default: 'scrollParent'\n },\n boundaryPadding: {\n // Tooltip/popover will try and stay away from\n // boundary edge by this many pixels\n type: Number,\n default: 5\n },\n arrowPadding: {\n // The minimum distance (in `px`) from the edge of the\n // tooltip/popover that the arrow can be positioned\n type: Number,\n default: 6\n }\n },\n data() {\n return {\n // reactive props set by parent\n noFade: false,\n // State related data\n localShow: true,\n attachment: this.getAttachment(this.placement)\n }\n },\n computed: {\n templateType() /* istanbul ignore next */ {\n // Overridden by template component\n return 'unknown'\n },\n popperConfig() {\n const placement = this.placement\n return {\n placement: this.getAttachment(placement),\n modifiers: {\n offset: { offset: this.getOffset(placement) },\n flip: { behavior: this.fallbackPlacement },\n // `arrow.element` can also be a reference to an HTML Element\n // maybe we should make this a `$ref` in the templates?\n arrow: { element: '.arrow' },\n preventOverflow: {\n padding: this.boundaryPadding,\n boundariesElement: this.boundary\n }\n },\n onCreate: data => {\n // Handle flipping arrow classes\n if (data.originalPlacement !== data.placement) {\n /* istanbul ignore next: can't test in JSDOM */\n this.popperPlacementChange(data)\n }\n },\n onUpdate: data => {\n // Handle flipping arrow classes\n this.popperPlacementChange(data)\n }\n }\n }\n },\n created() {\n // Note: We are created on-demand, and should be guaranteed that\n // DOM is rendered/ready by the time the created hook runs\n this.$_popper = null\n // Ensure we show as we mount\n this.localShow = true\n // Create popper instance before shown\n this.$on('show', el => {\n this.popperCreate(el)\n })\n // Self destruct once hidden\n this.$on('hidden', () => {\n this.$nextTick(this.$destroy)\n })\n // If parent is destroyed, ensure we are destroyed\n this.$parent.$once('hook:destroyed', this.$destroy)\n },\n beforeMount() {\n // Ensure that the attachment position is correct before mounting\n // as our propsData is added after `new Template({...})`\n this.attachment = this.getAttachment(this.placement)\n },\n mounted() {\n // TBD\n },\n updated() {\n // Update popper if needed\n // TODO: Should this be a watcher on `this.popperConfig` instead?\n this.popperUpdate()\n },\n beforeDestroy() {\n this.popperDestroy()\n },\n destroyed() {\n // Make sure template is removed from DOM\n const el = this.$el\n el && el.parentNode && el.parentNode.removeChild(el)\n },\n methods: {\n // \"Public\" method to trigger hide template\n hide() {\n this.localShow = false\n },\n // Private\n getAttachment(placement) {\n return AttachmentMap[String(placement).toUpperCase()] || 'auto'\n },\n getOffset(placement) {\n if (!this.offset) {\n // Could set a ref for the arrow element\n const arrow = this.$refs.arrow || select('.arrow', this.$el)\n const arrowOffset =\n (parseFloat(getCS(arrow).width) || 0) + (parseFloat(this.arrowPadding) || 0)\n switch (OffsetMap[String(placement).toUpperCase()] || 0) {\n case +1:\n /* istanbul ignore next: can't test in JSDOM */\n return `+50%p - ${arrowOffset}px`\n case -1:\n /* istanbul ignore next: can't test in JSDOM */\n return `-50%p + ${arrowOffset}px`\n default:\n return 0\n }\n }\n /* istanbul ignore next */\n return this.offset\n },\n popperCreate(el) {\n this.popperDestroy()\n // We use `el` rather than `this.$el` just in case the original\n // mountpoint root element type was changed by the template\n this.$_popper = new Popper(this.target, el, this.popperConfig)\n },\n popperDestroy() {\n this.$_popper && this.$_popper.destroy()\n this.$_popper = null\n },\n popperUpdate() {\n this.$_popper && this.$_popper.scheduleUpdate()\n },\n popperPlacementChange(data) {\n // Callback used by popper to adjust the arrow placement\n this.attachment = this.getAttachment(data.placement)\n },\n renderTemplate(h) /* istanbul ignore next */ {\n // Will be overridden by templates\n return h('div')\n }\n },\n render(h) {\n // Note: `show` and 'fade' classes are only appled during transition\n return h(\n BVTransition,\n {\n // Transitions as soon as mounted\n props: { appear: true, noFade: this.noFade },\n on: {\n // Events used by parent component/instance\n beforeEnter: el => this.$emit('show', el),\n afterEnter: el => this.$emit('shown', el),\n beforeLeave: el => this.$emit('hide', el),\n afterLeave: el => this.$emit('hidden', el)\n }\n },\n [this.localShow ? this.renderTemplate(h) : h()]\n )\n }\n})\n","import Vue from '../../../utils/vue'\nimport scopedStyleAttrsMixin from '../../../mixins/scoped-style-attrs'\nimport { isFunction, isUndefinedOrNull } from '../../../utils/inspect'\nimport { BVPopper } from './bv-popper'\n\nconst NAME = 'BVTooltipTemplate'\n\n// @vue/component\nexport const BVTooltipTemplate = /*#__PURE__*/ Vue.extend({\n name: NAME,\n extends: BVPopper,\n mixins: [scopedStyleAttrsMixin],\n props: {\n // Other non-reactive (while open) props are pulled in from BVPopper\n id: {\n type: String,\n default: null\n },\n html: {\n // Used only by the directive versions\n type: Boolean,\n default: false\n }\n },\n data() {\n // We use data, rather than props to ensure reactivity\n // Parent component will directly set this data\n return {\n title: '',\n content: '',\n variant: null,\n customClass: null,\n interactive: true\n }\n },\n computed: {\n templateType() {\n return 'tooltip'\n },\n templateClasses() {\n return [\n {\n // Disables pointer events to hide the tooltip when the user\n // hovers over its content\n noninteractive: !this.interactive,\n [`b-${this.templateType}-${this.variant}`]: this.variant,\n // `attachment` will come from BVToolpop\n [`bs-${this.templateType}-${this.attachment}`]: this.attachment\n },\n this.customClass\n ]\n },\n templateAttributes() {\n return {\n id: this.id,\n role: 'tooltip',\n tabindex: '-1',\n // Add the scoped style data attribute to the template root element\n ...this.scopedStyleAttrs\n }\n },\n templateListeners() {\n // Used for hover/focus trigger listeners\n return {\n mouseenter: evt => {\n /* istanbul ignore next: difficult to test in JSDOM */\n this.$emit('mouseenter', evt)\n },\n mouseleave: evt => {\n /* istanbul ignore next: difficult to test in JSDOM */\n this.$emit('mouseleave', evt)\n },\n focusin: evt => {\n /* istanbul ignore next: difficult to test in JSDOM */\n this.$emit('focusin', evt)\n },\n focusout: evt => {\n /* istanbul ignore next: difficult to test in JSDOM */\n this.$emit('focusout', evt)\n }\n }\n }\n },\n methods: {\n renderTemplate(h) {\n // Title can be a scoped slot function\n const $title = isFunction(this.title)\n ? this.title({})\n : isUndefinedOrNull(this.title)\n ? h()\n : this.title\n\n // Directive versions only\n const domProps = this.html && !isFunction(this.title) ? { innerHTML: this.title } : {}\n\n return h(\n 'div',\n {\n staticClass: 'tooltip b-tooltip',\n class: this.templateClasses,\n attrs: this.templateAttributes,\n on: this.templateListeners\n },\n [\n h('div', { ref: 'arrow', staticClass: 'arrow' }),\n h('div', { staticClass: 'tooltip-inner', domProps }, [$title])\n ]\n )\n }\n }\n})\n","// Tooltip \"Class\" (Built as a renderless Vue instance)\n//\n// Handles trigger events, etc.\n// Instantiates template on demand\n\nimport Vue from '../../../utils/vue'\nimport getScopId from '../../../utils/get-scope-id'\nimport looseEqual from '../../../utils/loose-equal'\nimport noop from '../../../utils/noop'\nimport { arrayIncludes, concat, from as arrayFrom } from '../../../utils/array'\nimport {\n closest,\n contains,\n getAttr,\n getById,\n hasAttr,\n hasClass,\n isDisabled,\n isElement,\n isVisible,\n removeAttr,\n select,\n setAttr\n} from '../../../utils/dom'\nimport { EVENT_OPTIONS_NO_CAPTURE, eventOn, eventOff, eventOnOff } from '../../../utils/events'\nimport {\n isFunction,\n isNumber,\n isPlainObject,\n isString,\n isUndefined,\n isUndefinedOrNull\n} from '../../../utils/inspect'\nimport { keys } from '../../../utils/object'\nimport { warn } from '../../../utils/warn'\nimport { BvEvent } from '../../../utils/bv-event.class'\nimport { BVTooltipTemplate } from './bv-tooltip-template'\n\nconst NAME = 'BVTooltip'\n\n// Modal container selector for appending tooltip/popover\nconst MODAL_SELECTOR = '.modal-content'\n// Modal `$root` hidden event\nconst MODAL_CLOSE_EVENT = 'bv::modal::hidden'\n\n// For dropdown sniffing\nconst DROPDOWN_CLASS = 'dropdown'\nconst DROPDOWN_OPEN_SELECTOR = '.dropdown-menu.show'\n\n// Data specific to popper and template\n// We don't use props, as we need reactivity (we can't pass reactive props)\nconst templateData = {\n // Text string or Scoped slot function\n title: '',\n // Text string or Scoped slot function\n content: '',\n // String\n variant: null,\n // String, Array, Object\n customClass: null,\n // String or array of Strings (overwritten by BVPopper)\n triggers: '',\n // String (overwritten by BVPopper)\n placement: 'auto',\n // String or array of strings\n fallbackPlacement: 'flip',\n // Element or Component reference (or function that returns element) of\n // the element that will have the trigger events bound, and is also\n // default element for positioning\n target: null,\n // HTML ID, Element or Component reference\n container: null, // 'body'\n // Boolean\n noFade: false,\n // 'scrollParent', 'viewport', 'window', Element, or Component reference\n boundary: 'scrollParent',\n // Tooltip/popover will try and stay away from\n // boundary edge by this many pixels (Number)\n boundaryPadding: 5,\n // Arrow offset (Number)\n offset: 0,\n // Hover/focus delay (Number or Object)\n delay: 0,\n // Arrow of Tooltip/popover will try and stay away from\n // the edge of tooltip/popover edge by this many pixels\n arrowPadding: 6,\n // Interactive state (Boolean)\n interactive: true,\n // Disabled state (Boolean)\n disabled: false,\n // ID to use for tooltip/popover\n id: null,\n // Flag used by directives only, for HTML content\n html: false\n}\n\n// @vue/component\nexport const BVTooltip = /*#__PURE__*/ Vue.extend({\n name: NAME,\n props: {\n // None\n },\n data() {\n return {\n // BTooltip/BPopover/VBTooltip/VBPopover will update this data\n // Via the exposed updateData() method on this instance\n // BVPopover will override some of these defaults\n ...templateData,\n // State management data\n activeTrigger: {\n // manual: false,\n hover: false,\n click: false,\n focus: false\n },\n localShow: false\n }\n },\n computed: {\n templateType() {\n // Overwritten by BVPopover\n return 'tooltip'\n },\n computedId() {\n return this.id || `__bv_${this.templateType}_${this._uid}__`\n },\n computedDelay() {\n // Normalizes delay into object form\n const delay = { show: 0, hide: 0 }\n if (isPlainObject(this.delay)) {\n delay.show = Math.max(parseInt(this.delay.show, 10) || 0, 0)\n delay.hide = Math.max(parseInt(this.delay.hide, 10) || 0, 0)\n } else if (isNumber(this.delay) || isString(this.delay)) {\n delay.show = delay.hide = Math.max(parseInt(this.delay, 10) || 0, 0)\n }\n return delay\n },\n computedTriggers() {\n // Returns the triggers in sorted array form\n // TODO: Switch this to object form for easier lookup\n return concat(this.triggers)\n .filter(Boolean)\n .join(' ')\n .trim()\n .toLowerCase()\n .split(/\\s+/)\n .sort()\n },\n isWithActiveTrigger() {\n for (const trigger in this.activeTrigger) {\n if (this.activeTrigger[trigger]) {\n return true\n }\n }\n return false\n },\n computedTemplateData() {\n return {\n title: this.title,\n content: this.content,\n variant: this.variant,\n customClass: this.customClass,\n noFade: this.noFade,\n interactive: this.interactive\n }\n }\n },\n watch: {\n computedTriggers(newTriggers, oldTriggers) {\n // Triggers have changed, so re-register them\n /* istanbul ignore next */\n if (!looseEqual(newTriggers, oldTriggers)) {\n this.$nextTick(() => {\n // Disable trigger listeners\n this.unListen()\n // Clear any active triggers that are no longer in the list of triggers\n oldTriggers.forEach(trigger => {\n if (!arrayIncludes(newTriggers, trigger)) {\n if (this.activeTrigger[trigger]) {\n this.activeTrigger[trigger] = false\n }\n }\n })\n // Re-enable the trigger listeners\n this.listen()\n })\n }\n },\n computedTemplateData() {\n // If any of the while open reactive \"props\" change,\n // ensure that the template updates accordingly\n this.handleTemplateUpdate()\n },\n disabled(newVal) {\n newVal ? this.disable() : this.enable()\n }\n },\n created() {\n // Create non-reactive properties\n this.$_tip = null\n this.$_hoverTimeout = null\n this.$_hoverState = ''\n this.$_visibleInterval = null\n this.$_enabled = !this.disabled\n this.$_noop = noop.bind(this)\n\n // Destroy ourselves when the parent is destroyed\n if (this.$parent) {\n this.$parent.$once('hook:beforeDestroy', this.$destroy)\n }\n\n this.$nextTick(() => {\n const target = this.getTarget()\n if (target && contains(document.body, target)) {\n // Copy the parent's scoped style attribute\n this.scopeId = getScopId(this.$parent)\n // Set up all trigger handlers and listeners\n this.listen()\n } else {\n /* istanbul ignore next */\n warn('Unable to find target element in document.', this.templateType)\n }\n })\n },\n updated() /* istanbul ignore next */ {\n // Usually called when the slots/data changes\n this.$nextTick(this.handleTemplateUpdate)\n },\n deactivated() /* istanbul ignore next */ {\n // In a keepalive that has been deactivated, so hide\n // the tooltip/popover if it is showing\n this.forceHide()\n },\n beforeDestroy() /* istanbul ignore next */ {\n // Remove all handler/listeners\n this.unListen()\n this.setWhileOpenListeners(false)\n // Clear any timeouts/intervals\n this.clearHoverTimeout()\n this.clearVisibilityInterval()\n // Destroy the template\n this.destroyTemplate()\n },\n methods: {\n // --- Methods for creating and destroying the template ---\n getTemplate() {\n // Overridden by BVPopover\n return BVTooltipTemplate\n },\n updateData(data = {}) {\n // Method for updating popper/template data\n // We only update data if it exists, and has not changed\n let titleUpdated = false\n keys(templateData).forEach(prop => {\n if (!isUndefined(data[prop]) && this[prop] !== data[prop]) {\n this[prop] = data[prop]\n if (prop === 'title') {\n titleUpdated = true\n }\n }\n })\n if (titleUpdated && this.localShow) {\n // If the title has updated, we may need to handle the title\n // attribute on the trigger target. We only do this while the\n // template is open\n this.fixTitle()\n }\n },\n createTemplateAndShow() {\n // Creates the template instance and show it\n const container = this.getContainer()\n const Template = this.getTemplate()\n const $tip = (this.$_tip = new Template({\n parent: this,\n // The following is not reactive to changes in the props data\n propsData: {\n // These values cannot be changed while template is showing\n id: this.computedId,\n html: this.html,\n placement: this.placement,\n fallbackPlacement: this.fallbackPlacement,\n target: this.getPlacementTarget(),\n boundary: this.getBoundary(),\n // Ensure the following are integers\n offset: parseInt(this.offset, 10) || 0,\n arrowPadding: parseInt(this.arrowPadding, 10) || 0,\n boundaryPadding: parseInt(this.boundaryPadding, 10) || 0\n }\n }))\n // We set the initial reactive data (values that can be changed while open)\n this.handleTemplateUpdate()\n // Template transition phase events (handled once only)\n // When the template has mounted, but not visibly shown yet\n $tip.$once('show', this.onTemplateShow)\n // When the template has completed showing\n $tip.$once('shown', this.onTemplateShown)\n // When the template has started to hide\n $tip.$once('hide', this.onTemplateHide)\n // When the template has completed hiding\n $tip.$once('hidden', this.onTemplateHidden)\n // When the template gets destroyed for any reason\n $tip.$once('hook:destroyed', this.destroyTemplate)\n // Convenience events from template\n // To save us from manually adding/removing DOM\n // listeners to tip element when it is open\n $tip.$on('focusin', this.handleEvent)\n $tip.$on('focusout', this.handleEvent)\n $tip.$on('mouseenter', this.handleEvent)\n $tip.$on('mouseleave', this.handleEvent)\n // Mount (which triggers the `show`)\n $tip.$mount(container.appendChild(document.createElement('div')))\n // Template will automatically remove its markup from DOM when hidden\n },\n hideTemplate() {\n // Trigger the template to start hiding\n // The template will emit the `hide` event after this and\n // then emit the `hidden` event once it is fully hidden\n // The `hook:destroyed` will also be called (safety measure)\n this.$_tip && this.$_tip.hide()\n // Clear out any stragging active triggers\n this.clearActiveTriggers()\n // Reset the hover state\n this.$_hoverState = ''\n },\n // Destroy the template instance and reset state\n destroyTemplate() {\n this.setWhileOpenListeners(false)\n this.clearHoverTimeout()\n this.$_hoverState = ''\n this.clearActiveTriggers()\n this.localPlacementTarget = null\n try {\n this.$_tip && this.$_tip.$destroy()\n } catch {}\n this.$_tip = null\n this.removeAriaDescribedby()\n this.restoreTitle()\n this.localShow = false\n },\n getTemplateElement() {\n return this.$_tip ? this.$_tip.$el : null\n },\n handleTemplateUpdate() {\n // Update our template title/content \"props\"\n // So that the template updates accordingly\n const $tip = this.$_tip\n if ($tip) {\n const props = ['title', 'content', 'variant', 'customClass', 'noFade', 'interactive']\n // Only update the values if they have changed\n props.forEach(prop => {\n if ($tip[prop] !== this[prop]) {\n $tip[prop] = this[prop]\n }\n })\n }\n },\n // --- Show/Hide handlers ---\n // Show the tooltip\n show() {\n const target = this.getTarget()\n if (\n !target ||\n !contains(document.body, target) ||\n !isVisible(target) ||\n this.dropdownOpen() ||\n ((isUndefinedOrNull(this.title) || this.title === '') &&\n (isUndefinedOrNull(this.content) || this.content === ''))\n ) {\n // If trigger element isn't in the DOM or is not visible, or\n // is on an open dropdown toggle, or has no content, then\n // we exit without showing\n return\n }\n // If tip already exists, exit early\n if (this.$_tip || this.localShow) {\n /* istanbul ignore next */\n return\n }\n // In the process of showing\n this.localShow = true\n // Create a cancelable BvEvent\n const showEvt = this.buildEvent('show', { cancelable: true })\n this.emitEvent(showEvt)\n // Don't show if event cancelled\n /* istanbul ignore next: ignore for now */\n if (showEvt.defaultPrevented) {\n // Destroy the template (if for some reason it was created)\n /* istanbul ignore next */\n this.destroyTemplate()\n /* istanbul ignore next */\n return\n }\n // Fix the title attribute on target\n this.fixTitle()\n // Set aria-describedby on target\n this.addAriaDescribedby()\n // Create and show the tooltip\n this.createTemplateAndShow()\n },\n hide(force = false) {\n // Hide the tooltip\n const tip = this.getTemplateElement()\n if (!tip || !this.localShow) {\n /* istanbul ignore next */\n this.restoreTitle()\n /* istanbul ignore next */\n return\n }\n\n // Emit cancelable BvEvent 'hide'\n // We disable cancelling if `force` is true\n const hideEvt = this.buildEvent('hide', { cancelable: !force })\n this.emitEvent(hideEvt)\n /* istanbul ignore next: ignore for now */\n if (hideEvt.defaultPrevented) {\n // Don't hide if event cancelled\n /* istanbul ignore next */\n return\n }\n\n // Tell the template to hide\n this.hideTemplate()\n },\n forceHide() {\n // Forcefully hides/destroys the template, regardless of any active triggers\n const tip = this.getTemplateElement()\n if (!tip || !this.localShow) {\n /* istanbul ignore next */\n return\n }\n // Disable while open listeners/watchers\n // This is also done in the template `hide` evt handler\n this.setWhileOpenListeners(false)\n // Clear any hover enter/leave event\n this.clearHoverTimeout()\n this.$_hoverState = ''\n this.clearActiveTriggers()\n // Disable the fade animation on the template\n if (this.$_tip) {\n this.$_tip.noFade = true\n }\n // Hide the tip (with force = true)\n this.hide(true)\n },\n enable() {\n this.$_enabled = true\n // Create a non-cancelable BvEvent\n this.emitEvent(this.buildEvent('enabled'))\n },\n disable() {\n this.$_enabled = false\n // Create a non-cancelable BvEvent\n this.emitEvent(this.buildEvent('disabled'))\n },\n // --- Handlers for template events ---\n // When template is inserted into DOM, but not yet shown\n onTemplateShow() {\n // Enable while open listeners/watchers\n this.setWhileOpenListeners(true)\n },\n // When template show transition completes\n onTemplateShown() {\n const prevHoverState = this.$_hoverState\n this.$_hoverState = ''\n if (prevHoverState === 'out') {\n this.leave(null)\n }\n // Emit a non-cancelable BvEvent 'shown'\n this.emitEvent(this.buildEvent('shown'))\n },\n // When template is starting to hide\n onTemplateHide() {\n // Disable while open listeners/watchers\n this.setWhileOpenListeners(false)\n },\n // When template has completed closing (just before it self destructs)\n onTemplateHidden() {\n // Destroy the template\n this.destroyTemplate()\n // Emit a non-cancelable BvEvent 'shown'\n this.emitEvent(this.buildEvent('hidden'))\n },\n // --- Utility methods ---\n getTarget() {\n // Handle case where target may be a component ref\n let target = this.target ? this.target.$el || this.target : null\n // If an ID\n target = isString(target) ? getById(target.replace(/^#/, '')) : target\n // If a function\n target = isFunction(target) ? target() : target\n // If an element ref\n return isElement(target) ? target : null\n },\n getPlacementTarget() {\n // This is the target that the tooltip will be placed on, which may not\n // necessarily be the same element that has the trigger event listeners\n // For now, this is the same as target\n // TODO:\n // Add in child selector support\n // Add in visibility checks for this element\n // Fallback to target if not found\n return this.getTarget()\n },\n getTargetId() {\n // Returns the ID of the trigger element\n const target = this.getTarget()\n return target && target.id ? target.id : null\n },\n getContainer() {\n // Handle case where container may be a component ref\n const container = this.container ? this.container.$el || this.container : false\n const body = document.body\n const target = this.getTarget()\n // If we are in a modal, we append to the modal instead\n // of body, unless a container is specified\n // TODO:\n // Template should periodically check to see if it is in dom\n // And if not, self destruct (if container got v-if'ed out of DOM)\n // Or this could possibly be part of the visibility check\n return container === false\n ? closest(MODAL_SELECTOR, target) || body\n : isString(container)\n ? getById(container.replace(/^#/, '')) || body\n : body\n },\n getBoundary() {\n return this.boundary ? this.boundary.$el || this.boundary : 'scrollParent'\n },\n isInModal() {\n const target = this.getTarget()\n return target && closest(MODAL_SELECTOR, target)\n },\n isDropdown() {\n // Returns true if trigger is a dropdown\n const target = this.getTarget()\n return target && hasClass(target, DROPDOWN_CLASS)\n },\n dropdownOpen() {\n // Returns true if trigger is a dropdown and the dropdown menu is open\n const target = this.getTarget()\n return this.isDropdown() && target && select(DROPDOWN_OPEN_SELECTOR, target)\n },\n clearHoverTimeout() {\n if (this.$_hoverTimeout) {\n clearTimeout(this.$_hoverTimeout)\n this.$_hoverTimeout = null\n }\n },\n clearVisibilityInterval() {\n if (this.$_visibleInterval) {\n clearInterval(this.$_visibleInterval)\n this.$_visibleInterval = null\n }\n },\n clearActiveTriggers() {\n for (const trigger in this.activeTrigger) {\n this.activeTrigger[trigger] = false\n }\n },\n addAriaDescribedby() {\n // Add aria-describedby on trigger element, without removing any other IDs\n const target = this.getTarget()\n let desc = getAttr(target, 'aria-describedby') || ''\n desc = desc\n .split(/\\s+/)\n .concat(this.computedId)\n .join(' ')\n .trim()\n // Update/add aria-described by\n setAttr(target, 'aria-describedby', desc)\n },\n removeAriaDescribedby() {\n // Remove aria-describedby on trigger element, without removing any other IDs\n const target = this.getTarget()\n let desc = getAttr(target, 'aria-describedby') || ''\n desc = desc\n .split(/\\s+/)\n .filter(d => d !== this.computedId)\n .join(' ')\n .trim()\n // Update or remove aria-describedby\n if (desc) {\n /* istanbul ignore next */\n setAttr(target, 'aria-describedby', desc)\n } else {\n removeAttr(target, 'aria-describedby')\n }\n },\n fixTitle() {\n // If the target has a title attribute, null it out and\n // store on data-title\n const target = this.getTarget()\n if (target && getAttr(target, 'title')) {\n // We only update title attribute if it has a value\n setAttr(target, 'data-original-title', getAttr(target, 'title') || '')\n setAttr(target, 'title', '')\n }\n },\n restoreTitle() {\n // If target had a title, restore the title attribute\n // and remove the data-title attribute\n const target = this.getTarget()\n if (target && hasAttr(target, 'data-original-title')) {\n setAttr(target, 'title', getAttr(target, 'data-original-title') || '')\n removeAttr(target, 'data-original-title')\n }\n },\n // --- BvEvent helpers ---\n buildEvent(type, options = {}) {\n // Defaults to a non-cancellable event\n return new BvEvent(type, {\n cancelable: false,\n target: this.getTarget(),\n relatedTarget: this.getTemplateElement() || null,\n componentId: this.computedId,\n vueTarget: this,\n // Add in option overrides\n ...options\n })\n },\n emitEvent(bvEvt) {\n // Emits a BvEvent on $root and this instance\n const evtName = bvEvt.type\n const $root = this.$root\n if ($root && $root.$emit) {\n // Emit an event on $root\n $root.$emit(`bv::${this.templateType}::${evtName}`, bvEvt)\n }\n this.$emit(evtName, bvEvt)\n },\n // --- Event handler setup methods ---\n listen() {\n // Enable trigger event handlers\n const el = this.getTarget()\n if (!el) {\n /* istanbul ignore next */\n return\n }\n // Listen for global show/hide events\n this.setRootListener(true)\n // Set up our listeners on the target trigger element\n this.computedTriggers.forEach(trigger => {\n if (trigger === 'click') {\n eventOn(el, 'click', this.handleEvent, EVENT_OPTIONS_NO_CAPTURE)\n } else if (trigger === 'focus') {\n eventOn(el, 'focusin', this.handleEvent, EVENT_OPTIONS_NO_CAPTURE)\n eventOn(el, 'focusout', this.handleEvent, EVENT_OPTIONS_NO_CAPTURE)\n } else if (trigger === 'blur') {\n // Used to close $tip when element looses focus\n /* istanbul ignore next */\n eventOn(el, 'focusout', this.handleEvent, EVENT_OPTIONS_NO_CAPTURE)\n } else if (trigger === 'hover') {\n eventOn(el, 'mouseenter', this.handleEvent, EVENT_OPTIONS_NO_CAPTURE)\n eventOn(el, 'mouseleave', this.handleEvent, EVENT_OPTIONS_NO_CAPTURE)\n }\n }, this)\n },\n unListen() /* istanbul ignore next */ {\n // Remove trigger event handlers\n const events = ['click', 'focusin', 'focusout', 'mouseenter', 'mouseleave']\n const target = this.getTarget()\n\n // Stop listening for global show/hide/enable/disable events\n this.setRootListener(false)\n\n // Clear out any active target listeners\n events.forEach(evt => {\n target && eventOff(target, evt, this.handleEvent, EVENT_OPTIONS_NO_CAPTURE)\n }, this)\n },\n setRootListener(on) {\n // Listen for global `bv::{hide|show}::{tooltip|popover}` hide request event\n const $root = this.$root\n if ($root) {\n const method = on ? '$on' : '$off'\n const type = this.templateType\n $root[method](`bv::hide::${type}`, this.doHide)\n $root[method](`bv::show::${type}`, this.doShow)\n $root[method](`bv::disable::${type}`, this.doDisable)\n $root[method](`bv::enable::${type}`, this.doEnable)\n }\n },\n setWhileOpenListeners(on) {\n // Events that are only registered when the template is showing\n // Modal close events\n this.setModalListener(on)\n // Dropdown open events (if we are attached to a dropdown)\n this.setDropdownListener(on)\n // Periodic $element visibility check\n // For handling when tip target is in <keepalive>, tabs, carousel, etc\n this.visibleCheck(on)\n // On-touch start listeners\n this.setOnTouchStartListener(on)\n },\n // Handler for periodic visibility check\n visibleCheck(on) {\n this.clearVisibilityInterval()\n const target = this.getTarget()\n const tip = this.getTemplateElement()\n if (on) {\n this.$_visibleInterval = setInterval(() => {\n if (tip && this.localShow && (!target.parentNode || !isVisible(target))) {\n // Target element is no longer visible or not in DOM, so force-hide the tooltip\n this.forceHide()\n }\n }, 100)\n }\n },\n setModalListener(on) {\n // Handle case where tooltip/target is in a modal\n if (this.isInModal()) {\n // We can listen for modal hidden events on `$root`\n this.$root[on ? '$on' : '$off'](MODAL_CLOSE_EVENT, this.forceHide)\n }\n },\n setOnTouchStartListener(on) /* istanbul ignore next: JSDOM doesn't support `ontouchstart` */ {\n // If this is a touch-enabled device we add extra empty\n // `mouseover` listeners to the body's immediate children\n // Only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n arrayFrom(document.body.children).forEach(el => {\n eventOnOff(on, el, 'mouseover', this.$_noop)\n })\n }\n },\n setDropdownListener(on) {\n const target = this.getTarget()\n if (!target || !this.$root || !this.isDropdown) {\n return\n }\n // We can listen for dropdown shown events on its instance\n // TODO:\n // We could grab the ID from the dropdown, and listen for\n // $root events for that particular dropdown id\n // Dropdown shown and hidden events will need to emit\n // Note: Dropdown auto-ID happens in a `$nextTick()` after mount\n // So the ID lookup would need to be done in a `$nextTick()`\n if (target.__vue__) {\n target.__vue__[on ? '$on' : '$off']('shown', this.forceHide)\n }\n },\n // --- Event handlers ---\n handleEvent(evt) {\n // General trigger event handler\n // target is the trigger element\n const target = this.getTarget()\n if (!target || isDisabled(target) || !this.$_enabled || this.dropdownOpen()) {\n // If disabled or not enabled, or if a dropdown that is open, don't do anything\n // If tip is shown before element gets disabled, then tip will not\n // close until no longer disabled or forcefully closed\n return\n }\n const type = evt.type\n const triggers = this.computedTriggers\n\n if (type === 'click' && arrayIncludes(triggers, 'click')) {\n this.click(evt)\n } else if (type === 'mouseenter' && arrayIncludes(triggers, 'hover')) {\n // `mouseenter` is a non-bubbling event\n this.enter(evt)\n } else if (type === 'focusin' && arrayIncludes(triggers, 'focus')) {\n // `focusin` is a bubbling event\n // `evt` includes `relatedTarget` (element loosing focus)\n this.enter(evt)\n } else if (\n (type === 'focusout' &&\n (arrayIncludes(triggers, 'focus') || arrayIncludes(triggers, 'blur'))) ||\n (type === 'mouseleave' && arrayIncludes(triggers, 'hover'))\n ) {\n // `focusout` is a bubbling event\n // `mouseleave` is a non-bubbling event\n // `tip` is the template (will be null if not open)\n const tip = this.getTemplateElement()\n // `evtTarget` is the element which is loosing focus/hover and\n const evtTarget = evt.target\n // `relatedTarget` is the element gaining focus/hover\n const relatedTarget = evt.relatedTarget\n /* istanbul ignore next */\n if (\n // From tip to target\n (tip && contains(tip, evtTarget) && contains(target, relatedTarget)) ||\n // From target to tip\n (tip && contains(target, evtTarget) && contains(tip, relatedTarget)) ||\n // Within tip\n (tip && contains(tip, evtTarget) && contains(tip, relatedTarget)) ||\n // Within target\n (contains(target, evtTarget) && contains(target, relatedTarget))\n ) {\n // If focus/hover moves within `tip` and `target`, don't trigger a leave\n return\n }\n // Otherwise trigger a leave\n this.leave(evt)\n }\n },\n doHide(id) {\n // Programmatically hide tooltip or popover\n if (!id || (this.getTargetId() === id || this.computedId === id)) {\n // Close all tooltips or popovers, or this specific tip (with ID)\n this.forceHide()\n }\n },\n doShow(id) {\n // Programmatically show tooltip or popover\n if (!id || (this.getTargetId() === id || this.computedId === id)) {\n // Open all tooltips or popovers, or this specific tip (with ID)\n this.show()\n }\n },\n doDisable(id) /*istanbul ignore next: ignore for now */ {\n // Programmatically disable tooltip or popover\n if (!id || (this.getTargetId() === id || this.computedId === id)) {\n // Disable all tooltips or popovers (no ID), or this specific tip (with ID)\n this.disable()\n }\n },\n doEnable(id) /*istanbul ignore next: ignore for now */ {\n // Programmatically enable tooltip or popover\n if (!id || (this.getTargetId() === id || this.computedId === id)) {\n // Enable all tooltips or popovers (no ID), or this specific tip (with ID)\n this.enable()\n }\n },\n click() {\n if (!this.$_enabled || this.dropdownOpen()) {\n /* istanbul ignore next */\n return\n }\n this.activeTrigger.click = !this.activeTrigger.click\n if (this.isWithActiveTrigger) {\n this.enter(null)\n } else {\n /* istanbul ignore next */\n this.leave(null)\n }\n },\n toggle() /* istanbul ignore next */ {\n // Manual toggle handler\n if (!this.$_enabled || this.dropdownOpen()) {\n /* istanbul ignore next */\n return\n }\n // Should we register as an active trigger?\n // this.activeTrigger.manual = !this.activeTrigger.manual\n if (this.localShow) {\n this.leave(null)\n } else {\n this.enter(null)\n }\n },\n enter(evt = null) {\n // Opening trigger handler\n // Note: Click events are sent with evt === null\n if (evt) {\n this.activeTrigger[evt.type === 'focusin' ? 'focus' : 'hover'] = true\n }\n /* istanbul ignore next */\n if (this.localShow || this.$_hoverState === 'in') {\n this.$_hoverState = 'in'\n return\n }\n this.clearHoverTimeout()\n this.$_hoverState = 'in'\n if (!this.computedDelay.show) {\n this.show()\n } else {\n // Hide any title attribute while enter delay is active\n this.fixTitle()\n this.$_hoverTimeout = setTimeout(() => {\n /* istanbul ignore else */\n if (this.$_hoverState === 'in') {\n this.show()\n } else if (!this.localShow) {\n this.restoreTitle()\n }\n }, this.computedDelay.show)\n }\n },\n leave(evt = null) {\n // Closing trigger handler\n // Note: Click events are sent with evt === null\n if (evt) {\n this.activeTrigger[evt.type === 'focusout' ? 'focus' : 'hover'] = false\n /* istanbul ignore next */\n if (evt.type === 'focusout' && arrayIncludes(this.computedTriggers, 'blur')) {\n // Special case for `blur`: we clear out the other triggers\n this.activeTrigger.click = false\n this.activeTrigger.hover = false\n }\n }\n /* istanbul ignore next: ignore for now */\n if (this.isWithActiveTrigger) {\n return\n }\n this.clearHoverTimeout()\n this.$_hoverState = 'out'\n if (!this.computedDelay.hide) {\n this.hide()\n } else {\n this.$_hoverTimeout = setTimeout(() => {\n if (this.$_hoverState === 'out') {\n this.hide()\n }\n }, this.computedDelay.hide)\n }\n }\n }\n})\n","import Vue from '../../utils/vue'\nimport getScopId from '../../utils/get-scope-id'\nimport { isArray, arrayIncludes } from '../../utils/array'\nimport { getComponentConfig } from '../../utils/config'\nimport { isString, isUndefinedOrNull } from '../../utils/inspect'\nimport { HTMLElement, SVGElement } from '../../utils/safe-types'\nimport { BVTooltip } from './helpers/bv-tooltip'\n\nconst NAME = 'BTooltip'\n\n// @vue/component\nexport const BTooltip = /*#__PURE__*/ Vue.extend({\n name: NAME,\n props: {\n title: {\n type: String\n // default: undefined\n },\n // Added in by BPopover\n // content: {\n // type: String,\n // default: undefined\n // },\n target: {\n // String ID of element, or element/component reference\n // Or function that returns one of the above\n type: [String, HTMLElement, SVGElement, Function, Object],\n // default: undefined,\n required: true\n },\n triggers: {\n type: [String, Array],\n default: 'hover focus'\n },\n placement: {\n type: String,\n default: 'top'\n },\n fallbackPlacement: {\n type: [String, Array],\n default: 'flip',\n validator(value) {\n return (\n (isArray(value) && value.every(v => isString(v))) ||\n arrayIncludes(['flip', 'clockwise', 'counterclockwise'], value)\n )\n }\n },\n variant: {\n type: String,\n default: () => getComponentConfig(NAME, 'variant')\n },\n customClass: {\n type: String,\n default: () => getComponentConfig(NAME, 'customClass')\n },\n delay: {\n type: [Number, Object, String],\n default: () => getComponentConfig(NAME, 'delay')\n },\n boundary: {\n // String: scrollParent, window, or viewport\n // Element: element reference\n // Object: Vue component\n type: [String, HTMLElement, Object],\n default: () => getComponentConfig(NAME, 'boundary')\n },\n boundaryPadding: {\n type: [Number, String],\n default: () => getComponentConfig(NAME, 'boundaryPadding')\n },\n offset: {\n type: [Number, String],\n default: 0\n },\n noFade: {\n type: Boolean,\n default: false\n },\n container: {\n // String: HTML ID of container, if null body is used (default)\n // HTMLElement: element reference reference\n // Object: Vue Component\n type: [String, HTMLElement, Object]\n // default: undefined\n },\n show: {\n type: Boolean,\n default: false\n },\n noninteractive: {\n type: Boolean,\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n id: {\n // ID to use for tooltip element\n // If not provided on will automatically be generated\n type: String,\n default: null\n }\n },\n data() {\n return {\n localShow: this.show,\n localTitle: '',\n localContent: ''\n }\n },\n computed: {\n templateData() {\n // Data that will be passed to the template and popper\n return {\n // We use massaged versions of the title and content props/slots\n title: this.localTitle,\n content: this.localContent,\n // Pass these props as is\n target: this.target,\n triggers: this.triggers,\n placement: this.placement,\n fallbackPlacement: this.fallbackPlacement,\n variant: this.variant,\n customClass: this.customClass,\n container: this.container,\n boundary: this.boundary,\n boundaryPadding: this.boundaryPadding,\n delay: this.delay,\n offset: this.offset,\n noFade: this.noFade,\n interactive: !this.noninteractive,\n disabled: this.disabled,\n id: this.id\n }\n },\n templateTitleContent() {\n // Used to watch for changes to the title and content props\n return {\n title: this.title,\n content: this.content\n }\n }\n },\n watch: {\n show(show, oldVal) {\n if (show !== oldVal && show !== this.localShow && this.$_bv_toolpop) {\n if (show) {\n this.$_bv_toolpop.show()\n } else {\n // We use `forceHide()` to override any active triggers\n this.$_bv_toolpop.forceHide()\n }\n }\n },\n disabled(newVal) {\n if (newVal) {\n this.doDisable()\n } else {\n this.doEnable()\n }\n },\n localShow(newVal) {\n // TODO: May need to be done in a `$nextTick()`\n this.$emit('update:show', newVal)\n },\n templateData() {\n this.$nextTick(() => {\n if (this.$_bv_toolpop) {\n this.$_bv_toolpop.updateData(this.templateData)\n }\n })\n },\n // Watchers for title/content props (prop changes do not trigger the `updated()` hook)\n templateTitleContent() {\n this.$nextTick(this.updateContent)\n }\n },\n created() {\n // Non reactive properties\n this.$_bv_toolpop = null\n },\n updated() {\n // Update the `propData` object\n // Done in a `$nextTick()` to ensure slot(s) have updated\n this.$nextTick(this.updateContent)\n },\n beforeDestroy() {\n // Shutdown our local event listeners\n this.$off('open', this.doOpen)\n this.$off('close', this.doClose)\n this.$off('disable', this.doDisable)\n this.$off('enable', this.doEnable)\n // Destroy the tip instance\n this.$_bv_toolpop && this.$_bv_toolpop.$destroy()\n this.$_bv_toolpop = null\n },\n mounted() {\n // Instantiate a new BVTooltip instance\n // Done in a `$nextTick()` to ensure DOM has completed rendering\n // so that target can be found\n this.$nextTick(() => {\n // Load the on demand child instance\n const Component = this.getComponent()\n // Ensure we have initial content\n this.updateContent()\n // Pass down the scoped style attribute if available\n const scopeId = getScopId(this) || getScopId(this.$parent)\n // Create the instance\n const $toolpop = (this.$_bv_toolpop = new Component({\n parent: this,\n // Pass down the scoped style ID\n _scopeId: scopeId || undefined\n }))\n // Set the initial data\n $toolpop.updateData(this.templateData)\n // Set listeners\n $toolpop.$on('show', this.onShow)\n $toolpop.$on('shown', this.onShown)\n $toolpop.$on('hide', this.onHide)\n $toolpop.$on('hidden', this.onHidden)\n $toolpop.$on('disabled', this.onDisabled)\n $toolpop.$on('enabled', this.onEnabled)\n // Initially disabled?\n if (this.disabled) {\n // Initially disabled\n this.doDisable()\n }\n // Listen to open signals from others\n this.$on('open', this.doOpen)\n // Listen to close signals from others\n this.$on('close', this.doClose)\n // Listen to disable signals from others\n this.$on('disable', this.doDisable)\n // Listen to enable signals from others\n this.$on('enable', this.doEnable)\n // Initially show tooltip?\n if (this.localShow) {\n this.$_bv_toolpop && this.$_bv_toolpop.show()\n }\n })\n },\n methods: {\n getComponent() {\n // Overridden by BPopover\n return BVTooltip\n },\n updateContent() {\n // Overridden by BPopover\n // Tooltip: Default slot is `title`\n // Popover: Default slot is `content`, `title` slot is title\n // We pass a scoped slot function reference by default (Vue v2.6x)\n // And pass the title prop as a fallback\n this.setTitle(this.$scopedSlots.default || this.title)\n },\n // Helper methods for `updateContent()`\n setTitle(val) {\n val = isUndefinedOrNull(val) ? '' : val\n // We only update the value if it has changed\n if (this.localTitle !== val) {\n this.localTitle = val\n }\n },\n setContent(val) {\n val = isUndefinedOrNull(val) ? '' : val\n // We only update the value if it has changed\n if (this.localContent !== val) {\n this.localContent = val\n }\n },\n // --- Template event handlers ---\n onShow(bvEvt) {\n // Placeholder\n this.$emit('show', bvEvt)\n if (bvEvt) {\n this.localShow = !bvEvt.defaultPrevented\n }\n },\n onShown(bvEvt) {\n // Tip is now showing\n this.localShow = true\n this.$emit('shown', bvEvt)\n },\n onHide(bvEvt) {\n this.$emit('hide', bvEvt)\n },\n onHidden(bvEvt) {\n // Tip is no longer showing\n this.$emit('hidden', bvEvt)\n this.localShow = false\n },\n onDisabled(bvEvt) {\n // Prevent possible endless loop if user mistakenly\n // fires `disabled` instead of `disable`\n if (bvEvt && bvEvt.type === 'disabled') {\n this.$emit('update:disabled', true)\n this.$emit('disabled', bvEvt)\n }\n },\n onEnabled(bvEvt) {\n // Prevent possible endless loop if user mistakenly\n // fires `enabled` instead of `enable`\n if (bvEvt && bvEvt.type === 'enabled') {\n this.$emit('update:disabled', false)\n this.$emit('enabled', bvEvt)\n }\n },\n // --- Local event listeners ---\n doOpen() {\n !this.localShow && this.$_bv_toolpop && this.$_bv_toolpop.show()\n },\n doClose() {\n this.localShow && this.$_bv_toolpop && this.$_bv_toolpop.hide()\n },\n doDisable() {\n this.$_bv_toolpop && this.$_bv_toolpop.disable()\n },\n doEnable() {\n this.$_bv_toolpop && this.$_bv_toolpop.enable()\n }\n },\n render(h) {\n // Always renders a comment node\n // TODO:\n // Future: Possibly render a target slot (single root element)\n // which we can apply the listeners to (pass `this.$el` to BVTooltip)\n return h()\n }\n})\n","import Vue from '../../../utils/vue'\nimport { isFunction, isUndefinedOrNull } from '../../../utils/inspect'\n\nimport { BVTooltipTemplate } from '../../tooltip/helpers/bv-tooltip-template'\n\nconst NAME = 'BVPopoverTemplate'\n\n// @vue/component\nexport const BVPopoverTemplate = /*#__PURE__*/ Vue.extend({\n name: NAME,\n extends: BVTooltipTemplate,\n computed: {\n templateType() {\n return 'popover'\n }\n },\n methods: {\n renderTemplate(h) {\n // Title and content could be a scoped slot function\n const $title = isFunction(this.title) ? this.title({}) : this.title\n const $content = isFunction(this.content) ? this.content({}) : this.content\n\n // Directive usage only\n const titleDomProps = this.html && !isFunction(this.title) ? { innerHTML: this.title } : {}\n const contentDomProps =\n this.html && !isFunction(this.content) ? { innerHTML: this.content } : {}\n\n return h(\n 'div',\n {\n staticClass: 'popover b-popover',\n class: this.templateClasses,\n attrs: this.templateAttributes,\n on: this.templateListeners\n },\n [\n h('div', { ref: 'arrow', staticClass: 'arrow' }),\n isUndefinedOrNull($title) || $title === ''\n ? h()\n : h('h3', { staticClass: 'popover-header', domProps: titleDomProps }, [$title]),\n isUndefinedOrNull($content) || $content === ''\n ? h()\n : h('div', { staticClass: 'popover-body', domProps: contentDomProps }, [$content])\n ]\n )\n }\n }\n})\n","// Popover \"Class\" (Built as a renderless Vue instance)\n// Inherits from BVTooltip\n//\n// Handles trigger events, etc.\n// Instantiates template on demand\n\nimport Vue from '../../../utils/vue'\nimport { BVTooltip } from '../../tooltip/helpers/bv-tooltip'\nimport { BVPopoverTemplate } from './bv-popover-template'\n\nconst NAME = 'BVPopover'\n\n// @vue/component\nexport const BVPopover = /*#__PURE__*/ Vue.extend({\n name: NAME,\n extends: BVTooltip,\n computed: {\n // Overwrites BVTooltip\n templateType() {\n return 'popover'\n }\n },\n methods: {\n getTemplate() {\n // Overwrites BVTooltip\n return BVPopoverTemplate\n }\n }\n})\n","import Vue from '../../utils/vue'\nimport { getComponentConfig } from '../../utils/config'\nimport { HTMLElement } from '../../utils/safe-types'\nimport { BTooltip } from '../tooltip/tooltip'\nimport { BVPopover } from './helpers/bv-popover'\n\nconst NAME = 'BPopover'\n\nexport const BPopover = /*#__PURE__*/ Vue.extend({\n name: NAME,\n extends: BTooltip,\n inheritAttrs: false,\n props: {\n title: {\n type: String\n // default: undefined\n },\n content: {\n type: String\n // default: undefined\n },\n triggers: {\n type: [String, Array],\n default: 'click'\n },\n placement: {\n type: String,\n default: 'right'\n },\n variant: {\n type: String,\n default: () => getComponentConfig(NAME, 'variant')\n },\n customClass: {\n type: String,\n default: () => getComponentConfig(NAME, 'customClass')\n },\n delay: {\n type: [Number, Object, String],\n default: () => getComponentConfig(NAME, 'delay')\n },\n boundary: {\n // String: scrollParent, window, or viewport\n // Element: element reference\n // Object: Vue component\n type: [String, HTMLElement, Object],\n default: () => getComponentConfig(NAME, 'boundary')\n },\n boundaryPadding: {\n type: [Number, String],\n default: () => getComponentConfig(NAME, 'boundaryPadding')\n }\n },\n methods: {\n getComponent() {\n // Overridden by BPopover\n return BVPopover\n },\n updateContent() {\n // Tooltip: Default slot is `title`\n // Popover: Default slot is `content`, `title` slot is title\n // We pass a scoped slot function references by default (Vue v2.6x)\n // And pass the title prop as a fallback\n this.setContent(this.$scopedSlots.default || this.content)\n this.setTitle(this.$scopedSlots.title || this.title)\n }\n }\n // Render function provided by BTooltip\n})\n","import getScopId from '../../utils/get-scope-id'\nimport identity from '../../utils/identity'\nimport looseEqual from '../../utils/loose-equal'\nimport { concat } from '../../utils/array'\nimport { getComponentConfig } from '../../utils/config'\nimport { isBrowser } from '../../utils/env'\nimport {\n isFunction,\n isNumber,\n isPlainObject,\n isString,\n isUndefined,\n isUndefinedOrNull\n} from '../../utils/inspect'\nimport { keys } from '../../utils/object'\nimport { BVPopover } from '../../components/popover/helpers/bv-popover'\n\n// Key which we use to store tooltip object on element\nconst BV_POPOVER = '__BV_Popover__'\n\n// Default trigger\nconst DefaultTrigger = 'click'\n\n// Valid event triggers\nconst validTriggers = {\n focus: true,\n hover: true,\n click: true,\n blur: true,\n manual: true\n}\n\n// Directive modifier test regular expressions. Pre-compile for performance\nconst htmlRE = /^html$/i\nconst noFadeRE = /^nofade$/i\nconst placementRE = /^(auto|top(left|right)?|bottom(left|right)?|left(top|bottom)?|right(top|bottom)?)$/i\nconst boundaryRE = /^(window|viewport|scrollParent)$/i\nconst delayRE = /^d\\d+$/i\nconst delayShowRE = /^ds\\d+$/i\nconst delayHideRE = /^dh\\d+$/i\nconst offsetRE = /^o-?\\d+$/i\nconst variantRE = /^v-.+$/i\nconst spacesRE = /\\s+/\n\n// Build a Popover config based on bindings (if any)\n// Arguments and modifiers take precedence over passed value config object\nconst parseBindings = (bindings, vnode) => /* istanbul ignore next: not easy to test */ {\n // We start out with a basic config\n const NAME = 'BPopover'\n let config = {\n title: undefined,\n content: undefined,\n trigger: '', // Default set below if needed\n placement: 'right',\n fallbackPlacement: 'flip',\n container: false, // Default of body\n animation: true,\n offset: 0,\n disabled: false,\n id: null,\n html: false,\n delay: getComponentConfig(NAME, 'delay'),\n boundary: String(getComponentConfig(NAME, 'boundary')),\n boundaryPadding: parseInt(getComponentConfig(NAME, 'boundaryPadding'), 10) || 0,\n variant: getComponentConfig(NAME, 'variant'),\n customClass: getComponentConfig(NAME, 'customClass')\n }\n\n // Process `bindings.value`\n if (isString(bindings.value) || isNumber(bindings.value)) {\n // Value is popover content (html optionally supported)\n config.content = bindings.value\n } else if (isFunction(bindings.value)) {\n // Content generator function\n config.content = bindings.value\n } else if (isPlainObject(bindings.value)) {\n // Value is config object, so merge\n config = { ...config, ...bindings.value }\n }\n\n // If argument, assume element ID of container element\n if (bindings.arg) {\n // Element ID specified as arg\n // We must prepend '#' to become a CSS selector\n config.container = `#${bindings.arg}`\n }\n\n // If title is not provided, try title attribute\n if (isUndefined(config.title)) {\n // Try attribute\n const data = vnode.data || {}\n config.title = data.attrs && !isUndefinedOrNull(data.attrs.title) ? data.attrs.title : undefined\n }\n\n // Normalize delay\n if (!isPlainObject(config.delay)) {\n config.delay = {\n show: parseInt(config.delay, 10) || 0,\n hide: parseInt(config.delay, 10) || 0\n }\n }\n\n // Process modifiers\n keys(bindings.modifiers).forEach(mod => {\n if (htmlRE.test(mod)) {\n // Title/content allows HTML\n config.html = true\n } else if (noFadeRE.test(mod)) {\n // No animation\n config.animation = false\n } else if (placementRE.test(mod)) {\n // Placement of popover\n config.placement = mod\n } else if (boundaryRE.test(mod)) {\n // Boundary of popover\n mod = mod === 'scrollparent' ? 'scrollParent' : mod\n config.boundary = mod\n } else if (delayRE.test(mod)) {\n // Delay value\n const delay = parseInt(mod.slice(1), 10) || 0\n config.delay.show = delay\n config.delay.hide = delay\n } else if (delayShowRE.test(mod)) {\n // Delay show value\n config.delay.show = parseInt(mod.slice(2), 10) || 0\n } else if (delayHideRE.test(mod)) {\n // Delay hide value\n config.delay.hide = parseInt(mod.slice(2), 10) || 0\n } else if (offsetRE.test(mod)) {\n // Offset value, negative allowed\n config.offset = parseInt(mod.slice(1), 10) || 0\n } else if (variantRE.test(mod)) {\n // Variant\n config.variant = mod.slice(2) || null\n }\n })\n\n // Special handling of event trigger modifiers trigger is\n // a space separated list\n const selectedTriggers = {}\n\n // Parse current config object trigger\n concat(config.trigger || '')\n .filter(identity)\n .join(' ')\n .trim()\n .toLowerCase()\n .split(spacesRE)\n .forEach(trigger => {\n if (validTriggers[trigger]) {\n selectedTriggers[trigger] = true\n }\n })\n\n // Parse modifiers for triggers\n keys(bindings.modifiers).forEach(mod => {\n mod = mod.toLowerCase()\n if (validTriggers[mod]) {\n // If modifier is a valid trigger\n selectedTriggers[mod] = true\n }\n })\n\n // Sanitize triggers\n config.trigger = keys(selectedTriggers).join(' ')\n if (config.trigger === 'blur') {\n // Blur by itself is useless, so convert it to 'focus'\n config.trigger = 'focus'\n }\n if (!config.trigger) {\n // Use default trigger\n config.trigger = DefaultTrigger\n }\n\n return config\n}\n\n// Add or update Popover on our element\nconst applyPopover = (el, bindings, vnode) => {\n if (!isBrowser) {\n /* istanbul ignore next */\n return\n }\n const config = parseBindings(bindings, vnode)\n if (!el[BV_POPOVER]) {\n const $parent = vnode.context\n el[BV_POPOVER] = new BVPopover({\n parent: $parent,\n // Add the parent's scoped style attribute data\n _scopeId: getScopId($parent, undefined)\n })\n el[BV_POPOVER].__bv_prev_data__ = {}\n el[BV_POPOVER].$on('show', () => /* istanbul ignore next: for now */ {\n // Before showing the popover, we update the title\n // and content if they are functions\n const data = {}\n if (isFunction(config.title)) {\n data.title = config.title(el)\n }\n if (isFunction(config.content)) {\n data.content = config.content(el)\n }\n if (keys(data).length > 0) {\n el[BV_POPOVER].updateData(data)\n }\n })\n }\n const data = {\n title: config.title,\n content: config.content,\n triggers: config.trigger,\n placement: config.placement,\n fallbackPlacement: config.fallbackPlacement,\n variant: config.variant,\n customClass: config.customClass,\n container: config.container,\n boundary: config.boundary,\n delay: config.delay,\n offset: config.offset,\n noFade: !config.animation,\n id: config.id,\n disabled: config.disabled,\n html: config.html\n }\n const oldData = el[BV_POPOVER].__bv_prev_data__\n el[BV_POPOVER].__bv_prev_data__ = data\n if (!looseEqual(data, oldData)) {\n // We only update the instance if data has changed\n const newData = {\n target: el\n }\n keys(data).forEach(prop => {\n // We only pass data properties that have changed\n if (data[prop] !== oldData[prop]) {\n // If title/content is a function, we execute it here\n newData[prop] =\n (prop === 'title' || prop === 'content') && isFunction(data[prop])\n ? data[prop](el)\n : data[prop]\n }\n })\n el[BV_POPOVER].updateData(newData)\n }\n}\n\n// Remove Popover from our element\nconst removePopover = el => {\n if (el[BV_POPOVER]) {\n el[BV_POPOVER].$destroy()\n el[BV_POPOVER] = null\n }\n delete el[BV_POPOVER]\n}\n\n// Export our directive\nexport const VBPopover = {\n bind(el, bindings, vnode) {\n applyPopover(el, bindings, vnode)\n },\n // We use `componentUpdated` here instead of `update`, as the former\n // waits until the containing component and children have finished updating\n componentUpdated(el, bindings, vnode) {\n // Performed in a `$nextTick()` to prevent endless render/update loops\n vnode.context.$nextTick(() => {\n applyPopover(el, bindings, vnode)\n })\n },\n unbind(el) {\n removePopover(el)\n }\n}\n","import { VBPopover } from './popover'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst VBPopoverPlugin = /*#__PURE__*/ pluginFactory({\n directives: { VBPopover }\n})\n\nexport { VBPopoverPlugin, VBPopover }\n","import { BPopover } from './popover'\nimport { VBPopoverPlugin } from '../../directives/popover'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst PopoverPlugin = /*#__PURE__*/ pluginFactory({\n components: { BPopover },\n plugins: { VBPopoverPlugin }\n})\n\nexport { PopoverPlugin, BPopover }\n","import Vue from '../../utils/vue'\nimport { getComponentConfig } from '../../utils/config'\nimport { htmlOrText } from '../../utils/html'\nimport { isBoolean } from '../../utils/inspect'\nimport { toFixed, toFloat, toInteger } from '../../utils/number'\nimport { toString } from '../../utils/string'\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\n\nconst NAME = 'BProgressBar'\n\n// @vue/component\nexport const BProgressBar = /*#__PURE__*/ Vue.extend({\n name: NAME,\n mixins: [normalizeSlotMixin],\n inject: {\n bvProgress: {\n default() /* istanbul ignore next */ {\n return {}\n }\n }\n },\n props: {\n value: {\n type: [Number, String],\n default: 0\n },\n label: {\n type: String,\n default: null\n },\n labelHtml: {\n type: String\n },\n // $parent (this.bvProgress) prop values may take precedence over the following props\n // Which is why they are defaulted to null\n max: {\n type: [Number, String],\n default: null\n },\n precision: {\n type: [Number, String],\n default: null\n },\n variant: {\n type: String,\n default: () => getComponentConfig(NAME, 'variant')\n },\n striped: {\n type: Boolean,\n default: null\n },\n animated: {\n type: Boolean,\n default: null\n },\n showProgress: {\n type: Boolean,\n default: null\n },\n showValue: {\n type: Boolean,\n default: null\n }\n },\n computed: {\n progressBarClasses() {\n return [\n this.computedVariant ? `bg-${this.computedVariant}` : '',\n this.computedStriped || this.computedAnimated ? 'progress-bar-striped' : '',\n this.computedAnimated ? 'progress-bar-animated' : ''\n ]\n },\n progressBarStyles() {\n return {\n width: 100 * (this.computedValue / this.computedMax) + '%'\n }\n },\n computedValue() {\n return toFloat(this.value) || 0\n },\n computedMax() {\n // Prefer our max over parent setting\n const max = toFloat(this.max)\n return isNaN(max) ? toFloat(this.bvProgress.max) || 100 : max\n },\n computedPrecision() {\n // Prefer our precision over parent setting\n const precision = toInteger(this.precision)\n return isNaN(precision) ? toInteger(this.bvProgress.precision) || 0 : precision\n },\n computedProgress() {\n const precision = this.computedPrecision\n const p = Math.pow(10, precision)\n return toFixed((100 * p * this.computedValue) / this.computedMax / p, precision)\n },\n computedVariant() {\n // Prefer our variant over parent setting\n return this.variant || this.bvProgress.variant\n },\n computedStriped() {\n // Prefer our striped over parent setting\n return isBoolean(this.striped) ? this.striped : this.bvProgress.striped || false\n },\n computedAnimated() {\n // Prefer our animated over parent setting\n return isBoolean(this.animated) ? this.animated : this.bvProgress.animated || false\n },\n computedShowProgress() {\n // Prefer our showProgress over parent setting\n return isBoolean(this.showProgress)\n ? this.showProgress\n : this.bvProgress.showProgress || false\n },\n computedShowValue() {\n // Prefer our showValue over parent setting\n return isBoolean(this.showValue) ? this.showValue : this.bvProgress.showValue || false\n }\n },\n render(h) {\n let childNodes = h()\n if (this.hasNormalizedSlot('default')) {\n childNodes = this.normalizeSlot('default')\n } else if (this.label || this.labelHtml) {\n childNodes = h('span', { domProps: htmlOrText(this.labelHtml, this.label) })\n } else if (this.computedShowProgress) {\n childNodes = this.computedProgress\n } else if (this.computedShowValue) {\n childNodes = toFixed(this.computedValue, this.computedPrecision)\n }\n return h(\n 'div',\n {\n staticClass: 'progress-bar',\n class: this.progressBarClasses,\n style: this.progressBarStyles,\n attrs: {\n role: 'progressbar',\n 'aria-valuemin': '0',\n 'aria-valuemax': toString(this.computedMax),\n 'aria-valuenow': toFixed(this.computedValue, this.computedPrecision)\n }\n },\n [childNodes]\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport { getComponentConfig } from '../../utils/config'\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\nimport { BProgressBar } from './progress-bar'\n\nconst NAME = 'BProgress'\n\n// @vue/component\nexport const BProgress = /*#__PURE__*/ Vue.extend({\n name: NAME,\n mixins: [normalizeSlotMixin],\n provide() {\n return { bvProgress: this }\n },\n props: {\n // These props can be inherited via the child b-progress-bar(s)\n variant: {\n type: String,\n default: () => getComponentConfig(NAME, 'variant')\n },\n striped: {\n type: Boolean,\n default: false\n },\n animated: {\n type: Boolean,\n default: false\n },\n height: {\n type: String,\n default: null\n },\n precision: {\n type: [Number, String],\n default: 0\n },\n showProgress: {\n type: Boolean,\n default: false\n },\n showValue: {\n type: Boolean,\n default: false\n },\n max: {\n type: [Number, String],\n default: 100\n },\n // This prop is not inherited by child b-progress-bar(s)\n value: {\n type: [Number, String],\n default: 0\n }\n },\n computed: {\n progressHeight() {\n return { height: this.height || null }\n }\n },\n render(h) {\n let childNodes = this.normalizeSlot('default')\n if (!childNodes) {\n childNodes = h(BProgressBar, {\n props: {\n value: this.value,\n max: this.max,\n precision: this.precision,\n variant: this.variant,\n animated: this.animated,\n striped: this.striped,\n showProgress: this.showProgress,\n showValue: this.showValue\n }\n })\n }\n return h('div', { class: ['progress'], style: this.progressHeight }, [childNodes])\n }\n})\n","import { BProgress } from './progress'\nimport { BProgressBar } from './progress-bar'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst ProgressPlugin = /*#__PURE__*/ pluginFactory({\n components: {\n BProgress,\n BProgressBar\n }\n})\n\nexport { ProgressPlugin, BProgress, BProgressBar }\n","import Vue from '../../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\nimport { getComponentConfig } from '../../utils/config'\nimport { normalizeSlot } from '../../utils/normalize-slot'\n\nconst NAME = 'BSpinner'\n\n// @vue/component\nexport const BSpinner = /*#__PURE__*/ Vue.extend({\n name: NAME,\n functional: true,\n props: {\n type: {\n type: String,\n default: 'border' // SCSS currently supports 'border' or 'grow'\n },\n label: {\n type: String,\n default: null\n },\n variant: {\n type: String,\n default: () => getComponentConfig(NAME, 'variant')\n },\n small: {\n type: Boolean,\n default: false\n },\n role: {\n type: String,\n default: 'status'\n },\n tag: {\n type: String,\n default: 'span'\n }\n },\n render(h, { props, data, slots, scopedSlots }) {\n const $slots = slots()\n const $scopedSlots = scopedSlots || {}\n let label = normalizeSlot('label', {}, $scopedSlots, $slots) || props.label\n if (label) {\n label = h('span', { staticClass: 'sr-only' }, label)\n }\n return h(\n props.tag,\n mergeData(data, {\n attrs: {\n role: label ? props.role || 'status' : null,\n 'aria-hidden': label ? null : 'true'\n },\n class: {\n [`spinner-${props.type}`]: props.type,\n [`spinner-${props.type}-sm`]: props.small,\n [`text-${props.variant}`]: props.variant\n }\n }),\n [label || h()]\n )\n }\n})\n","import { BSpinner } from './spinner'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst SpinnerPlugin = /*#__PURE__*/ pluginFactory({\n components: { BSpinner }\n})\n\nexport { SpinnerPlugin, BSpinner }\n","// Mixin to determine if an event listener has been registered\n// either via `v-on:name` (in the parent) or programmatically\n// via `vm.$on('name', ...)`\n// See: https://github.com/vuejs/vue/issues/10825\nimport { isArray, isUndefined } from '../utils/inspect'\n\n// @vue/component\nexport default {\n methods: {\n hasListener(name) {\n // Only includes listeners registerd via `v-on:name`\n const $listeners = this.$listeners || {}\n // Includes `v-on:name` and `this.$on('name')` registerd listeners\n // Note this property is not part of the public Vue API, but it is\n // the only way to determine if a listener was added via `vm.$on`\n const $events = this._events || {}\n // Registered listeners in `this._events` are always an array,\n // but might be zero length\n return !isUndefined($listeners[name]) || (isArray($events[name]) && $events[name].length > 0)\n }\n }\n}\n","/**\n * Converts a string, including strings in camelCase or snake_case, into Start Case (a variant\n * of Title Case where all words start with a capital letter), it keeps original single quote\n * and hyphen in the word.\n *\n * Copyright (c) 2017 Compass (MIT)\n * https://github.com/UrbanCompass/to-start-case\n * @author Zhuoyuan Zhang <https://github.com/drawyan>\n * @author Wei Wang <https://github.com/onlywei>\n *\n *\n * 'management_companies' to 'Management Companies'\n * 'managementCompanies' to 'Management Companies'\n * `hell's kitchen` to `Hell's Kitchen`\n * `co-op` to `Co-op`\n *\n * @param {String} str\n * @returns {String}\n */\n\n// Precompile regular expressions for performance\nconst RX_UNDERSCORE = /_/g\nconst RX_LOWER_UPPER = /([a-z])([A-Z])/g\nconst RX_START_SPACE_WORD = /(\\s|^)(\\w)/g\n\nconst startCase = str =>\n str\n .replace(RX_UNDERSCORE, ' ')\n .replace(RX_LOWER_UPPER, (str, $1, $2) => $1 + ' ' + $2)\n .replace(RX_START_SPACE_WORD, (str, $1, $2) => $1 + $2.toUpperCase())\n\nexport default startCase\n","// Constants used by table helpers\n\n// Object of item keys that should be ignored for headers and\n// stringification and filter events\nexport const IGNORED_FIELD_KEYS = {\n _rowVariant: true,\n _cellVariants: true,\n _showDetails: true\n}\n\n// Filter CSS selector for click/dblclick/etc. events\n// If any of these selectors match the clicked element, we ignore the event\nexport const EVENT_FILTER = [\n 'a',\n 'a *', // Include content inside links\n 'button',\n 'button *', // Include content inside buttons\n 'input:not(.disabled):not([disabled])',\n 'select:not(.disabled):not([disabled])',\n 'textarea:not(.disabled):not([disabled])',\n '[role=\"link\"]',\n '[role=\"link\"] *',\n '[role=\"button\"]',\n '[role=\"button\"] *',\n '[tabindex]:not(.disabled):not([disabled])'\n].join(',')\n","import identity from '../../../utils/identity'\nimport startCase from '../../../utils/startcase'\nimport { isArray, isFunction, isObject, isString } from '../../../utils/inspect'\nimport { clone, keys } from '../../../utils/object'\nimport { IGNORED_FIELD_KEYS } from './constants'\n\n// Private function to massage field entry into common object format\nconst processField = (key, value) => {\n let field = null\n if (isString(value)) {\n // Label shortcut\n field = { key: key, label: value }\n } else if (isFunction(value)) {\n // Formatter shortcut\n field = { key: key, formatter: value }\n } else if (isObject(value)) {\n field = clone(value)\n field.key = field.key || key\n } else if (value !== false) {\n // Fallback to just key\n /* istanbul ignore next */\n field = { key: key }\n }\n return field\n}\n\n// We normalize fields into an array of objects\n// [ { key:..., label:..., ...}, {...}, ..., {..}]\nconst normalizeFields = (origFields, items) => {\n const fields = []\n\n if (isArray(origFields)) {\n // Normalize array Form\n origFields.filter(identity).forEach(f => {\n if (isString(f)) {\n fields.push({ key: f, label: startCase(f) })\n } else if (isObject(f) && f.key && isString(f.key)) {\n // Full object definition. We use assign so that we don't mutate the original\n fields.push(clone(f))\n } else if (isObject(f) && keys(f).length === 1) {\n // Shortcut object (i.e. { 'foo_bar': 'This is Foo Bar' }\n const key = keys(f)[0]\n const field = processField(key, f[key])\n if (field) {\n fields.push(field)\n }\n }\n })\n }\n\n // If no field provided, take a sample from first record (if exits)\n if (fields.length === 0 && isArray(items) && items.length > 0) {\n const sample = items[0]\n keys(sample).forEach(k => {\n if (!IGNORED_FIELD_KEYS[k]) {\n fields.push({ key: k, label: startCase(k) })\n }\n })\n }\n\n // Ensure we have a unique array of fields and that they have String labels\n const memo = {}\n return fields.filter(f => {\n if (!memo[f.key]) {\n memo[f.key] = true\n f.label = isString(f.label) ? f.label : startCase(f.key)\n return true\n }\n return false\n })\n}\n\nexport default normalizeFields\n","import looseEqual from '../../../utils/loose-equal'\nimport { isArray, isFunction, isString, isUndefinedOrNull } from '../../../utils/inspect'\nimport { clone } from '../../../utils/object'\nimport normalizeFields from './normalize-fields'\n\nexport default {\n props: {\n items: {\n // Provider mixin adds in `Function` type\n type: Array,\n default() /* istanbul ignore next */ {\n return []\n }\n },\n fields: {\n type: Array,\n default: null\n },\n primaryKey: {\n // Primary key for record\n // If provided the value in each row must be unique!\n type: String,\n default: null\n },\n value: {\n // `v-model` for retrieving the current displayed rows\n type: Array,\n default() {\n return []\n }\n }\n },\n data() {\n return {\n // Our local copy of the items\n // Must be an array\n localItems: isArray(this.items) ? this.items.slice() : []\n }\n },\n computed: {\n computedFields() {\n // We normalize fields into an array of objects\n // `[ { key:..., label:..., ...}, {...}, ..., {..}]`\n return normalizeFields(this.fields, this.localItems)\n },\n computedFieldsObj() {\n // Fields as a simple lookup hash object\n // Mainly for formatter lookup and use in `scopedSlots` for convenience\n // If the field has a formatter, it normalizes formatter to a\n // function ref or `undefined` if no formatter\n const parent = this.$parent\n return this.computedFields.reduce((obj, f) => {\n // We use object spread here so we don't mutate the original field object\n obj[f.key] = clone(f)\n if (f.formatter) {\n // Normalize formatter to a function ref or `undefined`\n let formatter = f.formatter\n if (isString(formatter) && isFunction(parent[formatter])) {\n formatter = parent[formatter]\n } else if (!isFunction(formatter)) {\n /* istanbul ignore next */\n formatter = undefined\n }\n // Return formatter function or `undefined` if none\n obj[f.key].formatter = formatter\n }\n return obj\n }, {})\n },\n computedItems() {\n // Fallback if various mixins not provided\n return (\n this.paginatedItems ||\n this.sortedItems ||\n this.filteredItems ||\n this.localItems ||\n []\n ).slice()\n },\n context() {\n // Current state of sorting, filtering and pagination props/values\n return {\n filter: this.localFilter,\n sortBy: this.localSortBy,\n sortDesc: this.localSortDesc,\n perPage: parseInt(this.perPage, 10) || 0,\n currentPage: parseInt(this.currentPage, 10) || 1,\n apiUrl: this.apiUrl\n }\n }\n },\n watch: {\n items(newItems) {\n /* istanbul ignore else */\n if (isArray(newItems)) {\n // Set `localItems`/`filteredItems` to a copy of the provided array\n this.localItems = newItems.slice()\n } else if (isUndefinedOrNull(newItems)) {\n /* istanbul ignore next */\n this.localItems = []\n }\n },\n // Watch for changes on `computedItems` and update the `v-model`\n computedItems(newVal) {\n this.$emit('input', newVal)\n },\n // Watch for context changes\n context(newVal, oldVal) {\n // Emit context information for external paging/filtering/sorting handling\n if (!looseEqual(newVal, oldVal)) {\n this.$emit('context-changed', newVal)\n }\n }\n },\n mounted() {\n // Initially update the `v-model` of displayed items\n this.$emit('input', this.computedItems)\n },\n methods: {\n // Method to get the formatter method for a given field key\n getFieldFormatter(key) {\n const field = this.computedFieldsObj[key]\n // `this.computedFieldsObj` has pre-normalized the formatter to a\n // function ref if present, otherwise `undefined`\n return field ? field.formatter : undefined\n }\n }\n}\n","// Mixin for providing stacked tables\n\nexport default {\n props: {\n stacked: {\n type: [Boolean, String],\n default: false\n }\n },\n computed: {\n isStacked() {\n // `true` when always stacked, or returns breakpoint specified\n return this.stacked === '' ? true : this.stacked\n },\n isStackedAlways() {\n return this.isStacked === true\n },\n stackedTableClasses() {\n return {\n 'b-table-stacked': this.isStackedAlways,\n [`b-table-stacked-${this.stacked}`]: !this.isStackedAlways && this.isStacked\n }\n }\n }\n}\n","import { keys } from '../../../utils/object'\nimport { arrayIncludes } from '../../../utils/array'\nimport { isFunction } from '../../../utils/inspect'\nimport { IGNORED_FIELD_KEYS } from './constants'\n\n// Return a copy of a row after all reserved fields have been filtered out\nconst sanitizeRow = (row, ignoreFields, includeFields, fieldsObj = {}) =>\n keys(row).reduce((obj, key) => {\n // Ignore special fields that start with `_`\n // Ignore fields in the `ignoreFields` array\n // Include only fields in the `includeFields` array\n if (\n !IGNORED_FIELD_KEYS[key] &&\n !(ignoreFields && ignoreFields.length > 0 && arrayIncludes(ignoreFields, key)) &&\n !(includeFields && includeFields.length > 0 && !arrayIncludes(includeFields, key))\n ) {\n const f = fieldsObj[key] || {}\n const val = row[key]\n // `f.filterByFormatted` will either be a function or boolean\n // `f.formater` will have already been noramlized into a function ref\n const filterByFormatted = f.filterByFormatted\n const formatter = isFunction(filterByFormatted)\n ? filterByFormatted\n : filterByFormatted\n ? f.formatter\n : null\n obj[key] = isFunction(formatter) ? formatter(val, key, row) : val\n }\n return obj\n }, {})\n\nexport default sanitizeRow\n","import { keys } from '../../../utils/object'\nimport { isDate, isObject, isUndefinedOrNull } from '../../../utils/inspect'\nimport { toString } from '../../../utils/string'\n\n// Recursively stringifies the values of an object, space separated, in an\n// SSR safe deterministic way (keys are sorted before stringification)\n//\n// ex:\n// { b: 3, c: { z: 'zzz', d: null, e: 2 }, d: [10, 12, 11], a: 'one' }\n// becomes\n// 'one 3 2 zzz 10 12 11'\n//\n// Primitives (numbers/strings) are returned as-is\n// Null and undefined values are filtered out\n// Dates are converted to their native string format\nconst stringifyObjectValues = val => {\n if (isUndefinedOrNull(val)) {\n /* istanbul ignore next */\n return ''\n }\n // Arrays are also object, and keys just returns the array indexes\n // Date objects we convert to strings\n if (isObject(val) && !isDate(val)) {\n return keys(val)\n .sort() // Sort to prevent SSR issues on pre-rendered sorted tables\n .filter(v => !isUndefinedOrNull(v)) // Ignore undefined/null values\n .map(k => stringifyObjectValues(val[k]))\n .join(' ')\n }\n return toString(val)\n}\n\nexport default stringifyObjectValues\n","import { isObject } from '../../../utils/inspect'\nimport sanitizeRow from './sanitize-row'\nimport stringifyObjectValues from './stringify-object-values'\n\n// Stringifies the values of a record, ignoring any special top level field keys\n// TODO: Add option to stringify `scopedSlot` items\nconst stringifyRecordValues = (row, ignoreFields, includeFields, fieldsObj) => {\n return isObject(row)\n ? stringifyObjectValues(sanitizeRow(row, ignoreFields, includeFields, fieldsObj))\n : ''\n}\n\nexport default stringifyRecordValues\n","import cloneDeep from '../../../utils/clone-deep'\nimport looseEqual from '../../../utils/loose-equal'\nimport { concat } from '../../../utils/array'\nimport { isFunction, isString, isRegExp } from '../../../utils/inspect'\nimport { toInteger } from '../../../utils/number'\nimport { escapeRegExp } from '../../../utils/string'\nimport { warn } from '../../../utils/warn'\nimport stringifyRecordValues from './stringify-record-values'\n\nconst DEBOUNCE_DEPRECATED_MSG =\n 'Prop \"filter-debounce\" is deprecated. Use the debounce feature of \"<b-form-input>\" instead.'\n\nconst RX_SPACES = /[\\s\\uFEFF\\xA0]+/g\n\nexport default {\n props: {\n filter: {\n type: [String, RegExp, Object, Array],\n default: null\n },\n filterFunction: {\n type: Function,\n default: null\n },\n filterIgnoredFields: {\n type: Array\n // default: undefined\n },\n filterIncludedFields: {\n type: Array\n // default: undefined\n },\n filterDebounce: {\n type: [Number, String],\n deprecated: DEBOUNCE_DEPRECATED_MSG,\n default: 0,\n validator: val => /^\\d+/.test(String(val))\n }\n },\n data() {\n return {\n // Flag for displaying which empty slot to show and some event triggering\n isFiltered: false,\n // Where we store the copy of the filter criteria after debouncing\n // We pre-set it with the sanitized filter value\n localFilter: this.filterSanitize(this.filter)\n }\n },\n computed: {\n computedFilterIgnored() {\n return this.filterIgnoredFields ? concat(this.filterIgnoredFields).filter(Boolean) : null\n },\n computedFilterIncluded() {\n return this.filterIncludedFields ? concat(this.filterIncludedFields).filter(Boolean) : null\n },\n computedFilterDebounce() {\n const ms = toInteger(this.filterDebounce) || 0\n /* istanbul ignore next */\n if (ms > 0) {\n warn(DEBOUNCE_DEPRECATED_MSG, 'BTable')\n }\n return ms\n },\n localFiltering() {\n return this.hasProvider ? !!this.noProviderFiltering : true\n },\n // For watching changes to `filteredItems` vs `localItems`\n filteredCheck() {\n return {\n filteredItems: this.filteredItems,\n localItems: this.localItems,\n localFilter: this.localFilter\n }\n },\n // Sanitized/normalize filter-function prop\n localFilterFn() {\n // Return `null` to signal to use internal filter function\n return isFunction(this.filterFunction) ? this.filterFunction : null\n },\n // Returns the records in `localItems` that match the filter criteria\n // Returns the original `localItems` array if not sorting\n filteredItems() {\n const items = this.localItems || []\n // Note the criteria is debounced and sanitized\n const criteria = this.localFilter\n\n // Resolve the filtering function, when requested\n // We prefer the provided filtering function and fallback to the internal one\n // When no filtering criteria is specified the filtering factories will return `null`\n const filterFn = this.localFiltering\n ? this.filterFnFactory(this.localFilterFn, criteria) ||\n this.defaultFilterFnFactory(criteria)\n : null\n\n // We only do local filtering when requested and there are records to filter\n return filterFn && items.length > 0 ? items.filter(filterFn) : items\n }\n },\n watch: {\n // Watch for debounce being set to 0\n computedFilterDebounce(newVal) {\n if (!newVal && this.$_filterTimer) {\n clearTimeout(this.$_filterTimer)\n this.$_filterTimer = null\n this.localFilter = this.filterSanitize(this.filter)\n }\n },\n // Watch for changes to the filter criteria, and debounce if necessary\n filter: {\n // We need a deep watcher in case the user passes\n // an object when using `filter-function`\n deep: true,\n handler(newCriteria) {\n const timeout = this.computedFilterDebounce\n clearTimeout(this.$_filterTimer)\n this.$_filterTimer = null\n if (timeout && timeout > 0) {\n // If we have a debounce time, delay the update of `localFilter`\n this.$_filterTimer = setTimeout(() => {\n this.localFilter = this.filterSanitize(newCriteria)\n }, timeout)\n } else {\n // Otherwise, immediately update `localFilter` with `newFilter` value\n this.localFilter = this.filterSanitize(newCriteria)\n }\n }\n },\n // Watch for changes to the filter criteria and filtered items vs `localItems`\n // Set visual state and emit events as required\n filteredCheck({ filteredItems, localFilter }) {\n // Determine if the dataset is filtered or not\n let isFiltered = false\n if (!localFilter) {\n // If filter criteria is falsey\n isFiltered = false\n } else if (looseEqual(localFilter, []) || looseEqual(localFilter, {})) {\n // If filter criteria is an empty array or object\n isFiltered = false\n } else if (localFilter) {\n // If filter criteria is truthy\n isFiltered = true\n }\n if (isFiltered) {\n this.$emit('filtered', filteredItems, filteredItems.length)\n }\n this.isFiltered = isFiltered\n },\n isFiltered(newVal, oldVal) {\n if (newVal === false && oldVal === true) {\n // We need to emit a filtered event if isFiltered transitions from true to\n // false so that users can update their pagination controls.\n this.$emit('filtered', this.localItems, this.localItems.length)\n }\n }\n },\n created() {\n // Create non-reactive prop where we store the debounce timer id\n this.$_filterTimer = null\n // If filter is \"pre-set\", set the criteria\n // This will trigger any watchers/dependents\n // this.localFilter = this.filterSanitize(this.filter)\n // Set the initial filtered state in a `$nextTick()` so that\n // we trigger a filtered event if needed\n this.$nextTick(() => {\n this.isFiltered = Boolean(this.localFilter)\n })\n },\n beforeDestroy() /* istanbul ignore next */ {\n clearTimeout(this.$_filterTimer)\n this.$_filterTimer = null\n },\n methods: {\n filterSanitize(criteria) {\n // Sanitizes filter criteria based on internal or external filtering\n if (\n this.localFiltering &&\n !this.localFilterFn &&\n !(isString(criteria) || isRegExp(criteria))\n ) {\n // If using internal filter function, which only accepts string or RegExp,\n // return '' to signify no filter\n return ''\n }\n\n // Could be a string, object or array, as needed by external filter function\n // We use `cloneDeep` to ensure we have a new copy of an object or array\n // without Vue's reactive observers\n return cloneDeep(criteria)\n },\n // Filter Function factories\n filterFnFactory(filterFn, criteria) {\n // Wrapper factory for external filter functions\n // Wrap the provided filter-function and return a new function\n // Returns `null` if no filter-function defined or if criteria is falsey\n // Rather than directly grabbing `this.computedLocalFilterFn` or `this.filterFunction`\n // we have it passed, so that the caller computed prop will be reactive to changes\n // in the original filter-function (as this routine is a method)\n if (\n !filterFn ||\n !isFunction(filterFn) ||\n !criteria ||\n looseEqual(criteria, []) ||\n looseEqual(criteria, {})\n ) {\n return null\n }\n\n // Build the wrapped filter test function, passing the criteria to the provided function\n const fn = item => {\n // Generated function returns true if the criteria matches part\n // of the serialized data, otherwise false\n return filterFn(item, criteria)\n }\n\n // Return the wrapped function\n return fn\n },\n defaultFilterFnFactory(criteria) {\n // Generates the default filter function, using the given filter criteria\n // Returns `null` if no criteria or criteria format not supported\n if (!criteria || !(isString(criteria) || isRegExp(criteria))) {\n // Built in filter can only support strings or RegExp criteria (at the moment)\n return null\n }\n\n // Build the RegExp needed for filtering\n let regExp = criteria\n if (isString(regExp)) {\n // Escape special RegExp characters in the string and convert contiguous\n // whitespace to \\s+ matches\n const pattern = escapeRegExp(criteria).replace(RX_SPACES, '\\\\s+')\n // Build the RegExp (no need for global flag, as we only need\n // to find the value once in the string)\n regExp = new RegExp(`.*${pattern}.*`, 'i')\n }\n\n // Generate the wrapped filter test function to use\n const fn = item => {\n // This searches all row values (and sub property values) in the entire (excluding\n // special `_` prefixed keys), because we convert the record to a space-separated\n // string containing all the value properties (recursively), even ones that are\n // not visible (not specified in this.fields)\n // Users can ignore filtering on specific fields, or on only certain fields,\n // and can optionall specify searching results of fields with formatter\n //\n // TODO: Enable searching on scoped slots (optional, as it will be SLOW)\n //\n // Generated function returns true if the criteria matches part of\n // the serialized data, otherwise false\n //\n // We set `lastIndex = 0` on the `RegExp` in case someone specifies the `/g` global flag\n regExp.lastIndex = 0\n return regExp.test(\n stringifyRecordValues(\n item,\n this.computedFilterIgnored,\n this.computedFilterIncluded,\n this.computedFieldsObj\n )\n )\n }\n\n // Return the generated function\n return fn\n }\n }\n}\n","/*\n * Consistent and stable sort function across JavaScript platforms\n *\n * Inconsistent sorts can cause SSR problems between client and server\n * such as in <b-table> if sortBy is applied to the data on server side render.\n * Chrome and V8 native sorts are inconsistent/unstable\n *\n * This function uses native sort with fallback to index compare when the a and b\n * compare returns 0\n *\n * Algorithm based on:\n * https://stackoverflow.com/questions/1427608/fast-stable-sorting-algorithm-implementation-in-javascript/45422645#45422645\n *\n * @param {array} array to sort\n * @param {function} sort compare function\n * @return {array}\n */\nconst stableSort = (array, compareFn) => {\n // Using `.bind(compareFn)` on the wrapped anonymous function improves\n // performance by avoiding the function call setup. We don't use an arrow\n // function here as it binds `this` to the `stableSort` context rather than\n // the `compareFn` context, which wouldn't give us the performance increase.\n return array\n .map((a, index) => [index, a])\n .sort(\n function(a, b) {\n return this(a[1], b[1]) || a[0] - b[0]\n }.bind(compareFn)\n )\n .map(e => e[1])\n}\n\nexport default stableSort\n","import get from '../../../utils/get'\nimport { isDate, isFunction, isNumber, isUndefinedOrNull } from '../../../utils/inspect'\nimport stringifyObjectValues from './stringify-object-values'\n\n// Default sort compare routine\n//\n// TODO: Add option to sort by multiple columns (tri-state per column,\n// plus order of columns in sort) where sortBy could be an array\n// of objects `[ {key: 'foo', sortDir: 'asc'}, {key:'bar', sortDir: 'desc'} ...]`\n// or an array of arrays `[ ['foo','asc'], ['bar','desc'] ]`\n// Multisort will most likely be handled in mixin-sort.js by\n// calling this method for each sortBy\nconst defaultSortCompare = (a, b, sortBy, sortDesc, formatter, localeOpts, locale, nullLast) => {\n let aa = get(a, sortBy, null)\n let bb = get(b, sortBy, null)\n if (isFunction(formatter)) {\n aa = formatter(aa, sortBy, a)\n bb = formatter(bb, sortBy, b)\n }\n aa = isUndefinedOrNull(aa) ? '' : aa\n bb = isUndefinedOrNull(bb) ? '' : bb\n if ((isDate(aa) && isDate(bb)) || (isNumber(aa) && isNumber(bb))) {\n // Special case for comparing dates and numbers\n // Internally dates are compared via their epoch number values\n return aa < bb ? -1 : aa > bb ? 1 : 0\n } else if (nullLast && aa === '' && bb !== '') {\n // Special case when sorting null/undefined/empty string last\n return 1\n } else if (nullLast && aa !== '' && bb === '') {\n // Special case when sorting null/undefined/empty string last\n return -1\n }\n // Do localized string comparison\n return stringifyObjectValues(aa).localeCompare(stringifyObjectValues(bb), locale, localeOpts)\n}\n\nexport default defaultSortCompare\n","import stableSort from '../../../utils/stable-sort'\nimport { arrayIncludes } from '../../../utils/array'\nimport { isFunction, isUndefinedOrNull } from '../../../utils/inspect'\nimport { trim } from '../../../utils/string'\nimport defaultSortCompare from './default-sort-compare'\n\nexport default {\n props: {\n sortBy: {\n type: String,\n default: ''\n },\n sortDesc: {\n // TODO: Make this tri-state: true, false, null\n type: Boolean,\n default: false\n },\n sortDirection: {\n // This prop is named incorrectly\n // It should be `initialSortDirection` as it is a bit misleading\n // (not to mention it screws up the ARIA label on the headers)\n type: String,\n default: 'asc',\n validator: direction => arrayIncludes(['asc', 'desc', 'last'], direction)\n },\n sortCompare: {\n type: Function,\n default: null\n },\n sortCompareOptions: {\n // Supported localCompare options, see `options` section of:\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/localeCompare\n type: Object,\n default: () => {\n return { numeric: true }\n }\n },\n sortCompareLocale: {\n // String: locale code\n // Array: array of Locale strings\n type: [String, Array]\n // default: undefined\n },\n sortNullLast: {\n // Sort null and undefined to appear last\n type: Boolean,\n default: false\n },\n noSortReset: {\n // Another prop that should have had a better name.\n // It should be noSortClear (on non-sortable headers).\n // We will need to make sure the documentation is clear on what\n // this prop does (as well as in the code for future reference)\n type: Boolean,\n default: false\n },\n labelSortAsc: {\n type: String,\n default: 'Click to sort Ascending'\n },\n labelSortDesc: {\n type: String,\n default: 'Click to sort Descending'\n },\n labelSortClear: {\n type: String,\n default: 'Click to clear sorting'\n },\n noLocalSorting: {\n type: Boolean,\n default: false\n },\n noFooterSorting: {\n type: Boolean,\n default: false\n },\n sortIconLeft: {\n // Place the sorting icon on the left of the header cells\n type: Boolean,\n default: false\n }\n },\n data() {\n return {\n localSortBy: this.sortBy || '',\n localSortDesc: this.sortDesc || false\n }\n },\n computed: {\n localSorting() {\n return this.hasProvider ? !!this.noProviderSorting : !this.noLocalSorting\n },\n isSortable() {\n return this.computedFields.some(f => f.sortable)\n },\n sortedItems() {\n // Sorts the filtered items and returns a new array of the sorted items\n // or the original items array if not sorted.\n const items = (this.filteredItems || this.localItems || []).slice()\n const sortBy = this.localSortBy\n const sortDesc = this.localSortDesc\n const sortCompare = this.sortCompare\n const localSorting = this.localSorting\n const sortOptions = { ...this.sortCompareOptions, usage: 'sort' }\n const sortLocale = this.sortCompareLocale || undefined\n const nullLast = this.sortNullLast\n if (sortBy && localSorting) {\n const field = this.computedFieldsObj[sortBy] || {}\n const sortByFormatted = field.sortByFormatted\n const formatter = isFunction(sortByFormatted)\n ? sortByFormatted\n : sortByFormatted\n ? this.getFieldFormatter(sortBy)\n : undefined\n // `stableSort` returns a new array, and leaves the original array intact\n return stableSort(items, (a, b) => {\n let result = null\n if (isFunction(sortCompare)) {\n // Call user provided sortCompare routine\n result = sortCompare(a, b, sortBy, sortDesc, formatter, sortOptions, sortLocale)\n }\n if (isUndefinedOrNull(result) || result === false) {\n // Fallback to built-in defaultSortCompare if sortCompare\n // is not defined or returns null/false\n result = defaultSortCompare(\n a,\n b,\n sortBy,\n sortDesc,\n formatter,\n sortOptions,\n sortLocale,\n nullLast\n )\n }\n // Negate result if sorting in descending order\n return (result || 0) * (sortDesc ? -1 : 1)\n })\n }\n return items\n }\n },\n watch: {\n isSortable(newVal) /* istanbul ignore next: pain in the butt to test */ {\n if (newVal) {\n if (this.isSortable) {\n this.$on('head-clicked', this.handleSort)\n }\n } else {\n this.$off('head-clicked', this.handleSort)\n }\n },\n sortDesc(newVal) {\n if (newVal === this.localSortDesc) {\n /* istanbul ignore next */\n return\n }\n this.localSortDesc = newVal || false\n },\n sortBy(newVal) {\n if (newVal === this.localSortBy) {\n /* istanbul ignore next */\n return\n }\n this.localSortBy = newVal || ''\n },\n // Update .sync props\n localSortDesc(newVal, oldVal) {\n // Emit update to sort-desc.sync\n if (newVal !== oldVal) {\n this.$emit('update:sortDesc', newVal)\n }\n },\n localSortBy(newVal, oldVal) {\n if (newVal !== oldVal) {\n this.$emit('update:sortBy', newVal)\n }\n }\n },\n created() {\n if (this.isSortable) {\n this.$on('head-clicked', this.handleSort)\n }\n },\n methods: {\n // Handlers\n // Need to move from thead-mixin\n handleSort(key, field, evt, isFoot) {\n if (!this.isSortable) {\n /* istanbul ignore next */\n return\n }\n if (isFoot && this.noFooterSorting) {\n return\n }\n // TODO: make this tri-state sorting\n // cycle desc => asc => none => desc => ...\n let sortChanged = false\n const toggleLocalSortDesc = () => {\n const sortDirection = field.sortDirection || this.sortDirection\n if (sortDirection === 'asc') {\n this.localSortDesc = false\n } else if (sortDirection === 'desc') {\n this.localSortDesc = true\n } else {\n // sortDirection === 'last'\n // Leave at last sort direction from previous column\n }\n }\n if (field.sortable) {\n if (key === this.localSortBy) {\n // Change sorting direction on current column\n this.localSortDesc = !this.localSortDesc\n } else {\n // Start sorting this column ascending\n this.localSortBy = key\n // this.localSortDesc = false\n toggleLocalSortDesc()\n }\n sortChanged = true\n } else if (this.localSortBy && !this.noSortReset) {\n this.localSortBy = ''\n toggleLocalSortDesc()\n sortChanged = true\n }\n if (sortChanged) {\n // Sorting parameters changed\n this.$emit('sort-changed', this.context)\n }\n },\n // methods to compute classes and attrs for thead>th cells\n sortTheadThClasses(key, field, isFoot) {\n return {\n // If sortable and sortIconLeft are true, then place sort icon on the left\n 'b-table-sort-icon-left':\n field.sortable && this.sortIconLeft && !(isFoot && this.noFooterSorting)\n }\n },\n sortTheadThAttrs(key, field, isFoot) {\n if (!this.isSortable || (isFoot && this.noFooterSorting)) {\n // No attributes if not a sortable table\n return {}\n }\n const sortable = field.sortable\n // Assemble the aria-sort attribute value\n const ariaSort =\n sortable && this.localSortBy === key\n ? this.localSortDesc\n ? 'descending'\n : 'ascending'\n : sortable\n ? 'none'\n : null\n // Return the attribute\n return {\n 'aria-sort': ariaSort\n }\n },\n sortTheadThLabel(key, field, isFoot) {\n // A label to be placed in an `.sr-only` element in the header cell\n if (!this.isSortable || (isFoot && this.noFooterSorting)) {\n // No label if not a sortable table\n return null\n }\n const sortable = field.sortable\n // The correctness of these labels is very important for screen-reader users.\n let labelSorting = ''\n if (sortable) {\n if (this.localSortBy === key) {\n // currently sorted sortable column.\n labelSorting = this.localSortDesc ? this.labelSortAsc : this.labelSortDesc\n } else {\n // Not currently sorted sortable column.\n // Not using nested ternary's here for clarity/readability\n // Default for ariaLabel\n labelSorting = this.localSortDesc ? this.labelSortDesc : this.labelSortAsc\n // Handle sortDirection setting\n const sortDirection = this.sortDirection || field.sortDirection\n if (sortDirection === 'asc') {\n labelSorting = this.labelSortAsc\n } else if (sortDirection === 'desc') {\n labelSorting = this.labelSortDesc\n }\n }\n } else if (!this.noSortReset) {\n // Non sortable column\n labelSorting = this.localSortBy ? this.labelSortClear : ''\n }\n // Return the sr-only sort label or null if no label\n return trim(labelSorting) || null\n }\n }\n}\n","export default {\n props: {\n perPage: {\n type: [Number, String],\n default: 0\n },\n currentPage: {\n type: [Number, String],\n default: 1\n }\n },\n computed: {\n localPaging() {\n return this.hasProvider ? !!this.noProviderPaging : true\n },\n paginatedItems() {\n let items = this.sortedItems || this.filteredItems || this.localItems || []\n const currentPage = Math.max(parseInt(this.currentPage, 10) || 1, 1)\n const perPage = Math.max(parseInt(this.perPage, 10) || 0, 0)\n // Apply local pagination\n if (this.localPaging && !!perPage) {\n // Grab the current page of data (which may be past filtered items limit)\n items = items.slice((currentPage - 1) * perPage, currentPage * perPage)\n }\n // Return the items to display in the table\n return items\n }\n }\n}\n","import { htmlOrText } from '../../../utils/html'\n\nexport default {\n props: {\n // `caption-top` is part of table-redere mixin (styling)\n // captionTop: {\n // type: Boolean,\n // default: false\n // },\n caption: {\n type: String,\n default: null\n },\n captionHtml: {\n type: String\n }\n },\n computed: {\n captionId() {\n // Even though `this.safeId` looks like a method, it is a computed prop\n // that returns a new function if the underlying ID changes\n return this.isStacked ? this.safeId('_caption_') : null\n }\n },\n methods: {\n renderCaption() {\n const h = this.$createElement\n\n // Build the caption\n const $captionSlot = this.normalizeSlot('table-caption')\n let $caption = h()\n\n if ($captionSlot || this.caption || this.captionHtml) {\n const data = {\n key: 'caption',\n attrs: { id: this.captionId }\n }\n if (!$captionSlot) {\n data.domProps = htmlOrText(this.captionHtml, this.caption)\n }\n $caption = h('caption', data, [$captionSlot])\n }\n\n return $caption\n }\n }\n}\n","export default {\n methods: {\n renderColgroup() {\n const h = this.$createElement\n\n const fields = this.computedFields\n let $colgroup = h()\n\n if (this.hasNormalizedSlot('table-colgroup')) {\n $colgroup = h('colgroup', { key: 'colgroup' }, [\n this.normalizeSlot('table-colgroup', { columns: fields.length, fields: fields })\n ])\n }\n\n return $colgroup\n }\n }\n}\n","import { closest, getAttr, getById, matches, select } from '../../../utils/dom'\nimport { EVENT_FILTER } from './constants'\n\nconst TABLE_TAG_NAMES = ['TD', 'TH', 'TR']\n\n// Returns `true` if we should ignore the click/double-click/keypress event\n// Avoids having the user need to use `@click.stop` on the form control\nconst filterEvent = evt => {\n // Exit early when we don't have a target element\n if (!evt || !evt.target) {\n /* istanbul ignore next */\n return false\n }\n const el = evt.target\n // Exit early when element is disabled or a table element\n if (el.disabled || TABLE_TAG_NAMES.indexOf(el.tagName) !== -1) {\n return false\n }\n // Ignore the click when it was inside a dropdown menu\n if (closest('.dropdown-menu', el)) {\n return true\n }\n const label = el.tagName === 'LABEL' ? el : closest('label', el)\n // If the label's form control is not disabled then we don't propagate event\n // Modern browsers have `label.control` that references the associated input, but IE 11\n // does not have this property on the label element, so we resort to DOM lookups\n if (label) {\n const labelFor = getAttr(label, 'for')\n const input = labelFor ? getById(labelFor) : select('input, select, textarea', label)\n if (input && !input.disabled) {\n return true\n }\n }\n // Otherwise check if the event target matches one of the selectors in the\n // event filter (i.e. anchors, non disabled inputs, etc.)\n // Return `true` if we should ignore the event\n return matches(el, EVENT_FILTER)\n}\n\nexport default filterEvent\n","import { getSel, isElement } from '../../../utils/dom'\n\n// Helper to determine if a there is an active text selection on the document page\n// Used to filter out click events caused by the mouse up at end of selection\n//\n// Accepts an element as only argument to test to see if selection overlaps or is\n// contained within the element\nconst textSelectionActive = (el = document) => {\n const sel = getSel()\n return sel && sel.toString().trim() !== '' && sel.containsNode && isElement(el)\n ? sel.containsNode(el, true)\n : false\n}\n\nexport default textSelectionActive\n","import Vue from '../../utils/vue'\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\n\nexport const props = {\n headVariant: {\n // Also sniffed by <b-tr> / <b-td> / <b-th>\n type: String, // supported values: 'lite', 'dark', or null\n default: null\n }\n}\n\n// @vue/component\nexport const BThead = /*#__PURE__*/ Vue.extend({\n name: 'BThead',\n mixins: [normalizeSlotMixin],\n inheritAttrs: false,\n provide() {\n return {\n bvTableRowGroup: this\n }\n },\n inject: {\n bvTable: {\n // Sniffed by <b-tr> / <b-td> / <b-th>\n default() /* istanbul ignore next */ {\n return {}\n }\n }\n },\n props,\n computed: {\n isThead() {\n // Sniffed by <b-tr> / <b-td> / <b-th>\n return true\n },\n isDark() {\n // Sniffed by <b-tr> / <b-td> / <b-th>\n return this.bvTable.dark\n },\n isStacked() {\n // Sniffed by <b-tr> / <b-td> / <b-th>\n return this.bvTable.isStacked\n },\n isResponsive() {\n // Sniffed by <b-tr> / <b-td> / <b-th>\n return this.bvTable.isResponsive\n },\n isStickyHeader() {\n // Sniffed by <b-tr> / <b-td> / <b-th>\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n // Sticky headers only apply to cells in table `thead`\n return !this.isStacked && this.bvTable.stickyHeader\n },\n hasStickyHeader() {\n // Sniffed by <b-tr> / <b-td> / <b-th>\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n return !this.isStacked && this.bvTable.stickyHeader\n },\n tableVariant() {\n // Sniffed by <b-tr> / <b-td> / <b-th>\n return this.bvTable.tableVariant\n },\n theadClasses() {\n return [this.headVariant ? `thead-${this.headVariant}` : null]\n },\n theadAttrs() {\n return { role: 'rowgroup', ...this.$attrs }\n }\n },\n render(h) {\n return h(\n 'thead',\n {\n class: this.theadClasses,\n attrs: this.theadAttrs,\n // Pass down any native listeners\n on: this.$listeners\n },\n this.normalizeSlot('default')\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\n\nexport const props = {\n footVariant: {\n type: String, // supported values: 'lite', 'dark', or null\n default: null\n }\n}\n\n// @vue/component\nexport const BTfoot = /*#__PURE__*/ Vue.extend({\n name: 'BTfoot',\n mixins: [normalizeSlotMixin],\n inheritAttrs: false,\n provide() {\n return {\n bvTableRowGroup: this\n }\n },\n inject: {\n bvTable: {\n // Sniffed by <b-tr> / <b-td> / <b-th>\n default() /* istanbul ignore next */ {\n return {}\n }\n }\n },\n props,\n computed: {\n isTfoot() {\n // Sniffed by <b-tr> / <b-td> / <b-th>\n return true\n },\n isDark() /* istanbul ignore next: Not currently sniffed in tests */ {\n // Sniffed by <b-tr> / <b-td> / <b-th>\n return this.bvTable.dark\n },\n isStacked() {\n // Sniffed by <b-tr> / <b-td> / <b-th>\n return this.bvTable.isStacked\n },\n isResponsive() {\n // Sniffed by <b-tr> / <b-td> / <b-th>\n return this.bvTable.isResponsive\n },\n isStickyHeader() {\n // Sniffed by <b-tr> / <b-td> / <b-th>\n // Sticky headers are only supported in thead\n return false\n },\n hasStickyHeader() {\n // Sniffed by <b-tr> / <b-td> / <b-th>\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n return !this.isStacked && this.bvTable.stickyHeader\n },\n tableVariant() /* istanbul ignore next: Not currently sniffed in tests */ {\n // Sniffed by <b-tr> / <b-td> / <b-th>\n return this.bvTable.tableVariant\n },\n tfootClasses() {\n return [this.footVariant ? `thead-${this.footVariant}` : null]\n },\n tfootAttrs() {\n return { role: 'rowgroup', ...this.$attrs }\n }\n },\n render(h) {\n return h(\n 'tfoot',\n {\n class: this.tfootClasses,\n attrs: this.tfootAttrs,\n // Pass down any native listeners\n on: this.$listeners\n },\n this.normalizeSlot('default')\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\n\nexport const props = {\n variant: {\n type: String,\n default: null\n }\n}\n\nconst LIGHT = 'light'\nconst DARK = 'dark'\n\n// @vue/component\nexport const BTr = /*#__PURE__*/ Vue.extend({\n name: 'BTr',\n mixins: [normalizeSlotMixin],\n inheritAttrs: false,\n provide() {\n return {\n bvTableTr: this\n }\n },\n inject: {\n bvTableRowGroup: {\n default() /* istanbul ignore next */ {\n return {}\n }\n }\n },\n props,\n computed: {\n inTbody() {\n // Sniffed by <b-td> / <b-th>\n return this.bvTableRowGroup.isTbody\n },\n inThead() {\n // Sniffed by <b-td> / <b-th>\n return this.bvTableRowGroup.isThead\n },\n inTfoot() {\n // Sniffed by <b-td> / <b-th>\n return this.bvTableRowGroup.isTfoot\n },\n isDark() {\n // Sniffed by <b-td> / <b-th>\n return this.bvTableRowGroup.isDark\n },\n isStacked() {\n // Sniffed by <b-td> / <b-th>\n return this.bvTableRowGroup.isStacked\n },\n isResponsive() {\n // Sniffed by <b-td> / <b-th>\n return this.bvTableRowGroup.isResponsive\n },\n isStickyHeader() {\n // Sniffed by <b-td> / <b-th>\n // Sticky headers are only supported in thead\n return this.bvTableRowGroup.isStickyHeader\n },\n hasStickyHeader() {\n // Sniffed by <b-tr> / <b-td> / <b-th>\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n return !this.isStacked && this.bvTableRowGroup.hasStickyHeader\n },\n tableVariant() {\n // Sniffed by <b-td> / <b-th>\n return this.bvTableRowGroup.tableVariant\n },\n headVariant() {\n // Sniffed by <b-td> / <b-th>\n return this.inThead ? this.bvTableRowGroup.headVariant : null\n },\n footVariant() {\n // Sniffed by <b-td> / <b-th>\n return this.inTfoot ? this.bvTableRowGroup.footVariant : null\n },\n isRowDark() {\n return this.headVariant === LIGHT || this.footVariant === LIGHT\n ? false\n : this.headVariant === DARK || this.footVariant === DARK\n ? true\n : this.isDark\n },\n trClasses() {\n return [this.variant ? `${this.isRowDark ? 'bg' : 'table'}-${this.variant}` : null]\n },\n trAttrs() {\n return { role: 'row', ...this.$attrs }\n }\n },\n render(h) {\n return h(\n 'tr',\n {\n class: this.trClasses,\n attrs: this.trAttrs,\n // Pass native listeners to child\n on: this.$listeners\n },\n this.normalizeSlot('default')\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport { isUndefinedOrNull } from '../../utils/inspect'\nimport { toString } from '../../utils/string'\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\n\nconst digitsRx = /^\\d+$/\n\n// Parse a rowspan or colspan into a digit (or null if < 1 or NaN)\nconst parseSpan = val => {\n val = parseInt(val, 10)\n return digitsRx.test(String(val)) && val > 0 ? val : null\n}\n\n/* istanbul ignore next */\nconst spanValidator = val => isUndefinedOrNull(val) || parseSpan(val) > 0\n\nexport const props = {\n variant: {\n type: String,\n default: null\n },\n colspan: {\n type: [Number, String],\n default: null,\n validator: spanValidator\n },\n rowspan: {\n type: [Number, String],\n default: null,\n validator: spanValidator\n },\n stackedHeading: {\n type: String,\n default: null\n },\n stickyColumn: {\n type: Boolean,\n default: false\n }\n}\n\n// @vue/component\nexport const BTd = /*#__PURE__*/ Vue.extend({\n name: 'BTableCell',\n mixins: [normalizeSlotMixin],\n inheritAttrs: false,\n inject: {\n bvTableTr: {\n default() /* istanbul ignore next */ {\n return {}\n }\n }\n },\n props,\n computed: {\n tag() {\n // Overridden by <b-th>\n return 'td'\n },\n inTbody() {\n return this.bvTableTr.inTbody\n },\n inThead() {\n return this.bvTableTr.inThead\n },\n inTfoot() {\n return this.bvTableTr.inTfoot\n },\n isDark() {\n return this.bvTableTr.isDark\n },\n isStacked() {\n return this.bvTableTr.isStacked\n },\n isStackedCell() {\n // We only support stacked-heading in tbody in stacked mode\n return this.inTbody && this.isStacked\n },\n isResponsive() {\n return this.bvTableTr.isResponsive\n },\n isStickyHeader() {\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n // Sticky headers only apply to cells in table `thead`\n return this.bvTableTr.isStickyHeader\n },\n hasStickyHeader() {\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n return this.bvTableTr.hasStickyHeader\n },\n isStickyColumn() {\n // Needed to handle background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n // Sticky column cells are only available in responsive\n // mode (horizontal scrolling) or when sticky header mode\n // Applies to cells in `thead`, `tbody` and `tfoot`\n return !this.isStacked && (this.isResponsive || this.hasStickyHeader) && this.stickyColumn\n },\n rowVariant() {\n return this.bvTableTr.variant\n },\n headVariant() {\n return this.bvTableTr.headVariant\n },\n footVariant() /* istanbul ignore next: need to add in tests for footer variant */ {\n return this.bvTableTr.footVariant\n },\n tableVariant() {\n return this.bvTableTr.tableVariant\n },\n computedColspan() {\n return parseSpan(this.colspan)\n },\n computedRowspan() {\n return parseSpan(this.rowspan)\n },\n cellClasses() {\n // We use computed props here for improved performance by caching\n // the results of the string interpolation\n // TODO: need to add handling for footVariant\n let variant = this.variant\n if (\n (!variant && this.isStickyHeader && !this.headVariant) ||\n (!variant && this.isStickyColumn)\n ) {\n // Needed for sticky-header mode as Bootstrap v4 table cells do\n // not inherit parent's background-color. Boo!\n variant = this.rowVariant || this.tableVariant || 'b-table-default'\n }\n return [\n variant ? `${this.isDark ? 'bg' : 'table'}-${variant}` : null,\n this.isStickyColumn ? 'b-table-sticky-column' : null\n ]\n },\n cellAttrs() {\n // We use computed props here for improved performance by caching\n // the results of the object spread (Object.assign)\n const headOrFoot = this.inThead || this.inTfoot\n // Make sure col/rowspan's are > 0 or null\n const colspan = this.computedColspan\n const rowspan = this.computedRowspan\n // Default role and scope\n let role = 'cell'\n let scope = null\n\n // Compute role and scope\n // We only add scopes with an explicit span of 1 or greater\n if (headOrFoot) {\n // Header or footer cells\n role = 'columnheader'\n scope = colspan > 0 ? 'colspan' : 'col'\n } else if (this.tag === 'th') {\n // th's in tbody\n role = 'rowheader'\n scope = rowspan > 0 ? 'rowgroup' : 'row'\n }\n\n return {\n colspan: colspan,\n rowspan: rowspan,\n role: role,\n scope: scope,\n // Allow users to override role/scope plus add other attributes\n ...this.$attrs,\n // Add in the stacked cell label data-attribute if in\n // stacked mode (if a stacked heading label is provided)\n 'data-label':\n this.isStackedCell && !isUndefinedOrNull(this.stackedHeading)\n ? toString(this.stackedHeading)\n : null\n }\n }\n },\n render(h) {\n const content = [this.normalizeSlot('default')]\n return h(\n this.tag,\n {\n class: this.cellClasses,\n attrs: this.cellAttrs,\n // Transfer any native listeners\n on: this.$listeners\n },\n [this.isStackedCell ? h('div', [content]) : content]\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport { BTd } from './td'\n\n// @vue/component\nexport const BTh = /*#__PURE__*/ Vue.extend({\n name: 'BTh',\n extends: BTd,\n computed: {\n tag() {\n return 'th'\n }\n }\n})\n","import identity from '../../../utils/identity'\nimport KeyCodes from '../../../utils/key-codes'\nimport startCase from '../../../utils/startcase'\nimport { getComponentConfig } from '../../../utils/config'\nimport { htmlOrText } from '../../../utils/html'\nimport { isUndefinedOrNull } from '../../../utils/inspect'\nimport filterEvent from './filter-event'\nimport textSelectionActive from './text-selection-active'\nimport { BThead } from '../thead'\nimport { BTfoot } from '../tfoot'\nimport { BTr } from '../tr'\nimport { BTh } from '../th'\n\nexport default {\n props: {\n headVariant: {\n type: String, // 'light', 'dark' or `null` (or custom)\n default: () => getComponentConfig('BTable', 'headVariant')\n },\n headRowVariant: {\n type: String, // Any Bootstrap theme variant (or custom)\n default: null\n },\n theadClass: {\n type: [String, Array, Object]\n // default: undefined\n },\n theadTrClass: {\n type: [String, Array, Object]\n // default: undefined\n }\n },\n methods: {\n fieldClasses(field) {\n // Header field (<th>) classes\n return [field.class ? field.class : '', field.thClass ? field.thClass : '']\n },\n headClicked(evt, field, isFoot) {\n if (this.stopIfBusy && this.stopIfBusy(evt)) {\n // If table is busy (via provider) then don't propagate\n return\n } else if (filterEvent(evt)) {\n // Clicked on a non-disabled control so ignore\n return\n } else if (textSelectionActive(this.$el)) {\n // User is selecting text, so ignore\n /* istanbul ignore next: JSDOM doesn't support getSelection() */\n return\n }\n evt.stopPropagation()\n evt.preventDefault()\n this.$emit('head-clicked', field.key, field, evt, isFoot)\n },\n renderThead(isFoot = false) {\n const h = this.$createElement\n const fields = this.computedFields || []\n\n if (this.isStackedAlways || fields.length === 0) {\n // In always stacked mode, we don't bother rendering the head/foot\n // Or if no field headings (empty table)\n return h()\n }\n\n // Reference to `selectAllRows` and `clearSelected()`, if table is selectable\n const selectAllRows = this.isSelectable ? this.selectAllRows : () => {}\n const clearSelected = this.isSelectable ? this.clearSelected : () => {}\n\n // Helper function to generate a field <th> cell\n const makeCell = (field, colIndex) => {\n let ariaLabel = null\n if (!field.label.trim() && !field.headerTitle) {\n // In case field's label and title are empty/blank\n // We need to add a hint about what the column is about for non-sighted users\n /* istanbul ignore next */\n ariaLabel = startCase(field.key)\n }\n const hasHeadClickListener = this.hasListener('head-clicked') || this.isSortable\n const handlers = {}\n if (hasHeadClickListener) {\n handlers.click = evt => {\n this.headClicked(evt, field, isFoot)\n }\n handlers.keydown = evt => {\n const keyCode = evt.keyCode\n if (keyCode === KeyCodes.ENTER || keyCode === KeyCodes.SPACE) {\n this.headClicked(evt, field, isFoot)\n }\n }\n }\n const sortAttrs = this.isSortable ? this.sortTheadThAttrs(field.key, field, isFoot) : {}\n const sortClass = this.isSortable ? this.sortTheadThClasses(field.key, field, isFoot) : null\n const sortLabel = this.isSortable ? this.sortTheadThLabel(field.key, field, isFoot) : null\n const data = {\n key: field.key,\n class: [this.fieldClasses(field), sortClass],\n props: {\n variant: field.variant,\n stickyColumn: field.stickyColumn\n },\n style: field.thStyle || {},\n attrs: {\n // We only add a tabindex of 0 if there is a head-clicked listener\n tabindex: hasHeadClickListener ? '0' : null,\n abbr: field.headerAbbr || null,\n title: field.headerTitle || null,\n 'aria-colindex': colIndex + 1,\n 'aria-label': ariaLabel,\n ...this.getThValues(null, field.key, field.thAttr, isFoot ? 'foot' : 'head', {}),\n ...sortAttrs\n },\n on: handlers\n }\n // Handle edge case where in-document templates are used with new\n // `v-slot:name` syntax where the browser lower-cases the v-slot's\n // name (attributes become lower cased when parsed by the browser)\n // We have replaced the square bracket syntax with round brackets\n // to prevent confusion with dynamic slot names\n let slotNames = [`head(${field.key})`, `head(${field.key.toLowerCase()})`, 'head()']\n if (isFoot) {\n // Footer will fallback to header slot names\n slotNames = [\n `foot(${field.key})`,\n `foot(${field.key.toLowerCase()})`,\n 'foot()',\n ...slotNames\n ]\n }\n const scope = {\n label: field.label,\n column: field.key,\n field,\n isFoot,\n // Add in row select methods\n selectAllRows,\n clearSelected\n }\n const content =\n this.normalizeSlot(slotNames, scope) ||\n (field.labelHtml ? h('div', { domProps: htmlOrText(field.labelHtml) }) : field.label)\n const srLabel = sortLabel ? h('span', { staticClass: 'sr-only' }, ` (${sortLabel})`) : null\n // Return the header cell\n return h(BTh, data, [content, srLabel].filter(identity))\n }\n\n // Generate the array of <th> cells\n const $cells = fields.map(makeCell).filter(identity)\n\n // Genrate the row(s)\n const $trs = []\n if (isFoot) {\n const trProps = {\n variant: isUndefinedOrNull(this.footRowVariant)\n ? this.headRowVariant\n : this.footRowVariant\n }\n $trs.push(h(BTr, { class: this.tfootTrClass, props: trProps }, $cells))\n } else {\n const scope = {\n columns: fields.length,\n fields: fields,\n // Add in row select methods\n selectAllRows,\n clearSelected\n }\n $trs.push(this.normalizeSlot('thead-top', scope) || h())\n $trs.push(\n h(BTr, { class: this.theadTrClass, props: { variant: this.headRowVariant } }, $cells)\n )\n }\n\n return h(\n isFoot ? BTfoot : BThead,\n {\n key: isFoot ? 'bv-tfoot' : 'bv-thead',\n class: (isFoot ? this.tfootClass : this.theadClass) || null,\n props: isFoot\n ? { footVariant: this.footVariant || this.headVariant || null }\n : { headVariant: this.headVariant || null }\n },\n $trs\n )\n }\n }\n}\n","import { getComponentConfig } from '../../../utils/config'\nimport { BTfoot } from '../tfoot'\n\nexport default {\n props: {\n footClone: {\n type: Boolean,\n default: false\n },\n footVariant: {\n type: String, // 'dark', 'light', or `null` (or custom)\n default: () => getComponentConfig('BTable', 'footVariant')\n },\n footRowVariant: {\n type: String, // Any Bootstrap theme variant (or custom). Falls back to `headRowVariant`\n default: null\n },\n tfootClass: {\n type: [String, Array, Object],\n default: null\n },\n tfootTrClass: {\n type: [String, Array, Object],\n default: null\n }\n },\n methods: {\n renderTFootCustom() {\n const h = this.$createElement\n if (this.hasNormalizedSlot('custom-foot')) {\n return h(\n BTfoot,\n {\n key: 'bv-tfoot-custom',\n class: this.tfootClass || null,\n props: { footVariant: this.footVariant || this.headVariant || null }\n },\n this.normalizeSlot('custom-foot', {\n items: this.computedItems.slice(),\n fields: this.computedFields.slice(),\n columns: this.computedFields.length\n })\n )\n } else {\n return h()\n }\n },\n renderTfoot() {\n // Passing true to renderThead will make it render a tfoot\n return this.footClone ? this.renderThead(true) : this.renderTFootCustom()\n }\n }\n}\n","import Vue from '../../utils/vue'\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\n\nexport const props = {\n tbodyTransitionProps: {\n type: Object\n // default: undefined\n },\n tbodyTransitionHandlers: {\n type: Object\n // default: undefined\n }\n}\n\n// @vue/component\nexport const BTbody = /*#__PURE__*/ Vue.extend({\n name: 'BTbody',\n mixins: [normalizeSlotMixin],\n inheritAttrs: false,\n provide() {\n return {\n bvTableRowGroup: this\n }\n },\n inject: {\n bvTable: {\n // Sniffed by <b-tr> / <b-td> / <b-th>\n default() /* istanbul ignore next */ {\n return {}\n }\n }\n },\n props,\n computed: {\n isTbody() {\n // Sniffed by <b-tr> / <b-td> / <b-th>\n return true\n },\n isDark() {\n // Sniffed by <b-tr> / <b-td> / <b-th>\n return this.bvTable.dark\n },\n isStacked() {\n // Sniffed by <b-tr> / <b-td> / <b-th>\n return this.bvTable.isStacked\n },\n isResponsive() {\n // Sniffed by <b-tr> / <b-td> / <b-th>\n return this.bvTable.isResponsive\n },\n isStickyHeader() {\n // Sniffed by <b-tr> / <b-td> / <b-th>\n // Sticky headers are only supported in thead\n return false\n },\n hasStickyHeader() {\n // Sniffed by <b-tr> / <b-td> / <b-th>\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n return !this.isStacked && this.bvTable.stickyHeader\n },\n tableVariant() /* istanbul ignore next: Not currently sniffed in tests */ {\n // Sniffed by <b-tr> / <b-td> / <b-th>\n return this.bvTable.tableVariant\n },\n isTransitionGroup() {\n return this.tbodyTransitionProps || this.tbodyTransitionHandlers\n },\n tbodyAttrs() {\n return { role: 'rowgroup', ...this.$attrs }\n },\n tbodyProps() {\n return this.tbodyTransitionProps ? { ...this.tbodyTransitionProps, tag: 'tbody' } : {}\n }\n },\n render(h) {\n const data = {\n props: this.tbodyProps,\n attrs: this.tbodyAttrs\n }\n if (this.isTransitionGroup) {\n // We use native listeners if a transition group\n // for any delegated events\n data.on = this.tbodyTransitionHandlers || {}\n data.nativeOn = this.$listeners || {}\n } else {\n // Otherwise we place any listeners on the tbody element\n data.on = this.$listeners || {}\n }\n return h(\n this.isTransitionGroup ? 'transition-group' : 'tbody',\n data,\n this.normalizeSlot('default')\n )\n }\n})\n","import get from '../../../utils/get'\nimport { isFunction, isString, isUndefinedOrNull } from '../../../utils/inspect'\nimport { toString } from '../../../utils/string'\nimport { BTr } from '../tr'\nimport { BTd } from '../td'\nimport { BTh } from '../th'\n\nconst detailsSlotName = 'row-details'\n\nexport default {\n props: {\n tbodyTrClass: {\n type: [String, Array, Object, Function],\n default: null\n },\n tbodyTrAttr: {\n type: [Object, Function],\n default: null\n },\n detailsTdClass: {\n type: [String, Array, Object],\n default: null\n }\n },\n methods: {\n // Methods for computing classes, attributes and styles for table cells\n getTdValues(item, key, tdValue, defValue) {\n const parent = this.$parent\n if (tdValue) {\n const value = get(item, key, '')\n if (isFunction(tdValue)) {\n return tdValue(value, key, item)\n } else if (isString(tdValue) && isFunction(parent[tdValue])) {\n return parent[tdValue](value, key, item)\n }\n return tdValue\n }\n return defValue\n },\n getThValues(item, key, thValue, type, defValue) {\n const parent = this.$parent\n if (thValue) {\n const value = get(item, key, '')\n if (isFunction(thValue)) {\n return thValue(value, key, item, type)\n } else if (isString(thValue) && isFunction(parent[thValue])) {\n return parent[thValue](value, key, item, type)\n }\n return thValue\n }\n return defValue\n },\n // Method to get the value for a field\n getFormattedValue(item, field) {\n const key = field.key\n const formatter = this.getFieldFormatter(key)\n let value = get(item, key, null)\n if (isFunction(formatter)) {\n value = formatter(value, key, item)\n }\n return isUndefinedOrNull(value) ? '' : value\n },\n // Factory function methods\n toggleDetailsFactory(hasDetailsSlot, item) {\n // Returns a function to toggle a row's details slot\n return () => {\n if (hasDetailsSlot) {\n this.$set(item, '_showDetails', !item._showDetails)\n }\n }\n },\n // Row event handlers\n rowHovered(evt) {\n // `mouseenter` handler (non-bubbling)\n // `this.tbodyRowEvtStopped` from tbody mixin\n if (!this.tbodyRowEvtStopped(evt)) {\n // `this.emitTbodyRowEvent` from tbody mixin\n this.emitTbodyRowEvent('row-hovered', evt)\n }\n },\n rowUnhovered(evt) {\n // `mouseleave` handler (non-bubbling)\n // `this.tbodyRowEvtStopped` from tbody mixin\n if (!this.tbodyRowEvtStopped(evt)) {\n // `this.emitTbodyRowEvent` from tbody mixin\n this.emitTbodyRowEvent('row-unhovered', evt)\n }\n },\n // Render helpers\n renderTbodyRowCell(field, colIndex, item, rowIndex) {\n // Renders a TD or TH for a row's field\n const h = this.$createElement\n const hasDetailsSlot = this.hasNormalizedSlot(detailsSlotName)\n const formatted = this.getFormattedValue(item, field)\n const key = field.key\n const stickyColumn =\n !this.isStacked && (this.isResponsive || this.stickyHeader) && field.stickyColumn\n // We only uses the helper components for sticky columns to\n // improve performance of BTable/BTableLite by reducing the\n // total number of vue instances created during render\n const cellTag = stickyColumn\n ? field.isRowHeader\n ? BTh\n : BTd\n : field.isRowHeader\n ? 'th'\n : 'td'\n const cellVariant =\n item._cellVariants && item._cellVariants[key]\n ? item._cellVariants[key]\n : field.variant || null\n const data = {\n // For the Vue key, we concatenate the column index and\n // field key (as field keys could be duplicated)\n // TODO: Although we do prevent duplicate field keys...\n // So we could change this to: `row-${rowIndex}-cell-${key}`\n key: `row-${rowIndex}-cell-${colIndex}-${key}`,\n class: [field.class ? field.class : '', this.getTdValues(item, key, field.tdClass, '')],\n props: {},\n attrs: {\n 'aria-colindex': String(colIndex + 1),\n ...(field.isRowHeader\n ? this.getThValues(item, key, field.thAttr, 'row', {})\n : this.getTdValues(item, key, field.tdAttr, {}))\n }\n }\n if (stickyColumn) {\n // We are using the helper BTd or BTh\n data.props = {\n stackedHeading: this.isStacked ? field.label : null,\n stickyColumn: true,\n variant: cellVariant\n }\n } else {\n // Using native TD or TH element, so we need to\n // add in the attributes and variant class\n data.attrs['data-label'] =\n this.isStacked && !isUndefinedOrNull(field.label) ? toString(field.label) : null\n data.attrs.role = field.isRowHeader ? 'rowheader' : 'cell'\n data.attrs.scope = field.isRowHeader ? 'row' : null\n // Add in the variant class\n if (cellVariant) {\n data.class.push(`${this.dark ? 'bg' : 'table'}-${cellVariant}`)\n }\n }\n const slotScope = {\n item: item,\n index: rowIndex,\n field: field,\n unformatted: get(item, key, ''),\n value: formatted,\n toggleDetails: this.toggleDetailsFactory(hasDetailsSlot, item),\n detailsShowing: Boolean(item._showDetails)\n }\n // If table supports selectable mode, then add in the following scope\n // this.supportsSelectableRows will be undefined if mixin isn't loaded\n if (this.supportsSelectableRows) {\n slotScope.rowSelected = this.isRowSelected(rowIndex)\n slotScope.selectRow = () => this.selectRow(rowIndex)\n slotScope.unselectRow = () => this.unselectRow(rowIndex)\n }\n // The new `v-slot` syntax doesn't like a slot name starting with\n // a square bracket and if using in-document HTML templates, the\n // v-slot attributes are lower-cased by the browser.\n // Switched to round bracket syntax to prevent confusion with\n // dynamic slot name syntax.\n // We look for slots in this order: `cell(${key})`, `cell(${key.toLowerCase()})`, 'cell()'\n // Slot names are now cached by mixin tbody in `this.$_bodyFieldSlotNameCache`\n // Will be `null` if no slot (or fallback slot) exists\n const slotName = this.$_bodyFieldSlotNameCache[key]\n let $childNodes = slotName ? this.normalizeSlot(slotName, slotScope) : toString(formatted)\n if (this.isStacked) {\n // We wrap in a DIV to ensure rendered as a single cell when visually stacked!\n $childNodes = [h('div', [$childNodes])]\n }\n // Render either a td or th cell\n return h(cellTag, data, [$childNodes])\n },\n renderTbodyRow(item, rowIndex) {\n // Renders an item's row (or rows if details supported)\n const h = this.$createElement\n const fields = this.computedFields\n const tableStriped = this.striped\n const hasDetailsSlot = this.hasNormalizedSlot(detailsSlotName)\n const rowShowDetails = item._showDetails && hasDetailsSlot\n const hasRowClickHandler = this.$listeners['row-clicked'] || this.hasSelectableRowClick\n\n // We can return more than one TR if rowDetails enabled\n const $rows = []\n\n // Details ID needed for `aria-details` when details showing\n // We set it to `null` when not showing so that attribute\n // does not appear on the element\n const detailsId = rowShowDetails ? this.safeId(`_details_${rowIndex}_`) : null\n\n // For each item data field in row\n const $tds = fields.map((field, colIndex) => {\n return this.renderTbodyRowCell(field, colIndex, item, rowIndex)\n })\n\n // Calculate the row number in the dataset (indexed from 1)\n let ariaRowIndex = null\n if (this.currentPage && this.perPage && this.perPage > 0) {\n ariaRowIndex = String((this.currentPage - 1) * this.perPage + rowIndex + 1)\n }\n\n // Create a unique :key to help ensure that sub components are re-rendered rather than\n // re-used, which can cause issues. If a primary key is not provided we use the rendered\n // rows index within the tbody.\n // See: https://github.com/bootstrap-vue/bootstrap-vue/issues/2410\n const primaryKey = this.primaryKey\n const primaryKeyValue = toString(get(item, primaryKey)) || null\n const rowKey = primaryKeyValue || toString(rowIndex)\n\n // If primary key is provided, use it to generate a unique ID on each tbody > tr\n // In the format of '{tableId}__row_{primaryKeyValue}'\n const rowId = primaryKeyValue ? this.safeId(`_row_${primaryKeyValue}`) : null\n\n // Selectable classes and attributes\n const selectableClasses = this.selectableRowClasses ? this.selectableRowClasses(rowIndex) : {}\n const selectableAttrs = this.selectableRowAttrs ? this.selectableRowAttrs(rowIndex) : {}\n\n // Additional classes and attributes\n const userTrClasses = isFunction(this.tbodyTrClass)\n ? this.tbodyTrClass(item, 'row')\n : this.tbodyTrClass\n const userTrAttrs = isFunction(this.tbodyTrAttr)\n ? this.tbodyTrAttr(item, 'row')\n : this.tbodyTrAttr\n\n // Add the item row\n $rows.push(\n h(\n BTr,\n {\n key: `__b-table-row-${rowKey}__`,\n ref: 'itemRows',\n refInFor: true,\n class: [userTrClasses, selectableClasses, rowShowDetails ? 'b-table-has-details' : ''],\n props: { variant: item._rowVariant || null },\n attrs: {\n id: rowId,\n ...userTrAttrs,\n // Users cannot override the following attributes\n tabindex: hasRowClickHandler ? '0' : null,\n 'data-pk': primaryKeyValue || null,\n 'aria-details': detailsId,\n 'aria-owns': detailsId,\n 'aria-rowindex': ariaRowIndex,\n ...selectableAttrs\n },\n on: {\n // Note: These events are not A11Y friendly!\n mouseenter: this.rowHovered,\n mouseleave: this.rowUnhovered\n }\n },\n $tds\n )\n )\n\n // Row Details slot\n if (rowShowDetails) {\n const detailsScope = {\n item: item,\n index: rowIndex,\n fields: fields,\n toggleDetails: this.toggleDetailsFactory(hasDetailsSlot, item)\n }\n // If table supports selectable mode, then add in the following scope\n // this.supportsSelectableRows will be undefined if mixin isn't loaded\n if (this.supportsSelectableRows) {\n detailsScope.rowSelected = this.isRowSelected(rowIndex)\n detailsScope.selectRow = () => this.selectRow(rowIndex)\n detailsScope.unselectRow = () => this.unselectRow(rowIndex)\n }\n\n // Render the details slot in a TD\n const $details = h(BTd, { props: { colspan: fields.length }, class: this.detailsTdClass }, [\n this.normalizeSlot(detailsSlotName, detailsScope)\n ])\n\n // Add a hidden row to keep table row striping consistent when details showing\n // Only added if the table is striped\n if (tableStriped) {\n $rows.push(\n // We don't use `BTr` here as we don't need the extra functionality\n h('tr', {\n key: `__b-table-details-stripe__${rowKey}`,\n staticClass: 'd-none',\n attrs: { 'aria-hidden': 'true', role: 'presentation' }\n })\n )\n }\n\n // Add the actual details row\n const userDetailsTrClasses = isFunction(this.tbodyTrClass)\n ? this.tbodyTrClass(item, detailsSlotName)\n : this.tbodyTrClass\n const userDetailsTrAttrs = isFunction(this.tbodyTrAttr)\n ? this.tbodyTrAttr(item, detailsSlotName)\n : this.tbodyTrAttr\n $rows.push(\n h(\n BTr,\n {\n key: `__b-table-details__${rowKey}`,\n staticClass: 'b-table-details',\n class: [userDetailsTrClasses],\n props: { variant: item._rowVariant || null },\n attrs: {\n ...userDetailsTrAttrs,\n // Users cannot override the following attributes\n id: detailsId,\n tabindex: '-1'\n }\n },\n [$details]\n )\n )\n } else if (hasDetailsSlot) {\n // Only add the placeholder if a the table has a row-details slot defined (but not shown)\n $rows.push(h())\n if (tableStriped) {\n // Add extra placeholder if table is striped\n $rows.push(h())\n }\n }\n\n // Return the row(s)\n return $rows\n }\n }\n}\n","import KeyCodes from '../../../utils/key-codes'\nimport { arrayIncludes, from as arrayFrom } from '../../../utils/array'\nimport { closest, isElement } from '../../../utils/dom'\nimport { props as tbodyProps, BTbody } from '../tbody'\nimport filterEvent from './filter-event'\nimport textSelectionActive from './text-selection-active'\nimport tbodyRowMixin from './mixin-tbody-row'\n\nconst props = {\n ...tbodyProps,\n tbodyClass: {\n type: [String, Array, Object]\n // default: undefined\n }\n}\n\nexport default {\n mixins: [tbodyRowMixin],\n props,\n methods: {\n // Helper methods\n getTbodyTrs() {\n // Returns all the item TR elements (excludes detail and spacer rows)\n // `this.$refs.itemRows` is an array of item TR components/elements\n // Rows should all be B-TR components, but we map to TR elements\n // Also note that `this.$refs.itemRows` may not always be in document order\n const refs = this.$refs || {}\n const tbody = refs.tbody ? refs.tbody.$el || refs.tbody : null\n const trs = (refs.itemRows || []).map(tr => tr.$el || tr)\n return tbody && tbody.children && tbody.children.length > 0 && trs && trs.length > 0\n ? arrayFrom(tbody.children).filter(tr => arrayIncludes(trs, tr))\n : []\n },\n getTbodyTrIndex(el) {\n // Returns index of a particular TBODY item TR\n // We set `true` on closest to include self in result\n /* istanbul ignore next: should not normally happen */\n if (!isElement(el)) {\n return -1\n }\n const tr = el.tagName === 'TR' ? el : closest('tr', el, true)\n return tr ? this.getTbodyTrs().indexOf(tr) : -1\n },\n emitTbodyRowEvent(type, evt) {\n // Emits a row event, with the item object, row index and original event\n if (type && this.hasListener(type) && evt && evt.target) {\n const rowIndex = this.getTbodyTrIndex(evt.target)\n if (rowIndex > -1) {\n // The array of TRs correlate to the `computedItems` array\n const item = this.computedItems[rowIndex]\n this.$emit(type, item, rowIndex, evt)\n }\n }\n },\n tbodyRowEvtStopped(evt) {\n return this.stopIfBusy && this.stopIfBusy(evt)\n },\n // Delegated row event handlers\n onTbodyRowKeydown(evt) {\n // Keyboard navigation and row click emulation\n const target = evt.target\n if (\n this.tbodyRowEvtStopped(evt) ||\n target.tagName !== 'TR' ||\n target !== document.activeElement ||\n target.tabIndex !== 0\n ) {\n // Early exit if not an item row TR\n return\n }\n const keyCode = evt.keyCode\n if (arrayIncludes([KeyCodes.ENTER, KeyCodes.SPACE], keyCode)) {\n // Emulated click for keyboard users, transfer to click handler\n evt.stopPropagation()\n evt.preventDefault()\n this.onTBodyRowClicked(evt)\n } else if (\n arrayIncludes([KeyCodes.UP, KeyCodes.DOWN, KeyCodes.HOME, KeyCodes.END], keyCode)\n ) {\n // Keyboard navigation\n const rowIndex = this.getTbodyTrIndex(target)\n if (rowIndex > -1) {\n evt.stopPropagation()\n evt.preventDefault()\n const trs = this.getTbodyTrs()\n const shift = evt.shiftKey\n if (keyCode === KeyCodes.HOME || (shift && keyCode === KeyCodes.UP)) {\n // Focus first row\n trs[0].focus()\n } else if (keyCode === KeyCodes.END || (shift && keyCode === KeyCodes.DOWN)) {\n // Focus last row\n trs[trs.length - 1].focus()\n } else if (keyCode === KeyCodes.UP && rowIndex > 0) {\n // Focus previous row\n trs[rowIndex - 1].focus()\n } else if (keyCode === KeyCodes.DOWN && rowIndex < trs.length - 1) {\n // Focus next row\n trs[rowIndex + 1].focus()\n }\n }\n }\n },\n onTBodyRowClicked(evt) {\n if (this.tbodyRowEvtStopped(evt)) {\n // If table is busy, then don't propagate\n return\n } else if (filterEvent(evt) || textSelectionActive(this.$el)) {\n // Clicked on a non-disabled control so ignore\n // Or user is selecting text, so ignore\n return\n }\n this.emitTbodyRowEvent('row-clicked', evt)\n },\n onTbodyRowMiddleMouseRowClicked(evt) {\n if (!this.tbodyRowEvtStopped(evt) && evt.which === 2) {\n this.emitTbodyRowEvent('row-middle-clicked', evt)\n }\n },\n onTbodyRowContextmenu(evt) {\n if (!this.tbodyRowEvtStopped(evt)) {\n this.emitTbodyRowEvent('row-contextmenu', evt)\n }\n },\n onTbodyRowDblClicked(evt) {\n if (!this.tbodyRowEvtStopped(evt) && !filterEvent(evt)) {\n this.emitTbodyRowEvent('row-dblclicked', evt)\n }\n },\n // Note: Row hover handlers are handled by the tbody-row mixin\n // As mouseenter/mouseleave events do not bubble\n //\n // Render Helper\n renderTbody() {\n // Render the tbody element and children\n const items = this.computedItems\n // Shortcut to `createElement` (could use `this._c()` instead)\n const h = this.$createElement\n const hasRowClickHandler = this.hasListener('row-clicked') || this.hasSelectableRowClick\n\n // Prepare the tbody rows\n const $rows = []\n\n // Add the item data rows or the busy slot\n const $busy = this.renderBusy ? this.renderBusy() : null\n if ($busy) {\n // If table is busy and a busy slot, then return only the busy \"row\" indicator\n $rows.push($busy)\n } else {\n // Table isn't busy, or we don't have a busy slot\n\n // Create a slot cache for improved performance when looking up cell slot names\n // Values will be keyed by the field's `key` and will store the slot's name\n // Slots could be dynamic (i.e. `v-if`), so we must compute on each render\n // Used by tbody-row mixin render helper\n const cache = {}\n const defaultSlotName = this.hasNormalizedSlot('cell()') ? 'cell()' : null\n this.computedFields.forEach(field => {\n const key = field.key\n const fullName = `cell(${key})`\n const lowerName = `cell(${key.toLowerCase()})`\n cache[key] = this.hasNormalizedSlot(fullName)\n ? fullName\n : this.hasNormalizedSlot(lowerName)\n ? lowerName\n : defaultSlotName\n })\n // Created as a non-reactive property so to not trigger component updates\n // Must be a fresh object each render\n this.$_bodyFieldSlotNameCache = cache\n\n // Add static top row slot (hidden in visibly stacked mode\n // as we can't control `data-label` attr)\n $rows.push(this.renderTopRow ? this.renderTopRow() : h())\n\n // Render the rows\n items.forEach((item, rowIndex) => {\n // Render the individual item row (rows if details slot)\n $rows.push(this.renderTbodyRow(item, rowIndex))\n })\n\n // Empty items / empty filtered row slot (only shows if `items.length < 1`)\n $rows.push(this.renderEmpty ? this.renderEmpty() : h())\n\n // Static bottom row slot (hidden in visibly stacked mode\n // as we can't control `data-label` attr)\n $rows.push(this.renderBottomRow ? this.renderBottomRow() : h())\n }\n\n // Note: these events will only emit if a listener is registered\n const handlers = {\n auxclick: this.onTbodyRowMiddleMouseRowClicked,\n // TODO:\n // Perhaps we do want to automatically prevent the\n // default context menu from showing if there is a\n // `row-contextmenu` listener registered\n contextmenu: this.onTbodyRowContextmenu,\n // The following event(s) is not considered A11Y friendly\n dblclick: this.onTbodyRowDblClicked\n // Hover events (`mouseenter`/`mouseleave`) are handled by `tbody-row` mixin\n }\n // Add in click/keydown listeners if needed\n if (hasRowClickHandler) {\n handlers.click = this.onTBodyRowClicked\n handlers.keydown = this.onTbodyRowKeydown\n }\n\n // Assemble rows into the tbody\n const $tbody = h(\n BTbody,\n {\n ref: 'tbody',\n class: this.tbodyClass || null,\n props: {\n tbodyTransitionProps: this.tbodyTransitionProps,\n tbodyTransitionHandlers: this.tbodyTransitionHandlers\n },\n // BTbody transfers all native event listeners to the root element\n // TODO: Only set the handlers if the table is not busy\n on: handlers\n },\n $rows\n )\n\n // Return the assembled tbody\n return $tbody\n }\n }\n}\n","import { htmlOrText } from '../../../utils/html'\nimport { isFunction } from '../../../utils/inspect'\nimport { BTr } from '../tr'\nimport { BTd } from '../td'\n\nexport default {\n props: {\n showEmpty: {\n type: Boolean,\n default: false\n },\n emptyText: {\n type: String,\n default: 'There are no records to show'\n },\n emptyHtml: {\n type: String\n },\n emptyFilteredText: {\n type: String,\n default: 'There are no records matching your request'\n },\n emptyFilteredHtml: {\n type: String\n }\n },\n methods: {\n renderEmpty() {\n const h = this.$createElement\n const items = this.computedItems\n let $empty\n\n if (\n this.showEmpty &&\n (!items || items.length === 0) &&\n !(this.computedBusy && this.hasNormalizedSlot('table-busy'))\n ) {\n $empty = this.normalizeSlot(this.isFiltered ? 'emptyfiltered' : 'empty', {\n emptyFilteredHtml: this.emptyFilteredHtml,\n emptyFilteredText: this.emptyFilteredText,\n emptyHtml: this.emptyHtml,\n emptyText: this.emptyText,\n fields: this.computedFields,\n // Not sure why this is included, as it will always be an empty array\n items: this.computedItems\n })\n if (!$empty) {\n $empty = h('div', {\n class: ['text-center', 'my-2'],\n domProps: this.isFiltered\n ? htmlOrText(this.emptyFilteredHtml, this.emptyFilteredText)\n : htmlOrText(this.emptyHtml, this.emptyText)\n })\n }\n $empty = h(BTd, { props: { colspan: this.computedFields.length || null } }, [\n h('div', { attrs: { role: 'alert', 'aria-live': 'polite' } }, [$empty])\n ])\n $empty = h(\n BTr,\n {\n key: this.isFiltered ? 'b-empty-filtered-row' : 'b-empty-row',\n staticClass: 'b-table-empty-row',\n class: [\n isFunction(this.tbodyTrClass)\n ? this.tbodyTrClass(null, 'row-empty')\n : this.tbodyTrClass\n ],\n attrs: isFunction(this.tbodyTrAttr)\n ? this.tbodyTrAttr(null, 'row-empty')\n : this.tbodyTrAttr\n },\n [$empty]\n )\n }\n\n return $empty || h()\n }\n }\n}\n","import { isFunction } from '../../../utils/inspect'\nimport { BTr } from '../tr'\n\nconst slotName = 'top-row'\n\nexport default {\n methods: {\n renderTopRow() {\n const h = this.$createElement\n\n // Add static Top Row slot (hidden in visibly stacked mode as we can't control the data-label)\n // If in *always* stacked mode, we don't bother rendering the row\n if (!this.hasNormalizedSlot(slotName) || this.stacked === true || this.stacked === '') {\n return h()\n }\n\n const fields = this.computedFields\n\n return h(\n BTr,\n {\n key: 'b-top-row',\n staticClass: 'b-table-top-row',\n class: [\n isFunction(this.tbodyTrClass) ? this.tbodyTrClass(null, 'row-top') : this.tbodyTrClass\n ],\n attrs: isFunction(this.tbodyTrAttr) ? this.tbodyTrAttr(null, 'row-top') : this.tbodyTrAttr\n },\n [this.normalizeSlot(slotName, { columns: fields.length, fields: fields })]\n )\n }\n }\n}\n","import { isFunction } from '../../../utils/inspect'\nimport { BTr } from '../tr'\n\nconst slotName = 'bottom-row'\n\nexport default {\n methods: {\n renderBottomRow() {\n const h = this.$createElement\n\n // Static bottom row slot (hidden in visibly stacked mode as we can't control the data-label)\n // If in *always* stacked mode, we don't bother rendering the row\n if (!this.hasNormalizedSlot(slotName) || this.stacked === true || this.stacked === '') {\n return h()\n }\n\n const fields = this.computedFields\n\n return h(\n BTr,\n {\n key: 'b-bottom-row',\n staticClass: 'b-table-bottom-row',\n class: [\n isFunction(this.tbodyTrClass)\n ? this.tbodyTrClass(null, 'row-bottom')\n : this.tbodyTrClass\n ],\n attrs: isFunction(this.tbodyTrAttr)\n ? this.tbodyTrAttr(null, 'row-bottom')\n : this.tbodyTrAttr\n },\n this.normalizeSlot(slotName, { columns: fields.length, fields: fields })\n )\n }\n }\n}\n","import { isFunction } from '../../../utils/inspect'\nimport { BTr } from '../tr'\nimport { BTd } from '../td'\n\nconst busySlotName = 'table-busy'\n\nexport default {\n props: {\n busy: {\n type: Boolean,\n default: false\n }\n },\n data() {\n return {\n localBusy: false\n }\n },\n computed: {\n computedBusy() {\n return this.busy || this.localBusy\n }\n },\n watch: {\n localBusy(newVal, oldVal) {\n if (newVal !== oldVal) {\n this.$emit('update:busy', newVal)\n }\n }\n },\n methods: {\n // Event handler helper\n stopIfBusy(evt) {\n if (this.computedBusy) {\n // If table is busy (via provider) then don't propagate\n evt.preventDefault()\n evt.stopPropagation()\n return true\n }\n return false\n },\n // Render the busy indicator or return `null` if not busy\n renderBusy() {\n const h = this.$createElement\n\n // Return a busy indicator row, or `null` if not busy\n if (this.computedBusy && this.hasNormalizedSlot(busySlotName)) {\n // Show the busy slot\n return h(\n BTr,\n {\n key: 'table-busy-slot',\n staticClass: 'b-table-busy-slot',\n class: [\n isFunction(this.tbodyTrClass)\n ? this.tbodyTrClass(null, busySlotName)\n : this.tbodyTrClass\n ],\n attrs: isFunction(this.tbodyTrAttr)\n ? this.tbodyTrAttr(null, busySlotName)\n : this.tbodyTrAttr\n },\n [\n h(BTd, { props: { colspan: this.computedFields.length || null } }, [\n this.normalizeSlot(busySlotName)\n ])\n ]\n )\n } else {\n // We return `null` here so that we can determine if we need to\n // render the table items rows or not\n return null\n }\n }\n }\n}\n","import identity from '../../../utils/identity'\nimport looseEqual from '../../../utils/loose-equal'\nimport range from '../../../utils/range'\nimport { isArray, arrayIncludes } from '../../../utils/array'\nimport { getComponentConfig } from '../../../utils/config'\nimport { isNumber } from '../../../utils/inspect'\nimport sanitizeRow from './sanitize-row'\n\nexport default {\n props: {\n selectable: {\n type: Boolean,\n default: false\n },\n selectMode: {\n type: String,\n default: 'multi',\n validator: val => arrayIncludes(['range', 'multi', 'single'], val)\n },\n selectedVariant: {\n type: String,\n default: () => getComponentConfig('BTable', 'selectedVariant')\n },\n noSelectOnClick: {\n // Disable use of click handlers for row selection\n type: Boolean,\n default: false\n }\n },\n data() {\n return {\n selectedRows: [],\n selectedLastRow: -1\n }\n },\n computed: {\n isSelectable() {\n return this.selectable && this.selectMode\n },\n hasSelectableRowClick() {\n return this.isSelectable && !this.noSelectOnClick\n },\n supportsSelectableRows() {\n return true\n },\n selectableHasSelection() {\n return (\n this.isSelectable &&\n this.selectedRows &&\n this.selectedRows.length > 0 &&\n this.selectedRows.some(identity)\n )\n },\n selectableIsMultiSelect() {\n return this.isSelectable && arrayIncludes(['range', 'multi'], this.selectMode)\n },\n selectableTableClasses() {\n return {\n 'b-table-selectable': this.isSelectable,\n [`b-table-select-${this.selectMode}`]: this.isSelectable,\n 'b-table-selecting': this.selectableHasSelection,\n 'b-table-selectable-no-click': this.isSelectable && !this.hasSelectableRowClick\n }\n },\n selectableTableAttrs() {\n return {\n // TODO:\n // Should this attribute not be included when no-select-on-click is set\n // since this attribute implies keyboard navigation?\n 'aria-multiselectable': !this.isSelectable\n ? null\n : this.selectableIsMultiSelect\n ? 'true'\n : 'false'\n }\n }\n },\n watch: {\n computedItems(newVal, oldVal) {\n // Reset for selectable\n let equal = false\n if (this.isSelectable && this.selectedRows.length > 0) {\n // Quick check against array length\n equal = isArray(newVal) && isArray(oldVal) && newVal.length === oldVal.length\n for (let i = 0; equal && i < newVal.length; i++) {\n // Look for the first non-loosely equal row, after ignoring reserved fields\n equal = looseEqual(sanitizeRow(newVal[i]), sanitizeRow(oldVal[i]))\n }\n }\n if (!equal) {\n this.clearSelected()\n }\n },\n selectable(newVal) {\n this.clearSelected()\n this.setSelectionHandlers(newVal)\n },\n selectMode() {\n this.clearSelected()\n },\n hasSelectableRowClick(newVal) {\n this.clearSelected()\n this.setSelectionHandlers(!newVal)\n },\n selectedRows(selectedRows, oldVal) {\n if (this.isSelectable && !looseEqual(selectedRows, oldVal)) {\n const items = []\n // `.forEach()` skips over non-existent indices (on sparse arrays)\n selectedRows.forEach((v, idx) => {\n if (v) {\n items.push(this.computedItems[idx])\n }\n })\n this.$emit('row-selected', items)\n }\n }\n },\n beforeMount() {\n // Set up handlers if needed\n if (this.isSelectable) {\n this.setSelectionHandlers(true)\n }\n },\n methods: {\n // Public methods\n selectRow(index) {\n // Select a particular row (indexed based on computedItems)\n if (\n this.isSelectable &&\n isNumber(index) &&\n index >= 0 &&\n index < this.computedItems.length &&\n !this.isRowSelected(index)\n ) {\n const selectedRows = this.selectableIsMultiSelect ? this.selectedRows.slice() : []\n selectedRows[index] = true\n this.selectedLastClicked = -1\n this.selectedRows = selectedRows\n }\n },\n unselectRow(index) {\n // Un-select a particular row (indexed based on `computedItems`)\n if (this.isSelectable && isNumber(index) && this.isRowSelected(index)) {\n const selectedRows = this.selectedRows.slice()\n selectedRows[index] = false\n this.selectedLastClicked = -1\n this.selectedRows = selectedRows\n }\n },\n selectAllRows() {\n const length = this.computedItems.length\n if (this.isSelectable && length > 0) {\n this.selectedLastClicked = -1\n this.selectedRows = this.selectableIsMultiSelect ? range(length).map(() => true) : [true]\n }\n },\n isRowSelected(index) {\n // Determine if a row is selected (indexed based on `computedItems`)\n return !!(isNumber(index) && this.selectedRows[index])\n },\n clearSelected() {\n // Clear any active selected row(s)\n this.selectedLastClicked = -1\n this.selectedRows = []\n },\n // Internal private methods\n selectableRowClasses(index) {\n if (this.isSelectable && this.isRowSelected(index)) {\n const variant = this.selectedVariant\n return {\n 'b-table-row-selected': true,\n [`${this.dark ? 'bg' : 'table'}-${variant}`]: variant\n }\n } else {\n return {}\n }\n },\n selectableRowAttrs(index) {\n return {\n 'aria-selected': !this.isSelectable ? null : this.isRowSelected(index) ? 'true' : 'false'\n }\n },\n setSelectionHandlers(on) {\n const method = on && !this.noSelectOnClick ? '$on' : '$off'\n // Handle row-clicked event\n this[method]('row-clicked', this.selectionHandler)\n // Clear selection on filter, pagination, and sort changes\n this[method]('filtered', this.clearSelected)\n this[method]('context-changed', this.clearSelected)\n },\n selectionHandler(item, index, evt) {\n /* istanbul ignore if: should never happen */\n if (!this.isSelectable || this.noSelectOnClick) {\n // Don't do anything if table is not in selectable mode\n this.clearSelected()\n return\n }\n const selectMode = this.selectMode\n let selectedRows = this.selectedRows.slice()\n let selected = !selectedRows[index]\n // Note 'multi' mode needs no special event handling\n if (selectMode === 'single') {\n selectedRows = []\n } else if (selectMode === 'range') {\n if (this.selectedLastRow > -1 && evt.shiftKey) {\n // range\n for (\n let idx = Math.min(this.selectedLastRow, index);\n idx <= Math.max(this.selectedLastRow, index);\n idx++\n ) {\n selectedRows[idx] = true\n }\n selected = true\n } else {\n if (!(evt.ctrlKey || evt.metaKey)) {\n // Clear range selection if any\n selectedRows = []\n selected = true\n }\n this.selectedLastRow = selected ? index : -1\n }\n }\n selectedRows[index] = selected\n this.selectedRows = selectedRows\n }\n }\n}\n","import looseEqual from '../../../utils/loose-equal'\nimport { isArray, isFunction, isPromise } from '../../../utils/inspect'\nimport { clone } from '../../../utils/object'\nimport { warn } from '../../../utils/warn'\nimport listenOnRootMixin from '../../../mixins/listen-on-root'\n\nexport default {\n mixins: [listenOnRootMixin],\n props: {\n // Prop override(s)\n items: {\n // Adds in 'Function' support\n type: [Array, Function],\n default() /* istanbul ignore next */ {\n return []\n }\n },\n // Additional props\n noProviderPaging: {\n type: Boolean,\n default: false\n },\n noProviderSorting: {\n type: Boolean,\n default: false\n },\n noProviderFiltering: {\n type: Boolean,\n default: false\n },\n apiUrl: {\n // Passthrough prop. Passed to the context object. Not used by b-table directly\n type: String,\n default: ''\n }\n },\n computed: {\n hasProvider() {\n return isFunction(this.items)\n },\n providerTriggerContext() {\n // Used to trigger the provider function via a watcher. Only the fields that\n // are needed for triggering a provider update are included. Note that the\n // regular this.context is sent to the provider during fetches though, as they\n // may need all the prop info.\n const ctx = {\n apiUrl: this.apiUrl,\n filter: null,\n sortBy: null,\n sortDesc: null,\n perPage: null,\n currentPage: null\n }\n if (!this.noProviderFiltering) {\n // Either a string, or could be an object or array.\n ctx.filter = this.localFilter\n }\n if (!this.noProviderSorting) {\n ctx.sortBy = this.localSortBy\n ctx.sortDesc = this.localSortDesc\n }\n if (!this.noProviderPaging) {\n ctx.perPage = this.perPage\n ctx.currentPage = this.currentPage\n }\n return clone(ctx)\n }\n },\n watch: {\n // Provider update triggering\n items(newVal) {\n // If a new provider has been specified, trigger an update\n if (this.hasProvider || isFunction(newVal)) {\n this.$nextTick(this._providerUpdate)\n }\n },\n providerTriggerContext(newVal, oldVal) {\n // Trigger the provider to update as the relevant context values have changed.\n if (!looseEqual(newVal, oldVal)) {\n this.$nextTick(this._providerUpdate)\n }\n }\n },\n mounted() {\n // Call the items provider if necessary\n if (this.hasProvider && (!this.localItems || this.localItems.length === 0)) {\n // Fetch on mount if localItems is empty\n this._providerUpdate()\n }\n // Listen for global messages to tell us to force refresh the table\n this.listenOnRoot('bv::refresh::table', id => {\n if (id === this.id || id === this) {\n this.refresh()\n }\n })\n },\n methods: {\n refresh() {\n // Public Method: Force a refresh of the provider function\n this.$off('refreshed', this.refresh)\n if (this.computedBusy) {\n // Can't force an update when forced busy by user (busy prop === true)\n if (this.localBusy && this.hasProvider) {\n // But if provider running (localBusy), re-schedule refresh once `refreshed` emitted\n this.$on('refreshed', this.refresh)\n }\n } else {\n this.clearSelected()\n if (this.hasProvider) {\n this.$nextTick(this._providerUpdate)\n } else {\n /* istanbul ignore next */\n this.localItems = isArray(this.items) ? this.items.slice() : []\n }\n }\n },\n // Provider related methods\n _providerSetLocal(items) {\n this.localItems = isArray(items) ? items.slice() : []\n this.localBusy = false\n this.$emit('refreshed')\n // New root emit\n if (this.id) {\n this.emitOnRoot('bv::table::refreshed', this.id)\n }\n },\n _providerUpdate() {\n // Refresh the provider function items.\n if (!this.hasProvider) {\n // Do nothing if no provider\n return\n }\n // If table is busy, wait until refreshed before calling again\n if (this.computedBusy) {\n // Schedule a new refresh once `refreshed` is emitted\n this.$nextTick(this.refresh)\n return\n }\n\n // Set internal busy state\n this.localBusy = true\n\n // Call provider function with context and optional callback after DOM is fully updated\n this.$nextTick(() => {\n try {\n // Call provider function passing it the context and optional callback\n const data = this.items(this.context, this._providerSetLocal)\n if (isPromise(data)) {\n // Provider returned Promise\n data.then(items => {\n // Provider resolved with items\n this._providerSetLocal(items)\n })\n } else if (isArray(data)) {\n // Provider returned Array data\n this._providerSetLocal(data)\n } else {\n /* istanbul ignore if */\n if (this.items.length !== 2) {\n // Check number of arguments provider function requested\n // Provider not using callback (didn't request second argument), so we clear\n // busy state as most likely there was an error in the provider function\n /* istanbul ignore next */\n warn(\n \"Provider function didn't request callback and did not return a promise or data.\",\n 'BTable'\n )\n this.localBusy = false\n }\n }\n } catch (e) /* istanbul ignore next */ {\n // Provider function borked on us, so we spew out a warning\n // and clear the busy state\n warn(`Provider function error [${e.name}] ${e.message}.`, 'BTable')\n this.localBusy = false\n this.$off('refreshed', this.refresh)\n }\n })\n }\n }\n}\n","import identity from '../../../utils/identity'\nimport { isBoolean } from '../../../utils/inspect'\nimport { toString } from '../../../utils/string'\n\n// Main `<table>` render mixin\n// Includes all main table styling options\n\nexport default {\n // Don't place attributes on root element automatically,\n // as table could be wrapped in responsive `<div>`\n inheritAttrs: false,\n provide() {\n return {\n bvTable: this\n }\n },\n props: {\n striped: {\n type: Boolean,\n default: false\n },\n bordered: {\n type: Boolean,\n default: false\n },\n borderless: {\n type: Boolean,\n default: false\n },\n outlined: {\n type: Boolean,\n default: false\n },\n dark: {\n type: Boolean,\n default: false\n },\n hover: {\n type: Boolean,\n default: false\n },\n small: {\n type: Boolean,\n default: false\n },\n fixed: {\n type: Boolean,\n default: false\n },\n responsive: {\n type: [Boolean, String],\n default: false\n },\n stickyHeader: {\n // If a string, it is assumed to be the table `max-height` value\n type: [Boolean, String],\n default: false\n },\n noBorderCollapse: {\n type: Boolean,\n default: false\n },\n captionTop: {\n type: Boolean,\n default: false\n },\n tableVariant: {\n type: String,\n default: null\n },\n tableClass: {\n type: [String, Array, Object],\n default: null\n }\n },\n computed: {\n // Layout related computed props\n isResponsive() {\n const responsive = this.responsive === '' ? true : this.responsive\n return this.isStacked ? false : responsive\n },\n isStickyHeader() {\n const stickyHeader = this.stickyHeader === '' ? true : this.stickyHeader\n return this.isStacked ? false : stickyHeader\n },\n wrapperClasses() {\n return [\n this.isStickyHeader ? 'b-table-sticky-header' : '',\n this.isResponsive === true\n ? 'table-responsive'\n : this.isResponsive\n ? `table-responsive-${this.responsive}`\n : ''\n ].filter(identity)\n },\n wrapperStyles() {\n return this.isStickyHeader && !isBoolean(this.isStickyHeader)\n ? { maxHeight: this.isStickyHeader }\n : {}\n },\n tableClasses() {\n const hover = this.isTableSimple\n ? this.hover\n : this.hover && this.computedItems.length > 0 && !this.computedBusy\n\n return [\n // User supplied classes\n this.tableClass,\n // Styling classes\n {\n 'table-striped': this.striped,\n 'table-hover': hover,\n 'table-dark': this.dark,\n 'table-bordered': this.bordered,\n 'table-borderless': this.borderless,\n 'table-sm': this.small,\n // The following are b-table custom styles\n border: this.outlined,\n 'b-table-fixed': this.fixed,\n 'b-table-caption-top': this.captionTop,\n 'b-table-no-border-collapse': this.noBorderCollapse\n },\n this.tableVariant ? `${this.dark ? 'bg' : 'table'}-${this.tableVariant}` : '',\n // Stacked table classes\n this.stackedTableClasses,\n // Selectable classes\n this.selectableTableClasses\n ]\n },\n tableAttrs() {\n // Preserve user supplied aria-describedby, if provided in `$attrs`\n const adb =\n [(this.$attrs || {})['aria-describedby'], this.captionId].filter(identity).join(' ') || null\n const items = this.computedItems\n const filteredItems = this.filteredItems\n const fields = this.computedFields\n const selectableAttrs = this.selectableTableAttrs || {}\n const ariaAttrs = this.isTableSimple\n ? {}\n : {\n 'aria-busy': this.computedBusy ? 'true' : 'false',\n 'aria-colcount': toString(fields.length),\n 'aria-describedby': adb\n }\n const rowCount =\n items && filteredItems && filteredItems.length > items.length\n ? toString(filteredItems.length)\n : null\n\n return {\n // We set `aria-rowcount` before merging in `$attrs`,\n // in case user has supplied their own\n 'aria-rowcount': rowCount,\n // Merge in user supplied `$attrs` if any\n ...this.$attrs,\n // Now we can override any `$attrs` here\n id: this.safeId(),\n role: 'table',\n ...ariaAttrs,\n ...selectableAttrs\n }\n }\n },\n render(h) {\n const $content = []\n\n if (this.isTableSimple) {\n $content.push(this.normalizeSlot('default'))\n } else {\n // Build the `<caption>` (from caption mixin)\n $content.push(this.renderCaption ? this.renderCaption() : null)\n\n // Build the `<colgroup>`\n $content.push(this.renderColgroup ? this.renderColgroup() : null)\n\n // Build the `<thead>`\n $content.push(this.renderThead ? this.renderThead() : null)\n\n // Build the `<tbody>`\n $content.push(this.renderTbody ? this.renderTbody() : null)\n\n // Build the `<tfoot>`\n $content.push(this.renderTfoot ? this.renderTfoot() : null)\n }\n\n // Assemble `<table>`\n const $table = h(\n 'table',\n {\n key: 'b-table',\n staticClass: 'table b-table',\n class: this.tableClasses,\n attrs: this.tableAttrs\n },\n $content.filter(identity)\n )\n\n // Add responsive/sticky wrapper if needed and return table\n return this.wrapperClasses.length > 0\n ? h('div', { key: 'wrap', class: this.wrapperClasses, style: this.wrapperStyles }, [$table])\n : $table\n }\n}\n","import Vue from '../../utils/vue'\n\n// Mixins\nimport hasListenerMixin from '../../mixins/has-listener'\nimport idMixin from '../../mixins/id'\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\n\n// Table helper Mixins\nimport itemsMixin from './helpers/mixin-items'\nimport stackedMixin from './helpers/mixin-stacked'\nimport filteringMixin from './helpers/mixin-filtering'\nimport sortingMixin from './helpers/mixin-sorting'\nimport paginationMixin from './helpers/mixin-pagination'\nimport captionMixin from './helpers/mixin-caption'\nimport colgroupMixin from './helpers/mixin-colgroup'\nimport theadMixin from './helpers/mixin-thead'\nimport tfootMixin from './helpers/mixin-tfoot'\nimport tbodyMixin from './helpers/mixin-tbody'\nimport emptyMixin from './helpers/mixin-empty'\nimport topRowMixin from './helpers/mixin-top-row'\nimport bottomRowMixin from './helpers/mixin-bottom-row'\nimport busyMixin from './helpers/mixin-busy'\nimport selectableMixin from './helpers/mixin-selectable'\nimport providerMixin from './helpers/mixin-provider'\n\n// Main table renderer mixin\nimport tableRendererMixin from './helpers/mixin-table-renderer'\n\n// b-table component definition\n// @vue/component\nexport const BTable = /*#__PURE__*/ Vue.extend({\n name: 'BTable',\n // Order of mixins is important!\n // They are merged from first to last, followed by this component.\n mixins: [\n // Required Mixins\n hasListenerMixin,\n idMixin,\n normalizeSlotMixin,\n itemsMixin,\n tableRendererMixin,\n stackedMixin,\n theadMixin,\n tfootMixin,\n tbodyMixin,\n // Features Mixins\n stackedMixin,\n filteringMixin,\n sortingMixin,\n paginationMixin,\n captionMixin,\n colgroupMixin,\n selectableMixin,\n emptyMixin,\n topRowMixin,\n bottomRowMixin,\n busyMixin,\n providerMixin\n ]\n // render function provided by table-renderer mixin\n})\n","import Vue from '../../utils/vue'\n\n// Mixins\nimport hasListenerMixin from '../../mixins/has-listener'\nimport idMixin from '../../mixins/id'\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\n\n// Table helper Mixins\nimport itemsMixin from './helpers/mixin-items'\nimport captionMixin from './helpers/mixin-caption'\nimport colgroupMixin from './helpers/mixin-colgroup'\nimport stackedMixin from './helpers/mixin-stacked'\nimport theadMixin from './helpers/mixin-thead'\nimport tfootMixin from './helpers/mixin-tfoot'\nimport tbodyMixin from './helpers/mixin-tbody'\n\n// Main table renderer mixin\nimport tableRendererMixin from './helpers/mixin-table-renderer'\n\n// b-table-lite component definition\n// @vue/component\nexport const BTableLite = /*#__PURE__*/ Vue.extend({\n name: 'BTableLite',\n // Order of mixins is important!\n // They are merged from first to last, followed by this component.\n mixins: [\n // Required mixins\n hasListenerMixin,\n idMixin,\n normalizeSlotMixin,\n itemsMixin,\n tableRendererMixin,\n stackedMixin,\n theadMixin,\n tfootMixin,\n tbodyMixin,\n // Features Mixins\n // These are pretty lightweight, and are useful for lightweight tables\n captionMixin,\n colgroupMixin\n ]\n // render function provided by table-renderer mixin\n})\n","import Vue from '../../utils/vue'\n\n// Mixins\nimport idMixin from '../../mixins/id'\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\n\n// Main table renderer mixin\nimport tableRendererMixin from './helpers/mixin-table-renderer'\n\n// Feature miins\nimport stackedMixin from './helpers/mixin-stacked'\n\n// b-table-simple component definition\n// @vue/component\nexport const BTableSimple = /*#__PURE__*/ Vue.extend({\n name: 'BTableSimple',\n // Order of mixins is important!\n // They are merged from first to last, followed by this component.\n mixins: [\n // Required mixins\n idMixin,\n normalizeSlotMixin,\n tableRendererMixin,\n // feature mixin\n // Stacked requires extra handling by users via\n // the table cell `stacked-heading` prop\n stackedMixin\n ],\n computed: {\n isTableSimple() {\n return true\n }\n }\n // render function provided by table-renderer mixin\n})\n","import { BTable } from './table'\nimport { BTableLite } from './table-lite'\nimport { BTableSimple } from './table-simple'\nimport { BTbody } from './tbody'\nimport { BThead } from './thead'\nimport { BTfoot } from './tfoot'\nimport { BTr } from './tr'\nimport { BTd } from './td'\nimport { BTh } from './th'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst TableLitePlugin = /*#__PURE__*/ pluginFactory({\n components: {\n BTableLite\n }\n})\n\nconst TableSimplePlugin = /*#__PURE__*/ pluginFactory({\n components: {\n BTableSimple,\n BTbody,\n BThead,\n BTfoot,\n BTr,\n BTd,\n BTh\n }\n})\n\nconst TablePlugin = /*#__PURE__*/ pluginFactory({\n components: {\n BTable\n },\n plugins: {\n TableLitePlugin,\n TableSimplePlugin\n }\n})\n\nexport {\n // Plugins\n TablePlugin,\n TableLitePlugin,\n TableSimplePlugin,\n // Table components\n BTable,\n BTableLite,\n BTableSimple,\n // Helper components\n BTbody,\n BThead,\n BTfoot,\n BTr,\n BTd,\n BTh\n}\n","import Vue from '../../utils/vue'\nimport identity from '../../utils/identity'\nimport KeyCodes from '../../utils/key-codes'\nimport looseEqual from '../../utils/loose-equal'\nimport observeDom from '../../utils/observe-dom'\nimport stableSort from '../../utils/stable-sort'\nimport { arrayIncludes, concat } from '../../utils/array'\nimport { BvEvent } from '../../utils/bv-event.class'\nimport { requestAF, selectAll } from '../../utils/dom'\nimport { isEvent } from '../../utils/inspect'\nimport { omit } from '../../utils/object'\nimport idMixin from '../../mixins/id'\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\nimport { BLink } from '../link/link'\nimport { BNav, props as BNavProps } from '../nav/nav'\n\n// -- Constants --\n\nconst navProps = omit(BNavProps, ['tabs', 'isNavBar', 'cardHeader'])\n\n// -- Utils --\n\n// Filter function to filter out disabled tabs\nconst notDisabled = tab => !tab.disabled\n\n// --- Helper components ---\n\n// @vue/component\nconst BTabButtonHelper = /*#__PURE__*/ Vue.extend({\n name: 'BTabButtonHelper',\n inject: {\n bvTabs: {\n default() /* istanbul ignore next */ {\n return {}\n }\n }\n },\n props: {\n // Reference to the child <b-tab> instance\n tab: { default: null },\n tabs: {\n type: Array,\n default() /* istanbul ignore next */ {\n return []\n }\n },\n id: { type: String, default: null },\n controls: { type: String, default: null },\n tabIndex: { type: Number, default: null },\n posInSet: { type: Number, default: null },\n setSize: { type: Number, default: null },\n noKeyNav: { type: Boolean, default: false }\n },\n methods: {\n focus() {\n if (this.$refs && this.$refs.link && this.$refs.link.focus) {\n this.$refs.link.focus()\n }\n },\n handleEvt(evt) {\n const stop = () => {\n evt.preventDefault()\n evt.stopPropagation()\n }\n if (this.tab.disabled) {\n /* istanbul ignore next */\n return\n }\n const type = evt.type\n const key = evt.keyCode\n const shift = evt.shiftKey\n if (type === 'click') {\n stop()\n this.$emit('click', evt)\n } else if (type === 'keydown' && key === KeyCodes.SPACE) {\n // For ARIA tabs the SPACE key will also trigger a click/select\n // Even with keyboard navigation disabled, SPACE should \"click\" the button\n // See: https://github.com/bootstrap-vue/bootstrap-vue/issues/4323\n stop()\n this.$emit('click', evt)\n } else if (type === 'keydown' && !this.noKeyNav) {\n // For keyboard navigation\n if (key === KeyCodes.UP || key === KeyCodes.LEFT || key === KeyCodes.HOME) {\n stop()\n if (shift || key === KeyCodes.HOME) {\n this.$emit('first', evt)\n } else {\n this.$emit('prev', evt)\n }\n } else if (key === KeyCodes.DOWN || key === KeyCodes.RIGHT || key === KeyCodes.END) {\n stop()\n if (shift || key === KeyCodes.END) {\n this.$emit('last', evt)\n } else {\n this.$emit('next', evt)\n }\n }\n }\n }\n },\n render(h) {\n const link = h(\n BLink,\n {\n ref: 'link',\n staticClass: 'nav-link',\n class: [\n {\n active: this.tab.localActive && !this.tab.disabled,\n disabled: this.tab.disabled\n },\n this.tab.titleLinkClass,\n // Apply <b-tabs> `activeNavItemClass` styles when the tab is active\n this.tab.localActive ? this.bvTabs.activeNavItemClass : null\n ],\n props: { disabled: this.tab.disabled },\n attrs: {\n role: 'tab',\n id: this.id,\n // Roving tab index when keynav enabled\n tabindex: this.tabIndex,\n 'aria-selected': this.tab.localActive && !this.tab.disabled ? 'true' : 'false',\n 'aria-setsize': this.setSize,\n 'aria-posinset': this.posInSet,\n 'aria-controls': this.controls\n },\n on: {\n click: this.handleEvt,\n keydown: this.handleEvt\n }\n },\n [this.tab.normalizeSlot('title') || this.tab.title]\n )\n return h(\n 'li',\n {\n staticClass: 'nav-item',\n class: [this.tab.titleItemClass],\n attrs: { role: 'presentation' }\n },\n [link]\n )\n }\n})\n\n// @vue/component\nexport const BTabs = /*#__PURE__*/ Vue.extend({\n name: 'BTabs',\n mixins: [idMixin, normalizeSlotMixin],\n provide() {\n return {\n bvTabs: this\n }\n },\n model: {\n prop: 'value',\n event: 'input'\n },\n props: {\n ...navProps,\n tag: {\n type: String,\n default: 'div'\n },\n card: {\n type: Boolean,\n default: false\n },\n end: {\n // Synonym for 'bottom'\n type: Boolean,\n default: false\n },\n noFade: {\n type: Boolean,\n default: false\n },\n noNavStyle: {\n type: Boolean,\n default: false\n },\n noKeyNav: {\n type: Boolean,\n default: false\n },\n lazy: {\n // This prop is sniffed by the <b-tab> child\n type: Boolean,\n default: false\n },\n contentClass: {\n type: [String, Array, Object],\n default: null\n },\n navClass: {\n type: [String, Array, Object],\n default: null\n },\n navWrapperClass: {\n type: [String, Array, Object],\n default: null\n },\n activeNavItemClass: {\n // Only applied to the currently active <b-nav-item>\n type: [String, Array, Object],\n default: null\n },\n activeTabClass: {\n // Only applied to the currently active <b-tab>\n // This prop is sniffed by the <b-tab> child\n type: [String, Array, Object],\n default: null\n },\n value: {\n // v-model\n type: Number,\n default: null\n }\n },\n data() {\n let tabIdx = parseInt(this.value, 10)\n tabIdx = isNaN(tabIdx) ? -1 : tabIdx\n return {\n // Index of current tab\n currentTab: tabIdx,\n // Array of direct child <b-tab> instances, in DOM order\n tabs: [],\n // Array of child instances registered (for triggering reactive updates)\n registeredTabs: [],\n // Flag to know if we are mounted or not\n isMounted: false\n }\n },\n computed: {\n fade() {\n // This computed prop is sniffed by the tab child\n return !this.noFade\n },\n localNavClass() {\n const classes = []\n if (this.card && this.vertical) {\n classes.push('card-header', 'h-100', 'border-bottom-0', 'rounded-0')\n }\n return [...classes, this.navClass]\n }\n },\n watch: {\n currentTab(newVal) {\n let index = -1\n // Ensure only one tab is active at most\n this.tabs.forEach((tab, idx) => {\n if (newVal === idx && !tab.disabled) {\n tab.localActive = true\n index = idx\n } else {\n tab.localActive = false\n }\n })\n // Update the v-model\n this.$emit('input', index)\n },\n value(newVal, oldVal) {\n if (newVal !== oldVal) {\n newVal = parseInt(newVal, 10)\n newVal = isNaN(newVal) ? -1 : newVal\n oldVal = parseInt(oldVal, 10) || 0\n const tabs = this.tabs\n if (tabs[newVal] && !tabs[newVal].disabled) {\n this.activateTab(tabs[newVal])\n } else {\n // Try next or prev tabs\n if (newVal < oldVal) {\n this.previousTab()\n } else {\n this.nextTab()\n }\n }\n }\n },\n registeredTabs() {\n // Each b-tab will register/unregister itself.\n // We use this to detect when tabs are added/removed\n // to trigger the update of the tabs.\n this.$nextTick(() => {\n requestAF(() => {\n this.updateTabs()\n })\n })\n },\n tabs(newVal, oldVal) {\n // If tabs added, removed, or re-ordered, we emit a `changed` event.\n // We use `tab._uid` instead of `tab.safeId()`, as the later is changed\n // in a nextTick if no explicit ID is provided, causing duplicate emits.\n if (!looseEqual(newVal.map(t => t._uid), oldVal.map(t => t._uid))) {\n // In a nextTick to ensure currentTab has been set first.\n this.$nextTick(() => {\n // We emit shallow copies of the new and old arrays of tabs, to\n // prevent users from potentially mutating the internal arrays.\n this.$emit('changed', newVal.slice(), oldVal.slice())\n })\n }\n },\n isMounted(newVal) {\n // Trigger an update after mounted. Needed for tabs inside lazy modals.\n if (newVal) {\n requestAF(() => {\n this.updateTabs()\n })\n }\n // Enable or disable the observer\n this.setObserver(newVal)\n }\n },\n created() {\n const tabIdx = parseInt(this.value, 10)\n this.currentTab = isNaN(tabIdx) ? -1 : tabIdx\n this._bvObserver = null\n // For SSR and to make sure only a single tab is shown on mount\n // We wrap this in a `$nextTick()` to ensure the child tabs have been created\n this.$nextTick(() => {\n this.updateTabs()\n })\n },\n mounted() {\n // Call `updateTabs()` just in case...\n this.updateTabs()\n this.$nextTick(() => {\n // Flag we are now mounted and to switch to DOM for tab probing.\n // As this.$slots.default appears to lie about component instances\n // after b-tabs is destroyed and re-instantiated.\n // And this.$children does not respect DOM order.\n this.isMounted = true\n })\n },\n deactivated() /* istanbul ignore next */ {\n this.isMounted = false\n },\n activated() /* istanbul ignore next */ {\n const tabIdx = parseInt(this.value, 10)\n this.currentTab = isNaN(tabIdx) ? -1 : tabIdx\n this.$nextTick(() => {\n this.updateTabs()\n this.isMounted = true\n })\n },\n beforeDestroy() {\n this.isMounted = false\n },\n destroyed() {\n // Ensure no references to child instances exist\n this.tabs = []\n },\n methods: {\n registerTab(tab) {\n if (!arrayIncludes(this.registeredTabs, tab)) {\n this.registeredTabs.push(tab)\n tab.$once('hook:destroyed', () => {\n this.unregisterTab(tab)\n })\n }\n },\n unregisterTab(tab) {\n this.registeredTabs = this.registeredTabs.slice().filter(t => t !== tab)\n },\n setObserver(on) {\n // DOM observer is needed to detect changes in order of tabs\n if (on) {\n // Make sure no existing observer running\n this.setObserver(false)\n const self = this\n /* istanbul ignore next: difficult to test mutation observer in JSDOM */\n const handler = () => {\n // We delay the update to ensure that `tab.safeId()` has\n // updated with the final ID value.\n self.$nextTick(() => {\n requestAF(() => {\n self.updateTabs()\n })\n })\n }\n // Watch for changes to <b-tab> sub components\n this._bvObserver = observeDom(this.$refs.tabsContainer, handler, {\n childList: true,\n subtree: false,\n attributes: true,\n attributeFilter: ['id']\n })\n } else {\n if (this._bvObserver && this._bvObserver.disconnect) {\n this._bvObserver.disconnect()\n }\n this._bvObserver = null\n }\n },\n getTabs() {\n // We use registeredTabs as the source of truth for child tab components. And we\n // filter out any BTab components that are extended BTab with a root child BTab.\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/3260\n const tabs = this.registeredTabs.filter(\n tab => tab.$children.filter(t => t._isTab).length === 0\n )\n // DOM Order of Tabs\n let order = []\n if (this.isMounted && tabs.length > 0) {\n // We rely on the DOM when mounted to get the 'true' order of the b-tab children.\n // querySelectorAll(...) always returns elements in document order, regardless of\n // order specified in the selector.\n const selector = tabs.map(tab => `#${tab.safeId()}`).join(', ')\n order = selectAll(selector, this.$el)\n .map(el => el.id)\n .filter(identity)\n }\n // Stable sort keeps the original order if not found in the\n // `order` array, which will be an empty array before mount.\n return stableSort(tabs, (a, b) => {\n return order.indexOf(a.safeId()) - order.indexOf(b.safeId())\n })\n },\n // Update list of <b-tab> children\n updateTabs() {\n // Probe tabs\n const tabs = this.getTabs()\n\n // Find *last* active non-disabled tab in current tabs\n // We trust tab state over currentTab, in case tabs were added/removed/re-ordered\n let tabIndex = tabs.indexOf(\n tabs\n .slice()\n .reverse()\n .find(tab => tab.localActive && !tab.disabled)\n )\n\n // Else try setting to currentTab\n if (tabIndex < 0) {\n const currentTab = this.currentTab\n if (currentTab >= tabs.length) {\n // Handle last tab being removed, so find the last non-disabled tab\n tabIndex = tabs.indexOf(\n tabs\n .slice()\n .reverse()\n .find(notDisabled)\n )\n } else if (tabs[currentTab] && !tabs[currentTab].disabled) {\n // Current tab is not disabled\n tabIndex = currentTab\n }\n }\n\n // Else find *first* non-disabled tab in current tabs\n if (tabIndex < 0) {\n tabIndex = tabs.indexOf(tabs.find(notDisabled))\n }\n\n // Set the current tab state to active\n tabs.forEach(tab => {\n // tab.localActive = idx === tabIndex && !tab.disabled\n tab.localActive = false\n })\n if (tabs[tabIndex]) {\n tabs[tabIndex].localActive = true\n }\n\n // Update the array of tab children\n this.tabs = tabs\n // Set the currentTab index (can be -1 if no non-disabled tabs)\n this.currentTab = tabIndex\n },\n // Find a button that controls a tab, given the tab reference\n // Returns the button vm instance\n getButtonForTab(tab) {\n return (this.$refs.buttons || []).find(btn => btn.tab === tab)\n },\n // Force a button to re-render its content, given a <b-tab> instance\n // Called by <b-tab> on `update()`\n updateButton(tab) {\n const button = this.getButtonForTab(tab)\n if (button && button.$forceUpdate) {\n button.$forceUpdate()\n }\n },\n // Activate a tab given a <b-tab> instance\n // Also accessed by <b-tab>\n activateTab(tab) {\n let result = false\n if (tab) {\n const index = this.tabs.indexOf(tab)\n if (!tab.disabled && index > -1 && index !== this.currentTab) {\n const tabEvt = new BvEvent('activate-tab', {\n cancelable: true,\n vueTarget: this,\n componentId: this.safeId()\n })\n this.$emit(tabEvt.type, index, this.currentTab, tabEvt)\n if (!tabEvt.defaultPrevented) {\n result = true\n this.currentTab = index\n }\n }\n }\n // Couldn't set tab, so ensure v-model is set to `this.currentTab`\n /* istanbul ignore next: should rarely happen */\n if (!result && this.currentTab !== this.value) {\n this.$emit('input', this.currentTab)\n }\n return result\n },\n // Deactivate a tab given a <b-tab> instance\n // Accessed by <b-tab>\n deactivateTab(tab) {\n if (tab) {\n // Find first non-disabled tab that isn't the one being deactivated\n // If no tabs are available, then don't deactivate current tab\n return this.activateTab(this.tabs.filter(t => t !== tab).find(notDisabled))\n }\n /* istanbul ignore next: should never/rarely happen */\n return false\n },\n // Focus a tab button given its <b-tab> instance\n focusButton(tab) {\n // Wrap in `$nextTick()` to ensure DOM has completed rendering/updating before focusing\n this.$nextTick(() => {\n const button = this.getButtonForTab(tab)\n if (button && button.focus) {\n button.focus()\n }\n })\n },\n // Emit a click event on a specified <b-tab> component instance\n emitTabClick(tab, evt) {\n if (isEvent(evt) && tab && tab.$emit && !tab.disabled) {\n tab.$emit('click', evt)\n }\n },\n // Click handler\n clickTab(tab, evt) {\n this.activateTab(tab)\n this.emitTabClick(tab, evt)\n },\n // Move to first non-disabled tab\n firstTab(focus) {\n const tab = this.tabs.find(notDisabled)\n if (this.activateTab(tab) && focus) {\n this.focusButton(tab)\n this.emitTabClick(tab, focus)\n }\n },\n // Move to previous non-disabled tab\n previousTab(focus) {\n const currentIndex = Math.max(this.currentTab, 0)\n const tab = this.tabs\n .slice(0, currentIndex)\n .reverse()\n .find(notDisabled)\n if (this.activateTab(tab) && focus) {\n this.focusButton(tab)\n this.emitTabClick(tab, focus)\n }\n },\n // Move to next non-disabled tab\n nextTab(focus) {\n const currentIndex = Math.max(this.currentTab, -1)\n const tab = this.tabs.slice(currentIndex + 1).find(notDisabled)\n if (this.activateTab(tab) && focus) {\n this.focusButton(tab)\n this.emitTabClick(tab, focus)\n }\n },\n // Move to last non-disabled tab\n lastTab(focus) {\n const tab = this.tabs\n .slice()\n .reverse()\n .find(notDisabled)\n if (this.activateTab(tab) && focus) {\n this.focusButton(tab)\n this.emitTabClick(tab, focus)\n }\n }\n },\n render(h) {\n const tabs = this.tabs\n\n // Currently active tab\n const activeTab = tabs.find(tab => tab.localActive && !tab.disabled)\n\n // Tab button to allow focusing when no active tab found (keynav only)\n const fallbackTab = tabs.find(tab => !tab.disabled)\n\n // For each <b-tab> found create the tab buttons\n const buttons = tabs.map((tab, index) => {\n let tabIndex = null\n // Ensure at least one tab button is focusable when keynav enabled (if possible)\n if (!this.noKeyNav) {\n // Buttons are not in tab index unless active, or a fallback tab\n tabIndex = -1\n if (activeTab === tab || (!activeTab && fallbackTab === tab)) {\n // Place tab button in tab sequence\n tabIndex = null\n }\n }\n return h(BTabButtonHelper, {\n key: tab._uid || index,\n ref: 'buttons',\n // Needed to make `this.$refs.buttons` an array\n refInFor: true,\n props: {\n tab: tab,\n tabs: tabs,\n id: tab.controlledBy || (tab.safeId ? tab.safeId(`_BV_tab_button_`) : null),\n controls: tab.safeId ? tab.safeId() : null,\n tabIndex,\n setSize: tabs.length,\n posInSet: index + 1,\n noKeyNav: this.noKeyNav\n },\n on: {\n click: evt => {\n this.clickTab(tab, evt)\n },\n first: this.firstTab,\n prev: this.previousTab,\n next: this.nextTab,\n last: this.lastTab\n }\n })\n })\n\n // Nav\n let nav = h(\n BNav,\n {\n ref: 'nav',\n class: this.localNavClass,\n attrs: {\n role: 'tablist',\n id: this.safeId('_BV_tab_controls_')\n },\n props: {\n fill: this.fill,\n justified: this.justified,\n align: this.align,\n tabs: !this.noNavStyle && !this.pills,\n pills: !this.noNavStyle && this.pills,\n vertical: this.vertical,\n small: this.small,\n cardHeader: this.card && !this.vertical\n }\n },\n [this.normalizeSlot('tabs-start') || h(), buttons, this.normalizeSlot('tabs-end') || h()]\n )\n nav = h(\n 'div',\n {\n key: 'bv-tabs-nav',\n class: [\n {\n 'card-header': this.card && !this.vertical && !this.end,\n 'card-footer': this.card && !this.vertical && this.end,\n 'col-auto': this.vertical\n },\n this.navWrapperClass\n ]\n },\n [nav]\n )\n\n let empty = h()\n if (!tabs || tabs.length === 0) {\n empty = h(\n 'div',\n { key: 'bv-empty-tab', class: ['tab-pane', 'active', { 'card-body': this.card }] },\n this.normalizeSlot('empty')\n )\n }\n\n // Main content section\n const content = h(\n 'div',\n {\n ref: 'tabsContainer',\n key: 'bv-tabs-container',\n staticClass: 'tab-content',\n class: [{ col: this.vertical }, this.contentClass],\n attrs: { id: this.safeId('_BV_tab_container_') }\n },\n concat(this.normalizeSlot('default'), empty)\n )\n\n // Render final output\n return h(\n this.tag,\n {\n staticClass: 'tabs',\n class: {\n row: this.vertical,\n 'no-gutters': this.vertical && this.card\n },\n attrs: { id: this.safeId() }\n },\n [this.end ? content : h(), [nav], this.end ? h() : content]\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport idMixin from '../../mixins/id'\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\nimport BVTransition from '../../utils/bv-transition'\n\n// @vue/component\nexport const BTab = /*#__PURE__*/ Vue.extend({\n name: 'BTab',\n mixins: [idMixin, normalizeSlotMixin],\n inject: {\n bvTabs: {\n default: () => ({})\n }\n },\n props: {\n active: {\n type: Boolean,\n default: false\n },\n tag: {\n type: String,\n default: 'div'\n },\n buttonId: {\n type: String,\n default: ''\n },\n title: {\n type: String,\n default: ''\n },\n titleItemClass: {\n // Sniffed by tabs.js and added to nav 'li.nav-item'\n type: [String, Array, Object],\n default: null\n },\n titleLinkClass: {\n // Sniffed by tabs.js and added to nav 'a.nav-link'\n type: [String, Array, Object],\n default: null\n },\n disabled: {\n type: Boolean,\n default: false\n },\n noBody: {\n type: Boolean,\n default: false\n },\n lazy: {\n type: Boolean,\n default: false\n }\n },\n data() {\n return {\n localActive: this.active && !this.disabled,\n show: false\n }\n },\n computed: {\n tabClasses() {\n return [\n {\n active: this.localActive,\n disabled: this.disabled,\n 'card-body': this.bvTabs.card && !this.noBody\n },\n // Apply <b-tabs> `activeTabClass` styles when this tab is active\n this.localActive ? this.bvTabs.activeTabClass : null\n ]\n },\n controlledBy() {\n return this.buttonId || this.safeId('__BV_tab_button__')\n },\n computedNoFade() {\n return !(this.bvTabs.fade || false)\n },\n computedLazy() {\n return this.bvTabs.lazy || this.lazy\n },\n _isTab() {\n // For parent sniffing of child\n return true\n }\n },\n watch: {\n localActive(newVal) {\n // Make 'active' prop work with `.sync` modifier\n this.$emit('update:active', newVal)\n },\n active(newVal, oldVal) {\n if (newVal !== oldVal) {\n if (newVal) {\n // If activated post mount\n this.activate()\n } else {\n /* istanbul ignore next */\n if (!this.deactivate()) {\n // Tab couldn't be deactivated, so we reset the synced active prop\n // Deactivation will fail if no other tabs to activate\n this.$emit('update:active', this.localActive)\n }\n }\n }\n },\n disabled(newVal, oldVal) {\n if (newVal !== oldVal) {\n if (newVal && this.localActive && this.bvTabs.firstTab) {\n this.localActive = false\n this.bvTabs.firstTab()\n }\n }\n }\n },\n mounted() {\n // Inform b-tabs of our presence\n this.registerTab()\n // Initially show on mount if active and not disabled\n this.show = this.localActive\n },\n updated() {\n // Force the tab button content to update (since slots are not reactive)\n // Only done if we have a title slot, as the title prop is reactive\n if (this.hasNormalizedSlot('title') && this.bvTabs.updateButton) {\n this.bvTabs.updateButton(this)\n }\n },\n destroyed() {\n // inform b-tabs of our departure\n this.unregisterTab()\n },\n methods: {\n // Private methods\n registerTab() {\n // Inform `b-tabs` of our presence\n this.bvTabs.registerTab && this.bvTabs.registerTab(this)\n },\n unregisterTab() {\n // Inform `b-tabs` of our departure\n this.bvTabs.unregisterTab && this.bvTabs.unregisterTab(this)\n },\n // Public methods\n activate() {\n if (this.bvTabs.activateTab && !this.disabled) {\n return this.bvTabs.activateTab(this)\n } else {\n // Not inside a <b-tabs> component or tab is disabled\n return false\n }\n },\n deactivate() {\n if (this.bvTabs.deactivateTab && this.localActive) {\n return this.bvTabs.deactivateTab(this)\n } else {\n // Not inside a <b-tabs> component or not active to begin with\n return false\n }\n }\n },\n render(h) {\n const content = h(\n this.tag,\n {\n ref: 'panel',\n staticClass: 'tab-pane',\n class: this.tabClasses,\n directives: [\n {\n name: 'show',\n rawName: 'v-show',\n value: this.localActive,\n expression: 'localActive'\n }\n ],\n attrs: {\n role: 'tabpanel',\n id: this.safeId(),\n 'aria-hidden': this.localActive ? 'false' : 'true',\n 'aria-labelledby': this.controlledBy || null\n }\n },\n // Render content lazily if requested\n [this.localActive || !this.computedLazy ? this.normalizeSlot('default') : h()]\n )\n return h(BVTransition, { props: { mode: 'out-in', noFade: this.computedNoFade } }, [content])\n }\n})\n","import { BTabs } from './tabs'\nimport { BTab } from './tab'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst TabsPlugin = /*#__PURE__*/ pluginFactory({\n components: {\n BTabs,\n BTab\n }\n})\n\nexport { TabsPlugin, BTabs, BTab }\n","\n /*! \n * portal-vue © Thorsten Lünborg, 2019 \n * \n * Version: 2.1.7\n * \n * LICENCE: MIT \n * \n * https://github.com/linusborg/portal-vue\n * \n */\n\nimport Vue from 'vue';\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nvar inBrowser = typeof window !== 'undefined';\nfunction freeze(item) {\n if (Array.isArray(item) || _typeof(item) === 'object') {\n return Object.freeze(item);\n }\n\n return item;\n}\nfunction combinePassengers(transports) {\n var slotProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return transports.reduce(function (passengers, transport) {\n var temp = transport.passengers[0];\n var newPassengers = typeof temp === 'function' ? temp(slotProps) : transport.passengers;\n return passengers.concat(newPassengers);\n }, []);\n}\nfunction stableSort(array, compareFn) {\n return array.map(function (v, idx) {\n return [idx, v];\n }).sort(function (a, b) {\n return compareFn(a[1], b[1]) || a[0] - b[0];\n }).map(function (c) {\n return c[1];\n });\n}\nfunction pick(obj, keys) {\n return keys.reduce(function (acc, key) {\n if (obj.hasOwnProperty(key)) {\n acc[key] = obj[key];\n }\n\n return acc;\n }, {});\n}\n\nvar transports = {};\nvar targets = {};\nvar sources = {};\nvar Wormhole = Vue.extend({\n data: function data() {\n return {\n transports: transports,\n targets: targets,\n sources: sources,\n trackInstances: inBrowser\n };\n },\n methods: {\n open: function open(transport) {\n if (!inBrowser) return;\n var to = transport.to,\n from = transport.from,\n passengers = transport.passengers,\n _transport$order = transport.order,\n order = _transport$order === void 0 ? Infinity : _transport$order;\n if (!to || !from || !passengers) return;\n var newTransport = {\n to: to,\n from: from,\n passengers: freeze(passengers),\n order: order\n };\n var keys = Object.keys(this.transports);\n\n if (keys.indexOf(to) === -1) {\n Vue.set(this.transports, to, []);\n }\n\n var currentIndex = this.$_getTransportIndex(newTransport); // Copying the array here so that the PortalTarget change event will actually contain two distinct arrays\n\n var newTransports = this.transports[to].slice(0);\n\n if (currentIndex === -1) {\n newTransports.push(newTransport);\n } else {\n newTransports[currentIndex] = newTransport;\n }\n\n this.transports[to] = stableSort(newTransports, function (a, b) {\n return a.order - b.order;\n });\n },\n close: function close(transport) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var to = transport.to,\n from = transport.from;\n if (!to || !from && force === false) return;\n\n if (!this.transports[to]) {\n return;\n }\n\n if (force) {\n this.transports[to] = [];\n } else {\n var index = this.$_getTransportIndex(transport);\n\n if (index >= 0) {\n // Copying the array here so that the PortalTarget change event will actually contain two distinct arrays\n var newTransports = this.transports[to].slice(0);\n newTransports.splice(index, 1);\n this.transports[to] = newTransports;\n }\n }\n },\n registerTarget: function registerTarget(target, vm, force) {\n if (!inBrowser) return;\n\n if (this.trackInstances && !force && this.targets[target]) {\n console.warn(\"[portal-vue]: Target \".concat(target, \" already exists\"));\n }\n\n this.$set(this.targets, target, Object.freeze([vm]));\n },\n unregisterTarget: function unregisterTarget(target) {\n this.$delete(this.targets, target);\n },\n registerSource: function registerSource(source, vm, force) {\n if (!inBrowser) return;\n\n if (this.trackInstances && !force && this.sources[source]) {\n console.warn(\"[portal-vue]: source \".concat(source, \" already exists\"));\n }\n\n this.$set(this.sources, source, Object.freeze([vm]));\n },\n unregisterSource: function unregisterSource(source) {\n this.$delete(this.sources, source);\n },\n hasTarget: function hasTarget(to) {\n return !!(this.targets[to] && this.targets[to][0]);\n },\n hasSource: function hasSource(to) {\n return !!(this.sources[to] && this.sources[to][0]);\n },\n hasContentFor: function hasContentFor(to) {\n return !!this.transports[to] && !!this.transports[to].length;\n },\n // Internal\n $_getTransportIndex: function $_getTransportIndex(_ref) {\n var to = _ref.to,\n from = _ref.from;\n\n for (var i in this.transports[to]) {\n if (this.transports[to][i].from === from) {\n return +i;\n }\n }\n\n return -1;\n }\n }\n});\nvar wormhole = new Wormhole(transports);\n\nvar _id = 1;\nvar Portal = Vue.extend({\n name: 'portal',\n props: {\n disabled: {\n type: Boolean\n },\n name: {\n type: String,\n default: function _default() {\n return String(_id++);\n }\n },\n order: {\n type: Number,\n default: 0\n },\n slim: {\n type: Boolean\n },\n slotProps: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n tag: {\n type: String,\n default: 'DIV'\n },\n to: {\n type: String,\n default: function _default() {\n return String(Math.round(Math.random() * 10000000));\n }\n }\n },\n created: function created() {\n var _this = this;\n\n this.$nextTick(function () {\n wormhole.registerSource(_this.name, _this);\n });\n },\n mounted: function mounted() {\n if (!this.disabled) {\n this.sendUpdate();\n }\n },\n updated: function updated() {\n if (this.disabled) {\n this.clear();\n } else {\n this.sendUpdate();\n }\n },\n beforeDestroy: function beforeDestroy() {\n wormhole.unregisterSource(this.name);\n this.clear();\n },\n watch: {\n to: function to(newValue, oldValue) {\n oldValue && oldValue !== newValue && this.clear(oldValue);\n this.sendUpdate();\n }\n },\n methods: {\n clear: function clear(target) {\n var closer = {\n from: this.name,\n to: target || this.to\n };\n wormhole.close(closer);\n },\n normalizeSlots: function normalizeSlots() {\n return this.$scopedSlots.default ? [this.$scopedSlots.default] : this.$slots.default;\n },\n normalizeOwnChildren: function normalizeOwnChildren(children) {\n return typeof children === 'function' ? children(this.slotProps) : children;\n },\n sendUpdate: function sendUpdate() {\n var slotContent = this.normalizeSlots();\n\n if (slotContent) {\n var transport = {\n from: this.name,\n to: this.to,\n passengers: _toConsumableArray(slotContent),\n order: this.order\n };\n wormhole.open(transport);\n } else {\n this.clear();\n }\n }\n },\n render: function render(h) {\n var children = this.$slots.default || this.$scopedSlots.default || [];\n var Tag = this.tag;\n\n if (children && this.disabled) {\n return children.length <= 1 && this.slim ? this.normalizeOwnChildren(children)[0] : h(Tag, [this.normalizeOwnChildren(children)]);\n } else {\n return this.slim ? h() : h(Tag, {\n class: {\n 'v-portal': true\n },\n style: {\n display: 'none'\n },\n key: 'v-portal-placeholder'\n });\n }\n }\n});\n\nvar PortalTarget = Vue.extend({\n name: 'portalTarget',\n props: {\n multiple: {\n type: Boolean,\n default: false\n },\n name: {\n type: String,\n required: true\n },\n slim: {\n type: Boolean,\n default: false\n },\n slotProps: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n tag: {\n type: String,\n default: 'div'\n },\n transition: {\n type: [String, Object, Function]\n }\n },\n data: function data() {\n return {\n transports: wormhole.transports,\n firstRender: true\n };\n },\n created: function created() {\n var _this = this;\n\n this.$nextTick(function () {\n wormhole.registerTarget(_this.name, _this);\n });\n },\n watch: {\n ownTransports: function ownTransports() {\n this.$emit('change', this.children().length > 0);\n },\n name: function name(newVal, oldVal) {\n /**\r\n * TODO\r\n * This should warn as well ...\r\n */\n wormhole.unregisterTarget(oldVal);\n wormhole.registerTarget(newVal, this);\n }\n },\n mounted: function mounted() {\n var _this2 = this;\n\n if (this.transition) {\n this.$nextTick(function () {\n // only when we have a transition, because it causes a re-render\n _this2.firstRender = false;\n });\n }\n },\n beforeDestroy: function beforeDestroy() {\n wormhole.unregisterTarget(this.name);\n },\n computed: {\n ownTransports: function ownTransports() {\n var transports = this.transports[this.name] || [];\n\n if (this.multiple) {\n return transports;\n }\n\n return transports.length === 0 ? [] : [transports[transports.length - 1]];\n },\n passengers: function passengers() {\n return combinePassengers(this.ownTransports, this.slotProps);\n }\n },\n methods: {\n // can't be a computed prop because it has to \"react\" to $slot changes.\n children: function children() {\n return this.passengers.length !== 0 ? this.passengers : this.$scopedSlots.default ? this.$scopedSlots.default(this.slotProps) : this.$slots.default || [];\n },\n // can't be a computed prop because it has to \"react\" to this.children().\n noWrapper: function noWrapper() {\n var noWrapper = this.slim && !this.transition;\n\n if (noWrapper && this.children().length > 1) {\n console.warn('[portal-vue]: PortalTarget with `slim` option received more than one child element.');\n }\n\n return noWrapper;\n }\n },\n render: function render(h) {\n var noWrapper = this.noWrapper();\n var children = this.children();\n var Tag = this.transition || this.tag;\n return noWrapper ? children[0] : this.slim && !Tag ? h() : h(Tag, {\n props: {\n // if we have a transition component, pass the tag if it exists\n tag: this.transition && this.tag ? this.tag : undefined\n },\n class: {\n 'vue-portal-target': true\n }\n }, children);\n }\n});\n\nvar _id$1 = 0;\nvar portalProps = ['disabled', 'name', 'order', 'slim', 'slotProps', 'tag', 'to'];\nvar targetProps = ['multiple', 'transition'];\nvar MountingPortal = Vue.extend({\n name: 'MountingPortal',\n inheritAttrs: false,\n props: {\n append: {\n type: [Boolean, String]\n },\n bail: {\n type: Boolean\n },\n mountTo: {\n type: String,\n required: true\n },\n // Portal\n disabled: {\n type: Boolean\n },\n // name for the portal\n name: {\n type: String,\n default: function _default() {\n return 'mounted_' + String(_id$1++);\n }\n },\n order: {\n type: Number,\n default: 0\n },\n slim: {\n type: Boolean\n },\n slotProps: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n tag: {\n type: String,\n default: 'DIV'\n },\n // name for the target\n to: {\n type: String,\n default: function _default() {\n return String(Math.round(Math.random() * 10000000));\n }\n },\n // Target\n multiple: {\n type: Boolean,\n default: false\n },\n targetSlim: {\n type: Boolean\n },\n targetSlotProps: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n targetTag: {\n type: String,\n default: 'div'\n },\n transition: {\n type: [String, Object, Function]\n }\n },\n created: function created() {\n if (typeof document === 'undefined') return;\n var el = document.querySelector(this.mountTo);\n\n if (!el) {\n console.error(\"[portal-vue]: Mount Point '\".concat(this.mountTo, \"' not found in document\"));\n return;\n }\n\n var props = this.$props; // Target already exists\n\n if (wormhole.targets[props.name]) {\n if (props.bail) {\n console.warn(\"[portal-vue]: Target \".concat(props.name, \" is already mounted.\\n Aborting because 'bail: true' is set\"));\n } else {\n this.portalTarget = wormhole.targets[props.name];\n }\n\n return;\n }\n\n var append = props.append;\n\n if (append) {\n var type = typeof append === 'string' ? append : 'DIV';\n var mountEl = document.createElement(type);\n el.appendChild(mountEl);\n el = mountEl;\n } // get props for target from $props\n // we have to rename a few of them\n\n\n var _props = pick(this.$props, targetProps);\n\n _props.slim = this.targetSlim;\n _props.tag = this.targetTag;\n _props.slotProps = this.targetSlotProps;\n _props.name = this.to;\n this.portalTarget = new PortalTarget({\n el: el,\n parent: this.$parent || this,\n propsData: _props\n });\n },\n beforeDestroy: function beforeDestroy() {\n var target = this.portalTarget;\n\n if (this.append) {\n var el = target.$el;\n el.parentNode.removeChild(el);\n }\n\n target.$destroy();\n },\n render: function render(h) {\n if (!this.portalTarget) {\n console.warn(\"[portal-vue] Target wasn't mounted\");\n return h();\n } // if there's no \"manual\" scoped slot, so we create a <Portal> ourselves\n\n\n if (!this.$scopedSlots.manual) {\n var props = pick(this.$props, portalProps);\n return h(Portal, {\n props: props,\n attrs: this.$attrs,\n on: this.$listeners,\n scopedSlots: this.$scopedSlots\n }, this.$slots.default);\n } // else, we render the scoped slot\n\n\n var content = this.$scopedSlots.manual({\n to: this.to\n }); // if user used <template> for the scoped slot\n // content will be an array\n\n if (Array.isArray(content)) {\n content = content[0];\n }\n\n if (!content) return h();\n return content;\n }\n});\n\nfunction install(Vue$$1) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n Vue$$1.component(options.portalName || 'Portal', Portal);\n Vue$$1.component(options.portalTargetName || 'PortalTarget', PortalTarget);\n Vue$$1.component(options.MountingPortalName || 'MountingPortal', MountingPortal);\n}\n\nvar index = {\n install: install\n};\n\nexport default index;\nexport { Portal, PortalTarget, MountingPortal, wormhole as Wormhole };\n//# sourceMappingURL=portal-vue.esm.js.map\n","import Vue from '../../utils/vue'\nimport { PortalTarget, Wormhole } from 'portal-vue'\nimport { getComponentConfig } from '../../utils/config'\nimport { removeClass, requestAF } from '../../utils/dom'\nimport { warn } from '../../utils/warn'\n\n// --- Constants ---\n\nconst NAME = 'BToaster'\n\nexport const props = {\n name: {\n type: String,\n required: true\n },\n ariaLive: {\n type: String,\n default: () => getComponentConfig(NAME, 'ariaLive')\n },\n ariaAtomic: {\n type: String,\n default: () => getComponentConfig(NAME, 'ariaAtomic') // Allowed: 'true' or 'false' or null\n },\n role: {\n // Aria role\n type: String,\n default: () => getComponentConfig(NAME, 'role')\n }\n /*\n transition: {\n type: [Boolean, String, Object],\n default: false\n }\n */\n}\n\n// @vue/component\nexport const DefaultTransition = /*#__PURE__*/ Vue.extend({\n data() {\n return {\n // Transition classes base name\n name: 'b-toaster'\n }\n },\n methods: {\n onAfterEnter(el) {\n // Handle bug where enter-to class is not removed.\n // Bug is related to portal-vue and transition-groups.\n requestAF(() => {\n removeClass(el, `${this.name}-enter-to`)\n // The *-move class is also stuck on elements that moved,\n // but there are no javascript hooks to handle after move.\n })\n }\n },\n render(h) {\n return h(\n 'transition-group',\n {\n props: { tag: 'div', name: this.name },\n on: { afterEnter: this.onAfterEnter }\n },\n this.$slots.default\n )\n }\n})\n\n// @vue/component\nexport const BToaster = /*#__PURE__*/ Vue.extend({\n name: NAME,\n props,\n data() {\n return {\n // We don't render on SSR or if a an existing target found\n doRender: false,\n dead: false,\n // Toaster names cannot change once created\n staticName: this.name\n }\n },\n beforeMount() {\n this.staticName = this.name\n /* istanbul ignore if */\n if (Wormhole.hasTarget(this.staticName)) {\n warn(\n `A \"<portal-target>\" with name \"${this.name}\" already exists in the document.`,\n 'BToaster'\n )\n this.dead = true\n } else {\n this.doRender = true\n this.$once('hook:beforeDestroy', () => {\n // Let toasts made with `this.$bvToast.toast()` know that this toaster\n // is being destroyed and should should also destroy/hide themselves\n this.$root.$emit('bv::toaster::destroyed', this.staticName)\n })\n }\n },\n destroyed() {\n // Remove from DOM if needed\n /* istanbul ignore next: difficult to test */\n if (this.$el && this.$el.parentNode) {\n this.$el.parentNode.removeChild(this.$el)\n }\n },\n render(h) {\n let $toaster = h('div', { class: ['d-none', { 'b-dead-toaster': this.dead }] })\n if (this.doRender) {\n const $target = h(PortalTarget, {\n staticClass: 'b-toaster-slot',\n props: {\n name: this.staticName,\n multiple: true,\n tag: 'div',\n slim: false,\n // transition: this.transition || DefaultTransition\n transition: DefaultTransition\n }\n })\n $toaster = h(\n 'div',\n {\n staticClass: 'b-toaster',\n class: [this.staticName],\n attrs: {\n id: this.staticName,\n role: this.role || null, // Fallback to null to make sure attribute doesn't exist\n 'aria-live': this.ariaLive,\n 'aria-atomic': this.ariaAtomic\n }\n },\n [$target]\n )\n }\n return $toaster\n }\n})\n","import Vue from '../../utils/vue'\nimport { Portal, Wormhole } from 'portal-vue'\nimport BVTransition from '../../utils/bv-transition'\nimport { BvEvent } from '../../utils/bv-event.class'\nimport { getComponentConfig } from '../../utils/config'\nimport { requestAF } from '../../utils/dom'\nimport { EVENT_OPTIONS_NO_CAPTURE, eventOnOff } from '../../utils/events'\nimport { toInteger } from '../../utils/number'\nimport idMixin from '../../mixins/id'\nimport listenOnRootMixin from '../../mixins/listen-on-root'\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\nimport scopedStyleAttrsMixin from '../../mixins/scoped-style-attrs'\nimport { BToaster } from './toaster'\nimport { BButtonClose } from '../button/button-close'\nimport { BLink } from '../link/link'\n\n// --- Constants ---\n\nconst NAME = 'BToast'\n\nconst MIN_DURATION = 1000\n\n// --- Props ---\n\nexport const props = {\n id: {\n // Even though the ID prop is provided by idMixin, we\n // add it here for $bvToast props filtering\n type: String,\n default: null\n },\n title: {\n type: String,\n default: null\n },\n toaster: {\n type: String,\n default: () => getComponentConfig(NAME, 'toaster')\n },\n visible: {\n type: Boolean,\n default: false\n },\n variant: {\n type: String,\n default: () => getComponentConfig(NAME, 'variant')\n },\n isStatus: {\n // Switches role to 'status' and aria-live to 'polite'\n type: Boolean,\n default: false\n },\n appendToast: {\n type: Boolean,\n default: false\n },\n noAutoHide: {\n type: Boolean,\n default: false\n },\n autoHideDelay: {\n type: [Number, String],\n default: () => getComponentConfig(NAME, 'autoHideDelay')\n },\n noCloseButton: {\n type: Boolean,\n default: false\n },\n noFade: {\n type: Boolean,\n default: false\n },\n noHoverPause: {\n type: Boolean,\n default: false\n },\n solid: {\n type: Boolean,\n default: false\n },\n toastClass: {\n type: [String, Object, Array],\n default: () => getComponentConfig(NAME, 'toastClass')\n },\n headerClass: {\n type: [String, Object, Array],\n default: () => getComponentConfig(NAME, 'headerClass')\n },\n bodyClass: {\n type: [String, Object, Array],\n default: () => getComponentConfig(NAME, 'bodyClass')\n },\n href: {\n type: String,\n default: null\n },\n to: {\n type: [String, Object],\n default: null\n },\n static: {\n // Render the toast in place, rather than in a portal-target\n type: Boolean,\n default: false\n }\n}\n\n// @vue/component\nexport const BToast = /*#__PURE__*/ Vue.extend({\n name: NAME,\n mixins: [idMixin, listenOnRootMixin, normalizeSlotMixin, scopedStyleAttrsMixin],\n inheritAttrs: false,\n model: {\n prop: 'visible',\n event: 'change'\n },\n props,\n data() {\n return {\n isMounted: false,\n doRender: false,\n localShow: false,\n isTransitioning: false,\n isHiding: false,\n order: 0,\n timer: null,\n dismissStarted: 0,\n resumeDismiss: 0\n }\n },\n computed: {\n bToastClasses() {\n return {\n 'b-toast-solid': this.solid,\n 'b-toast-append': this.appendToast,\n 'b-toast-prepend': !this.appendToast,\n [`b-toast-${this.variant}`]: this.variant\n }\n },\n slotScope() {\n return {\n hide: this.hide\n }\n },\n computedDuration() {\n // Minimum supported duration is 1 second\n return Math.max(toInteger(this.autoHideDelay) || 0, MIN_DURATION)\n },\n computedToaster() {\n return String(this.toaster)\n },\n transitionHandlers() {\n return {\n beforeEnter: this.onBeforeEnter,\n afterEnter: this.onAfterEnter,\n beforeLeave: this.onBeforeLeave,\n afterLeave: this.onAfterLeave\n }\n }\n },\n watch: {\n visible(newVal) {\n newVal ? this.show() : this.hide()\n },\n localShow(newVal) {\n if (newVal !== this.visible) {\n this.$emit('change', newVal)\n }\n },\n toaster() /* istanbul ignore next */ {\n // If toaster target changed, make sure toaster exists\n this.$nextTick(this.ensureToaster)\n },\n static(newVal) /* istanbul ignore next */ {\n // If static changes to true, and the toast is showing,\n // ensure the toaster target exists\n if (newVal && this.localShow) {\n this.ensureToaster()\n }\n }\n },\n mounted() {\n this.isMounted = true\n this.$nextTick(() => {\n if (this.visible) {\n requestAF(() => {\n this.show()\n })\n }\n })\n // Listen for global $root show events\n this.listenOnRoot('bv::show::toast', id => {\n if (id === this.safeId()) {\n this.show()\n }\n })\n // Listen for global $root hide events\n this.listenOnRoot('bv::hide::toast', id => {\n if (!id || id === this.safeId()) {\n this.hide()\n }\n })\n // Make sure we hide when toaster is destroyed\n /* istanbul ignore next: difficult to test */\n this.listenOnRoot('bv::toaster::destroyed', toaster => {\n /* istanbul ignore next */\n if (toaster === this.computedToaster) {\n /* istanbul ignore next */\n this.hide()\n }\n })\n },\n beforeDestroy() {\n this.clearDismissTimer()\n },\n methods: {\n show() {\n if (!this.localShow) {\n this.ensureToaster()\n const showEvt = this.buildEvent('show')\n this.emitEvent(showEvt)\n this.dismissStarted = this.resumeDismiss = 0\n this.order = Date.now() * (this.appendToast ? 1 : -1)\n this.isHiding = false\n this.doRender = true\n this.$nextTick(() => {\n // We show the toast after we have rendered the portal and b-toast wrapper\n // so that screen readers will properly announce the toast\n requestAF(() => {\n this.localShow = true\n })\n })\n }\n },\n hide() {\n if (this.localShow) {\n const hideEvt = this.buildEvent('hide')\n this.emitEvent(hideEvt)\n this.setHoverHandler(false)\n this.dismissStarted = this.resumeDismiss = 0\n this.clearDismissTimer()\n this.isHiding = true\n requestAF(() => {\n this.localShow = false\n })\n }\n },\n buildEvent(type, options = {}) {\n return new BvEvent(type, {\n cancelable: false,\n target: this.$el || null,\n relatedTarget: null,\n ...options,\n vueTarget: this,\n componentId: this.safeId()\n })\n },\n emitEvent(bvEvt) {\n const type = bvEvt.type\n this.$root.$emit(`bv::toast:${type}`, bvEvt)\n this.$emit(type, bvEvt)\n },\n ensureToaster() {\n if (this.static) {\n return\n }\n if (!Wormhole.hasTarget(this.computedToaster)) {\n const div = document.createElement('div')\n document.body.appendChild(div)\n const toaster = new BToaster({\n parent: this.$root,\n propsData: {\n name: this.computedToaster\n }\n })\n toaster.$mount(div)\n }\n },\n startDismissTimer() {\n this.clearDismissTimer()\n if (!this.noAutoHide) {\n this.timer = setTimeout(this.hide, this.resumeDismiss || this.computedDuration)\n this.dismissStarted = Date.now()\n this.resumeDismiss = 0\n }\n },\n clearDismissTimer() {\n clearTimeout(this.timer)\n this.timer = null\n },\n setHoverHandler(on) {\n const el = this.$refs['b-toast']\n eventOnOff(on, el, 'mouseenter', this.onPause, EVENT_OPTIONS_NO_CAPTURE)\n eventOnOff(on, el, 'mouseleave', this.onUnPause, EVENT_OPTIONS_NO_CAPTURE)\n },\n onPause() {\n // Determine time remaining, and then pause timer\n if (this.noAutoHide || this.noHoverPause || !this.timer || this.resumeDismiss) {\n return\n }\n const passed = Date.now() - this.dismissStarted\n if (passed > 0) {\n this.clearDismissTimer()\n this.resumeDismiss = Math.max(this.computedDuration - passed, MIN_DURATION)\n }\n },\n onUnPause() {\n // Restart timer with max of time remaining or 1 second\n if (this.noAutoHide || this.noHoverPause || !this.resumeDismiss) {\n this.resumeDismiss = this.dismissStarted = 0\n return\n }\n this.startDismissTimer()\n },\n onLinkClick() {\n // We delay the close to allow time for the\n // browser to process the link click\n this.$nextTick(() => {\n requestAF(() => {\n this.hide()\n })\n })\n },\n onBeforeEnter() {\n this.isTransitioning = true\n },\n onAfterEnter() {\n this.isTransitioning = false\n const hiddenEvt = this.buildEvent('shown')\n this.emitEvent(hiddenEvt)\n this.startDismissTimer()\n this.setHoverHandler(true)\n },\n onBeforeLeave() {\n this.isTransitioning = true\n },\n onAfterLeave() {\n this.isTransitioning = false\n this.order = 0\n this.resumeDismiss = this.dismissStarted = 0\n const hiddenEvt = this.buildEvent('hidden')\n this.emitEvent(hiddenEvt)\n this.doRender = false\n },\n makeToast(h) {\n // Render helper for generating the toast\n // Assemble the header content\n const $headerContent = []\n const $title = this.normalizeSlot('toast-title', this.slotScope)\n if ($title) {\n $headerContent.push($title)\n } else if (this.title) {\n $headerContent.push(h('strong', { staticClass: 'mr-2' }, this.title))\n }\n if (!this.noCloseButton) {\n $headerContent.push(\n h(BButtonClose, {\n staticClass: 'ml-auto mb-1',\n on: {\n click: () => {\n this.hide()\n }\n }\n })\n )\n }\n // Assemble the header (if needed)\n let $header = h()\n if ($headerContent.length > 0) {\n $header = h(\n 'header',\n { staticClass: 'toast-header', class: this.headerClass },\n $headerContent\n )\n }\n // Toast body\n const isLink = this.href || this.to\n const $body = h(\n isLink ? BLink : 'div',\n {\n staticClass: 'toast-body',\n class: this.bodyClass,\n props: isLink ? { to: this.to, href: this.href } : {},\n on: isLink ? { click: this.onLinkClick } : {}\n },\n [this.normalizeSlot('default', this.slotScope) || h()]\n )\n // Build the toast\n const $toast = h(\n 'div',\n {\n key: `toast-${this._uid}`,\n ref: 'toast',\n staticClass: 'toast',\n class: this.toastClass,\n attrs: {\n ...this.$attrs,\n tabindex: '0',\n id: this.safeId()\n }\n },\n [$header, $body]\n )\n return $toast\n }\n },\n render(h) {\n if (!this.doRender || !this.isMounted) {\n return h()\n }\n const name = `b-toast-${this._uid}`\n // If scoped styles are applied and the toast is not static,\n // make sure the scoped style data attribute is applied\n const scopedStyleAttrs = !this.static ? this.scopedStyleAttrs : {}\n\n return h(\n Portal,\n {\n props: {\n name: name,\n to: this.computedToaster,\n order: this.order,\n slim: true,\n disabled: this.static\n }\n },\n [\n h(\n 'div',\n {\n key: name,\n ref: 'b-toast',\n staticClass: 'b-toast',\n class: this.bToastClasses,\n attrs: {\n ...scopedStyleAttrs,\n id: this.safeId('_toast_outer'),\n role: this.isHiding ? null : this.isStatus ? 'status' : 'alert',\n 'aria-live': this.isHiding ? null : this.isStatus ? 'polite' : 'assertive',\n 'aria-atomic': this.isHiding ? null : 'true'\n }\n },\n [\n h(BVTransition, { props: { noFade: this.noFade }, on: this.transitionHandlers }, [\n this.localShow ? this.makeToast(h) : h()\n ])\n ]\n )\n ]\n )\n }\n})\n","/**\n * Plugin for adding `$bvToast` property to all Vue instances\n */\n\nimport { concat } from '../../../utils/array'\nimport { getComponentConfig } from '../../../utils/config'\nimport { requestAF } from '../../../utils/dom'\nimport { isUndefined, isString } from '../../../utils/inspect'\nimport {\n assign,\n defineProperties,\n defineProperty,\n keys,\n omit,\n readonlyDescriptor\n} from '../../../utils/object'\nimport { pluginFactory } from '../../../utils/plugins'\nimport { warn, warnNotClient } from '../../../utils/warn'\nimport { BToast, props as toastProps } from '../toast'\n\n// --- Constants ---\n\nconst PROP_NAME = '$bvToast'\nconst PROP_NAME_PRIV = '_bv__toast'\n\n// Base toast props that are allowed\n// Some may be ignored or overridden on some message boxes\n// Prop ID is allowed, but really only should be used for testing\n// We need to add it in explicitly as it comes from the `idMixin`\nconst BASE_PROPS = ['id', ...keys(omit(toastProps, ['static', 'visible']))]\n\n// Map prop names to toast slot names\nconst propsToSlots = {\n toastContent: 'default',\n title: 'toast-title'\n}\n\n// --- Utility methods ---\n\n// Method to filter only recognized props that are not undefined\nconst filterOptions = options => {\n return BASE_PROPS.reduce((memo, key) => {\n if (!isUndefined(options[key])) {\n memo[key] = options[key]\n }\n return memo\n }, {})\n}\n\n// Method to install `$bvToast` VM injection\nconst plugin = Vue => {\n // Create a private sub-component constructor that\n // extends BToast and self-destructs after hidden\n // @vue/component\n const BToastPop = Vue.extend({\n name: 'BToastPop',\n extends: BToast,\n destroyed() {\n // Make sure we not in document any more\n if (this.$el && this.$el.parentNode) {\n this.$el.parentNode.removeChild(this.$el)\n }\n },\n mounted() {\n const self = this\n // Self destruct handler\n const handleDestroy = () => {\n // Ensure the toast has been force hidden\n self.localShow = false\n self.doRender = false\n self.$nextTick(() => {\n self.$nextTick(() => {\n // In a `requestAF()` to release control back to application\n // and to allow the portal-target time to remove the content\n requestAF(() => {\n self.$destroy()\n })\n })\n })\n }\n // Self destruct if parent destroyed\n this.$parent.$once('hook:destroyed', handleDestroy)\n // Self destruct after hidden\n this.$once('hidden', handleDestroy)\n // Self destruct when toaster is destroyed\n this.listenOnRoot('bv::toaster::destroyed', toaster => {\n /* istanbul ignore next: hard to test */\n if (toaster === self.toaster) {\n handleDestroy()\n }\n })\n }\n })\n\n // Private method to generate the on-demand toast\n const makeToast = (props, $parent) => {\n if (warnNotClient(PROP_NAME)) {\n /* istanbul ignore next */\n return\n }\n // Create an instance of `BToastPop` component\n const toast = new BToastPop({\n // We set parent as the local VM so these toasts can emit events on the\n // app `$root`, and it ensures `BToast` is destroyed when parent is destroyed\n parent: $parent,\n propsData: {\n ...filterOptions(getComponentConfig('BToast') || {}),\n // Add in (filtered) user supplied props\n ...omit(props, keys(propsToSlots)),\n // Props that can't be overridden\n static: false,\n visible: true\n }\n })\n // Convert certain props to slots\n keys(propsToSlots).forEach(prop => {\n let value = props[prop]\n if (!isUndefined(value)) {\n // Can be a string, or array of VNodes\n if (prop === 'title' && isString(value)) {\n // Special case for title if it is a string, we wrap in a <strong>\n value = [$parent.$createElement('strong', { class: 'mr-2' }, value)]\n }\n toast.$slots[propsToSlots[prop]] = concat(value)\n }\n })\n // Create a mount point (a DIV) and mount it (which triggers the show)\n const div = document.createElement('div')\n document.body.appendChild(div)\n toast.$mount(div)\n }\n\n // Declare BvToast instance property class\n class BvToast {\n constructor(vm) {\n // Assign the new properties to this instance\n assign(this, { _vm: vm, _root: vm.$root })\n // Set these properties as read-only and non-enumerable\n defineProperties(this, {\n _vm: readonlyDescriptor(),\n _root: readonlyDescriptor()\n })\n }\n\n // --- Public Instance methods ---\n\n // Opens a user defined toast and returns immediately\n toast(content, options = {}) {\n if (!content || warnNotClient(PROP_NAME)) {\n /* istanbul ignore next */\n return\n }\n makeToast({ ...filterOptions(options), toastContent: content }, this._vm)\n }\n\n // shows a `<b-toast>` component with the specified ID\n show(id) {\n if (id) {\n this._root.$emit('bv::show::toast', id)\n }\n }\n\n // Hide a toast with specified ID, or if not ID all toasts\n hide(id = null) {\n this._root.$emit('bv::hide::toast', id)\n }\n }\n\n // Add our instance mixin\n Vue.mixin({\n beforeCreate() {\n // Because we need access to `$root` for `$emits`, and VM for parenting,\n // we have to create a fresh instance of `BvToast` for each VM\n this[PROP_NAME_PRIV] = new BvToast(this)\n }\n })\n\n // Define our read-only `$bvToast` instance property\n // Placed in an if just in case in HMR mode\n // eslint-disable-next-line no-prototype-builtins\n if (!Vue.prototype.hasOwnProperty(PROP_NAME)) {\n defineProperty(Vue.prototype, PROP_NAME, {\n get() {\n /* istanbul ignore next */\n if (!this || !this[PROP_NAME_PRIV]) {\n warn(`\"${PROP_NAME}\" must be accessed from a Vue instance \"this\" context.`, 'BToast')\n }\n return this[PROP_NAME_PRIV]\n }\n })\n }\n}\n\nexport const BVToastPlugin = /*#__PURE__*/ pluginFactory({\n plugins: { plugin }\n})\n","import { BVToastPlugin } from './helpers/bv-toast'\nimport { BToast } from './toast'\nimport { BToaster } from './toaster'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst ToastPlugin = /*#__PURE__*/ pluginFactory({\n components: { BToast, BToaster },\n // $bvToast injection\n plugins: { BVToastPlugin }\n})\n\nexport { ToastPlugin, BToast, BToaster }\n","import getScopId from '../../utils/get-scope-id'\nimport identity from '../../utils/identity'\nimport looseEqual from '../../utils/loose-equal'\nimport { concat } from '../../utils/array'\nimport { getComponentConfig } from '../../utils/config'\nimport { isBrowser } from '../../utils/env'\nimport {\n isFunction,\n isNumber,\n isPlainObject,\n isString,\n isUndefined,\n isUndefinedOrNull\n} from '../../utils/inspect'\nimport { keys } from '../../utils/object'\nimport { BVTooltip } from '../../components/tooltip/helpers/bv-tooltip'\n\n// Key which we use to store tooltip object on element\nconst BV_TOOLTIP = '__BV_Tooltip__'\n\n// Default trigger\nconst DefaultTrigger = 'hover focus'\n\n// Valid event triggers\nconst validTriggers = {\n focus: true,\n hover: true,\n click: true,\n blur: true,\n manual: true\n}\n\n// Directive modifier test regular expressions. Pre-compile for performance\nconst htmlRE = /^html$/i\nconst noninteractiveRE = /^noninteractive$/i\nconst noFadeRE = /^nofade$/i\nconst placementRE = /^(auto|top(left|right)?|bottom(left|right)?|left(top|bottom)?|right(top|bottom)?)$/i\nconst boundaryRE = /^(window|viewport|scrollParent)$/i\nconst delayRE = /^d\\d+$/i\nconst delayShowRE = /^ds\\d+$/i\nconst delayHideRE = /^dh\\d+$/i\nconst offsetRE = /^o-?\\d+$/i\nconst variantRE = /^v-.+$/i\nconst spacesRE = /\\s+/\n\n// Build a Tooltip config based on bindings (if any)\n// Arguments and modifiers take precedence over passed value config object\nconst parseBindings = (bindings, vnode) => /* istanbul ignore next: not easy to test */ {\n // We start out with a basic config\n const NAME = 'BTooltip'\n // Default config\n let config = {\n title: undefined,\n trigger: '', // Default set below if needed\n placement: 'top',\n fallbackPlacement: 'flip',\n container: false, // Default of body\n animation: true,\n offset: 0,\n id: null,\n html: false,\n interactive: true,\n disabled: false,\n delay: getComponentConfig(NAME, 'delay'),\n boundary: String(getComponentConfig(NAME, 'boundary')),\n boundaryPadding: parseInt(getComponentConfig(NAME, 'boundaryPadding'), 10) || 0,\n variant: getComponentConfig(NAME, 'variant'),\n customClass: getComponentConfig(NAME, 'customClass')\n }\n\n // Process `bindings.value`\n if (isString(bindings.value) || isNumber(bindings.value)) {\n // Value is tooltip content (HTML optionally supported)\n config.title = bindings.value\n } else if (isFunction(bindings.value)) {\n // Title generator function\n config.title = bindings.value\n } else if (isPlainObject(bindings.value)) {\n // Value is config object, so merge\n config = { ...config, ...bindings.value }\n }\n\n // If title is not provided, try title attribute\n if (isUndefined(config.title)) {\n // Try attribute\n const data = vnode.data || {}\n config.title = data.attrs && !isUndefinedOrNull(data.attrs.title) ? data.attrs.title : undefined\n }\n\n // Normalize delay\n if (!isPlainObject(config.delay)) {\n config.delay = {\n show: parseInt(config.delay, 10) || 0,\n hide: parseInt(config.delay, 10) || 0\n }\n }\n\n // If argument, assume element ID of container element\n if (bindings.arg) {\n // Element ID specified as arg\n // We must prepend '#' to become a CSS selector\n config.container = `#${bindings.arg}`\n }\n\n // Process modifiers\n keys(bindings.modifiers).forEach(mod => {\n if (htmlRE.test(mod)) {\n // Title allows HTML\n config.html = true\n } else if (noninteractiveRE.test(mod)) {\n // Noninteractive\n config.interactive = false\n } else if (noFadeRE.test(mod)) {\n // No animation\n config.animation = false\n } else if (placementRE.test(mod)) {\n // Placement of tooltip\n config.placement = mod\n } else if (boundaryRE.test(mod)) {\n // Boundary of tooltip\n mod = mod === 'scrollparent' ? 'scrollParent' : mod\n config.boundary = mod\n } else if (delayRE.test(mod)) {\n // Delay value\n const delay = parseInt(mod.slice(1), 10) || 0\n config.delay.show = delay\n config.delay.hide = delay\n } else if (delayShowRE.test(mod)) {\n // Delay show value\n config.delay.show = parseInt(mod.slice(2), 10) || 0\n } else if (delayHideRE.test(mod)) {\n // Delay hide value\n config.delay.hide = parseInt(mod.slice(2), 10) || 0\n } else if (offsetRE.test(mod)) {\n // Offset value, negative allowed\n config.offset = parseInt(mod.slice(1), 10) || 0\n } else if (variantRE.test(mod)) {\n // Variant\n config.variant = mod.slice(2) || null\n }\n })\n\n // Special handling of event trigger modifiers trigger is\n // a space separated list\n const selectedTriggers = {}\n\n // Parse current config object trigger\n concat(config.trigger || '')\n .filter(identity)\n .join(' ')\n .trim()\n .toLowerCase()\n .split(spacesRE)\n .forEach(trigger => {\n if (validTriggers[trigger]) {\n selectedTriggers[trigger] = true\n }\n })\n\n // Parse modifiers for triggers\n keys(bindings.modifiers).forEach(mod => {\n mod = mod.toLowerCase()\n if (validTriggers[mod]) {\n // If modifier is a valid trigger\n selectedTriggers[mod] = true\n }\n })\n\n // Sanitize triggers\n config.trigger = keys(selectedTriggers).join(' ')\n if (config.trigger === 'blur') {\n // Blur by itself is useless, so convert it to 'focus'\n config.trigger = 'focus'\n }\n if (!config.trigger) {\n // Use default trigger\n config.trigger = DefaultTrigger\n }\n\n // Return the config\n return config\n}\n\n// Add/update Tooltip on our element\nconst applyTooltip = (el, bindings, vnode) => {\n if (!isBrowser) {\n /* istanbul ignore next */\n return\n }\n const config = parseBindings(bindings, vnode)\n if (!el[BV_TOOLTIP]) {\n const $parent = vnode.context\n el[BV_TOOLTIP] = new BVTooltip({\n parent: $parent,\n // Add the parent's scoped style attribute data\n _scopeId: getScopId($parent, undefined)\n })\n el[BV_TOOLTIP].__bv_prev_data__ = {}\n el[BV_TOOLTIP].$on('show', () => /* istanbul ignore next: for now */ {\n // Before showing the tooltip, we update the title if it is a function\n if (isFunction(config.title)) {\n el[BV_TOOLTIP].updateData({\n title: config.title(el)\n })\n }\n })\n }\n const data = {\n title: config.title,\n triggers: config.trigger,\n placement: config.placement,\n fallbackPlacement: config.fallbackPlacement,\n variant: config.variant,\n customClass: config.customClass,\n container: config.container,\n boundary: config.boundary,\n delay: config.delay,\n offset: config.offset,\n noFade: !config.animation,\n id: config.id,\n interactive: config.interactive,\n disabled: config.disabled,\n html: config.html\n }\n const oldData = el[BV_TOOLTIP].__bv_prev_data__\n el[BV_TOOLTIP].__bv_prev_data__ = data\n if (!looseEqual(data, oldData)) {\n // We only update the instance if data has changed\n const newData = {\n target: el\n }\n keys(data).forEach(prop => {\n // We only pass data properties that have changed\n if (data[prop] !== oldData[prop]) {\n // if title is a function, we execute it here\n newData[prop] = prop === 'title' && isFunction(data[prop]) ? data[prop](el) : data[prop]\n }\n })\n el[BV_TOOLTIP].updateData(newData)\n }\n}\n\n// Remove Tooltip on our element\nconst removeTooltip = el => {\n if (el[BV_TOOLTIP]) {\n el[BV_TOOLTIP].$destroy()\n el[BV_TOOLTIP] = null\n }\n delete el[BV_TOOLTIP]\n}\n\n// Export our directive\nexport const VBTooltip = {\n bind(el, bindings, vnode) {\n applyTooltip(el, bindings, vnode)\n },\n // We use `componentUpdated` here instead of `update`, as the former\n // waits until the containing component and children have finished updating\n componentUpdated(el, bindings, vnode) {\n // Performed in a `$nextTick()` to prevent render update loops\n vnode.context.$nextTick(() => {\n applyTooltip(el, bindings, vnode)\n })\n },\n unbind(el) {\n removeTooltip(el)\n }\n}\n","import { VBTooltip } from './tooltip'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst VBTooltipPlugin = /*#__PURE__*/ pluginFactory({\n directives: { VBTooltip }\n})\n\nexport { VBTooltipPlugin, VBTooltip }\n","import { BTooltip } from './tooltip'\nimport { VBTooltipPlugin } from '../../directives/tooltip'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst TooltipPlugin = /*#__PURE__*/ pluginFactory({\n components: { BTooltip },\n plugins: { VBTooltipPlugin }\n})\n\nexport { TooltipPlugin, BTooltip }\n","import { pluginFactory } from '../utils/plugins'\n\n// Component group plugins\nimport { AlertPlugin } from './alert'\nimport { BadgePlugin } from './badge'\nimport { BreadcrumbPlugin } from './breadcrumb'\nimport { ButtonPlugin } from './button'\nimport { ButtonGroupPlugin } from './button-group'\nimport { ButtonToolbarPlugin } from './button-toolbar'\nimport { CalendarPlugin } from './calendar'\nimport { CardPlugin } from './card'\nimport { CarouselPlugin } from './carousel'\nimport { CollapsePlugin } from './collapse'\nimport { DropdownPlugin } from './dropdown'\nimport { EmbedPlugin } from './embed'\nimport { FormPlugin } from './form'\nimport { FormCheckboxPlugin } from './form-checkbox'\nimport { FormDatepickerPlugin } from './form-datepicker'\nimport { FormFilePlugin } from './form-file'\nimport { FormGroupPlugin } from './form-group'\nimport { FormInputPlugin } from './form-input'\nimport { FormRadioPlugin } from './form-radio'\nimport { FormSelectPlugin } from './form-select'\nimport { FormSpinbuttonPlugin } from './form-spinbutton'\nimport { FormTagsPlugin } from './form-tags'\nimport { FormTextareaPlugin } from './form-textarea'\nimport { ImagePlugin } from './image'\nimport { InputGroupPlugin } from './input-group'\nimport { JumbotronPlugin } from './jumbotron'\nimport { LayoutPlugin } from './layout'\nimport { LinkPlugin } from './link'\nimport { ListGroupPlugin } from './list-group'\nimport { MediaPlugin } from './media'\nimport { ModalPlugin } from './modal'\nimport { NavPlugin } from './nav'\nimport { NavbarPlugin } from './navbar'\nimport { PaginationPlugin } from './pagination'\nimport { PaginationNavPlugin } from './pagination-nav'\nimport { PopoverPlugin } from './popover'\nimport { ProgressPlugin } from './progress'\nimport { SpinnerPlugin } from './spinner'\n// Table plugin includes TableLitePlugin and TableSimplePlugin\nimport { TablePlugin } from './table'\nimport { TabsPlugin } from './tabs'\nimport { ToastPlugin } from './toast'\nimport { TooltipPlugin } from './tooltip'\n\n// Main plugin to install all component group plugins\nexport const componentsPlugin = /*#__PURE__*/ pluginFactory({\n plugins: {\n AlertPlugin,\n BadgePlugin,\n BreadcrumbPlugin,\n ButtonPlugin,\n ButtonGroupPlugin,\n ButtonToolbarPlugin,\n CalendarPlugin,\n CardPlugin,\n CarouselPlugin,\n CollapsePlugin,\n DropdownPlugin,\n EmbedPlugin,\n FormPlugin,\n FormCheckboxPlugin,\n FormDatepickerPlugin,\n FormFilePlugin,\n FormGroupPlugin,\n FormInputPlugin,\n FormRadioPlugin,\n FormSelectPlugin,\n FormSpinbuttonPlugin,\n FormTagsPlugin,\n FormTextareaPlugin,\n ImagePlugin,\n InputGroupPlugin,\n JumbotronPlugin,\n LayoutPlugin,\n LinkPlugin,\n ListGroupPlugin,\n MediaPlugin,\n ModalPlugin,\n NavPlugin,\n NavbarPlugin,\n PaginationPlugin,\n PaginationNavPlugin,\n PopoverPlugin,\n ProgressPlugin,\n SpinnerPlugin,\n TablePlugin,\n TabsPlugin,\n ToastPlugin,\n TooltipPlugin\n }\n})\n","import { VBHover } from './hover'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst VBHoverPlugin = /*#__PURE__*/ pluginFactory({\n directives: { VBHover }\n})\n\nexport { VBHoverPlugin, VBHover }\n","import { VBModal } from './modal'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst VBModalPlugin = /*#__PURE__*/ pluginFactory({\n directives: { VBModal }\n})\n\nexport { VBModalPlugin, VBModal }\n","/*\n * ScrollSpy class definition\n */\n\nimport observeDom from '../../utils/observe-dom'\nimport {\n addClass,\n closest,\n getAttr,\n getBCR,\n hasClass,\n isElement,\n isVisible,\n matches,\n offset,\n position,\n removeClass,\n select,\n selectAll\n} from '../../utils/dom'\nimport { EVENT_OPTIONS_NO_CAPTURE, eventOn, eventOff } from '../../utils/events'\nimport { isString, isUndefined } from '../../utils/inspect'\nimport { toString as objectToString } from '../../utils/object'\nimport { warn } from '../../utils/warn'\n\n/*\n * Constants / Defaults\n */\n\nconst NAME = 'v-b-scrollspy'\nconst ACTIVATE_EVENT = 'bv::scrollspy::activate'\n\nconst Default = {\n element: 'body',\n offset: 10,\n method: 'auto',\n throttle: 75\n}\n\nconst DefaultType = {\n element: '(string|element|component)',\n offset: 'number',\n method: 'string',\n throttle: 'number'\n}\n\nconst ClassName = {\n DROPDOWN_ITEM: 'dropdown-item',\n ACTIVE: 'active'\n}\n\nconst Selector = {\n ACTIVE: '.active',\n NAV_LIST_GROUP: '.nav, .list-group',\n NAV_LINKS: '.nav-link',\n NAV_ITEMS: '.nav-item',\n LIST_ITEMS: '.list-group-item',\n DROPDOWN: '.dropdown, .dropup',\n DROPDOWN_ITEMS: '.dropdown-item',\n DROPDOWN_TOGGLE: '.dropdown-toggle'\n}\n\nconst OffsetMethod = {\n OFFSET: 'offset',\n POSITION: 'position'\n}\n\n// HREFs must end with a hash followed by at least one non-hash character.\n// HREFs in the links are assumed to point to non-external links.\n// Comparison to the current page base URL is not performed!\nconst HREF_REGEX = /^.*(#[^#]+)$/\n\n// Transition Events\nconst TransitionEndEvents = [\n 'webkitTransitionEnd',\n 'transitionend',\n 'otransitionend',\n 'oTransitionEnd'\n]\n\n/*\n * Utility Methods\n */\n\n// Better var type detection\nconst toType = obj => /* istanbul ignore next: not easy to test */ {\n return objectToString(obj)\n .match(/\\s([a-zA-Z]+)/)[1]\n .toLowerCase()\n}\n\n// Check config properties for expected types\nconst typeCheckConfig = (\n componentName,\n config,\n configTypes\n) => /* istanbul ignore next: not easy to test */ {\n for (const property in configTypes) {\n if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\n const expectedTypes = configTypes[property]\n const value = config[property]\n let valueType = value && isElement(value) ? 'element' : toType(value)\n // handle Vue instances\n valueType = value && value._isVue ? 'component' : valueType\n\n if (!new RegExp(expectedTypes).test(valueType)) {\n /* istanbul ignore next */\n warn(\n `${componentName}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\"`\n )\n }\n }\n }\n}\n\n/*\n * ------------------------------------------------------------------------\n * Class Definition\n * ------------------------------------------------------------------------\n */\n\n/* istanbul ignore next: not easy to test */\nclass ScrollSpy /* istanbul ignore next: not easy to test */ {\n constructor(element, config, $root) {\n // The element we activate links in\n this.$el = element\n this.$scroller = null\n this.$selector = [Selector.NAV_LINKS, Selector.LIST_ITEMS, Selector.DROPDOWN_ITEMS].join(',')\n this.$offsets = []\n this.$targets = []\n this.$activeTarget = null\n this.$scrollHeight = 0\n this.$resizeTimeout = null\n this.$obs_scroller = null\n this.$obs_targets = null\n this.$root = $root || null\n this.$config = null\n\n this.updateConfig(config)\n }\n\n static get Name() {\n return NAME\n }\n\n static get Default() {\n return Default\n }\n\n static get DefaultType() {\n return DefaultType\n }\n\n updateConfig(config, $root) {\n if (this.$scroller) {\n // Just in case out scroll element has changed\n this.unlisten()\n this.$scroller = null\n }\n const cfg = { ...this.constructor.Default, ...config }\n if ($root) {\n this.$root = $root\n }\n typeCheckConfig(this.constructor.Name, cfg, this.constructor.DefaultType)\n this.$config = cfg\n\n if (this.$root) {\n const self = this\n this.$root.$nextTick(() => {\n self.listen()\n })\n } else {\n this.listen()\n }\n }\n\n dispose() {\n this.unlisten()\n clearTimeout(this.$resizeTimeout)\n this.$resizeTimeout = null\n this.$el = null\n this.$config = null\n this.$scroller = null\n this.$selector = null\n this.$offsets = null\n this.$targets = null\n this.$activeTarget = null\n this.$scrollHeight = null\n }\n\n listen() {\n const scroller = this.getScroller()\n if (scroller && scroller.tagName !== 'BODY') {\n eventOn(scroller, 'scroll', this, EVENT_OPTIONS_NO_CAPTURE)\n }\n eventOn(window, 'scroll', this, EVENT_OPTIONS_NO_CAPTURE)\n eventOn(window, 'resize', this, EVENT_OPTIONS_NO_CAPTURE)\n eventOn(window, 'orientationchange', this, EVENT_OPTIONS_NO_CAPTURE)\n TransitionEndEvents.forEach(evtName => {\n eventOn(window, evtName, this, EVENT_OPTIONS_NO_CAPTURE)\n })\n this.setObservers(true)\n // Schedule a refresh\n this.handleEvent('refresh')\n }\n\n unlisten() {\n const scroller = this.getScroller()\n this.setObservers(false)\n if (scroller && scroller.tagName !== 'BODY') {\n eventOff(scroller, 'scroll', this, EVENT_OPTIONS_NO_CAPTURE)\n }\n eventOff(window, 'scroll', this, EVENT_OPTIONS_NO_CAPTURE)\n eventOff(window, 'resize', this, EVENT_OPTIONS_NO_CAPTURE)\n eventOff(window, 'orientationchange', this, EVENT_OPTIONS_NO_CAPTURE)\n TransitionEndEvents.forEach(evtName => {\n eventOff(window, evtName, this, EVENT_OPTIONS_NO_CAPTURE)\n })\n }\n\n setObservers(on) {\n // We observe both the scroller for content changes, and the target links\n if (this.$obs_scroller) {\n this.$obs_scroller.disconnect()\n this.$obs_scroller = null\n }\n if (this.$obs_targets) {\n this.$obs_targets.disconnect()\n this.$obs_targets = null\n }\n if (on) {\n this.$obs_targets = observeDom(\n this.$el,\n () => {\n this.handleEvent('mutation')\n },\n {\n subtree: true,\n childList: true,\n attributes: true,\n attributeFilter: ['href']\n }\n )\n this.$obs_scroller = observeDom(\n this.getScroller(),\n () => {\n this.handleEvent('mutation')\n },\n {\n subtree: true,\n childList: true,\n characterData: true,\n attributes: true,\n attributeFilter: ['id', 'style', 'class']\n }\n )\n }\n }\n\n // General event handler\n handleEvent(evt) {\n const type = isString(evt) ? evt : evt.type\n\n const self = this\n const resizeThrottle = () => {\n if (!self.$resizeTimeout) {\n self.$resizeTimeout = setTimeout(() => {\n self.refresh()\n self.process()\n self.$resizeTimeout = null\n }, self.$config.throttle)\n }\n }\n\n if (type === 'scroll') {\n if (!this.$obs_scroller) {\n // Just in case we are added to the DOM before the scroll target is\n // We re-instantiate our listeners, just in case\n this.listen()\n }\n this.process()\n } else if (/(resize|orientationchange|mutation|refresh)/.test(type)) {\n // Postpone these events by throttle time\n resizeThrottle()\n }\n }\n\n // Refresh the list of target links on the element we are applied to\n refresh() {\n const scroller = this.getScroller()\n if (!scroller) {\n return\n }\n const autoMethod = scroller !== scroller.window ? OffsetMethod.POSITION : OffsetMethod.OFFSET\n const method = this.$config.method === 'auto' ? autoMethod : this.$config.method\n const methodFn = method === OffsetMethod.POSITION ? position : offset\n const offsetBase = method === OffsetMethod.POSITION ? this.getScrollTop() : 0\n\n this.$offsets = []\n this.$targets = []\n\n this.$scrollHeight = this.getScrollHeight()\n\n // Find all the unique link HREFs that we will control\n selectAll(this.$selector, this.$el)\n // Get HREF value\n .map(link => getAttr(link, 'href'))\n // Filter out HREFs that do not match our RegExp\n .filter(href => href && HREF_REGEX.test(href || ''))\n // Find all elements with ID that match HREF hash\n .map(href => {\n // Convert HREF into an ID (including # at beginning)\n const id = href.replace(HREF_REGEX, '$1').trim()\n if (!id) {\n return null\n }\n // Find the element with the ID specified by id\n const el = select(id, scroller)\n if (el && isVisible(el)) {\n return {\n offset: parseInt(methodFn(el).top, 10) + offsetBase,\n target: id\n }\n }\n return null\n })\n .filter(Boolean)\n // Sort them by their offsets (smallest first)\n .sort((a, b) => a.offset - b.offset)\n // record only unique targets/offsets\n .reduce((memo, item) => {\n if (!memo[item.target]) {\n this.$offsets.push(item.offset)\n this.$targets.push(item.target)\n memo[item.target] = true\n }\n return memo\n }, {})\n\n // Return this for easy chaining\n return this\n }\n\n // Handle activating/clearing\n process() {\n const scrollTop = this.getScrollTop() + this.$config.offset\n const scrollHeight = this.getScrollHeight()\n const maxScroll = this.$config.offset + scrollHeight - this.getOffsetHeight()\n\n if (this.$scrollHeight !== scrollHeight) {\n this.refresh()\n }\n\n if (scrollTop >= maxScroll) {\n const target = this.$targets[this.$targets.length - 1]\n if (this.$activeTarget !== target) {\n this.activate(target)\n }\n return\n }\n\n if (this.$activeTarget && scrollTop < this.$offsets[0] && this.$offsets[0] > 0) {\n this.$activeTarget = null\n this.clear()\n return\n }\n\n for (let i = this.$offsets.length; i--; ) {\n const isActiveTarget =\n this.$activeTarget !== this.$targets[i] &&\n scrollTop >= this.$offsets[i] &&\n (isUndefined(this.$offsets[i + 1]) || scrollTop < this.$offsets[i + 1])\n\n if (isActiveTarget) {\n this.activate(this.$targets[i])\n }\n }\n }\n\n getScroller() {\n if (this.$scroller) {\n return this.$scroller\n }\n let scroller = this.$config.element\n if (!scroller) {\n return null\n } else if (isElement(scroller.$el)) {\n scroller = scroller.$el\n } else if (isString(scroller)) {\n scroller = select(scroller)\n }\n if (!scroller) {\n return null\n }\n this.$scroller = scroller.tagName === 'BODY' ? window : scroller\n return this.$scroller\n }\n\n getScrollTop() {\n const scroller = this.getScroller()\n return scroller === window ? scroller.pageYOffset : scroller.scrollTop\n }\n\n getScrollHeight() {\n return (\n this.getScroller().scrollHeight ||\n Math.max(document.body.scrollHeight, document.documentElement.scrollHeight)\n )\n }\n\n getOffsetHeight() {\n const scroller = this.getScroller()\n return scroller === window ? window.innerHeight : getBCR(scroller).height\n }\n\n activate(target) {\n this.$activeTarget = target\n this.clear()\n\n // Grab the list of target links (<a href=\"{$target}\">)\n const links = selectAll(\n this.$selector\n // Split out the base selectors\n .split(',')\n // Map to a selector that matches links with HREF ending in the ID (including '#')\n .map(selector => `${selector}[href$=\"${target}\"]`)\n // Join back into a single selector string\n .join(','),\n this.$el\n )\n\n links.forEach(link => {\n if (hasClass(link, ClassName.DROPDOWN_ITEM)) {\n // This is a dropdown item, so find the .dropdown-toggle and set its state\n const dropdown = closest(Selector.DROPDOWN, link)\n if (dropdown) {\n this.setActiveState(select(Selector.DROPDOWN_TOGGLE, dropdown), true)\n }\n // Also set this link's state\n this.setActiveState(link, true)\n } else {\n // Set triggered link as active\n this.setActiveState(link, true)\n if (matches(link.parentElement, Selector.NAV_ITEMS)) {\n // Handle nav-link inside nav-item, and set nav-item active\n this.setActiveState(link.parentElement, true)\n }\n // Set triggered links parents as active\n // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n let el = link\n while (el) {\n el = closest(Selector.NAV_LIST_GROUP, el)\n const sibling = el ? el.previousElementSibling : null\n if (sibling && matches(sibling, `${Selector.NAV_LINKS}, ${Selector.LIST_ITEMS}`)) {\n this.setActiveState(sibling, true)\n }\n // Handle special case where nav-link is inside a nav-item\n if (sibling && matches(sibling, Selector.NAV_ITEMS)) {\n this.setActiveState(select(Selector.NAV_LINKS, sibling), true)\n // Add active state to nav-item as well\n this.setActiveState(sibling, true)\n }\n }\n }\n })\n\n // Signal event to via $root, passing ID of activated target and reference to array of links\n if (links && links.length > 0 && this.$root) {\n this.$root.$emit(ACTIVATE_EVENT, target, links)\n }\n }\n\n clear() {\n selectAll(`${this.$selector}, ${Selector.NAV_ITEMS}`, this.$el)\n .filter(el => hasClass(el, ClassName.ACTIVE))\n .forEach(el => this.setActiveState(el, false))\n }\n\n setActiveState(el, active) {\n if (!el) {\n return\n }\n if (active) {\n addClass(el, ClassName.ACTIVE)\n } else {\n removeClass(el, ClassName.ACTIVE)\n }\n }\n}\n\nexport default ScrollSpy\n","import ScrollSpy from './scrollspy.class'\nimport { isBrowser } from '../../utils/env'\nimport { keys } from '../../utils/object'\nimport { isNumber, isObject, isString } from '../../utils/inspect'\n\n// Key we use to store our instance\nconst BV_SCROLLSPY = '__BV_ScrollSpy__'\n\n// Pre-compiled regular expressions\nconst onlyDigitsRE = /^\\d+$/\nconst offsetRE = /^(auto|position|offset)$/\n\n// Build a ScrollSpy config based on bindings (if any)\n// Arguments and modifiers take precedence over passed value config object\n/* istanbul ignore next: not easy to test */\nconst parseBindings = bindings => /* istanbul ignore next: not easy to test */ {\n const config = {}\n\n // If argument, assume element ID\n if (bindings.arg) {\n // Element ID specified as arg\n // We must prepend '#' to become a CSS selector\n config.element = `#${bindings.arg}`\n }\n\n // Process modifiers\n keys(bindings.modifiers).forEach(mod => {\n if (onlyDigitsRE.test(mod)) {\n // Offset value\n config.offset = parseInt(mod, 10)\n } else if (offsetRE.test(mod)) {\n // Offset method\n config.method = mod\n }\n })\n\n // Process value\n if (isString(bindings.value)) {\n // Value is a CSS ID or selector\n config.element = bindings.value\n } else if (isNumber(bindings.value)) {\n // Value is offset\n config.offset = Math.round(bindings.value)\n } else if (isObject(bindings.value)) {\n // Value is config object\n // Filter the object based on our supported config options\n keys(bindings.value)\n .filter(k => !!ScrollSpy.DefaultType[k])\n .forEach(k => {\n config[k] = bindings.value[k]\n })\n }\n\n return config\n}\n\n// Add or update ScrollSpy on our element\nconst applyScrollspy = (el, bindings, vnode) => /* istanbul ignore next: not easy to test */ {\n if (!isBrowser) {\n /* istanbul ignore next */\n return\n }\n const config = parseBindings(bindings)\n if (el[BV_SCROLLSPY]) {\n el[BV_SCROLLSPY].updateConfig(config, vnode.context.$root)\n } else {\n el[BV_SCROLLSPY] = new ScrollSpy(el, config, vnode.context.$root)\n }\n}\n\n// Remove ScrollSpy on our element\n/* istanbul ignore next: not easy to test */\nconst removeScrollspy = el => /* istanbul ignore next: not easy to test */ {\n if (el[BV_SCROLLSPY]) {\n el[BV_SCROLLSPY].dispose()\n el[BV_SCROLLSPY] = null\n delete el[BV_SCROLLSPY]\n }\n}\n\n/*\n * Export our directive\n */\nexport const VBScrollspy = {\n bind(el, bindings, vnode) /* istanbul ignore next: not easy to test */ {\n applyScrollspy(el, bindings, vnode)\n },\n inserted(el, bindings, vnode) /* istanbul ignore next: not easy to test */ {\n applyScrollspy(el, bindings, vnode)\n },\n update(el, bindings, vnode) /* istanbul ignore next: not easy to test */ {\n if (bindings.value !== bindings.oldValue) {\n applyScrollspy(el, bindings, vnode)\n }\n },\n componentUpdated(el, bindings, vnode) /* istanbul ignore next: not easy to test */ {\n if (bindings.value !== bindings.oldValue) {\n applyScrollspy(el, bindings, vnode)\n }\n },\n unbind(el) /* istanbul ignore next: not easy to test */ {\n removeScrollspy(el)\n }\n}\n","import { VBScrollspy } from './scrollspy'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst VBScrollspyPlugin = /*#__PURE__*/ pluginFactory({\n directives: { VBScrollspy }\n})\n\nexport { VBScrollspyPlugin, VBScrollspy }\n","import { VBToggle } from './toggle'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst VBTogglePlugin = /*#__PURE__*/ pluginFactory({\n directives: { VBToggle }\n})\n\nexport { VBTogglePlugin, VBToggle }\n","import { VBVisible } from './visible'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst VBVisiblePlugin = /*#__PURE__*/ pluginFactory({\n directives: { VBVisible }\n})\n\nexport { VBVisiblePlugin, VBVisible }\n","import { pluginFactory } from '../utils/plugins'\n\nimport { VBHoverPlugin } from './hover'\nimport { VBModalPlugin } from './modal'\nimport { VBPopoverPlugin } from './popover'\nimport { VBScrollspyPlugin } from './scrollspy'\nimport { VBTogglePlugin } from './toggle'\nimport { VBTooltipPlugin } from './tooltip'\nimport { VBVisiblePlugin } from './visible'\n\n// Main plugin for installing all directive plugins\nexport const directivesPlugin = /*#__PURE__*/ pluginFactory({\n plugins: {\n VBHoverPlugin,\n VBModalPlugin,\n VBPopoverPlugin,\n VBScrollspyPlugin,\n VBTogglePlugin,\n VBTooltipPlugin,\n VBVisiblePlugin\n }\n})\n","import Vue from '../utils/vue'\nimport { mergeData } from 'vue-functional-data-merge'\nimport { pascalCase, trim } from '../utils/string'\nimport { BIconBlank } from './icons'\nimport { commonIconProps } from './helpers/icon-base'\n\nconst RX_ICON_PREFIX = /^BIcon/\n\n// Helper BIcon component\n// Requires the requested icon component to be installed\nexport const BIcon = /*#__PURE__*/ Vue.extend({\n name: 'BIcon',\n functional: true,\n props: {\n icon: {\n type: String,\n default: null\n },\n ...commonIconProps,\n stacked: {\n type: Boolean,\n default: false\n }\n },\n render(h, { data, props, parent }) {\n const icon = pascalCase(trim(props.icon || '')).replace(RX_ICON_PREFIX, '')\n const iconName = `BIcon${icon}`\n // If parent context exists, we check to see if the icon has been registered\n // Either locally in the parent component, or globally at the `$root` level\n // If not registered, we render a blank icon\n const components = ((parent || {}).$options || {}).components\n const componentRefOrName =\n icon && components ? components[iconName] || BIconBlank : icon ? iconName : BIconBlank\n return h(componentRefOrName, mergeData(data, { props: { ...props, icon: null } }))\n }\n})\n","import { installFactory } from './utils/plugins'\nimport { componentsPlugin } from './components'\nimport { directivesPlugin } from './directives'\nimport { BVConfigPlugin } from './bv-config'\n\nconst NAME = 'BootstrapVue'\n\n// --- BootstrapVue installer ---\nconst install = /*#__PURE__*/ installFactory({\n plugins: {\n componentsPlugin,\n directivesPlugin\n }\n})\n\n// --- BootstrapVue plugin ---\nconst BootstrapVue = /*#__PURE__*/ {\n install,\n NAME\n}\n\n// --- Named exports for BvConfigPlugin ---\nexport {\n // Installer exported in case the consumer does not import `default`\n // as the plugin in CommonJS build (or does not have interop enabled for CommonJS)\n // Both the following will work:\n // BootstrapVue = require('bootstrap-vue')\n // BootstrapVue = require('bootstrap-vue').default\n // Vue.use(BootstrapVue)\n install,\n NAME,\n // BootstrapVue config plugin\n BVConfigPlugin,\n // `BVConfigPlugin` has been documented as `BVConfig` as well,\n // so we add an alias to the shorter name for backwards compat\n BVConfigPlugin as BVConfig,\n // Main BootstrapVue plugin\n BootstrapVue\n}\n\n// --- Export named injection plugins ---\n// TODO:\n// We should probably move injections into their own\n// parent directory (i.e. `/src/injections`)\nexport { BVModalPlugin } from './components/modal/helpers/bv-modal'\nexport { BVToastPlugin } from './components/toast/helpers/bv-toast'\n\n// Webpack 4 has optimization difficulties with re-export of re-exports,\n// so we import the components individually here for better tree shaking\n//\n// Webpack v5 fixes the optimizations with re-export of re-exports so this\n// can be reverted back to `export * from './table'` when Webpack v5 is released\n// See: https://github.com/webpack/webpack/pull/9203 (available in Webpack v5.0.0-alpha.15)\n\n// -- Export Icon components and IconPlugin/BootstrapVueIcons ---\n// export * from './icons'\nexport { IconsPlugin, BootstrapVueIcons } from './icons/plugin'\nexport { BIcon } from './icons/icon'\nexport { BIconstack } from './icons/iconstack'\n// This re-export is only a single level deep, which\n// Webpack 4 (usually) handles correctly when tree shaking\nexport * from './icons/icons'\n\n// --- Export all individual components and component group plugins as named exports ---\n\n// export * from './components/alert'\nexport { AlertPlugin } from './components/alert'\nexport { BAlert } from './components/alert/alert'\n\n// export * from './components/badge'\nexport { BadgePlugin } from './components/badge'\nexport { BBadge } from './components/badge/badge'\n\n// export * from './components/breadcrumb'\nexport { BreadcrumbPlugin } from './components/breadcrumb'\nexport { BBreadcrumb } from './components/breadcrumb/breadcrumb'\nexport { BBreadcrumbItem } from './components/breadcrumb/breadcrumb-item'\n\n// export * from './components/button'\nexport { ButtonPlugin } from './components/button'\nexport { BButton } from './components/button/button'\nexport { BButtonClose } from './components/button/button-close'\n\n// export * from './components/button-group'\nexport { ButtonGroupPlugin } from './components/button-group'\nexport { BButtonGroup } from './components/button-group/button-group'\n\n// export * from './components/button-toolbar'\nexport { ButtonToolbarPlugin } from './components/button-toolbar'\nexport { BButtonToolbar } from './components/button-toolbar/button-toolbar'\n\n// export * from './components/calendar'\nexport { CalendarPlugin } from './components/calendar'\nexport { BCalendar } from './components/calendar/calendar'\n\n// export * from './components/card'\nexport { CardPlugin } from './components/card'\nexport { BCard } from './components/card/card'\nexport { BCardBody } from './components/card/card-body'\nexport { BCardFooter } from './components/card/card-footer'\nexport { BCardGroup } from './components/card/card-group'\nexport { BCardHeader } from './components/card/card-header'\nexport { BCardImg } from './components/card/card-img'\nexport { BCardImgLazy } from './components/card/card-img-lazy'\nexport { BCardSubTitle } from './components/card/card-sub-title'\nexport { BCardText } from './components/card/card-text'\nexport { BCardTitle } from './components/card/card-title'\n\n// export * from './components/carousel'\nexport { CarouselPlugin } from './components/carousel'\nexport { BCarousel } from './components/carousel/carousel'\nexport { BCarouselSlide } from './components/carousel/carousel-slide'\n\n// export * from './components/collapse'\nexport { CollapsePlugin } from './components/collapse'\nexport { BCollapse } from './components/collapse/collapse'\n\n// export * from './components/dropdown'\nexport { DropdownPlugin } from './components/dropdown'\nexport { BDropdown } from './components/dropdown/dropdown'\nexport { BDropdownItem } from './components/dropdown/dropdown-item'\nexport { BDropdownItemButton } from './components/dropdown/dropdown-item-button'\nexport { BDropdownDivider } from './components/dropdown/dropdown-divider'\nexport { BDropdownForm } from './components/dropdown/dropdown-form'\nexport { BDropdownGroup } from './components/dropdown/dropdown-group'\nexport { BDropdownHeader } from './components/dropdown/dropdown-header'\nexport { BDropdownText } from './components/dropdown/dropdown-text'\n\n// export * from './components/embed'\nexport { EmbedPlugin } from './components/embed'\nexport { BEmbed } from './components/embed/embed'\n\n// export * from './components/form'\nexport { FormPlugin } from './components/form'\nexport { BForm } from './components/form/form'\nexport { BFormDatalist } from './components/form/form-datalist'\nexport { BFormText } from './components/form/form-text'\nexport { BFormInvalidFeedback } from './components/form/form-invalid-feedback'\nexport { BFormValidFeedback } from './components/form/form-valid-feedback'\n\n// export * from './components/form-checkbox'\nexport { FormCheckboxPlugin } from './components/form-checkbox'\nexport { BFormCheckbox } from './components/form-checkbox/form-checkbox'\nexport { BFormCheckboxGroup } from './components/form-checkbox/form-checkbox-group'\n\n// export * from './components/form-datepicker'\nexport { FormDatepickerPlugin } from './components/form-datepicker'\nexport { BFormDatepicker } from './components/form-datepicker/form-datepicker'\n\n// export * from './components/form-file'\nexport { FormFilePlugin } from './components/form-file'\nexport { BFormFile } from './components/form-file/form-file'\n\n// export * from './components/form-group'\nexport { FormGroupPlugin } from './components/form-group'\nexport { BFormGroup } from './components/form-group/form-group'\n\n// export * from './components/form-input'\nexport { FormInputPlugin } from './components/form-input'\nexport { BFormInput } from './components/form-input/form-input'\n\n// export * from './components/form-radio'\nexport { FormRadioPlugin } from './components/form-radio'\nexport { BFormRadio } from './components/form-radio/form-radio'\nexport { BFormRadioGroup } from './components/form-radio/form-radio-group'\n\n// export * from './components/form-tags'\nexport { FormTagsPlugin } from './components/form-tags'\nexport { BFormTags } from './components/form-tags/form-tags'\nexport { BFormTag } from './components/form-tags/form-tag'\n\n// export * from './components/form-select'\nexport { FormSelectPlugin } from './components/form-select'\nexport { BFormSelect } from './components/form-select/form-select'\nexport { BFormSelectOption } from './components/form-select/form-select-option'\nexport { BFormSelectOptionGroup } from './components/form-select/form-select-option-group'\n\n// export * from './components/form-spinbutton'\nexport { FormSpinbuttonPlugin } from './components/form-spinbutton'\nexport { BFormSpinbutton } from './components/form-spinbutton/form-spinbutton'\n\n// export * from './components/form-textarea'\nexport { FormTextareaPlugin } from './components/form-textarea'\nexport { BFormTextarea } from './components/form-textarea/form-textarea'\n\n// export * from './components/image'\nexport { ImagePlugin } from './components/image'\nexport { BImg } from './components/image/img'\nexport { BImgLazy } from './components/image/img-lazy'\n\n// export * from './components/input-group'\nexport { InputGroupPlugin } from './components/input-group'\nexport { BInputGroup } from './components/input-group/input-group'\nexport { BInputGroupAddon } from './components/input-group/input-group-addon'\nexport { BInputGroupAppend } from './components/input-group/input-group-append'\nexport { BInputGroupPrepend } from './components/input-group/input-group-prepend'\nexport { BInputGroupText } from './components/input-group/input-group-text'\n\n// export * from './components/jumbotron'\nexport { JumbotronPlugin } from './components/jumbotron'\nexport { BJumbotron } from './components/jumbotron/jumbotron'\n\n// export * from './components/layout'\nexport { LayoutPlugin } from './components/layout'\nexport { BContainer } from './components/layout/container'\nexport { BRow } from './components/layout/row'\nexport { BCol } from './components/layout/col'\nexport { BFormRow } from './components/layout/form-row'\n\n// export * from './components/link'\nexport { LinkPlugin } from './components/link'\nexport { BLink } from './components/link/link'\n\n// export * from './components/list-group'\nexport { ListGroupPlugin } from './components/list-group'\nexport { BListGroup } from './components/list-group/list-group'\nexport { BListGroupItem } from './components/list-group/list-group-item'\n\n// export * from './components/media'\nexport { MediaPlugin } from './components/media'\nexport { BMedia } from './components/media/media'\nexport { BMediaAside } from './components/media/media-aside'\nexport { BMediaBody } from './components/media/media-body'\n\n// export * from './components/modal'\nexport { ModalPlugin } from './components/modal'\nexport { BModal } from './components/modal/modal'\n\n// export * from './components/nav'\nexport { NavPlugin } from './components/nav'\nexport { BNav } from './components/nav/nav'\nexport { BNavForm } from './components/nav/nav-form'\nexport { BNavItem } from './components/nav/nav-item'\nexport { BNavItemDropdown } from './components/nav/nav-item-dropdown'\nexport { BNavText } from './components/nav/nav-text'\n\n// export * from './components/navbar'\nexport { NavbarPlugin } from './components/navbar'\nexport { BNavbar } from './components/navbar/navbar'\nexport { BNavbarBrand } from './components/navbar/navbar-brand'\nexport { BNavbarNav } from './components/navbar/navbar-nav'\nexport { BNavbarToggle } from './components/navbar/navbar-toggle'\n\n// export * from './components/pagination'\nexport { PaginationPlugin } from './components/pagination'\nexport { BPagination } from './components/pagination/pagination'\n\n// export * from './components/pagination-nav'\nexport { PaginationNavPlugin } from './components/pagination-nav'\nexport { BPaginationNav } from './components/pagination-nav/pagination-nav'\n\n// export * from './components/popover'\nexport { PopoverPlugin } from './components/popover'\nexport { BPopover } from './components/popover/popover'\n\n// export * from './components/progress'\nexport { ProgressPlugin } from './components/progress'\nexport { BProgress } from './components/progress/progress'\nexport { BProgressBar } from './components/progress/progress-bar'\n\n// export * from './components/spinner'\nexport { SpinnerPlugin } from './components/spinner'\nexport { BSpinner } from './components/spinner/spinner'\n\n// export * from './components/table'\nexport { TablePlugin, TableLitePlugin, TableSimplePlugin } from './components/table'\nexport { BTable } from './components/table/table'\nexport { BTableLite } from './components/table/table-lite'\nexport { BTableSimple } from './components/table/table-simple'\nexport { BTbody } from './components/table/tbody'\nexport { BThead } from './components/table/thead'\nexport { BTfoot } from './components/table/tfoot'\nexport { BTr } from './components/table/tr'\nexport { BTh } from './components/table/th'\nexport { BTd } from './components/table/td'\n\n// export * from './components/tabs'\nexport { TabsPlugin } from './components/tabs'\nexport { BTabs } from './components/tabs/tabs'\nexport { BTab } from './components/tabs/tab'\n\n// export * from './components/toast'\nexport { ToastPlugin } from './components/toast'\nexport { BToast } from './components/toast/toast'\nexport { BToaster } from './components/toast/toaster'\n\n// export * from './components/tooltip'\nexport { TooltipPlugin } from './components/tooltip'\nexport { BTooltip } from './components/tooltip/tooltip'\n\n// --- Named exports of all directives (VB<Name>) and plugins (VB<Name>Plugin) ---\n\n// Webpack 4 has optimization difficulties with re-export of re-exports,\n// so we import the directives individually here for better tree shaking\n//\n// Webpack v5 fixes the optimizations with re-export of re-exports so this\n// can be reverted back to `export * from './scrollspy'` when Webpack v5 is released\n// https://github.com/webpack/webpack/pull/9203 (available in Webpack v5.0.0-alpha.15)\n\n// export * from './directives/hover'\nexport { VBHoverPlugin } from './directives/hover'\nexport { VBHover } from './directives/hover/hover'\n\n// export * from './directives/modal'\nexport { VBModalPlugin } from './directives/modal'\nexport { VBModal } from './directives/modal/modal'\n\n// export * from './directives/popover'\nexport { VBPopoverPlugin } from './directives/popover'\nexport { VBPopover } from './directives/popover/popover'\n\n// export * from './directives/scrollspy'\nexport { VBScrollspyPlugin } from './directives/scrollspy'\nexport { VBScrollspy } from './directives/scrollspy/scrollspy'\n\n// export * from './directives/toggle'\nexport { VBTogglePlugin } from './directives/toggle'\nexport { VBToggle } from './directives/toggle/toggle'\n\n// export * from './directives/tooltip'\nexport { VBTooltipPlugin } from './directives/tooltip'\nexport { VBTooltip } from './directives/tooltip/tooltip'\n\n// export * from './directives/tooltip'\nexport { VBVisiblePlugin } from './directives/visible'\nexport { VBVisible } from './directives/visible/visible'\n\n// Default export is the BootstrapVue plugin\nexport default BootstrapVue\n","// Main entry point for the browser build\nimport { vueUse } from './utils/plugins'\n\nimport { BootstrapVue } from './index'\n\n// Auto installation only occurs if window.Vue exists\nvueUse(BootstrapVue)\n\nexport default BootstrapVue\n"],"names":["from","Array","isArray","val","arrayIncludes","array","value","indexOf","concat","args","prototype","apply","assign","Object","create","proto","optionalProps","defineProperties","obj","props","defineProperty","prop","descr","freeze","getOwnPropertyNames","keys","hasOwnProperty","call","toString","isObject","isPlainObject","clone","omit","filter","key","reduce","result","readonlyDescriptor","enumerable","configurable","writable","deepFreeze","forEach","hasWindowSupport","window","hasDocumentSupport","document","hasNavigatorSupport","navigator","hasPromiseSupport","Promise","hasMutationObserverSupport","MutationObserver","WebKitMutationObserver","MozMutationObserver","isBrowser","userAgent","toLowerCase","isJSDOM","isIE","test","hasPassiveEventSupport","passiveEventSupported","options","passive","addEventListener","removeEventListener","err","hasTouchSupport","documentElement","maxTouchPoints","hasPointerEventSupport","Boolean","PointerEvent","MSPointerEvent","hasIntersectionObserverSupport","IntersectionObserverEntry","getEnv","fallback","env","process","getNoWarn","w","Element","HTMLElement","SVGElement","File","toType","toRawType","slice","isUndefined","undefined","isNull","isUndefinedOrNull","isFunction","isBoolean","isString","isNumber","isDate","Date","isEvent","Event","isFile","isRegExp","isPromise","then","catch","cloneDeep","defaultValue","identity","x","RX_ARRAY_NOTATION","get","path","join","String","replace","steps","split","length","every","step","warn","message","source","console","warnNotClient","warnNoPromiseSupport","warnNoMutationObserverSupport","breakpoints","formControls","size","BAlert","dismissLabel","variant","BBadge","BButton","BButtonClose","content","textVariant","ariaLabel","BCalendar","labelPrevYear","labelPrevMonth","labelCurrentMonth","labelNextMonth","labelNextYear","labelToday","labelSelected","labelNoDateSelected","labelCalendar","labelNav","labelHelp","BCardSubTitle","subTitleTextVariant","BCarousel","labelPrev","labelNext","labelGotoSlide","labelIndicators","BDropdown","toggleText","splitVariant","BFormDatepicker","labelTodayButton","labelResetButton","labelCloseButton","BFormFile","browseText","placeholder","dropPlaceholder","BFormSpinbutton","labelDecrement","labelIncrement","BFormTag","removeLabel","BFormTags","addButtonText","addButtonVariant","duplicateTagText","invalidTagText","tagRemoveLabel","tagRemovedLabel","tagVariant","BFormText","BImg","blankColor","BImgLazy","BInputGroup","BJumbotron","bgVariant","borderVariant","BListGroupItem","BModal","titleTag","headerBgVariant","headerBorderVariant","headerTextVariant","headerCloseVariant","bodyBgVariant","bodyTextVariant","footerBgVariant","footerBorderVariant","footerTextVariant","cancelTitle","cancelVariant","okTitle","okVariant","headerCloseContent","headerCloseLabel","BNavbar","BNavbarToggle","label","BPagination","BPaginationNav","BPopover","boundary","boundaryPadding","customClass","delay","BProgress","BProgressBar","BSpinner","BTable","selectedVariant","headVariant","footVariant","BToast","toaster","autoHideDelay","toastClass","headerClass","bodyClass","BToaster","ariaLive","ariaAtomic","role","BTooltip","NAME","PROP_NAME","BvConfig","$_config","$_cachedBreakpoints","defaults","config","configKeys","cmpName","DEFAULTS","cmpConfig","some","b","setConfig","Vue","OurVue","checkMultipleVue","checkMultipleVueWarned","MULTIPLE_VUE_WARNING","installFactory","components","directives","plugins","install","installed","registerComponents","registerDirectives","registerPlugins","pluginFactory","extend","plugin","use","registerComponent","name","def","component","registerDirective","directive","vueUse","VuePlugin","memoize","fn","cache","argsKey","JSON","stringify","VueProto","getConfigValue","getComponentConfig","getBreakpoints","_getBreakpointsCached","getBreakpointsCached","getBreakpointsUpCached","d","elProto","matchesEl","matches","msMatchesSelector","webkitMatchesSelector","closestEl","closest","sel","el","parentElement","parentNode","nodeType","Node","ELEMENT_NODE","requestAF","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","msRequestAnimationFrame","oRequestAnimationFrame","cb","setTimeout","MutationObs","removeNode","removeChild","isElement","isVisible","contains","body","style","display","bcr","getBCR","height","width","isDisabled","disabled","hasAttr","hasClass","reflow","offsetHeight","selectAll","selector","root","arrayFrom","querySelectorAll","select","querySelector","includeRoot","parent","child","getById","id","getElementById","addClass","className","classList","add","removeClass","remove","setAttr","attr","setAttribute","removeAttr","removeAttribute","getAttr","getAttribute","hasAttribute","getBoundingClientRect","getCS","getComputedStyle","getSel","getSelection","offset","_offset","top","left","getClientRects","win","ownerDocument","defaultView","pageYOffset","pageXOffset","position","parentOffset","elStyles","doc","offsetParent","offsetParentStyles","parseFloat","borderTopWidth","borderLeftWidth","marginTop","marginLeft","toInteger","parseInt","toFloat","toFixed","precision","NO_FADE_PROPS","enterClass","enterActiveClass","enterToClass","leaveClass","leaveActiveClass","leaveToClass","FADE_PROPS","BVTransition","functional","noFade","type","default","appear","mode","transProps","render","h","children","data","appearClass","appearActiveClass","appearToClass","css","mergeData","hasNormalizedSlot","names","$scopedSlots","$slots","normalizeSlot","scope","slot","i","methods","vNodes","slots","scopedSlots","componentData","staticClass","class","attrs","on","click","evt","stopPropagation","preventDefault","domProps","innerHTML","parseCountDown","show","parseShow","isNumericLike","isNaN","mixins","normalizeSlotMixin","model","event","dismissible","Number","fade","countDownTimerId","countDown","localShow","watch","newVal","clearTimer","$emit","$nextTick","created","mounted","beforeDestroy","dismiss","clearInterval","$alert","$dismissBtn","_uid","AlertPlugin","pluckProps","keysToPluck","objToPluck","transformFn","memo","RX_TRIM_LEFT","RX_REGEXP_REPLACE","RX_UN_KEBAB","RX_HYPHENATE","kebabCase","str","pascalCase","_","c","toUpperCase","charAt","lowerFirst","trim","upperFirst","escapeRegExp","spaces","trimLeft","lowerCase","ANCHOR_TAG","commaRE","encodeReserveRE","plusRE","queryStartRE","encodeReserveReplacer","charCodeAt","encode","encodeURIComponent","decode","decodeURIComponent","stringifyQueryObj","query","map","results","val2","push","parseQuery","parsed","param","parts","shift","isRouterLink","tag","computeTag","to","thisOrParent","$router","$nuxt","computeRel","target","rel","computeHref","href","toFallback","hash","propsFactory","active","append","activeClass","exact","exactActiveClass","routerTag","noPrefetch","BLink","inheritAttrs","computed","computedTag","computedRel","computedHref","computedProps","$props","onClick","evtIsEvent","suppliedHandler","$listeners","stopImmediatePropagation","currentTarget","__vue__","handler","arguments","$root","focus","$el","blur","$attrs","tabindex","linkProps","linkPropsFactory","pill","isBLink","BadgePlugin","stripTagsRegex","stripTags","text","htmlOrText","textContent","html","ariaCurrent","BBreadcrumbLink","suppliedProps","BBreadcrumbItem","items","BBreadcrumb","childNodes","activeDefined","item","idx","BreadcrumbPlugin","KEY_CODES","SPACE","ENTER","ESC","LEFT","UP","RIGHT","DOWN","PAGEUP","PAGEDOWN","HOME","END","TAB","SHIFT","CTRL","BACKSPACE","ALT","PAUSE","BREAK","INSERT","INS","DELETE","btnProps","block","squared","pressed","linkPropKeys","tagIs","handleFocus","isLink","isToggle","isButton","isNonStandardTag","computeClass","computeLinkProps","computeAttrs","button","link","toggle","nonStandardTag","hashLink","autocomplete","listeners","keydown","keyCode","KeyCodes","focusin","focusout","ButtonPlugin","BBtn","BBtnClose","vertical","ariaRole","BButtonGroup","ButtonGroupPlugin","BBtnGroup","ITEM_SELECTOR","BButtonToolbar","justify","keyNav","getItems","onFocusin","focusFirst","stop","onKeydown","shiftKey","focusPrev","focusLast","focusNext","setItemFocus","index","reverse","tabIndex","ButtonToolbarPlugin","BBtnToolbar","compareArrays","a","equal","looseEqual","aValidType","bValidType","getTime","aKeysCount","bKeysCount","aHasKey","bHasKey","RX_DATE","createDate","parseYMD","date","year","month","day","getFullYear","getMonth","getDate","formatYMD","resolveLocale","locales","calendar","fmt","Intl","DateTimeFormat","resolvedOptions","locale","createDateFormatter","dtf","format","datesEqual","date1","date2","firstDateOfMonth","setDate","lastDateOfMonth","setMonth","oneMonthAgo","oneMonthAhead","oneYearAgo","oneYearAhead","localId_","safeId","suffix","commonIconProps","fontScale","scale","rotate","flipH","flipV","shiftH","shiftV","baseAttrs","viewBox","focusable","alt","BVIconBase","stacked","Math","max","hasScale","hasTransforms","hasShift","transforms","isStacked","hasContent","$inner","transform","fontSize","xmlns","fill","makeIcon","iconName","iconNameClass","svgContent","BIconBlank","BIconCalendar","BIconCalendarFill","BIconChevronLeft","BIconCircleFill","BIconDash","BIconPlus","BIconstack","RTL_LANGS","isLocaleRTL","locale1","locale2","idMixin","valueAsDate","readonly","min","dateDisabledFn","Function","startWeekday","direction","todayVariant","noHighlightToday","dateInfoFn","hideHeader","hidden","ariaControls","roleDescription","selected","selectedYMD","activeYMD","getToday","gridHasFocus","isLive","selectedDate","activeDate","computedMin","computedMax","computedWeekStarts","computedLocale","calendarLocale","calendarYear","calendarMonth","calendarFirstDay","calendarDaysInMonth","computedVariant","computedTodayVariant","isRTL","dir","context","selectedFormatted","formatDateString","activeFormatted","dateDisabled","rtl","dateOutOfRange","rangeFn","disabledFn","ymd","weekday","formatYearMonth","formatWeekdayName","formatWeekdayNameShort","formatDay","prevYearDisabled","prevMonthDisabled","thisMonthDisabled","nextMonthDisabled","nextYearDisabled","matrix","firstDay","daysInMonth","startIndex","getDay","weekOffset","currentDay","week","j","dayYMD","dayDisabled","dateInfo","isThisMonth","info","calendarHeadings","oldVal","old","newYMD","oldYMD","setLive","activated","deactivated","$refs","grid","constrainDate","emitSelected","setGridFocusFlag","onKeydownWrapper","altKey","checkDate","onKeydownGrid","onClickDay","clickedDate","gotoPrevYear","gotoPrevMonth","gotoCurrentMonth","gotoNextMonth","gotoNextYear","todayYMD","highlightToday","idWidget","idValue","idNav","idGrid","idGridCaption","idGridHelp","idActive","$header","for","title","labelSelectedDate","$prevYearIcon","$prevMonthIcon","$thisMonthIcon","$nextMonthIcon","$nextYearIcon","makeNavBtn","btnDisabled","shortcut","$nav","$gridCaption","$gridWeekDays","$gridBody","$cells","dIndex","isSelected","isActive","isToday","idCell","$btn","pointerEvents","$gridHelp","$grid","ref","$slot","$widget","lang","CalendarPlugin","prefixPropName","prefix","unprefixPropName","copyProps","copied","BCardTitle","subTitle","subTitleTag","cardMixin","bind","titleProps","subTitleProps","overlay","BCardBody","cardTitle","cardSubTitle","cardContent","bodyTag","bodyBorderVariant","header","headerHtml","BCardHeader","headerTag","footer","footerHtml","footerClass","BCardFooter","footerTag","src","required","bottom","start","end","right","BCardImg","baseClass","cardImgProps","imgProps","imgSrc","bodyProps","headerProps","footerProps","align","noBody","BCard","imgFirst","imgLast","img","unPrefixPropName","imgBottom","imgLeft","imgStart","imgRight","imgEnd","OBSERVER_PROP_NAME","onlyDgitsRE","VisibilityObserver","vnode","callback","margin","once","observer","visible","doneOnce","createObserver","IntersectionObserver","rootMargin","threshold","observe","entries","entry","isIntersecting","intersectionRatio","disconnect","destroy","modifiers","mod","_prevModifiers","componentUpdated","oldValue","unbind","VBVisible","BLANK_TEMPLATE","srcset","sizes","fluid","fluidGrow","rounded","thumbnail","center","blank","makeBlankImgSrc","color","blankSrc","blankWidth","blankHeight","bVisible","isShown","computedSrc","computedBlank","computedWidth","computedHeight","computedSrcset","computedSizes","updateShowProp","doShow","lazyProps","imgLazyProps","BCardImgLazy","textTag","BCardText","deck","columns","BCardGroup","CardPlugin","noop","observeDom","obs","mutations","changed","mutation","TEXT_NODE","addedNodes","removedNodes","childList","subtree","EVENT_OPTIONS_PASSIVE","EVENT_OPTIONS_NO_CAPTURE","capture","parseEventOptions","eventOn","evtName","eventOff","eventOnOff","method","DIRECTION","next","dirClass","overlayClass","prev","TRANS_DURATION","TOUCH_EVENT_COMPAT_WAIT","SWIPE_THRESHOLD","PointerType","TOUCH","PEN","TransitionEndEvents","WebkitTransition","MozTransition","OTransition","transition","getTransitionEndEvent","provide","bvCarousel","interval","indicators","controls","noAnimation","noWrap","noTouch","noHoverPause","imgWidth","imgHeight","background","isSliding","transitionEndEvent","slides","isPaused","touchStartX","touchDeltaX","numSlides","setSlide","pause","doSlide","_intervalId","_animationTimeout","_touchTimeout","updateSlides","inner","attributes","attributeFilter","clearTimeout","slide","visibilityState","floor","$once","setInterval","restart","activeElement","isCycling","calcDirection","currentSlide","nextSlide","called","onceTransEnd","events","n","curIndex","nextIndex","handleClick","handleSwipe","absDeltaX","abs","touchStart","pointerType","clientX","touches","touchMove","touchEnd","prevHandler","nextHandler","rawName","expression","mouseenter","mouseleave","tagName","imgAlt","imgBlank","imgBlankColor","contentVisibleUp","contentTag","caption","captionHtml","captionTag","textHtml","BCarouselSlide","inject","contentClasses","noDrag","dragstart","e","contentChildren","CarouselPlugin","onEnter","scrollHeight","onAfterEnter","onLeave","onAfterLeave","TRANSITION_PROPS","TRANSITION_HANDLERS","enter","afterEnter","leave","afterLeave","BVCollapse","listenOnRoot","$on","$off","listenOnRootOnce","emitOnRoot","EVENT_STATE","EVENT_ACCORDION","EVENT_STATE_SYNC","EVENT_TOGGLE","EVENT_STATE_REQUEST","BCollapse","listenOnRootMixin","isNav","accordion","transitioning","classObject","collapse","emitState","handleToggleEvt","handleAccordionEvt","setWindowEvents","handleResize","emitSync","updated","checkDisplayBlock","restore","isBlock","clickHandler","openedId","close","allListenTypes","hover","BVBoundListeners","getTargets","binding","targets","t","bindTargets","listenTypes","listener","elm","boundListeners","unbindTargets","BV_TOGGLE","BV_TOGGLE_STATE","BV_TOGGLE_CONTROLS","BV_TOGGLE_TARGETS","resetProp","handleTargets","handleUpdate","VBToggle","toggleDirectiveHandler","state","CollapsePlugin","BvEvent","eventInit","TypeError","constructor","Defaults","cancelable","nativeEvent","relatedTarget","vueTarget","componentId","defaultPrevented","listenForClickOut","newValue","clickOutElement","clickOutEventName","_clickOutHandler","beforeCreate","isClickOut","clickOutHandler","listenForFocusIn","focusInElement","_focusInHandler","focusInHandler","filterVisibles","els","ROOT_DROPDOWN_PREFIX","ROOT_DROPDOWN_SHOWN","ROOT_DROPDOWN_HIDDEN","Selector","FORM_CHILD","AttachmentMap","TOP","TOPEND","BOTTOM","BOTTOMEND","RIGHTEND","LEFTEND","clickOutMixin","focusInMixin","bvDropdown","bvNavbar","dropup","dropright","dropleft","noFlip","popperOpts","visibleChangePrevented","inNavbar","toggler","directionClass","bvEvt","menu","emitEvent","focusToggler","showMenu","hideMenu","$_popper","whileOpenListen","destroyPopper","Popper","createPopper","focusMenu","element","getPopperConfig","updatePopper","scheduleUpdate","placement","popperConfig","flip","enabled","preventOverflow","boundariesElement","isOpen","rootCloseListener","vm","hide","refocus","onMousedown","onEsc","onSplitClick","hideHandler","up","focusItem","find","menuClass","toggleTag","toggleClass","noCaret","splitHref","splitTo","splitClass","splitButtonType","validator","lazy","dropdownMixin","dropdownClasses","menuClasses","toggleClasses","buttonContent","mousedown","BDropdownItem","closeDropdown","BDropdownItemButton","BDropdownHeader","BDropdownDivider","inline","novalidate","validated","BForm","BDropdownForm","formProps","formClass","BDropdownText","headerVariant","headerClasses","ariaDescribedby","BDropdownGroup","headerId","adb","ariaDescribedBy","DropdownPlugin","BDd","BDdItem","BDropdownItemBtn","BDdItemButton","BDdItemBtn","BDdHeader","BDdDivider","BDdForm","BDdText","BDdGroup","aspect","BEmbed","EmbedPlugin","OPTIONS_OBJECT_DEPRECATED_MSG","valueField","textField","htmlField","disabledField","formOptions","option","normalizeOption","$options","BFormDatalist","formOptionsMixin","tooltip","forceShow","BFormInvalidFeedback","BFormValidFeedback","BFormRow","FormPlugin","BDatalist","BFormFeedback","looseIndexOf","arr","SELECTOR","form","autofocus","handleAutofocus","checked","plain","buttonVariant","ariaLabelledby","localChecked","isGroup","bvGroup","hasFocus","computedLocalChecked","set","isBtnMode","buttons","isPlain","isCustom","isSwitch","isRadio","switches","switch","isInline","isRequired","getName","groupName","getForm","getSize","getState","computedState","getButtonVariant","buttonClasses","isChecked","input","defaultSlot","change","handleChange","isCheck","sizeFormClass","sizeBtnClass","stateClass","BFormCheckbox","formRadioCheckMixin","formMixin","formSizeMixin","formStateMixin","uncheckedValue","indeterminate","setIndeterminate","isArr","BFormRadio","ariaInvalid","groupClasses","computedAriaInvalid","inputs","uid","isRadioGroup","BFormCheckboxGroup","formRadioCheckGroupMixin","bvCheckGroup","FormCheckboxPlugin","BCheckbox","BCheck","BCheckboxGroup","BCheckGroup","PROP","MOUSEENTER","MOUSELEAVE","createListener","updateListeners","hasListener","handlerChanged","VBHover","getConfigFallback","propsMixin","resetValue","noCloseOnSelect","todayButton","todayButtonVariant","resetButton","resetButtonVariant","closeButton","closeButtonVariant","dark","BHover","localYMD","localLocale","formatedValue","isHovered","calendarYM","calendarProps","idLabel","idWrapper","computedResetValue","setAndClose","onSelected","onInput","onContext","ctx","formattedValue","onTodayButton","onResetButton","onCloseButton","setFocus","handleHover","hovered","idButton","idMenu","$button","$input","$controls","$calendar","$menu","$hidden","FormDatepickerPlugin","BDatepicker","custom","VALUE_EMPTY_DEPRECATED_MSG","formCustomMixin","accept","multiple","directory","noTraverse","noDrop","fileNameFormatter","selectedFile","dragging","selectLabel","files","f","file","v","reset","focusHandler","onFileChange","dataTransfer","queue","webkitGetAsEntry","traverseFileTree","all","filesArr","setFiles","filesArray","onReset","onDragover","dropEffect","onDragleave","onDrop","resolve","$path","isDirectory","createReader","readEntries","webkitdirectory","dragover","dragleave","drop","FormFilePlugin","BFile","suffixPropName","RX_COL_CLASS","boolStrNum","strNum","computeBreakpoint","breakpoint","computeBreakpointClass","breakpointPropMap","generateProps","breakpointCol","propMap","breakpointOffset","breakpointOrder","col","order","cols","alignSelf","BCol","hasColClasses","renderInvalidFeedback","invalidFeedback","invalidFeedbackId","feedbackAriaLive","renderValidFeedback","validFeedback","validFeedbackId","renderHelpText","description","descriptionId","renderLabel","labelFor","isLegend","isHorizontal","labelTag","labelSrOnly","labelId","labelColProps","legendClick","labelSize","labelAlignClasses","labelClass","makePropName","BREAKPOINTS","bpLabelColProps","bpLabelAlignProps","BFormGroup","propVal","bColPropName","classes","hasInvalidFeedback","hasValidFeedback","describedByIds","setInputDescribedBy","ids","isFieldset","FormGroupPlugin","BFormFieldset","plaintext","formatter","lazyFormatter","number","debounce","localValue","vModelValue","computedClass","computedDebounce","hasFormatter","stringifyValue","clearDebounce","$_inputDebounceTimer","formatValue","force","modifyValue","updateValue","doUpdate","composing","onChange","onBlur","selectionStart","selectionEnd","selectionDirection","setSelectionRange","setRangeText","validity","validationMessage","willValidate","setCustomValidity","checkValidity","reportValidity","TYPES","BFormInput","formTextMixin","formSelectionMixin","formValidityMixin","noWheel","list","localType","setWheelStopper","onWheelFocus","onWheelBlur","stopWheel","self","FormInputPlugin","BInput","BFormRadioGroup","bvRadioGroup","FormRadioPlugin","BRadio","BRadioGroup","labelField","optionsField","BFormSelectOption","BFormSelectOptionGroup","BFormSelect","optionsMixin","selectSize","computedSelectSize","inputClass","selectedVal","o","_value","FormSelectPlugin","BSelect","BSelectOption","BSelectOptionGroup","DEFAULT_MIN","DEFAULT_MAX","DEFAULT_STEP","DEFAULT_REPEAT_DELAY","DEFAULT_REPEAT_INTERVAL","DEFAULT_REPEAT_THRESHOLD","DEFAULT_REPEAT_MULTIPLIER","defaultNumber","defaultInteger","wrap","formatterFn","repeatDelay","repeatInterval","repeatThreshold","repeatStepMultiplier","computedStep","computedDelay","computedInterval","computedThreshold","computedStepMultiplier","computedPrecision","computedMultiplier","pow","valueAsFixed","nf","NumberFormat","defaultFormatter","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","notation","clearRepeat","$_autoDelayTimer","$_autoRepeatTimer","$_keyIsDown","spinner","emitChange","stepValue","multiplier","round","onFocusBlur","stepUp","stepDown","ctrlKey","metaKey","resetTimers","handleStepRepeat","onKeyup","stepper","setMouseup","count","onMouseup","spinId","isVertical","isReadonly","hasValue","makeButton","IconCmp","keyRef","$icon","touchstart","$increment","$decrement","$spin","keyup","FormSpinbuttonPlugin","BSpinbutton","onDelete","tagId","tagLabelId","$remove","$tag","RX_SPACES","escapeRegExpChars","cleanTags","tags","processEventValue","cleanTagsState","valid","invalid","duplicate","inputId","inputType","inputAttrs","tagClass","tagPills","tagValidator","separator","removeOnDelete","addOnChange","noAddOnEnter","noOuterFocus","newTag","removedTags","tagsState","computedInputId","computedInputType","computedInputAttrs","computedInputHandlers","onInputInput","onInputChange","onInputKeydown","computedSeparator","computedSeparatorRegExp","RegExp","computedJoiner","joiner","disableAddButton","splitTags","validateTag","duplicateTags","hasDuplicateTags","invalidTags","hasInvalidTags","addTag","parseTags","getInput","invalidAndDuplicates","removeTag","separatorRe","onFocusout","defaultRender","inputHandlers","isInvalid","isDuplicate","$createElement","$tags","duplicateFeedbackId","outline","minWidth","invisible","tagListId","$field","$ul","$feedback","$invalid","$duplicate","$content","$output","$removed","FormTagsPlugin","BTags","BTag","BFormTextarea","rows","maxRows","noResize","noAutoShrink","heightInPx","computedStyle","styles","resize","computedRows","overflowY","computedMinRows","computedMaxRows","setHeight","visibleCallback","computeHeight","$isServer","lineHeight","border","borderBottomWidth","padding","paddingTop","paddingBottom","minHeight","oldHeight","contentRows","ceil","FormTextareaPlugin","BTextarea","ImagePlugin","BInputGroupText","commonProps","isText","BInputGroupAddon","BInputGroupPrepend","BInputGroupAppend","prepend","prependHtml","appendHtml","InputGroupPlugin","BContainer","container","containerFluid","headerLevel","lead","leadHtml","leadTag","JumbotronPlugin","COMMON_ALIGNMENT","computeRowColsClass","computeRowColsBreakpoint","rowColsPropList","rowColsProps","noGutters","alignV","alignH","alignContent","BRow","LayoutPlugin","LinkPlugin","flush","horizontal","BListGroup","actionTags","action","isAction","itemProps","ListGroupPlugin","BMediaBody","verticalAlign","BMediaAside","rightAlign","BMedia","$aside","$default","MediaPlugin","BTransporterTargetSingle","abstract","nodes","updatedNodes","destroyed","BTransporterSingle","immediate","unmountTarget","mountTarget","_bv_defaultFn","_bv_target","beforeMount","updateTarget","getContainer","createElement","appendChild","propsData","defaultFn","$destroy","handlers","listenDocument","listenOnDocument","listenOffDocument","listenWindow","listenOnWindow","listenOffWindow","getScopeId","_scopeId","scopedStyleAttrs","scopeId","$parent","DEFAULT_ZINDEX","FIXED_CONTENT","STICKY_CONTENT","NAVBAR_TOGGLER","ModalManager","modals","baseZIndex","scrollbarWidth","isBodyOverflowing","modalCount","modalsAreOpen","newCount","oldCount","getScrollbarWidth","checkScrollbar","setScrollbar","resetScrollbar","updateModals","registerModal","modal","unregisterModal","splice","_isBeingDestroyed","_isDestroyed","resetModal","getBaseZIndex","div","zIndex","clientWidth","isTop","innerWidth","_paddingChangedForModal","_marginChangedForModal","actualPadding","paddingRight","calculatedPadding","actualMargin","marginRight","calculatedMargin","modalManager","BvModalEvent","trigger","OBSERVER_CONFIG","characterData","TABABLE_SELECTOR","s","attemptFocus","centered","scrollable","buttonSize","noStacking","noCloseOnBackdrop","noCloseOnEsc","noEnforceFocus","ignoreEnforceFocusSelector","titleHtml","titleClass","titleSrOnly","modalClass","dialogClass","contentClass","hideFooter","hideHeaderClose","hideBackdrop","okOnly","okDisabled","cancelDisabled","returnFocus","cancelTitleHtml","okTitleHtml","busy","static","autoFocusButton","listenOnDocumentMixin","listenOnWindowMixin","scopedStyleAttrsMixin","isHidden","isTransitioning","isShow","isOpening","isClosing","ignoreBackdropClick","isModalOverflowing","return_focus","modalClasses","modalStyles","sbWidth","paddingLeft","dialogClasses","titleClasses","bodyClasses","footerClasses","modalOuterStyle","slotScope","ok","onOk","cancel","onCancel","onClose","computeIgnoreEnforceFocusSelector","_observer","showHandler","toggleHandler","modalListener","updateModel","buildEvent","getActiveElement","showEvt","hideEvt","triggerEl","getTabables","checkModalOverflow","onBeforeEnter","setResizeEvent","setEnforceFocus","onBeforeLeave","returnFocusTo","bvModalEvt","onDialogMousedown","onceModalMouseup","onClickOut","tabables","bottomTrap","topTrap","preventScroll","autoFocus","scrollTop","clientHeight","makeModal","modalHeader","modalFooter","cancelButton","cancelHtml","okHtml","okButton","modalContent","tabTrapTop","tabTrapBottom","modalDialog","beforeEnter","beforeLeave","backdrop","EVENT_SHOW","PROPERTY","getTarget","arg","getTriggerElement","setRole","oldProp","VBModal","inserted","PROP_NAME_PRIV","BASE_PROPS","modalProps","defaultResolver","propsToSlots","msgBoxContent","filterOptions","BMsgBox","extends","handleDestroy","$route","$watch","asyncMsgBox","resolver","msgBox","reject","resolved","Error","$mount","makeMsgBox","BvModal","_vm","_root","mixin","BVModalPlugin","ModalPlugin","justified","tabs","pills","small","cardHeader","computeJustifyContent","BNav","BNavItem","linkAttrs","linkClasses","BNavText","BFormProps","BNavForm","$form","BDropdownProps","BNavItemDropdown","NavPlugin","BNavItemDd","BNavDropdown","BNavDd","toggleable","fixed","sticky","print","breakpointClass","xs","BNavProps","BNavbarNav","BNavbarBrand","toggleState","handleStateEvt","NavbarPlugin","BNavToggle","range","ELLIPSIS_THRESHOLD","DEFAULT_LIMIT","makePageArray","startNumber","numberOfPages","sanitizeLimit","limit","sanitizeCurrentPage","page","onSpaceKey","hideGotoEndButtons","labelFirstPage","firstText","firstNumber","firstClass","labelPrevPage","prevText","prevClass","labelNextPage","nextText","nextClass","labelLastPage","lastText","lastNumber","lastClass","labelPage","pageClass","hideEllipsis","ellipsisText","ellipsisClass","curr","currentPage","localNumberOfPages","localLimit","btnSize","alignment","styleClass","computedCurrentPage","paginationParams","showFirstDots","showLastDots","numberOfLinks","lastPageNumber","pageList","pages","handleKeyNav","getButtons","btn","setBtnFocus","focusCurrent","cnt","pageNumbers","p","isActivePage","pageNum","noCurrentPage","makeEndBtn","linkTo","btnSlot","btnText","btnClass","pageTest","btnContent","makeEllipsis","isLast","makePageButton","makePage","$firstPageBtn","$lastPageBtn","$pagination","DEFAULT_PER_PAGE","DEFAULT_TOTAL_ROWS","perPage","totalRows","sanitizePerPage","sanitizeTotalRows","paginationMixin","pageSizeNumberOfPages","num","PaginationPlugin","sanitizeNumberOfPages","baseUrl","useRouter","linkGen","pageGen","noPageDetect","computedValue","setNumberOfPages","guessCurrentPage","getPageInfo","makeLink","resolveLink","pathname","search","resolveRoute","route","guess","currRoute","loc","location","currLink","PaginationNavPlugin","AUTO","TOPLEFT","TOPRIGHT","RIGHTTOP","RIGHTBOTTOM","BOTTOMLEFT","BOTTOMRIGHT","LEFTTOP","LEFTBOTTOM","OffsetMap","BVPopper","fallbackPlacement","arrowPadding","attachment","getAttachment","templateType","getOffset","behavior","arrow","onCreate","originalPlacement","popperPlacementChange","onUpdate","popperCreate","popperUpdate","popperDestroy","arrowOffset","renderTemplate","BVTooltipTemplate","interactive","templateClasses","noninteractive","templateAttributes","templateListeners","$title","MODAL_SELECTOR","MODAL_CLOSE_EVENT","DROPDOWN_CLASS","DROPDOWN_OPEN_SELECTOR","templateData","triggers","BVTooltip","activeTrigger","computedId","computedTriggers","sort","isWithActiveTrigger","computedTemplateData","newTriggers","oldTriggers","unListen","listen","handleTemplateUpdate","disable","enable","$_tip","$_hoverTimeout","$_hoverState","$_visibleInterval","$_enabled","$_noop","getScopId","forceHide","setWhileOpenListeners","clearHoverTimeout","clearVisibilityInterval","destroyTemplate","getTemplate","updateData","titleUpdated","fixTitle","createTemplateAndShow","Template","$tip","getPlacementTarget","getBoundary","onTemplateShow","onTemplateShown","onTemplateHide","onTemplateHidden","handleEvent","hideTemplate","clearActiveTriggers","localPlacementTarget","removeAriaDescribedby","restoreTitle","getTemplateElement","dropdownOpen","addAriaDescribedby","tip","prevHoverState","getTargetId","isInModal","isDropdown","desc","setRootListener","doHide","doDisable","doEnable","setModalListener","setDropdownListener","visibleCheck","setOnTouchStartListener","evtTarget","localTitle","localContent","templateTitleContent","$_bv_toolpop","updateContent","doOpen","doClose","Component","getComponent","$toolpop","onShow","onShown","onHide","onHidden","onDisabled","onEnabled","setTitle","setContent","BVPopoverTemplate","titleDomProps","contentDomProps","BVPopover","BV_POPOVER","DefaultTrigger","validTriggers","manual","htmlRE","noFadeRE","placementRE","boundaryRE","delayRE","delayShowRE","delayHideRE","offsetRE","variantRE","spacesRE","parseBindings","bindings","animation","selectedTriggers","applyPopover","__bv_prev_data__","oldData","newData","removePopover","VBPopover","VBPopoverPlugin","PopoverPlugin","bvProgress","labelHtml","striped","animated","showProgress","showValue","progressBarClasses","computedStriped","computedAnimated","progressBarStyles","computedProgress","computedShowProgress","computedShowValue","progressHeight","ProgressPlugin","SpinnerPlugin","$events","_events","RX_UNDERSCORE","RX_LOWER_UPPER","RX_START_SPACE_WORD","startCase","$1","$2","IGNORED_FIELD_KEYS","_rowVariant","_cellVariants","_showDetails","EVENT_FILTER","processField","field","normalizeFields","origFields","fields","sample","k","primaryKey","localItems","computedFields","computedFieldsObj","computedItems","paginatedItems","sortedItems","filteredItems","localFilter","sortBy","localSortBy","sortDesc","localSortDesc","apiUrl","newItems","getFieldFormatter","isStackedAlways","stackedTableClasses","sanitizeRow","row","ignoreFields","includeFields","fieldsObj","filterByFormatted","stringifyObjectValues","stringifyRecordValues","DEBOUNCE_DEPRECATED_MSG","filterFunction","filterIgnoredFields","filterIncludedFields","filterDebounce","deprecated","isFiltered","filterSanitize","computedFilterIgnored","computedFilterIncluded","computedFilterDebounce","ms","localFiltering","hasProvider","noProviderFiltering","filteredCheck","localFilterFn","criteria","filterFn","filterFnFactory","defaultFilterFnFactory","$_filterTimer","deep","newCriteria","timeout","regExp","pattern","lastIndex","stableSort","compareFn","defaultSortCompare","localeOpts","nullLast","aa","bb","localeCompare","sortDirection","sortCompare","sortCompareOptions","numeric","sortCompareLocale","sortNullLast","noSortReset","labelSortAsc","labelSortDesc","labelSortClear","noLocalSorting","noFooterSorting","sortIconLeft","localSorting","noProviderSorting","isSortable","sortable","sortOptions","usage","sortLocale","sortByFormatted","handleSort","isFoot","sortChanged","toggleLocalSortDesc","sortTheadThClasses","sortTheadThAttrs","ariaSort","sortTheadThLabel","labelSorting","localPaging","noProviderPaging","captionId","renderCaption","$captionSlot","$caption","renderColgroup","$colgroup","TABLE_TAG_NAMES","filterEvent","textSelectionActive","containsNode","BThead","bvTableRowGroup","bvTable","isThead","isDark","isResponsive","isStickyHeader","stickyHeader","hasStickyHeader","tableVariant","theadClasses","theadAttrs","BTfoot","isTfoot","tfootClasses","tfootAttrs","LIGHT","DARK","BTr","bvTableTr","inTbody","isTbody","inThead","inTfoot","isRowDark","trClasses","trAttrs","digitsRx","parseSpan","spanValidator","colspan","rowspan","stackedHeading","stickyColumn","BTd","isStackedCell","isStickyColumn","rowVariant","computedColspan","computedRowspan","cellClasses","cellAttrs","headOrFoot","BTh","headRowVariant","theadClass","theadTrClass","fieldClasses","thClass","headClicked","stopIfBusy","renderThead","selectAllRows","isSelectable","clearSelected","makeCell","colIndex","headerTitle","hasHeadClickListener","sortAttrs","sortClass","sortLabel","thStyle","abbr","headerAbbr","getThValues","thAttr","slotNames","column","srLabel","$trs","trProps","footRowVariant","tfootTrClass","tfootClass","footClone","renderTFootCustom","renderTfoot","tbodyTransitionProps","tbodyTransitionHandlers","BTbody","isTransitionGroup","tbodyAttrs","tbodyProps","nativeOn","detailsSlotName","tbodyTrClass","tbodyTrAttr","detailsTdClass","getTdValues","tdValue","defValue","thValue","getFormattedValue","toggleDetailsFactory","hasDetailsSlot","$set","rowHovered","tbodyRowEvtStopped","emitTbodyRowEvent","rowUnhovered","renderTbodyRowCell","rowIndex","formatted","cellTag","isRowHeader","cellVariant","tdClass","tdAttr","unformatted","toggleDetails","detailsShowing","supportsSelectableRows","rowSelected","isRowSelected","selectRow","unselectRow","slotName","$_bodyFieldSlotNameCache","$childNodes","renderTbodyRow","tableStriped","rowShowDetails","hasRowClickHandler","hasSelectableRowClick","$rows","detailsId","$tds","ariaRowIndex","primaryKeyValue","rowKey","rowId","selectableClasses","selectableRowClasses","selectableAttrs","selectableRowAttrs","userTrClasses","userTrAttrs","refInFor","detailsScope","$details","userDetailsTrClasses","userDetailsTrAttrs","tbodyClass","tbodyRowMixin","getTbodyTrs","refs","tbody","trs","itemRows","tr","getTbodyTrIndex","onTbodyRowKeydown","onTBodyRowClicked","onTbodyRowMiddleMouseRowClicked","which","onTbodyRowContextmenu","onTbodyRowDblClicked","renderTbody","$busy","renderBusy","defaultSlotName","fullName","lowerName","renderTopRow","renderEmpty","renderBottomRow","auxclick","contextmenu","dblclick","$tbody","showEmpty","emptyText","emptyHtml","emptyFilteredText","emptyFilteredHtml","$empty","computedBusy","busySlotName","localBusy","selectable","selectMode","noSelectOnClick","selectedRows","selectedLastRow","selectableHasSelection","selectableIsMultiSelect","selectableTableClasses","selectableTableAttrs","setSelectionHandlers","selectedLastClicked","selectionHandler","providerTriggerContext","_providerUpdate","refresh","_providerSetLocal","bordered","borderless","outlined","responsive","noBorderCollapse","captionTop","tableClass","wrapperClasses","wrapperStyles","maxHeight","tableClasses","isTableSimple","tableAttrs","ariaAttrs","rowCount","$table","hasListenerMixin","itemsMixin","tableRendererMixin","stackedMixin","theadMixin","tfootMixin","tbodyMixin","filteringMixin","sortingMixin","captionMixin","colgroupMixin","selectableMixin","emptyMixin","topRowMixin","bottomRowMixin","busyMixin","providerMixin","BTableLite","BTableSimple","TableLitePlugin","TableSimplePlugin","TablePlugin","navProps","notDisabled","tab","BTabButtonHelper","bvTabs","posInSet","setSize","noKeyNav","handleEvt","localActive","titleLinkClass","activeNavItemClass","titleItemClass","BTabs","card","noNavStyle","navClass","navWrapperClass","activeTabClass","tabIdx","currentTab","registeredTabs","isMounted","localNavClass","activateTab","previousTab","nextTab","updateTabs","setObserver","_bvObserver","registerTab","unregisterTab","tabsContainer","getTabs","$children","_isTab","getButtonForTab","updateButton","$forceUpdate","tabEvt","deactivateTab","focusButton","emitTabClick","clickTab","firstTab","currentIndex","lastTab","activeTab","fallbackTab","controlledBy","first","last","nav","empty","BTab","buttonId","tabClasses","computedNoFade","computedLazy","activate","deactivate","TabsPlugin","_typeof","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","DefaultTransition","doRender","dead","staticName","Wormhole","hasTarget","$toaster","$target","PortalTarget","slim","MIN_DURATION","isStatus","appendToast","noAutoHide","noCloseButton","solid","isHiding","timer","dismissStarted","resumeDismiss","bToastClasses","computedDuration","computedToaster","transitionHandlers","ensureToaster","clearDismissTimer","now","setHoverHandler","startDismissTimer","onPause","onUnPause","passed","onLinkClick","hiddenEvt","makeToast","$headerContent","$body","$toast","Portal","toastProps","toastContent","BToastPop","toast","BvToast","BVToastPlugin","ToastPlugin","BV_TOOLTIP","noninteractiveRE","applyTooltip","removeTooltip","VBTooltip","VBTooltipPlugin","TooltipPlugin","componentsPlugin","VBHoverPlugin","VBModalPlugin","ACTIVATE_EVENT","Default","throttle","DefaultType","ClassName","DROPDOWN_ITEM","ACTIVE","NAV_LIST_GROUP","NAV_LINKS","NAV_ITEMS","LIST_ITEMS","DROPDOWN","DROPDOWN_ITEMS","DROPDOWN_TOGGLE","OffsetMethod","OFFSET","POSITION","HREF_REGEX","objectToString","match","typeCheckConfig","componentName","configTypes","property","expectedTypes","valueType","_isVue","ScrollSpy","$scroller","$selector","$offsets","$targets","$activeTarget","$scrollHeight","$resizeTimeout","$obs_scroller","$obs_targets","$config","updateConfig","unlisten","cfg","Name","scroller","getScroller","setObservers","resizeThrottle","autoMethod","methodFn","offsetBase","getScrollTop","getScrollHeight","maxScroll","getOffsetHeight","clear","isActiveTarget","innerHeight","links","dropdown","setActiveState","sibling","previousElementSibling","BV_SCROLLSPY","onlyDigitsRE","applyScrollspy","removeScrollspy","dispose","VBScrollspy","update","VBScrollspyPlugin","VBTogglePlugin","VBVisiblePlugin","directivesPlugin","RX_ICON_PREFIX","BIcon","icon","componentRefOrName","BootstrapVue"],"mappings":"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;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,eAAe,EAAE;EACnB;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,eAAe;EACvB;EACA;EACA;EACA;EACA;EACA,IAAI,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC;EAChD;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,OAAO,EAAE,CAAC;EACd;EACA;EACA;EACA;EACA;EACA,IAAI,iBAAiB,EAAE,cAAc;EACrC,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,YAAY,EAAE;EAChB;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,YAAY;EACpB,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,KAAK,EAAE;EACT;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,KAAK;EACb;EACA,IAAI,OAAO,EAAE,WAAW;EACxB,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,IAAI,EAAE;EACR;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,IAAI;EACZ;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,QAAQ,EAAE,MAAM;EACpB;EACA;EACA;EACA;EACA,IAAI,OAAO,EAAE,CAAC;EACd;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,iBAAiB,EAAE,UAAU;EACjC;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,cAAc,EAAE,KAAK;EACzB;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,uBAAuB,EAAE,KAAK;EAClC,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,KAAK,EAAE;EACT;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,KAAK;EAClB;EACA,IAAI,EAAE,EAAE,KAAK;EACb,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,IAAI,EAAE;EACR;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,IAAI;EACZ,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,YAAY,EAAE;EAChB;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,YAAY;EACpB;EACA;EACA;EACA;EACA;EACA,IAAI,eAAe,EAAE,IAAI;EACzB;EACA;EACA;EACA;EACA;EACA,IAAI,CAAC,EAAE,QAAQ;EACf;EACA;EACA;EACA;EACA;EACA,IAAI,CAAC,EAAE,OAAO;EACd,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,UAAU,EAAE;EACd;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAE,UAAU;EAClB;EACA,IAAI,MAAM,EAAE,gBAAgB;EAC5B;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,eAAe,EAAE,SAAS;EAC9B,GAAG;EACH,CAAC,CAAC;AACF;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;E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"}