{"version":3,"sources":["webpack:///./node_modules/core-js/modules/es.string.split.js","webpack:///./node_modules/core-js/internals/is-regexp.js","webpack:///./node_modules/bootstrap-vue/esm/utils/css-escape.js","webpack:///./node_modules/bootstrap-vue/esm/components/layout/form-row.js","webpack:///./node_modules/bootstrap-vue/esm/components/form/form-text.js","webpack:///./node_modules/bootstrap-vue/esm/components/form/form-invalid-feedback.js","webpack:///./node_modules/bootstrap-vue/esm/components/form/form-valid-feedback.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-group/form-group.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-size.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-state.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-control.js"],"names":["fixRegExpWellKnownSymbolLogic","isRegExp","anObject","requireObjectCoercible","speciesConstructor","advanceStringIndex","toLength","callRegExpExec","regexpExec","fails","arrayPush","push","min","Math","MAX_UINT32","SUPPORTS_Y","RegExp","SPLIT","nativeSplit","maybeCallNative","internalSplit","split","length","separator","limit","string","String","this","lim","undefined","call","match","lastIndex","lastLength","output","flags","ignoreCase","multiline","unicode","sticky","lastLastIndex","separatorCopy","source","slice","index","apply","test","O","splitter","regexp","res","done","value","rx","S","C","unicodeMatching","p","q","A","e","z","i","isObject","classof","wellKnownSymbol","MATCH","module","exports","it","escapeChar","firstCharCode","charCodeAt","reduce","result","char","charCode","concat","toString","tag","BFormRow","extend","name","functional","props","render","h","_ref","data","children","staticClass","_defineProperty","obj","key","Object","defineProperty","enumerable","configurable","writable","id","inline","textVariant","BFormText","class","attrs","ariaLive","forceShow","role","state","tooltip","BFormInvalidFeedback","show","BFormValidFeedback","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","_objectSpread","target","arguments","forEach","getOwnPropertyDescriptors","defineProperties","INPUTS","INPUT_SELECTOR","map","v","join","LEGEND_INTERACTIVE_ELEMENTS","breakpoint","description","disabled","feedbackAriaLive","invalidFeedback","label","labelClass","labelFor","labelSize","labelSrOnly","validFeedback","validated","BFormGroup","mixins","ariaDescribedby","computed","contentColProps","getColProps","$props","labelAlignClasses","getAlignClasses","labelColProps","isHorizontal","watch","newValue","oldValue","updateAriaDescribedby","mounted","_this","$nextTick","methods","prefix","propValue","identity","$input","$refs","content","attr","newIds","oldIds","ids","array","indexOf","trim","onLegendClick","event","tagName","inputs","computedState","normalizeSlot","safeId","isFieldset","$label","labelContent","labelId","labelTag","for","on","click","tabindex","$invalidFeedback","invalidFeedbackContent","invalidFeedbackId","$validFeedback","validFeedbackContent","validFeedbackId","$description","descriptionContent","descriptionId","$content","ref","stateClass","computedAriaInvalid","size","formSizeMixin","sizeFormClass","formStateMixin","ariaInvalid","SELECTOR","autofocus","form","required","formControlMixin","handleAutofocus","activated","el","$el"],"mappings":"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","file":"js/chunk-b5e869f4.6e1aecde.js","sourcesContent":["'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar isRegExp = require('../internals/is-regexp');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar speciesConstructor = require('../internals/species-constructor');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar toLength = require('../internals/to-length');\nvar callRegExpExec = require('../internals/regexp-exec-abstract');\nvar regexpExec = require('../internals/regexp-exec');\nvar fails = require('../internals/fails');\n\nvar arrayPush = [].push;\nvar min = Math.min;\nvar MAX_UINT32 = 0xFFFFFFFF;\n\n// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError\nvar SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); });\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'.split(/(b)*/)[1] == 'c' ||\n 'test'.split(/(?:)/, -1).length != 4 ||\n 'ab'.split(/(?:ab)*/).length != 2 ||\n '.'.split(/(.?)(.?)/).length != 4 ||\n '.'.split(/()()/).length > 1 ||\n ''.split(/.?/).length\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = String(requireObjectCoercible(this));\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (separator === undefined) return [string];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) {\n return nativeSplit.call(string, separator, lim);\n }\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy.lastIndex;\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));\n lastLength = match[0].length;\n lastLastIndex = lastIndex;\n if (output.length >= lim) break;\n }\n if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop\n }\n if (lastLastIndex === string.length) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output.length > lim ? output.slice(0, lim) : output;\n };\n // Chakra, V8\n } else if ('0'.split(undefined, 0).length) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);\n };\n } else internalSplit = nativeSplit;\n\n return [\n // `String.prototype.split` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = requireObjectCoercible(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (SUPPORTS_Y ? 'y' : 'g');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = SUPPORTS_Y ? q : 0;\n var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n var e;\n if (\n z === null ||\n (e = min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n}, !SUPPORTS_Y);\n","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.github.io/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","import { toString } from './string';\n\nvar escapeChar = function escapeChar(value) {\n return '\\\\' + value;\n}; // The `cssEscape()` util is based on this `CSS.escape()` polyfill:\n// https://github.com/mathiasbynens/CSS.escape\n\n\nexport var cssEscape = function cssEscape(value) {\n value = toString(value);\n var length = value.length;\n var firstCharCode = value.charCodeAt(0);\n return value.split('').reduce(function (result, char, index) {\n var charCode = value.charCodeAt(index); // If the character is NULL (U+0000), use (U+FFFD) as replacement\n\n if (charCode === 0x0000) {\n return result + \"\\uFFFD\";\n } // If the character ...\n\n\n if ( // ... is U+007F OR\n charCode === 0x007f || // ... is in the range [\\1-\\1F] (U+0001 to U+001F) OR ...\n charCode >= 0x0001 && charCode <= 0x001f || // ... is the first character and is in the range [0-9] (U+0030 to U+0039) OR ...\n index === 0 && charCode >= 0x0030 && charCode <= 0x0039 || // ... is the second character and is in the range [0-9] (U+0030 to U+0039)\n // and the first character is a `-` (U+002D) ...\n index === 1 && charCode >= 0x0030 && charCode <= 0x0039 && firstCharCode === 0x002d) {\n // ... https://drafts.csswg.org/cssom/#escape-a-character-as-code-point\n return result + escapeChar(\"\".concat(charCode.toString(16), \" \"));\n } // If the character ...\n\n\n if ( // ... is the first character AND ...\n index === 0 && // ... is a `-` (U+002D) AND ...\n charCode === 0x002d && // ... there is no second character ...\n length === 1) {\n // ... use the escaped character\n return result + escapeChar(char);\n } // If the character ...\n\n\n if ( // ... is greater than or equal to U+0080 OR ...\n charCode >= 0x0080 || // ... is `-` (U+002D) OR ...\n charCode === 0x002d || // ... is `_` (U+005F) OR ...\n charCode === 0x005f || // ... is in the range [0-9] (U+0030 to U+0039) OR ...\n charCode >= 0x0030 && charCode <= 0x0039 || // ... is in the range [A-Z] (U+0041 to U+005A) OR ...\n charCode >= 0x0041 && charCode <= 0x005a || // ... is in the range [a-z] (U+0061 to U+007A) ...\n charCode >= 0x0061 && charCode <= 0x007a) {\n // ... use the character itself\n return result + char;\n } // Otherwise use the escaped character\n // See: https://drafts.csswg.org/cssom/#escape-a-character\n\n\n return result + escapeChar(char);\n }, '');\n};","import { Vue, mergeData } from '../../vue';\nimport { NAME_FORM_ROW } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n tag: makeProp(PROP_TYPE_STRING, 'div')\n}, NAME_FORM_ROW); // --- Main component ---\n// @vue/component\n\nexport var BFormRow = /*#__PURE__*/Vue.extend({\n name: NAME_FORM_ROW,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.tag, mergeData(data, {\n staticClass: 'form-row'\n }), children);\n }\n});","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_FORM_TEXT } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n id: makeProp(PROP_TYPE_STRING),\n inline: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'small'),\n textVariant: makeProp(PROP_TYPE_STRING, 'muted')\n}, NAME_FORM_TEXT); // --- Main component ---\n// @vue/component\n\nexport var BFormText = /*#__PURE__*/Vue.extend({\n name: NAME_FORM_TEXT,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.tag, mergeData(data, {\n class: _defineProperty({\n 'form-text': !props.inline\n }, \"text-\".concat(props.textVariant), props.textVariant),\n attrs: {\n id: props.id\n }\n }), children);\n }\n});","import { Vue, mergeData } from '../../vue';\nimport { NAME_FORM_INVALID_FEEDBACK } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n ariaLive: makeProp(PROP_TYPE_STRING),\n forceShow: makeProp(PROP_TYPE_BOOLEAN, false),\n id: makeProp(PROP_TYPE_STRING),\n role: makeProp(PROP_TYPE_STRING),\n // Tri-state prop: `true`, `false`, or `null`\n state: makeProp(PROP_TYPE_BOOLEAN, null),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n tooltip: makeProp(PROP_TYPE_BOOLEAN, false)\n}, NAME_FORM_INVALID_FEEDBACK); // --- Main component ---\n// @vue/component\n\nexport var BFormInvalidFeedback = /*#__PURE__*/Vue.extend({\n name: NAME_FORM_INVALID_FEEDBACK,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var tooltip = props.tooltip,\n ariaLive = props.ariaLive;\n var show = props.forceShow === true || props.state === false;\n return h(props.tag, mergeData(data, {\n class: {\n 'd-block': show,\n 'invalid-feedback': !tooltip,\n 'invalid-tooltip': tooltip\n },\n attrs: {\n id: props.id || null,\n role: props.role || null,\n 'aria-live': ariaLive || null,\n 'aria-atomic': ariaLive ? 'true' : null\n }\n }), children);\n }\n});","import { Vue, mergeData } from '../../vue';\nimport { NAME_FORM_VALID_FEEDBACK } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n ariaLive: makeProp(PROP_TYPE_STRING),\n forceShow: makeProp(PROP_TYPE_BOOLEAN, false),\n id: makeProp(PROP_TYPE_STRING),\n role: makeProp(PROP_TYPE_STRING),\n // Tri-state prop: `true`, `false`, or `null`\n state: makeProp(PROP_TYPE_BOOLEAN, null),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n tooltip: makeProp(PROP_TYPE_BOOLEAN, false)\n}, NAME_FORM_VALID_FEEDBACK); // --- Main component ---\n// @vue/component\n\nexport var BFormValidFeedback = /*#__PURE__*/Vue.extend({\n name: NAME_FORM_VALID_FEEDBACK,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var tooltip = props.tooltip,\n ariaLive = props.ariaLive;\n var show = props.forceShow === true || props.state === true;\n return h(props.tag, mergeData(data, {\n class: {\n 'd-block': show,\n 'valid-feedback': !tooltip,\n 'valid-tooltip': tooltip\n },\n attrs: {\n id: props.id || null,\n role: props.role || null,\n 'aria-live': ariaLive || null,\n 'aria-atomic': ariaLive ? 'true' : null\n }\n }), children);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { NAME_FORM_GROUP } from '../../constants/components';\nimport { IS_BROWSER } from '../../constants/env';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { RX_SPACE_SPLIT } from '../../constants/regex';\nimport { SLOT_NAME_DEFAULT, SLOT_NAME_DESCRIPTION, SLOT_NAME_INVALID_FEEDBACK, SLOT_NAME_LABEL, SLOT_NAME_VALID_FEEDBACK } from '../../constants/slots';\nimport { arrayIncludes } from '../../utils/array';\nimport { getBreakpointsUpCached } from '../../utils/config';\nimport { cssEscape } from '../../utils/css-escape';\nimport { select, selectAll, isVisible, setAttr, removeAttr, getAttr, attemptFocus } from '../../utils/dom';\nimport { identity } from '../../utils/identity';\nimport { isBoolean } from '../../utils/inspect';\nimport { toInteger } from '../../utils/number';\nimport { create, keys, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, suffixPropName } from '../../utils/props';\nimport { formStateMixin, props as formStateProps } from '../../mixins/form-state';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\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'; // --- Constants ---\n\nvar INPUTS = ['input', 'select', 'textarea']; // Selector for finding first input in the form group\n\nvar INPUT_SELECTOR = INPUTS.map(function (v) {\n return \"\".concat(v, \":not([disabled])\");\n}).join(); // A list of interactive elements (tag names) inside ``'s legend\n\nvar LEGEND_INTERACTIVE_ELEMENTS = [].concat(INPUTS, ['a', 'button', 'label']); // --- Props ---\n// Prop generator for lazy generation of props\n\nexport var generateProps = function generateProps() {\n return makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), formStateProps), getBreakpointsUpCached().reduce(function (props, breakpoint) {\n // i.e. 'content-cols', 'content-cols-sm', 'content-cols-md', ...\n props[suffixPropName(breakpoint, 'contentCols')] = makeProp(PROP_TYPE_BOOLEAN_NUMBER_STRING); // i.e. 'label-align', 'label-align-sm', 'label-align-md', ...\n\n props[suffixPropName(breakpoint, 'labelAlign')] = makeProp(PROP_TYPE_STRING); // i.e. 'label-cols', 'label-cols-sm', 'label-cols-md', ...\n\n props[suffixPropName(breakpoint, 'labelCols')] = makeProp(PROP_TYPE_BOOLEAN_NUMBER_STRING);\n return props;\n }, create(null))), {}, {\n description: makeProp(PROP_TYPE_STRING),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n feedbackAriaLive: makeProp(PROP_TYPE_STRING, 'assertive'),\n invalidFeedback: makeProp(PROP_TYPE_STRING),\n label: makeProp(PROP_TYPE_STRING),\n labelClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n labelFor: makeProp(PROP_TYPE_STRING),\n labelSize: makeProp(PROP_TYPE_STRING),\n labelSrOnly: makeProp(PROP_TYPE_BOOLEAN, false),\n tooltip: makeProp(PROP_TYPE_BOOLEAN, false),\n validFeedback: makeProp(PROP_TYPE_STRING),\n validated: makeProp(PROP_TYPE_BOOLEAN, false)\n })), NAME_FORM_GROUP);\n}; // --- Main component ---\n// We do not use `Vue.extend()` here as that would evaluate the props\n// immediately, which we do not want to happen\n// @vue/component\n\nexport var BFormGroup = {\n name: NAME_FORM_GROUP,\n mixins: [idMixin, formStateMixin, normalizeSlotMixin],\n\n get props() {\n // Allow props to be lazy evaled on first access and\n // then they become a non-getter afterwards\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get#Smart_self-overwriting_lazy_getters\n delete this.props; // eslint-disable-next-line no-return-assign\n\n return this.props = generateProps();\n },\n\n data: function data() {\n return {\n ariaDescribedby: null\n };\n },\n computed: {\n contentColProps: function contentColProps() {\n return this.getColProps(this.$props, 'content');\n },\n labelAlignClasses: function labelAlignClasses() {\n return this.getAlignClasses(this.$props, 'label');\n },\n labelColProps: function labelColProps() {\n return this.getColProps(this.$props, 'label');\n },\n isHorizontal: function isHorizontal() {\n // Determine if the form group will be rendered horizontal\n // based on the existence of 'content-col' or 'label-col' props\n return keys(this.contentColProps).length > 0 || keys(this.labelColProps).length > 0;\n }\n },\n watch: {\n ariaDescribedby: function ariaDescribedby(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.updateAriaDescribedby(newValue, oldValue);\n }\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n this.$nextTick(function () {\n // Set `aria-describedby` on the input specified by `labelFor`\n // We do this in a `$nextTick()` to ensure the children have finished rendering\n _this.updateAriaDescribedby(_this.ariaDescribedby);\n });\n },\n methods: {\n getAlignClasses: function getAlignClasses(props, prefix) {\n return getBreakpointsUpCached().reduce(function (result, breakpoint) {\n var propValue = props[suffixPropName(breakpoint, \"\".concat(prefix, \"Align\"))] || null;\n\n if (propValue) {\n result.push(['text', breakpoint, propValue].filter(identity).join('-'));\n }\n\n return result;\n }, []);\n },\n getColProps: function getColProps(props, prefix) {\n return getBreakpointsUpCached().reduce(function (result, breakpoint) {\n var propValue = props[suffixPropName(breakpoint, \"\".concat(prefix, \"Cols\"))]; // Handle case where the prop's value is an empty string,\n // which represents `true`\n\n propValue = propValue === '' ? true : propValue || false;\n\n if (!isBoolean(propValue) && propValue !== 'auto') {\n // Convert to column size to number\n propValue = toInteger(propValue, 0); // Ensure column size is greater than `0`\n\n propValue = propValue > 0 ? propValue : false;\n } // Add the prop to the list of props to give to ``\n // If breakpoint is '' (`${prefix}Cols` is `true`), then we use\n // the 'col' prop to make equal width at 'xs'\n\n\n if (propValue) {\n result[breakpoint || (isBoolean(propValue) ? 'col' : 'cols')] = propValue;\n }\n\n return result;\n }, {});\n },\n // Sets the `aria-describedby` attribute on the input if `labelFor` 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 updateAriaDescribedby: function updateAriaDescribedby(newValue, oldValue) {\n var labelFor = this.labelFor;\n\n if (IS_BROWSER && labelFor) {\n // We need to escape `labelFor` since it can be user-provided\n var $input = select(\"#\".concat(cssEscape(labelFor)), this.$refs.content);\n\n if ($input) {\n var attr = 'aria-describedby';\n var newIds = (newValue || '').split(RX_SPACE_SPLIT);\n var oldIds = (oldValue || '').split(RX_SPACE_SPLIT); // Update ID list, preserving any original IDs\n // and ensuring the ID's are unique\n\n var ids = (getAttr($input, attr) || '').split(RX_SPACE_SPLIT).filter(function (id) {\n return !arrayIncludes(oldIds, id);\n }).concat(newIds).filter(function (id, index, ids) {\n return ids.indexOf(id) === index;\n }).filter(identity).join(' ').trim();\n\n if (ids) {\n setAttr($input, attr, ids);\n } else {\n removeAttr($input, attr);\n }\n }\n }\n },\n onLegendClick: function onLegendClick(event) {\n // Don't do anything if `labelFor` is set\n\n /* istanbul ignore next: clicking a label will focus the input, so no need to test */\n if (this.labelFor) {\n return;\n }\n\n var target = event.target;\n var tagName = target ? target.tagName : ''; // If clicked an interactive element inside legend,\n // we just let the default happen\n\n /* istanbul ignore next */\n\n if (LEGEND_INTERACTIVE_ELEMENTS.indexOf(tagName) !== -1) {\n return;\n } // If only a single input, focus it, emulating label behaviour\n\n\n var inputs = selectAll(INPUT_SELECTOR, this.$refs.content).filter(isVisible);\n\n if (inputs.length === 1) {\n attemptFocus(inputs[0]);\n }\n }\n },\n render: function render(h) {\n var state = this.computedState,\n feedbackAriaLive = this.feedbackAriaLive,\n isHorizontal = this.isHorizontal,\n labelFor = this.labelFor,\n normalizeSlot = this.normalizeSlot,\n safeId = this.safeId,\n tooltip = this.tooltip;\n var id = safeId();\n var isFieldset = !labelFor;\n var $label = h();\n var labelContent = normalizeSlot(SLOT_NAME_LABEL) || this.label;\n var labelId = labelContent ? safeId('_BV_label_') : null;\n\n if (labelContent || isHorizontal) {\n var labelSize = this.labelSize,\n labelColProps = this.labelColProps;\n var labelTag = isFieldset ? 'legend' : 'label';\n\n if (this.labelSrOnly) {\n if (labelContent) {\n $label = h(labelTag, {\n class: 'sr-only',\n attrs: {\n id: labelId,\n for: labelFor || null\n }\n }, [labelContent]);\n }\n\n $label = h(isHorizontal ? BCol : 'div', {\n props: isHorizontal ? labelColProps : {}\n }, [$label]);\n } else {\n $label = h(isHorizontal ? BCol : labelTag, {\n on: isFieldset ? {\n click: this.onLegendClick\n } : {},\n props: isHorizontal ? _objectSpread(_objectSpread({}, labelColProps), {}, {\n tag: labelTag\n }) : {},\n attrs: {\n id: labelId,\n for: labelFor || null,\n // We add a `tabindex` to legend so that screen readers\n // will properly read the `aria-labelledby` in IE\n tabindex: isFieldset ? '-1' : null\n },\n class: [// Hide the focus ring on the legend\n isFieldset ? 'bv-no-focus-ring' : '', // When horizontal or if a legend is rendered, add 'col-form-label' class\n // for correct sizing as Bootstrap has inconsistent font styling for\n // legend in non-horizontal form groups\n // See: https://github.com/twbs/bootstrap/issues/27805\n isHorizontal || isFieldset ? 'col-form-label' : '', // Emulate label padding top of `0` on legend when not horizontal\n !isHorizontal && isFieldset ? 'pt-0' : '', // If not horizontal and not a legend, we add 'd-block' class to label\n // so that label-align works\n !isHorizontal && !isFieldset ? 'd-block' : '', labelSize ? \"col-form-label-\".concat(labelSize) : '', this.labelAlignClasses, this.labelClass]\n }, [labelContent]);\n }\n }\n\n var $invalidFeedback = h();\n var invalidFeedbackContent = normalizeSlot(SLOT_NAME_INVALID_FEEDBACK) || this.invalidFeedback;\n var invalidFeedbackId = invalidFeedbackContent ? safeId('_BV_feedback_invalid_') : null;\n\n if (invalidFeedbackContent) {\n $invalidFeedback = h(BFormInvalidFeedback, {\n props: {\n ariaLive: feedbackAriaLive,\n id: invalidFeedbackId,\n role: feedbackAriaLive ? 'alert' : null,\n // If state is explicitly `false`, always show the feedback\n state: state,\n tooltip: tooltip\n },\n attrs: {\n tabindex: invalidFeedbackContent ? '-1' : null\n }\n }, [invalidFeedbackContent]);\n }\n\n var $validFeedback = h();\n var validFeedbackContent = normalizeSlot(SLOT_NAME_VALID_FEEDBACK) || this.validFeedback;\n var validFeedbackId = validFeedbackContent ? safeId('_BV_feedback_valid_') : null;\n\n if (validFeedbackContent) {\n $validFeedback = h(BFormValidFeedback, {\n props: {\n ariaLive: feedbackAriaLive,\n id: validFeedbackId,\n role: feedbackAriaLive ? 'alert' : null,\n // If state is explicitly `true`, always show the feedback\n state: state,\n tooltip: tooltip\n },\n attrs: {\n tabindex: validFeedbackContent ? '-1' : null\n }\n }, [validFeedbackContent]);\n }\n\n var $description = h();\n var descriptionContent = normalizeSlot(SLOT_NAME_DESCRIPTION) || this.description;\n var descriptionId = descriptionContent ? safeId('_BV_description_') : null;\n\n if (descriptionContent) {\n $description = h(BFormText, {\n attrs: {\n id: descriptionId,\n tabindex: '-1'\n }\n }, [descriptionContent]);\n } // Update `ariaDescribedby`\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\n\n var ariaDescribedby = this.ariaDescribedby = [descriptionId, state === false ? invalidFeedbackId : null, state === true ? validFeedbackId : null].filter(identity).join(' ') || null;\n var $content = h(isHorizontal ? BCol : 'div', {\n props: isHorizontal ? this.contentColProps : {},\n ref: 'content'\n }, [normalizeSlot(SLOT_NAME_DEFAULT, {\n ariaDescribedby: ariaDescribedby,\n descriptionId: descriptionId,\n id: id,\n labelId: labelId\n }) || h(), $invalidFeedback, $validFeedback, $description]); // 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\n return h(isFieldset ? 'fieldset' : isHorizontal ? BFormRow : 'div', {\n staticClass: 'form-group',\n class: [{\n 'was-validated': this.validated\n }, this.stateClass],\n attrs: {\n id: id,\n disabled: isFieldset ? this.disabled : null,\n role: isFieldset ? null : 'group',\n 'aria-invalid': this.computedAriaInvalid,\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 ? labelId : null\n }\n }, isHorizontal && isFieldset ? [h(BFormRow, [$label, $content])] : [$label, $content]);\n }\n};","import { Vue } from '../vue';\nimport { PROP_TYPE_STRING } from '../constants/props';\nimport { makeProp, makePropsConfigurable } from '../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n size: makeProp(PROP_TYPE_STRING)\n}, 'formControls'); // --- Mixin ---\n// @vue/component\n\nexport var formSizeMixin = Vue.extend({\n props: props,\n computed: {\n sizeFormClass: function sizeFormClass() {\n return [this.size ? \"form-control-\".concat(this.size) : null];\n }\n }\n});","/* Form control contextual state class computation\n *\n * Returned class is either 'is-valid' or 'is-invalid' based on the 'state' prop\n * state can be one of five values:\n * - true for is-valid\n * - false for is-invalid\n * - null for no contextual state\n */\nimport { Vue } from '../vue';\nimport { PROP_TYPE_BOOLEAN } from '../constants/props';\nimport { isBoolean } from '../utils/inspect';\nimport { makeProp, makePropsConfigurable } from '../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n // Tri-state prop: true, false, null (or undefined)\n state: makeProp(PROP_TYPE_BOOLEAN, null)\n}, 'formState'); // --- Mixin ---\n// @vue/component\n\nexport var formStateMixin = Vue.extend({\n props: props,\n computed: {\n computedState: function computedState() {\n // If not a boolean, ensure that value is null\n return isBoolean(this.state) ? this.state : null;\n },\n stateClass: function stateClass() {\n var state = this.computedState;\n return state === true ? 'is-valid' : state === false ? 'is-invalid' : null;\n },\n computedAriaInvalid: function computedAriaInvalid() {\n var ariaInvalid = this.ariaInvalid;\n\n if (ariaInvalid === true || ariaInvalid === 'true' || ariaInvalid === '') {\n return 'true';\n }\n\n return this.computedState === false ? 'true' : ariaInvalid;\n }\n }\n});","import { Vue } from '../vue';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../constants/props';\nimport { attemptFocus, isVisible, matches, requestAF, select } from '../utils/dom';\nimport { makeProp, makePropsConfigurable } from '../utils/props'; // --- Constants ---\n\nvar SELECTOR = 'input, textarea, select'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n autofocus: makeProp(PROP_TYPE_BOOLEAN, false),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n form: makeProp(PROP_TYPE_STRING),\n id: makeProp(PROP_TYPE_STRING),\n name: makeProp(PROP_TYPE_STRING),\n required: makeProp(PROP_TYPE_BOOLEAN, false)\n}, 'formControls'); // --- Mixin ---\n// @vue/component\n\nexport var formControlMixin = Vue.extend({\n props: props,\n mounted: function mounted() {\n this.handleAutofocus();\n },\n\n /* istanbul ignore next */\n activated: function activated() {\n this.handleAutofocus();\n },\n methods: {\n handleAutofocus: function handleAutofocus() {\n var _this = this;\n\n this.$nextTick(function () {\n requestAF(function () {\n var el = _this.$el;\n\n if (_this.autofocus && isVisible(el)) {\n if (!matches(el, SELECTOR)) {\n el = select(SELECTOR, el);\n }\n\n attemptFocus(el);\n }\n });\n });\n }\n }\n});"],"sourceRoot":""}