{"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/utils/locale.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/utils/bv-form-btn-label-control.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/time/time.js","../src/components/form-timepicker/form-timepicker.js","../src/components/form-timepicker/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/components/spinner/spinner.js","../src/components/overlay/overlay.js","../src/components/overlay/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/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","../src/components/time/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: '×',\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 here\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 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 BFormTimepicker: {\n // Fallback to BTime\n labelNoTimeSelected: null,\n labelSelected: null,\n labelHours: null,\n labelMinutes: null,\n labelSeconds: null,\n labelAmpm: null,\n labelAm: null,\n labelPm: null,\n // Fallback to BTime then BFormSpinbutton\n labelDecrement: null,\n labelIncrement: null,\n // These props are specific to BFormTimepicker\n labelNowButton: 'Select now',\n labelResetButton: 'Reset',\n labelCloseButton: 'Close'\n },\n BFormSpinbutton: {\n labelDecrement: 'Decrement',\n labelIncrement: 'Increment'\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: '×',\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 BTime: {\n labelNoTimeSelected: 'No time selected',\n labelSelected: 'Selected time',\n labelHours: 'Hours',\n labelMinutes: 'Minutes',\n labelSeconds: 'Seconds',\n labelAmpm: 'AM/PM',\n // It would be nice to be able to get these from Intl.DateTimeFormat somehow\n labelAm: 'AM',\n labelPm: 'PM',\n // The following inherit from BFormSpinbutton if not provided\n labelIncrement: null,\n labelDecrement: 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// Helper function to constrain a date between two values\n// Always returns a `Date` object or `null` if no date passed\nexport const constrainDate = (date, min = null, max = null) => {\n // Ensure values are `Date` objects (or `null`)\n date = parseYMD(date)\n min = parseYMD(min) || date\n max = parseYMD(max) || date\n // Return a new `Date` object (or `null`)\n return date ? (date < min ? min : date > max ? max : date) : null\n}\n","// Localization utilities\nimport { arrayIncludes } from './array'\nimport { toString } from './string'\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// Precompile RegExpr\nconst RX_STRIP_MODS = /-u-.+/\n\n// Returns true if the locale is RTL\nexport const isLocaleRTL = locale => {\n // Determines if the locale is RTL (only single locale supported)\n const parts = toString(locale)\n .toLowerCase()\n .replace(RX_STRIP_MODS, '')\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 * 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 animation: {\n type: String,\n default: null\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 const animation = props.animation\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 if (isStacked) {\n // Wrap in an additional `<g>` for proper\n // animation handling if stacked\n $inner = h('g', {}, [$inner])\n }\n\n return h(\n 'svg',\n mergeData(\n {\n staticClass: 'b-icon bi',\n class: {\n [`text-${props.variant}`]: !!props.variant,\n [`b-icon-animation-${animation}`]: !!animation\n },\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-03-14T14:07:22.334Z\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 constrainDate,\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 { isLocaleRTL } from '../../utils/locale'\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// --- 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 initialDate: {\n // This specifies the calendar year/month/day that will be shown when\n // first opening the datepicker if no v-model value is provided\n // Default is the current date (or `min`/`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 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 dateFormatOptions: {\n // `Intl.DateTimeFormat` object\n type: Object,\n default: () => ({\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n weekday: 'long'\n })\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:\n selected ||\n formatYMD(constrainDate(this.initialDate || this.getToday()), this.min, this.max),\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 // Ensure we have year, month, day shown for screen readers/ARIA\n // If users really want to leave one of these out, they can\n // pass `undefined` for the property value\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n // Merge in user supplied options\n ...this.dateFormatOptions,\n // Ensure hours/minutes/seconds are not shown\n // As we do not support the time portion (yet)\n hour: undefined,\n minute: undefined,\n second: undefined,\n // Ensure calendar is gregorian\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 =\n this.selectedYMD ||\n formatYMD(this.value || this.constrainDate(this.initialDate || 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 return constrainDate(date, this.computedMin, this.computedMax)\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 constrainedToday = this.constrainDate(this.getToday())\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 = constrainedToday\n checkDate = activeDate\n } else if (keyCode === END) {\n // END - Selected date, or today if no selected date\n activeDate = parseYMD(this.selectedDate) || constrainedToday\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 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.constrainDate(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 onHeaderClick() {\n if (!this.disabled) {\n this.activeYMD = this.selectedYMD || formatYMD(this.getToday())\n this.focus()\n }\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 // This should be computed props\n const idValue = safeId()\n const idWidget = safeId('_calendar-wrapper_')\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 tabindex: this.disabled ? null : '-1',\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 on: {\n // Transfer focus/click to focus grid\n // and focus active date (or today if no selection)\n click: this.onHeaderClick,\n focus: this.onHeaderClick\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' // ' '\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 text-truncate',\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 '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 staticClass: 'b-calendar-inner',\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\nexport const commonProps = {\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\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 ...commonProps\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","//\n// Private component used by `b-form-datepicker` and `b-form-timepicker`\n//\nimport Vue from './vue'\nimport { toString } from './string'\nimport dropdownMixin, { commonProps } from '../mixins/dropdown'\nimport idMixin from '../mixins/id'\nimport normalizeSlotMixin from '../mixins/normalize-slot'\nimport { VBHover } from '../directives/hover/hover'\nimport { BIconChevronDown } from '../icons/icons'\n\n// Re-export common dropdown props used for convenience\nexport const dropdownProps = commonProps\n\n// @vue/component\nexport const BVFormBtnLabelControl = /*#__PURE__*/ Vue.extend({\n name: 'BVFormBtnLabelControl',\n directives: {\n BHover: VBHover\n },\n mixins: [idMixin, normalizeSlotMixin, dropdownMixin],\n props: {\n value: {\n // This is the value placed on the hidden input\n type: String,\n default: ''\n },\n formattedValue: {\n // This is the value shown in the label\n // Defaults back to `value`\n type: String\n // default: null\n },\n placeholder: {\n // This is the value placed on the hidden input when no value selected\n type: String\n // default: null\n },\n labelSelected: {\n // Value placed in sr-only span inside label when value is present\n type: String\n // default: null\n },\n state: {\n // Tri-state prop: `true`, `false`, or `null`\n type: Boolean,\n // We must explicitly default to `null` here otherwise\n // Vue coerces `undefined` into Boolean `false`\n default: null\n },\n size: {\n type: String\n // default: null\n },\n name: {\n type: String\n // default: null\n },\n form: {\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 type: Boolean,\n default: false\n },\n lang: {\n type: String\n // default: null\n },\n rtl: {\n // Tri-state prop: `true`, `false` or `null`\n type: Boolean,\n // We must explicitly default to `null` here otherwise\n // Vue coerces `undefined` into Boolean `false`\n default: null\n },\n buttonOnly: {\n // When true, renders a btn-group wrapper and visually hides the label\n type: Boolean,\n default: false\n },\n buttonVariant: {\n // Applicable in button mode only\n type: String,\n default: 'secondary'\n },\n menuClass: {\n // Extra classes to apply to the `dropdown-menu` div\n type: [String, Array, Object]\n // default: null\n }\n },\n data() {\n return {\n isHovered: false,\n hasFocus: false\n }\n },\n computed: {\n idButton() {\n return this.safeId()\n },\n idLabel() {\n return this.safeId('_value_')\n },\n idMenu() {\n return this.safeId('_dialog_')\n },\n idWrapper() {\n return this.safeId('_outer_')\n },\n computedDir() {\n return this.rtl === true ? 'rtl' : this.rtl === false ? 'ltr' : null\n }\n },\n methods: {\n focus() {\n if (!this.disabled) {\n try {\n this.$refs.toggle.focus()\n } catch {}\n }\n },\n blur() {\n if (!this.disabled) {\n try {\n this.$refs.toggle.blur()\n } catch {}\n }\n },\n setFocus(evt) {\n this.hasFocus = evt.type === 'focus'\n },\n handleHover(hovered) {\n this.isHovered = hovered\n },\n stopEvent(evt) /* istanbul ignore next */ {\n evt.stopPropagation()\n }\n },\n render(h) {\n const idButton = this.idButton\n const idLabel = this.idLabel\n const idMenu = this.idMenu\n const idWrapper = this.idWrapper\n const disabled = this.disabled\n const readonly = this.readonly\n const required = this.required\n const isHovered = this.isHovered\n const hasFocus = this.hasFocus\n const state = this.state\n const visible = this.visible\n const size = this.size\n const value = toString(this.value) || ''\n const labelSelected = this.labelSelected\n const buttonOnly = !!this.buttonOnly\n const buttonVariant = this.buttonVariant\n\n const btnScope = { isHovered, hasFocus, state, opened: visible }\n const $button = h(\n 'button',\n {\n ref: 'toggle',\n staticClass: 'btn',\n class: {\n [`btn-${buttonVariant}`]: buttonOnly,\n [`btn-${size}`]: !!size,\n 'border-0': !buttonOnly,\n 'h-auto': !buttonOnly,\n 'py-0': !buttonOnly,\n // `dropdown-toggle` is needed for proper\n // corner rounding in button only mode\n 'dropdown-toggle': buttonOnly,\n 'dropdown-toggle-no-caret': buttonOnly\n },\n attrs: {\n id: idButton,\n type: 'button',\n disabled: disabled,\n 'aria-haspopup': 'dialog',\n 'aria-expanded': visible ? 'true' : 'false',\n 'aria-invalid': state === false || (required && !value) ? 'true' : null,\n 'aria-required': required ? 'true' : null\n },\n directives: [{ name: 'b-hover', value: this.handleHover }],\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 [\n this.hasNormalizedSlot('button-content')\n ? this.normalizeSlot('button-content', btnScope)\n : h(BIconChevronDown, { props: { scale: 1.25 } })\n ]\n )\n\n // Hidden input\n let $hidden = h()\n if (this.name && !disabled) {\n $hidden = h('input', {\n attrs: {\n type: 'hidden',\n name: this.name || null,\n form: this.form || null,\n value: value\n }\n })\n }\n\n // Dropdown content\n const $menu = h(\n 'div',\n {\n ref: 'menu',\n staticClass: 'dropdown-menu p-2',\n class: [\n this.menuClass,\n {\n show: visible,\n 'dropdown-menu-right': this.right\n }\n ],\n attrs: {\n id: idMenu,\n role: 'dialog',\n tabindex: '-1',\n 'aria-modal': 'false',\n 'aria-labelledby': idLabel\n },\n on: {\n keydown: this.onKeydown // Handle ESC\n }\n },\n [this.normalizeSlot('default', { opened: visible })]\n )\n\n // Value label\n const $label = 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 // Hidden in button only mode\n 'sr-only': buttonOnly,\n // Mute the text if showing the placeholder\n 'text-muted': !value,\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 'aria-invalid': state === false || (required && !value) ? 'true' : null,\n 'aria-required': required ? 'true' : null\n },\n directives: [{ name: 'b-hover', value: this.handleHover }],\n on: {\n // Disable bubbling of the click event to\n // prevent menu from closing and re-opening\n '!click': this.stopEvent\n }\n },\n [\n value ? this.formattedValue || value : this.placeholder || '',\n // Add the selected label for screen readers when a value is provided\n value && labelSelected ? h('bdi', { staticClass: 'sr-only' }, labelSelected) : ''\n ]\n )\n\n // Return the custom form control wrapper\n return h(\n 'div',\n {\n staticClass: 'dropdown',\n class: [\n this.directionClass,\n {\n 'btn-group': buttonOnly,\n 'b-form-btn-label-control': !buttonOnly,\n 'form-control': !buttonOnly,\n [`form-control-${size}`]: !!size && !buttonOnly,\n 'd-flex': !buttonOnly,\n 'p-0': !buttonOnly,\n 'h-auto': !buttonOnly,\n 'align-items-stretch': !buttonOnly,\n focus: hasFocus && !buttonOnly,\n show: visible,\n 'is-valid': state === true,\n 'is-invalid': state === false\n }\n ],\n attrs: {\n id: idWrapper,\n role: buttonOnly ? null : 'group',\n lang: this.lang || null,\n dir: this.computedDir,\n 'aria-disabled': disabled,\n 'aria-readonly': readonly && !disabled,\n 'aria-labelledby': idLabel,\n 'aria-invalid': state === false || (required && !value) ? 'true' : null,\n 'aria-required': required ? 'true' : null\n }\n },\n [$button, $hidden, $menu, $label]\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport { BVFormBtnLabelControl, dropdownProps } from '../../utils/bv-form-btn-label-control'\nimport { getComponentConfig } from '../../utils/config'\nimport { createDate, constrainDate, formatYMD, parseYMD } from '../../utils/date'\nimport { isUndefinedOrNull } from '../../utils/inspect'\nimport idMixin from '../../mixins/id'\nimport { BButton } from '../button/button'\nimport { BCalendar } from '../calendar/calendar'\nimport { BIconCalendar, BIconCalendarFill } from '../../icons/icons'\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 initialDate: {\n // This specifies the calendar year/month/day that will be shown when\n // first opening the datepicker if no v-model value is provided\n // Default is the current date (or `min`/`max`)\n // Passed directly to <b-calendar>\n type: [String, Date],\n default: null\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 buttonOnly: {\n type: Boolean,\n default: false\n },\n buttonVariant: {\n // Applicable in button only mode\n type: String,\n default: 'secondary'\n },\n calendarWidth: {\n // Width of the calendar dropdown\n type: String,\n default: '270px'\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 dateFormatOptions: {\n // `Intl.DateTimeFormat` object\n type: Object,\n default: () => ({\n year: 'numeric',\n month: 'long',\n day: 'numeric',\n weekday: 'long'\n })\n },\n // Dark mode\n dark: {\n type: Boolean,\n default: false\n },\n // extra dropdown stuff\n menuClass: {\n type: [String, Array, Object],\n default: null\n },\n ...dropdownProps\n }\n}\n\n// --- BFormDate component ---\n\n// @vue/component\nexport const BFormDatepicker = /*#__PURE__*/ Vue.extend({\n name: NAME,\n // The mixins order determines the order of appearance in the props reference section\n mixins: [idMixin, propsMixin],\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 // If the popup is open\n isVisible: false,\n // Context data from BCalendar\n localLocale: null,\n isRTL: false,\n formattedValue: '',\n activeYMD: ''\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 // Use self for better minification, as `this` won't\n // minimize and we reference it many times below\n const self = this\n return {\n hidden: !self.isVisible,\n value: self.localYMD,\n min: self.min,\n max: self.max,\n initialDate: self.initialDate,\n readonly: self.readonly,\n disabled: self.disabled,\n locale: self.locale,\n startWeekday: self.startWeekday,\n direction: self.direction,\n width: self.calendarWidth,\n dateDisabledFn: self.dateDisabledFn,\n selectedVariant: self.selectedVariant,\n todayVariant: self.todayVariant,\n hideHeader: self.hideHeader,\n labelPrevYear: self.labelPrevYear,\n labelPrevMonth: self.labelPrevMonth,\n labelCurrentMonth: self.labelCurrentMonth,\n labelNextMonth: self.labelNextMonth,\n labelNextYear: self.labelNextYear,\n labelToday: self.labelToday,\n labelSelected: self.labelSelected,\n labelNoDateSelected: self.labelNoDateSelected,\n labelCalendar: self.labelCalendar,\n labelNav: self.labelNav,\n labelHelp: self.labelHelp,\n dateFormatOptions: self.dateFormatOptions\n }\n },\n computedLang() {\n return (this.localLocale || '').replace(/-u-.*$/i, '') || null\n },\n computedResetValue() {\n return formatYMD(constrainDate(this.resetValue)) || ''\n }\n },\n watch: {\n value(newVal) {\n this.localYMD = formatYMD(newVal) || ''\n },\n localYMD(newVal) {\n // We only update the v-model when the datepicker is open\n if (this.isVisible) {\n this.$emit('input', this.valueAsDate ? parseYMD(newVal) || null : newVal || '')\n }\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 try {\n this.$refs.control.updatePopper()\n } catch {}\n }\n }\n },\n methods: {\n // Public methods\n focus() {\n if (!this.disabled) {\n try {\n this.$refs.control.focus()\n } catch {}\n }\n },\n blur() {\n if (!this.disabled) {\n try {\n this.$refs.control.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.$refs.control.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 // Set to today (or min/max if today is out of range)\n this.setAndClose(formatYMD(constrainDate(createDate(), this.min, this.max)))\n },\n onResetButton() {\n this.setAndClose(this.computedResetValue)\n },\n onCloseButton() {\n this.$refs.control.hide(true)\n },\n // Menu handlers\n onShow() {\n this.isVisible = true\n },\n onShown() {\n this.$nextTick(() => {\n try {\n this.$refs.calendar.focus()\n } catch {}\n })\n },\n onHidden() {\n this.isVisible = false\n },\n // Render helpers\n defaultButtonFn({ isHovered, hasFocus }) {\n return this.$createElement(isHovered || hasFocus ? BIconCalendarFill : BIconCalendar, {\n props: { scale: 1.25 },\n attrs: { 'aria-hidden': 'true' }\n })\n }\n },\n render(h) {\n const localYMD = this.localYMD\n const disabled = this.disabled\n const readonly = this.readonly\n const placeholder = isUndefinedOrNull(this.placeholder)\n ? this.labelNoDateSelected\n : this.placeholder\n\n // Optional footer buttons\n let $footer = []\n\n if (this.todayButton) {\n const label = this.labelTodayButton\n $footer.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 $footer.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 $footer.push(\n h(\n BButton,\n {\n props: { size: 'sm', disabled, variant: this.closeButtonVariant },\n attrs: { 'aria-label': label || null },\n on: { click: this.onCloseButton }\n },\n label\n )\n )\n }\n\n if ($footer.length > 0) {\n $footer = [\n h(\n 'div',\n {\n staticClass: 'b-form-date-controls d-flex flex-wrap',\n class: {\n 'justify-content-between': $footer.length > 1,\n 'justify-content-end': $footer.length < 2\n }\n },\n $footer\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 $footer\n )\n\n return h(\n BVFormBtnLabelControl,\n {\n ref: 'control',\n staticClass: 'b-form-datepicker',\n props: {\n // This adds unneeded props, but reduces code size:\n ...this.$props,\n // Overridden / computed props\n id: this.safeId(),\n rtl: this.isRTL,\n lang: this.computedLang,\n value: localYMD || '',\n formattedValue: localYMD ? this.formattedValue : '',\n placeholder: placeholder || '',\n menuClass: [{ 'bg-dark': !!this.dark, 'text-light': !!this.dark }, this.menuClass]\n },\n on: {\n show: this.onShow,\n shown: this.onShown,\n hidden: this.onHidden\n },\n scopedSlots: {\n 'button-content': this.$scopedSlots['button-content'] || this.defaultButtonFn\n }\n },\n [$calendar]\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\n// --- Constants ---\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// --- Helper methods ---\n\nconst isValidValue = value => isFile(value) || (isArray(value) && value.every(v => isValidValue(v)))\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: value => {\n /* istanbul ignore next */\n if (value === '') {\n warn(VALUE_EMPTY_DEPRECATED_MSG, NAME)\n return true\n }\n return isUndefinedOrNull(value) || isValidValue(value)\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 // 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 // Wrapped in try in case IE 11 or mobile Safari crap out\n try {\n const $input = this.$refs.input\n $input.value = ''\n $input.type = ''\n $input.type = 'file'\n } catch (e) {}\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 { eventOnOff } from '../../utils/events'\nimport { isFunction, isNull } from '../../utils/inspect'\nimport { isLocaleRTL } from '../../utils/locale'\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 // We round down to the nearest maximum step value\n const max = defaultNumber(this.max, DEFAULT_MAX)\n const step = this.computedStep\n const min = this.computedMin\n return Math.floor((max - min) / step) * step + min\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 computedRTL() {\n return isLocaleRTL(this.computedLocale)\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 // 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 // Ignore non left button (main === 0) mouse button click\n return\n }\n evt.preventDefault()\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, false)\n eventOnOff(on, document.body, 'touchend', this.onMouseup, false)\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 => {\n if (!isDisabled && !isReadonly) {\n evt.preventDefault()\n this.setMouseup(true)\n try {\n // Since we `preventDefault()`, we must manually focus the button\n evt.currentTarget.focus()\n } catch {}\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 dir: this.computedRTL ? 'rtl' : 'ltr',\n ...this.$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('bdi', { 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 role: 'group',\n lang: this.computedLocale,\n tabindex: isDisabled ? null : '-1',\n title: this.ariaLabel\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","// BTime control (not form input control)\nimport Vue from '../../utils/vue'\n// Utilities\nimport identity from '../../utils/identity'\nimport KeyCodes from '../../utils/key-codes'\nimport looseEqual from '../../utils/loose-equal'\nimport { concat } from '../../utils/array'\nimport { getComponentConfig } from '../../utils/config'\nimport { createDate, createDateFormatter } from '../../utils/date'\nimport { contains, requestAF } from '../../utils/dom'\nimport { isNull, isUndefinedOrNull } from '../../utils/inspect'\nimport { isLocaleRTL } from '../../utils/locale'\nimport { toInteger } from '../../utils/number'\nimport { toString } from '../../utils/string'\n// Mixins\nimport idMixin from '../../mixins/id'\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\n// Sub components used\nimport { BFormSpinbutton } from '../form-spinbutton/form-spinbutton'\nimport { BIconCircleFill } from '../../icons/icons'\n\n// --- Constants ---\n\nconst NAME = 'BTime'\n\nconst NUMERIC = 'numeric'\n\nconst { LEFT, RIGHT } = KeyCodes\n\n// Time string RegExpr (optional seconds)\nconst RE_TIME = /^([0-1]?[0-9]|2[0-3]):[0-5]?[0-9](:[0-5]?[0-9])?$/\n\n// --- Helpers ---\n\n// Fallback to BFormSpinbutton prop if no value found\nconst getConfigFallback = prop => {\n return getComponentConfig(NAME, prop) || getComponentConfig('BFormSpinbutton', prop)\n}\n\nconst padLeftZeros = num => {\n return `00${num || ''}`.slice(-2)\n}\n\nconst parseHMS = hms => {\n hms = toString(hms)\n let [hh, mm, ss] = [null, null, null]\n if (RE_TIME.test(hms)) {\n ;[hh, mm, ss] = hms\n .split(':')\n .map(toInteger)\n .map(v => (isNaN(v) ? null : v))\n }\n return {\n hours: isUndefinedOrNull(hh) ? null : hh,\n minutes: isUndefinedOrNull(mm) ? null : mm,\n seconds: isUndefinedOrNull(ss) ? null : ss,\n ampm: isUndefinedOrNull(hh) || hh < 12 ? 0 : 1\n }\n}\n\nconst formatHMS = ({ hours, minutes, seconds }, requireSeconds = false) => {\n if (isNull(hours) || isNull(minutes) || (requireSeconds && isNull(seconds))) {\n return ''\n }\n const hms = [hours, minutes, requireSeconds ? seconds : 0]\n return hms.map(padLeftZeros).join(':')\n}\n\n// @vue/component\nexport const BTime = /*#__PURE__*/ Vue.extend({\n name: NAME,\n mixins: [idMixin, normalizeSlotMixin],\n model: {\n prop: 'value',\n event: 'input'\n },\n props: {\n value: {\n type: String,\n default: ''\n },\n showSeconds: {\n // If true, show the second spinbutton\n type: Boolean,\n default: false\n },\n hour12: {\n // Explicitly force 12 or 24 hour time\n // Default is to use resolved locale for 12/24 hour display\n // Tri-state: `true` = 12, `false` = 24, `null` = auto\n type: Boolean,\n default: null\n },\n locale: {\n type: [String, Array],\n default: null\n },\n ariaLabelledby: {\n // ID of label element\n type: String,\n default: null\n },\n secondsStep: {\n type: [Number, String],\n default: 1\n },\n minutesStep: {\n type: [Number, String],\n default: 1\n },\n disabled: {\n type: Boolean,\n default: false\n },\n readonly: {\n type: Boolean,\n default: false\n },\n hideHeader: {\n type: Boolean,\n default: false\n },\n labelNoTimeSelected: {\n type: String,\n default: () => getComponentConfig(NAME, 'labelNoTimeSelected')\n },\n labelSelected: {\n type: String,\n default: () => getComponentConfig(NAME, 'labelSelected')\n },\n labelHours: {\n type: String,\n default: () => getComponentConfig(NAME, 'labelHours')\n },\n labelMinutes: {\n type: String,\n default: () => getComponentConfig(NAME, 'labelMinutes')\n },\n labelSeconds: {\n type: String,\n default: () => getComponentConfig(NAME, 'labelSeconds')\n },\n labelAmpm: {\n type: String,\n default: () => getComponentConfig(NAME, 'labelAmpm')\n },\n labelAm: {\n type: String,\n default: () => getComponentConfig(NAME, 'labelAm')\n },\n labelPm: {\n type: String,\n default: () => getComponentConfig(NAME, 'labelPm')\n },\n // Passed to the spin buttons\n labelIncrement: {\n type: String,\n // Falls back to BFormSpinbutton label\n default: () => getConfigFallback('labelIncrement')\n },\n labelDecrement: {\n type: String,\n // Falls back to BFormSpinbutton label\n default: () => getConfigFallback('labelDecrement')\n },\n hidden: {\n type: Boolean,\n default: false\n }\n },\n data() {\n const parsed = parseHMS(this.value || '')\n return {\n // Spin button models\n modelHours: parsed.hours,\n modelMinutes: parsed.minutes,\n modelSeconds: parsed.seconds,\n modelAmpm: parsed.ampm,\n // Internal flag to enable aria-live regions\n isLive: false\n }\n },\n computed: {\n computedHMS() {\n const hours = this.modelHours\n const minutes = this.modelMinutes\n const seconds = this.modelSeconds\n return formatHMS({ hours, minutes, seconds }, this.showSeconds)\n },\n resolvedOptions() {\n // Resolved locale options\n const locale = concat(this.locale).filter(identity)\n const options = {\n hour: NUMERIC,\n minute: NUMERIC,\n second: NUMERIC\n }\n if (!isUndefinedOrNull(this.hour12)) {\n // Force 12 or 24 hour clock\n options.hour12 = !!this.hour12\n }\n const dtf = new Intl.DateTimeFormat(locale, options)\n const resolved = dtf.resolvedOptions()\n const hour12 = resolved.hour12 || false\n // IE 11 doesn't resolve the hourCycle, so we make\n // an assumption and fall back to common values\n const hourCycle = resolved.hourCycle || (hour12 ? 'h12' : 'h23')\n return {\n locale: resolved.locale,\n hour12: hour12,\n hourCycle: hourCycle\n }\n },\n computedLocale() {\n return this.resolvedOptions.locale\n },\n computedLang() {\n return (this.computedLocale || '').replace(/-u-.*$/, '')\n },\n computedRTL() {\n return isLocaleRTL(this.computedLang)\n },\n computedHourCycle() {\n // h11, h12, h23, or h24\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Locale/hourCycle\n // h12 - Hour system using 1–12. Corresponds to 'h' in patterns. The 12 hour clock, with midnight starting at 12:00 am\n // h23 - Hour system using 0–23. Corresponds to 'H' in patterns. The 24 hour clock, with midnight starting at 0:00\n // h11 - Hour system using 0–11. Corresponds to 'K' in patterns. The 12 hour clock, with midnight starting at 0:00 am\n // h24 - Hour system using 1–24. Corresponds to 'k' in pattern. The 24 hour clock, with midnight starting at 24:00\n // For h12 or h24, we visually format 00 hours as 12\n return this.resolvedOptions.hourCycle\n },\n is12Hour() {\n return !!this.resolvedOptions.hour12\n },\n context() {\n return {\n locale: this.computedLocale,\n isRTL: this.computedRTL,\n hourCycle: this.computedHourCycle,\n hour12: this.is12Hour,\n hours: this.modelHours,\n minutes: this.modelMinutes,\n seconds: this.showSeconds ? this.modelSeconds : 0,\n value: this.computedHMS,\n formatted: this.formattedTimeString\n }\n },\n valueId() {\n return this.safeId() || null\n },\n computedAriaLabelledby() {\n return [this.ariaLabelledby, this.valueId].filter(identity).join(' ') || null\n },\n timeFormatter() {\n // Returns a formatter function reference\n // The formatter converts the time to a localized string\n const options = {\n hour12: this.is12Hour,\n hourCycle: this.computedHourCycle,\n hour: NUMERIC,\n minute: NUMERIC,\n timeZone: 'UTC'\n }\n if (this.showSeconds) {\n options.second = NUMERIC\n }\n // Formats the time as a localized string\n return createDateFormatter(this.computedLocale, options)\n },\n numberFormatter() {\n // Returns a formatter function reference\n // The formatter always formats as 2 digits and is localized\n const nf = new Intl.NumberFormat(this.computedLocale, {\n style: 'decimal',\n minimumIntegerDigits: 2,\n minimumFractionDigits: 0,\n maximumFractionDigits: 0,\n notation: 'standard'\n })\n return nf.format\n },\n formattedTimeString() {\n const hours = this.modelHours\n const minutes = this.modelMinutes\n const seconds = this.showSeconds ? this.modelSeconds || 0 : 0\n if (this.computedHMS) {\n return this.timeFormatter(createDate(Date.UTC(0, 0, 1, hours, minutes, seconds)))\n }\n return this.labelNoTimeSelected || ' '\n }\n },\n watch: {\n value(newVal, oldVal) {\n if (newVal !== oldVal && !looseEqual(parseHMS(newVal), parseHMS(this.computedHMS))) {\n const { hours, minutes, seconds, ampm } = parseHMS(newVal)\n this.modelHours = hours\n this.modelMinutes = minutes\n this.modelSeconds = seconds\n this.modelAmpm = ampm\n }\n },\n computedHMS(newVal, oldVal) {\n if (newVal !== oldVal) {\n this.$emit('input', newVal)\n }\n },\n context(newVal, oldVal) {\n if (!looseEqual(newVal, oldVal)) {\n this.$emit('context', newVal)\n }\n },\n modelAmpm(newVal, oldVal) {\n if (newVal !== oldVal) {\n const hours = isNull(this.modelHours) ? 0 : this.modelHours\n this.$nextTick(() => {\n if (newVal === 0 && hours > 11) {\n // Switched to AM\n this.modelHours = hours - 12\n } else if (newVal === 1 && hours < 12) {\n // Switched to PM\n this.modelHours = hours + 12\n }\n })\n }\n },\n modelHours(newHours, oldHours) {\n if (newHours !== oldHours) {\n this.modelAmpm = newHours > 11 ? 1 : 0\n }\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 methods\n focus() {\n if (!this.disabled) {\n try {\n // We focus the first spin button\n this.$refs.spinners[0].focus()\n } catch {}\n }\n },\n blur() {\n if (!this.disabled) {\n try {\n if (contains(this.$el, document.activeElement)) {\n document.activeElement.blur()\n }\n } catch {}\n }\n },\n // Formatters for the spin buttons\n formatHours(hh) {\n const hourCycle = this.computedHourCycle\n // We always store 0-23, but format based on h11/h12/h23/h24 formats\n hh = this.is12Hour && hh > 12 ? hh - 12 : hh\n // Determine how 00:00 and 12:00 are shown\n hh =\n hh === 0 && hourCycle === 'h12'\n ? 12\n : hh === 0 && hourCycle === 'h24'\n ? 24\n : hh === 12 && hourCycle === 'h11'\n ? 0\n : hh\n return this.numberFormatter(hh)\n },\n formatMinutes(mm) {\n return this.numberFormatter(mm)\n },\n formatSeconds(ss) {\n return this.numberFormatter(ss)\n },\n formatAmpm(ampm) {\n // These should come from label props???\n // `ampm` should always be a value of `0` or `1`\n return ampm === 0 ? this.labelAm : ampm === 1 ? this.labelPm : ''\n },\n // Spinbutton on change handlers\n setHours(value) {\n this.modelHours = value\n },\n setMinutes(value) {\n this.modelMinutes = value\n },\n setSeconds(value) {\n this.modelSeconds = value\n },\n setAmpm(value) {\n this.modelAmpm = value\n },\n onSpinLeftRight(evt = {}) {\n const { type, keyCode } = evt\n if (!this.disabled && type === 'keydown' && (keyCode === LEFT || keyCode === RIGHT)) {\n evt.preventDefault()\n evt.stopPropagation()\n const spinners = this.$refs.spinners || []\n let index = spinners.map(cmp => !!cmp.hasFocus).indexOf(true)\n index = index + (keyCode === LEFT ? -1 : 1)\n index = index >= spinners.length ? 0 : index < 0 ? spinners.length - 1 : index\n try {\n spinners[index].focus()\n } catch {}\n }\n },\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 },\n render(h) {\n /* istanbul ignore if */\n if (this.hidden) {\n // If hidden, we just render a placeholder comment\n return h()\n }\n\n const valueId = this.valueId\n const computedAriaLabelledby = this.computedAriaLabelledby\n const spinIds = []\n\n // Helper method to render a spinbutton\n const makeSpinbutton = (handler, key, classes, spinbuttonProps = {}) => {\n const id = this.safeId(`_spinbutton_${key}_`) || null\n spinIds.push(id)\n return h(BFormSpinbutton, {\n key: key,\n ref: 'spinners',\n refInFor: true,\n class: classes,\n props: {\n id: id,\n placeholder: '--',\n vertical: true,\n required: true,\n disabled: this.disabled,\n readonly: this.readonly,\n locale: this.computedLocale,\n labelIncrement: this.labelIncrement,\n labelDecrement: this.labelDecrement,\n wrap: true,\n ariaControls: valueId,\n min: 0,\n ...spinbuttonProps\n },\n on: {\n // We use `change` event to minimize SR verbosity\n // As the spinbutton will announce each value change\n // and we don't want the formatted time to be announced\n // on each value input if repeat is happening\n change: handler\n }\n })\n }\n\n // Helper method to return a \"colon\" separator\n const makeColon = () => {\n return h(\n 'div',\n {\n staticClass: 'd-flex flex-column',\n class: {\n 'text-muted': this.disabled || this.readonly\n },\n attrs: { 'aria-hidden': 'true' }\n },\n [\n h(BIconCircleFill, { props: { shiftV: 4, scale: 0.5 } }),\n h(BIconCircleFill, { props: { shiftV: -4, scale: 0.5 } })\n ]\n )\n }\n\n let $spinners = []\n\n // Hours\n $spinners.push(\n makeSpinbutton(this.setHours, 'hours', '', {\n value: this.modelHours,\n max: 23,\n step: 1,\n formatterFn: this.formatHours,\n ariaLabel: this.labelHours\n })\n )\n\n // Spacer\n $spinners.push(makeColon())\n\n // Minutes\n $spinners.push(\n makeSpinbutton(this.setMinutes, 'minutes', '', {\n value: this.modelMinutes,\n max: 59,\n step: this.minutesStep || 1,\n formatterFn: this.formatMinutes,\n ariaLabel: this.labelMinutes\n })\n )\n\n if (this.showSeconds) {\n // Spacer\n $spinners.push(makeColon())\n // Seconds\n $spinners.push(\n makeSpinbutton(this.setSeconds, 'seconds', '', {\n value: this.modelSeconds,\n max: 59,\n step: this.secondsStep || 1,\n formatterFn: this.formatSeconds,\n ariaLabel: this.labelSeconds\n })\n )\n }\n\n // AM/PM ?\n if (this.is12Hour) {\n // TODO:\n // If locale is RTL, unshift this instead of push?\n // And switch class `ml-2` to `mr-2`\n // Note some LTR locales (i.e. zh) also place AM/PM to the left\n $spinners.push(\n makeSpinbutton(this.setAmpm, 'ampm', 'ml-2', {\n value: this.modelAmpm,\n max: 1,\n formatterFn: this.formatAmpm,\n ariaLabel: this.labelAmpm,\n // We set `required` as `false`, since this always has a value\n required: false\n })\n )\n }\n\n // Assemble spinners\n $spinners = h(\n 'div',\n {\n staticClass: 'd-flex align-items-center justify-content-center mx-auto',\n attrs: {\n role: 'group',\n tabindex: this.disabled || this.readonly ? null : '-1',\n 'aria-labelledby': computedAriaLabelledby\n },\n on: {\n keydown: this.onSpinLeftRight,\n click: evt => /* istanbul ignore next */ {\n if (evt.target === evt.currentTarget) {\n this.focus()\n }\n }\n }\n },\n $spinners\n )\n\n // Selected type display\n const $value = h(\n 'output',\n {\n staticClass: 'border rounded d-block p-1 small text-center',\n class: {\n disabled: this.disabled || this.readonly\n },\n attrs: {\n id: valueId,\n role: 'status',\n for: spinIds.filter(identity).join(' ') || null,\n tabindex: this.disabled ? null : '-1',\n 'aria-live': this.isLive ? 'polite' : 'off',\n 'aria-atomic': 'true'\n },\n on: {\n // Transfer focus/click to focus hours spinner\n click: this.focus,\n focus: this.focus\n }\n },\n [\n h('bdi', this.formattedTimeString),\n this.computedHMS ? h('span', { staticClass: 'sr-only' }, ` (${this.labelSelected}) `) : ''\n ]\n )\n const $header = h(\n 'header',\n { class: { 'sr-only': this.hideHeader, 'mb-2': !this.hideHeader } },\n [$value]\n )\n\n // Optional bottom slot\n let $slot = this.normalizeSlot('default')\n $slot = $slot ? h('footer', { staticClass: 'mt-2' }, $slot) : h()\n\n return h(\n 'div',\n {\n staticClass: 'b-time d-inline-flex flex-column text-center',\n attrs: {\n role: 'group',\n lang: this.computedLang || null,\n 'aria-labelledby': computedAriaLabelledby || null,\n 'aria-disabled': this.disabled ? 'true' : null,\n 'aria-readonly': this.readonly && !this.disabled ? 'true' : null\n }\n },\n [$header, $spinners, $slot]\n )\n }\n})\n","import Vue from '../../utils/vue'\nimport { BVFormBtnLabelControl, dropdownProps } from '../../utils/bv-form-btn-label-control'\nimport { getComponentConfig } from '../../utils/config'\nimport { isUndefinedOrNull } from '../../utils/inspect'\nimport idMixin from '../../mixins/id'\nimport { BButton } from '../button/button'\nimport { BTime } from '../time/time'\nimport { BIconClock, BIconClockFill } from '../../icons/icons'\n\nconst NAME = 'BFormTimepicker'\n\n// Fallback to BTime/BFormSpinbutton prop if no value found\nconst getConfigFallback = prop => {\n return (\n getComponentConfig(NAME, prop) ||\n getComponentConfig('BTime', prop) ||\n getComponentConfig('BFormSpinbutton', prop)\n )\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,\n default: ''\n },\n resetValue: {\n type: String,\n default: ''\n },\n placeholder: {\n type: String,\n // Defaults to `labelNoTime` from BTime context\n default: null\n },\n size: {\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 // 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 hour12: {\n // Tri-state prop: `true` => 12 hour, `false` => 24 hour, `null` => auto\n type: Boolean,\n default: null\n },\n locale: {\n type: [String, Array],\n default: null\n },\n showSeconds: {\n type: Boolean,\n default: false\n },\n hideHeader: {\n type: Boolean,\n default: false\n },\n secondsStep: {\n type: [Number, String],\n default: 1\n },\n minutesStep: {\n type: [Number, String],\n default: 1\n },\n buttonOnly: {\n type: Boolean,\n default: false\n },\n buttonVariant: {\n // Applicable in button only mode\n type: String,\n default: 'secondary'\n },\n nowButton: {\n type: Boolean,\n default: false\n },\n labelNowButton: {\n type: String,\n default: () => getComponentConfig(NAME, 'labelNowButton')\n },\n nowButtonVariant: {\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 noCloseButton: {\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\n // These fallback to BTime values\n labelSelected: {\n type: String,\n default: () => getConfigFallback('labelSelected')\n },\n labelNoTimeSelected: {\n type: String,\n default: () => getConfigFallback('labelNoTimeSelected')\n },\n labelHours: {\n type: String,\n default: () => getConfigFallback('labelHours')\n },\n labelMinutes: {\n type: String,\n default: () => getConfigFallback('labelMinutes')\n },\n labelSeconds: {\n type: String,\n default: () => getConfigFallback('labelSeconds')\n },\n labelAmpm: {\n type: String,\n default: () => getConfigFallback('labelAmpm')\n },\n labelAm: {\n type: String,\n default: () => getConfigFallback('labelAm')\n },\n labelPm: {\n type: String,\n default: () => getConfigFallback('labelPm')\n },\n // These pick BTime or BFormSpinbutton global config if no BFormTimepicker global config\n labelIncrement: {\n type: String,\n default: () => getConfigFallback('labelIncrement')\n },\n labelDecrement: {\n type: String,\n default: () => getConfigFallback('labelDecrement')\n },\n // extra dropdown stuff\n menuClass: {\n type: [String, Array, Object],\n default: null\n },\n ...dropdownProps\n }\n}\n\n// --- BFormDate component ---\n\n// @vue/component\nexport const BFormTimepicker = /*#__PURE__*/ Vue.extend({\n name: NAME,\n // The mixins order determines the order of appearance in the props reference section\n mixins: [idMixin, propsMixin],\n model: {\n prop: 'value',\n event: 'input'\n },\n data() {\n return {\n // We always use `HH:mm:ss` value internally\n localHMS: this.value || '',\n // Context data from BTime\n localLocale: null,\n isRTL: false,\n formattedValue: '',\n // If the menu is opened\n isVisible: false\n }\n },\n computed: {\n computedLang() {\n return (this.localLocale || '').replace(/-u-.*$/i, '') || null\n },\n timeProps() {\n // Props we pass to BTime\n // Use self for better minification, as `this` won't\n // minimize and we reference it many times below\n const self = this\n return {\n hidden: !self.isVisible,\n value: self.localHMS,\n // Passthrough props\n readonly: self.readonly,\n disabled: self.disabled,\n locale: self.locale,\n hour12: self.hour12,\n hideHeader: self.hideHeader,\n showSeconds: self.showSeconds,\n secondsStep: self.secondsStep,\n minutesStep: self.minutesStep,\n labelNoTimeSelected: self.labelNoTimeSelected,\n labelSelected: self.labelSelected,\n labelHours: self.labelHours,\n labelMinutes: self.labelMinutes,\n labelSeconds: self.labelSeconds,\n labelAmpm: self.labelAmpm,\n labelAm: self.labelAm,\n labelPm: self.labelPm,\n labelIncrement: self.labelIncrement,\n labelDecrement: self.labelDecrement\n }\n }\n },\n watch: {\n value(newVal) {\n this.localHMS = newVal || ''\n },\n localHMS(newVal) {\n // We only update hte v-model value when the timepicker\n // is open, to prevent cursor jumps when bound to a\n // text input in button only mode\n if (this.isVisible) {\n this.$emit('input', newVal || '')\n }\n }\n },\n methods: {\n // Public methods\n focus() {\n if (!this.disabled) {\n try {\n this.$refs.control.focus()\n } catch {}\n }\n },\n blur() {\n if (!this.disabled) {\n try {\n this.$refs.control.blur()\n } catch {}\n }\n },\n // Private methods\n setAndClose(value) {\n this.localHMS = value\n this.$nextTick(() => {\n this.$refs.control.hide(true)\n })\n },\n onInput(hms) {\n if (this.localHMS !== hms) {\n this.localHMS = hms\n }\n },\n onContext(ctx) {\n const { isRTL, locale, value, formatted } = ctx\n this.isRTL = isRTL\n this.localLocale = locale\n this.formattedValue = formatted\n this.localHMS = value || ''\n // Re-emit the context event\n this.$emit('context', ctx)\n },\n onNowButton() {\n const now = new Date()\n const hours = now.getHours()\n const minutes = now.getMinutes()\n const seconds = this.showSeconds ? now.getSeconds() : 0\n const value = [hours, minutes, seconds].map(v => `00${v || ''}`.slice(-2)).join(':')\n this.setAndClose(value)\n },\n onResetButton() {\n this.setAndClose(this.resetValue)\n },\n onCloseButton() {\n this.$refs.control.hide(true)\n },\n onShow() {\n this.isVisible = true\n },\n onShown() {\n this.$nextTick(() => {\n try {\n this.$refs.time.focus()\n } catch {}\n })\n },\n onHidden() {\n this.isVisible = false\n },\n // Render function helpers\n defaultButtonFn({ isHovered, hasFocus }) {\n return this.$createElement(isHovered || hasFocus ? BIconClockFill : BIconClock, {\n props: { scale: 1.25 },\n attrs: { 'aria-hidden': 'true' }\n })\n }\n },\n render(h) {\n const localHMS = this.localHMS\n const disabled = this.disabled\n const readonly = this.readonly\n const placeholder = isUndefinedOrNull(this.placeholder)\n ? this.labelNoTimeSelected\n : this.placeholder\n\n // Footer buttons\n let $footer = []\n\n if (this.nowButton) {\n const label = this.labelNowButton\n $footer.push(\n h(\n BButton,\n {\n staticClass: 'mx-1',\n props: { size: 'sm', disabled: disabled || readonly, variant: this.nowButtonVariant },\n attrs: { 'aria-label': label || null },\n on: { click: this.onNowButton }\n },\n label\n )\n )\n }\n\n if (this.resetButton) {\n const label = this.labelResetButton\n $footer.push(\n h(\n BButton,\n {\n staticClass: 'mx-1',\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.noCloseButton) {\n const label = this.labelCloseButton\n $footer.push(\n h(\n BButton,\n {\n staticClass: 'mx-1',\n props: { size: 'sm', disabled, variant: this.closeButtonVariant },\n attrs: { 'aria-label': label || null },\n on: { click: this.onCloseButton }\n },\n label\n )\n )\n }\n\n if ($footer.length > 0) {\n $footer = [\n h(\n 'div',\n {\n staticClass: 'b-form-date-controls d-flex flex-wrap mx-n1',\n class: {\n 'justify-content-between': $footer.length > 1,\n 'justify-content-end': $footer.length < 2\n }\n },\n $footer\n )\n ]\n }\n\n const $time = h(\n BTime,\n {\n ref: 'time',\n staticClass: 'b-form-time-control',\n props: this.timeProps,\n on: {\n input: this.onInput,\n context: this.onContext\n }\n },\n $footer\n )\n\n return h(\n BVFormBtnLabelControl,\n {\n ref: 'control',\n staticClass: 'b-form-timepicker',\n props: {\n // This adds unneeded props, but reduces code size:\n ...this.$props,\n // Overridden / computed props\n id: this.safeId(),\n rtl: this.isRTL,\n lang: this.computedLang,\n value: localHMS || '',\n formattedValue: localHMS ? this.formattedValue : '',\n placeholder: placeholder || ''\n },\n on: {\n show: this.onShow,\n shown: this.onShown,\n hidden: this.onHidden\n },\n scopedSlots: {\n 'button-content': this.$scopedSlots['button-content'] || this.defaultButtonFn\n }\n },\n [$time]\n )\n }\n})\n","import { BFormTimepicker } from './form-timepicker'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst FormTimepickerPlugin = /*#__PURE__*/ pluginFactory({\n components: {\n BFormTimepicker,\n BTimepicker: BFormTimepicker\n }\n})\n\nexport { FormTimepickerPlugin, BFormTimepicker }\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","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 Vue from '../../utils/vue'\r\nimport { BVTransition } from '../../utils/bv-transition'\r\nimport { toFloat } from '../../utils/number'\r\nimport normalizeSlotMixin from '../../mixins/normalize-slot'\r\nimport { BSpinner } from '../spinner/spinner'\r\n\r\nconst positionCover = { top: 0, left: 0, bottom: 0, right: 0 }\r\n\r\nexport const BOverlay = /*#__PURE__*/ Vue.extend({\r\n name: 'BOverlay',\r\n mixins: [normalizeSlotMixin],\r\n props: {\r\n show: {\r\n type: Boolean,\r\n default: false\r\n },\r\n variant: {\r\n type: String,\r\n default: 'light'\r\n },\r\n bgColor: {\r\n // Alternative to variant, allowing a specific\r\n // CSS color to be applied to the overlay\r\n type: String,\r\n default: null\r\n },\r\n opacity: {\r\n type: [Number, String],\r\n default: 0.85,\r\n validator(value) {\r\n const number = toFloat(value)\r\n return number >= 0 && number <= 1\r\n }\r\n },\r\n blur: {\r\n type: String,\r\n default: '2px'\r\n },\r\n rounded: {\r\n type: [Boolean, String],\r\n default: false\r\n },\r\n noCenter: {\r\n type: Boolean,\r\n default: false\r\n },\r\n noFade: {\r\n type: Boolean,\r\n default: false\r\n },\r\n spinnerType: {\r\n type: String,\r\n default: 'border'\r\n },\r\n spinnerVariant: {\r\n type: String,\r\n default: null\r\n },\r\n spinnerSmall: {\r\n type: Boolean,\r\n default: false\r\n },\r\n overlayTag: {\r\n type: String,\r\n default: 'div'\r\n },\r\n wrapTag: {\r\n type: String,\r\n default: 'div'\r\n },\r\n noWrap: {\r\n // If set, does not render the default slot\r\n // and switches to absolute positioning\r\n type: Boolean,\r\n default: false\r\n },\r\n fixed: {\r\n type: Boolean,\r\n default: false\r\n },\r\n zIndex: {\r\n type: [Number, String],\r\n default: 10\r\n }\r\n },\r\n computed: {\r\n computedRounded() {\r\n const rounded = this.rounded\r\n return rounded === true || rounded === '' ? 'rounded' : !rounded ? '' : `rounded-${rounded}`\r\n },\r\n computedVariant() {\r\n return this.variant && !this.bgColor ? `bg-${this.variant}` : ''\r\n },\r\n overlayScope() {\r\n return {\r\n spinnerType: this.spinnerType,\r\n spinnerVariant: this.spinnerVariant || null,\r\n spinnerSmall: this.spinnerSmall\r\n }\r\n }\r\n },\r\n methods: {\r\n defaultOverlayFn({ spinnerType, spinnerVariant, spinnerSmall }) {\r\n return this.$createElement(BSpinner, {\r\n props: {\r\n type: spinnerType,\r\n variant: spinnerVariant,\r\n small: spinnerSmall\r\n }\r\n })\r\n }\r\n },\r\n render(h) {\r\n let $overlay = h()\r\n if (this.show) {\r\n const scope = this.overlayScope\r\n // Overlay backdrop\r\n const $background = h('div', {\r\n staticClass: 'position-absolute',\r\n class: [this.computedVariant, this.computedRounded],\r\n style: {\r\n ...positionCover,\r\n opacity: this.opacity,\r\n backgroundColor: this.bgColor || null,\r\n backdropFilter: this.blur ? `blur(${this.blur})` : null\r\n }\r\n })\r\n // Overlay content\r\n const $content = h(\r\n 'div',\r\n {\r\n staticClass: 'position-absolute',\r\n style: this.noCenter\r\n ? { ...positionCover }\r\n : { top: '50%', left: '50%', transform: 'translateX(-50%) translateY(-50%)' }\r\n },\r\n [this.normalizeSlot('overlay', scope) || this.defaultOverlayFn(scope)]\r\n )\r\n // Overlay positioning\r\n $overlay = h(\r\n this.overlayTag,\r\n {\r\n key: 'overlay',\r\n staticClass: 'b-overlay',\r\n class: {\r\n 'position-absolute': !this.noWrap || (this.noWrap && !this.fixed),\r\n 'position-fixed': this.noWrap && this.fixed\r\n },\r\n style: { ...positionCover, zIndex: this.zIndex || 10 }\r\n },\r\n [$background, $content]\r\n )\r\n }\r\n // Wrap in a fade transition\r\n $overlay = h(\r\n BVTransition,\r\n {\r\n props: {\r\n noFade: this.noFade,\r\n appear: true\r\n },\r\n on: {\r\n 'after-enter': () => this.$emit('shown'),\r\n 'after-leave': () => this.$emit('hidden')\r\n }\r\n },\r\n [$overlay]\r\n )\r\n\r\n if (this.noWrap) {\r\n return $overlay\r\n }\r\n\r\n return h(\r\n this.wrapTag,\r\n {\r\n staticClass: 'b-overlay-wrap position-relative',\r\n attrs: { 'aria-busy': this.show ? 'true' : null }\r\n },\r\n this.noWrap ? [$overlay] : [this.normalizeSlot('default'), $overlay]\r\n )\r\n }\r\n})\r\n","import { BOverlay } from './overlay'\r\nimport { pluginFactory } from '../../utils/plugins'\r\n\r\nconst OverlayPlugin = /*#__PURE__*/ pluginFactory({\r\n components: { BOverlay }\r\n})\r\n\r\nexport { OverlayPlugin, BOverlay }\r\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 /* istanbul ignore if */\n if (this.isNav) {\n // We disable left/right keyboard navigation in `<b-pagination-nav>`\n return\n }\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('button.page-link, 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 // Used to control what type of aria attributes are rendered and wrapper\n const isNav = this.isNav\n\n // Helper function and flag\n const isActivePage = pageNumber => pageNumber === 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 pageNumber = linkTo < 1 ? 1 : linkTo > numberOfPages ? numberOfPages : linkTo\n const scope = { disabled: isDisabled, page: pageNumber, index: pageNumber - 1 }\n const $btnContent = this.normalizeSlot(btnSlot, scope) || toString(btnText) || h()\n const $inner = h(\n isDisabled ? 'span' : isNav ? BLink : 'button',\n {\n staticClass: 'page-link',\n class: { 'flex-grow-1': !isNav && !isDisabled && fill },\n props: isDisabled || !isNav ? {} : this.linkProps(linkTo),\n attrs: {\n role: isNav ? null : 'menuitem',\n type: isNav || isDisabled ? null : 'button',\n tabindex: isDisabled || isNav ? 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: [\n {\n disabled: isDisabled,\n 'flex-fill': fill,\n 'd-flex': fill && !isNav && !isDisabled\n },\n btnClass\n ],\n attrs: {\n role: isNav ? null : '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: isNav ? null : 'menuitemradio',\n type: isNav || disabled ? null : 'button',\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': isNav ? null : active ? 'true' : 'false',\n 'aria-current': isNav && active ? 'page' : null,\n 'aria-posinset': page.number,\n 'aria-setsize': numberOfPages,\n // ARIA \"roving tabindex\" method (except in isNav mode)\n tabindex: isNav ? null : 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' : isNav ? BLink : 'button',\n {\n props: disabled || !isNav ? {} : this.linkProps(page.number),\n staticClass: 'page-link',\n class: { 'flex-grow-1': !isNav && !disabled && fill },\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: [\n {\n disabled,\n active,\n 'flex-fill': fill,\n 'd-flex': fill && !isNav && !disabled\n },\n page.classes,\n this.pageClass\n ],\n attrs: { role: isNav ? null : '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: isNav ? null : 'menubar',\n 'aria-disabled': disabled ? 'true' : 'false',\n 'aria-label': isNav ? null : this.ariaLabel || null\n },\n // We disable keyboard left/right nav when `<b-pagination-nav>`\n on: isNav ? {} : { keydown: this.handleKeyNav }\n },\n buttons\n )\n\n // If we are `<b-pagination-nav>`, wrap in `<nav>` wrapper\n if (isNav) {\n return h(\n 'nav',\n {\n attrs: {\n 'aria-disabled': disabled ? 'true' : null,\n 'aria-hidden': disabled ? 'true' : 'false',\n 'aria-label': isNav ? this.ariaLabel || null : null\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 // No props, since we render a plain button\n /* istanbul ignore next */\n return {}\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 { 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 ...this.tab.titleLinkAttributes,\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 titleLinkAttributes: {\n type: 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","import { BTime } from './time'\nimport { pluginFactory } from '../../utils/plugins'\n\nconst TimePlugin = /*#__PURE__*/ pluginFactory({\n components: { BTime }\n})\n\nexport { TimePlugin, BTime }\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 { FormTimepickerPlugin } from './form-timepicker'\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 { OverlayPlugin } from './overlay'\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 { TimePlugin } from './time'\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 FormTimepickerPlugin,\n ImagePlugin,\n InputGroupPlugin,\n JumbotronPlugin,\n LayoutPlugin,\n LinkPlugin,\n ListGroupPlugin,\n MediaPlugin,\n ModalPlugin,\n NavPlugin,\n NavbarPlugin,\n OverlayPlugin,\n PaginationPlugin,\n PaginationNavPlugin,\n PopoverPlugin,\n ProgressPlugin,\n SpinnerPlugin,\n TablePlugin,\n TabsPlugin,\n TimePlugin,\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/form-timepicker'\nexport { FormTimepickerPlugin } from './components/form-timepicker'\nexport { BFormTimepicker } from './components/form-timepicker/form-timepicker'\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/overlay'\nexport { OverlayPlugin } from './components/overlay'\nexport { BOverlay } from './components/overlay/overlay'\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/time'\nexport { TimePlugin } from './components/time'\nexport { BTime } from './components/time/time'\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","BFormTag","removeLabel","BFormTags","addButtonText","addButtonVariant","duplicateTagText","invalidTagText","tagRemoveLabel","tagRemovedLabel","tagVariant","BFormText","BFormTimepicker","labelNoTimeSelected","labelHours","labelMinutes","labelSeconds","labelAmpm","labelAm","labelPm","labelDecrement","labelIncrement","labelNowButton","BFormSpinbutton","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","BTime","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","constrainDate","min","max","RTL_LANGS","RX_STRIP_MODS","isLocaleRTL","locale1","locale2","localId_","safeId","suffix","commonIconProps","fontScale","scale","rotate","flipH","flipV","shiftH","shiftV","animation","baseAttrs","viewBox","focusable","alt","BVIconBase","stacked","Math","hasScale","hasTransforms","hasShift","transforms","isStacked","hasContent","$inner","transform","fontSize","xmlns","fill","makeIcon","iconName","iconNameClass","svgContent","BIconBlank","BIconCalendar","BIconCalendarFill","BIconChevronDown","BIconChevronLeft","BIconCircleFill","BIconClock","BIconClockFill","BIconDash","BIconPlus","BIconstack","idMixin","valueAsDate","initialDate","readonly","dateDisabledFn","Function","startWeekday","direction","todayVariant","noHighlightToday","dateInfoFn","hideHeader","hidden","ariaControls","roleDescription","dateFormatOptions","weekday","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","hour","minute","second","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","emitSelected","setGridFocusFlag","onKeydownWrapper","altKey","checkDate","constrainedToday","onKeydownGrid","onClickDay","clickedDate","gotoPrevYear","gotoPrevMonth","gotoCurrentMonth","gotoNextMonth","gotoNextYear","onHeaderClick","todayYMD","highlightToday","idValue","idWidget","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","commonProps","dropup","dropright","dropleft","noFlip","popperOpts","clickOutMixin","focusInMixin","bvDropdown","bvNavbar","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","dropdownProps","BVFormBtnLabelControl","BHover","formattedValue","buttonOnly","isHovered","idButton","idLabel","idMenu","idWrapper","computedDir","setFocus","handleHover","hovered","stopEvent","btnScope","opened","$button","$hidden","$menu","$label","getConfigFallback","propsMixin","resetValue","noCloseOnSelect","calendarWidth","todayButton","todayButtonVariant","resetButton","resetButtonVariant","closeButton","closeButtonVariant","dark","localYMD","localLocale","calendarYM","calendarProps","self","computedLang","computedResetValue","control","setAndClose","onSelected","onInput","onContext","ctx","onTodayButton","onResetButton","onCloseButton","onShow","onShown","onHidden","defaultButtonFn","$createElement","$footer","$calendar","shown","FormDatepickerPlugin","BDatepicker","custom","VALUE_EMPTY_DEPRECATED_MSG","isValidValue","v","formCustomMixin","accept","multiple","directory","noTraverse","noDrop","fileNameFormatter","selectedFile","dragging","selectLabel","files","f","file","reset","focusHandler","$input","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","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","computedRTL","defaultFormatter","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","notation","clearRepeat","$_autoDelayTimer","$_autoRepeatTimer","$_keyIsDown","spinner","emitChange","stepValue","multiplier","round","onFocusBlur","stepUp","stepDown","ctrlKey","metaKey","resetTimers","handleStepRepeat","onKeyup","stepper","count","onMouseup","setMouseup","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","$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","NUMERIC","RE_TIME","padLeftZeros","num","parseHMS","hms","hh","mm","ss","hours","minutes","seconds","ampm","formatHMS","requireSeconds","showSeconds","hour12","secondsStep","minutesStep","modelHours","modelMinutes","modelSeconds","modelAmpm","computedHMS","resolved","hourCycle","computedHourCycle","is12Hour","formatted","formattedTimeString","valueId","computedAriaLabelledby","timeFormatter","timeZone","numberFormatter","UTC","newHours","oldHours","spinners","formatHours","formatMinutes","formatSeconds","formatAmpm","setHours","setMinutes","setSeconds","setAmpm","onSpinLeftRight","cmp","spinIds","makeSpinbutton","spinbuttonProps","refInFor","makeColon","$spinners","$value","nowButton","nowButtonVariant","noCloseButton","localHMS","timeProps","onNowButton","now","getHours","getMinutes","getSeconds","time","$time","FormTimepickerPlugin","BTimepicker","ImagePlugin","BInputGroupText","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","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","positionCover","BOverlay","bgColor","opacity","noCenter","spinnerType","spinnerVariant","spinnerSmall","overlayTag","wrapTag","computedRounded","overlayScope","defaultOverlayFn","$overlay","$background","backgroundColor","backdropFilter","OverlayPlugin","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","pageNumber","noCurrentPage","makeEndBtn","linkTo","btnSlot","btnText","btnClass","pageTest","$btnContent","makeEllipsis","isLast","makePageButton","btnContent","makePage","$firstPageBtn","$lastPageBtn","$pagination","DEFAULT_PER_PAGE","DEFAULT_TOTAL_ROWS","perPage","totalRows","sanitizePerPage","sanitizeTotalRows","paginationMixin","pageSizeNumberOfPages","pageNum","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","onHide","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","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","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","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","titleLinkAttributes","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","TimePlugin","_typeof","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","DefaultTransition","doRender","dead","staticName","Wormhole","hasTarget","$toaster","$target","PortalTarget","slim","MIN_DURATION","isStatus","appendToast","noAutoHide","solid","isHiding","timer","dismissStarted","resumeDismiss","bToastClasses","computedDuration","computedToaster","transitionHandlers","ensureToaster","clearDismissTimer","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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EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,MAAM,EAAE;EACV;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;EACA,IAAI,EAAE,EAAEmW,QAAM;EACd;EACA;EACA;EACA,IAAI,MAAM,EAAE,CAAC;EACb,GAAG;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;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,QAAQ,GAAG;EACf;EACA;EACA;EACA;EACA,EAAE,SAAS,EAAE,QAAQ;AACrB;EACA;EACA;EACA;EACA;EACA,EAAE,aAAa,EAAE,KAAK;AACtB;EACA;EACA;EACA;EACA;EACA,EAAE,aAAa,EAAE,IAAI;AACrB;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,eAAe,EAAE,KAAK;AACxB;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,QAAQ,EAAE,SAAS,QAAQ,GAAG,EAAE;AAClC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,QAAQ,EAAE,SAAS,QAAQ,GAAG,EAAE;AAClC;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,SAAS,EAAE,SAAS;EACtB,CAAC,CAAC;AACF;EACA;EACA;EACA;EACA;AACA;EACA;EACA;EACA;EACA;AACA;EACA;EACA;EACA,IAAI,MAAM,GAAG,YAAY;EACzB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,SAAS,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE;EACrC,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC;AACrB;EACA,IAAI,IAAI,OAAO,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;EACzF,IAAI,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACjC;EACA,IAAI,IAAI,CAAC,cAAc,GAAG,YAAY;EACtC,MAAM,OAAO,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;EACjD,KAAK,CAAC;AACN;EAC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"}