{"version":3,"sources":["webpack:///./node_modules/bootstrap-vue/esm/utils/stringify-object-values.js","webpack:///./node_modules/bootstrap-vue/esm/utils/loose-index-of.js","webpack:///./node_modules/bootstrap-vue/esm/utils/stable-sort.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-custom.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-size.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-radio-check.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-state.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-control.js"],"names":["stringifyObjectValues","value","sort","map","k","filter","v","join","looseIndexOf","array","i","length","stableSort","compareFn","a","index","b","this","bind","e","props","plain","formCustomMixin","extend","computed","custom","size","formSizeMixin","sizeFormClass","concat","_watch","_methods","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","arguments","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","configurable","writable","_makeModelMixin","defaultValue","modelMixin","mixin","modelProps","MODEL_PROP_NAME","prop","MODEL_EVENT_NAME","event","ariaLabel","ariaLabelledby","button","buttonVariant","inline","formRadioCheckMixin","mixins","inheritAttrs","data","localChecked","isGroup","bvGroup","hasFocus","computedLocalChecked","get","set","isChecked","isRadio","isBtnMode","buttons","isPlain","isCustom","isSwitch","switches","switch","isInline","isDisabled","disabled","isRequired","computedName","required","groupName","name","computedForm","form","computedSize","computedState","state","computedButtonVariant","buttonClasses","_ref","computedAttrs","bvAttrs","id","safeId","type","watch","computedLocalCheckedWatcher","methods","newValue","oldValue","$emit","_ref2","_this","checked","$nextTick","$refs","input","render","h","$content","normalizeSlot","$input","class","stateClass","directives","attrs","domProps","on","change","handleChange","focus","handleFocus","blur","ref","$button","$label","for","style","formStateMixin","computedAriaInvalid","ariaInvalid","SELECTOR","autofocus","formControlMixin","mounted","handleAutofocus","activated","el","$el"],"mappings":"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","file":"js/chunk-603e3cdd.bcc7c8ff.js","sourcesContent":["import { isDate, isObject, isUndefinedOrNull } from './inspect';\nimport { keys } from './object';\nimport { toString } from './string'; // 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// Strings are returned as-is\n// Numbers get converted to string\n// `null` and `undefined` values are filtered out\n// Dates are converted to their native string format\n\nexport var stringifyObjectValues = function stringifyObjectValues(value) {\n if (isUndefinedOrNull(value)) {\n return '';\n } // Arrays are also object, and keys just returns the array indexes\n // Date objects we convert to strings\n\n\n if (isObject(value) && !isDate(value)) {\n return keys(value).sort() // Sort to prevent SSR issues on pre-rendered sorted tables\n .map(function (k) {\n return stringifyObjectValues(value[k]);\n }).filter(function (v) {\n return !!v;\n }) // Ignore empty strings\n .join(' ');\n }\n\n return toString(value);\n};","import { looseEqual } from './loose-equal'; // Assumes that the first argument is an array\n\nexport var looseIndexOf = function looseIndexOf(array, value) {\n for (var i = 0; i < array.length; i++) {\n if (looseEqual(array[i], value)) {\n return i;\n }\n }\n\n return -1;\n};","/*\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 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 */\nexport var stableSort = function 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.map(function (a, index) {\n return [index, a];\n }).sort(function (a, b) {\n return this(a[1], b[1]) || a[0] - b[0];\n }.bind(compareFn)).map(function (e) {\n return e[1];\n });\n};","import { Vue } from '../vue';\nimport { PROP_TYPE_BOOLEAN } from '../constants/props';\nimport { makeProp, makePropsConfigurable } from '../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n plain: makeProp(PROP_TYPE_BOOLEAN, false)\n}, 'formControls'); // --- Mixin ---\n// @vue/component\n\nexport var formCustomMixin = Vue.extend({\n props: props,\n computed: {\n custom: function custom() {\n return !this.plain;\n }\n }\n});","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});","var _watch, _methods;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../vue';\nimport { PROP_TYPE_ANY, PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../constants/props';\nimport { EVENT_NAME_CHANGE } from '../constants/events';\nimport { attemptBlur, attemptFocus } from '../utils/dom';\nimport { isBoolean } from '../utils/inspect';\nimport { looseEqual } from '../utils/loose-equal';\nimport { makeModelMixin } from '../utils/model';\nimport { sortKeys } from '../utils/object';\nimport { makeProp, makePropsConfigurable } from '../utils/props';\nimport { attrsMixin } from './attrs';\nimport { formControlMixin, props as formControlProps } from './form-control';\nimport { formCustomMixin, props as formCustomProps } from './form-custom';\nimport { formSizeMixin, props as formSizeProps } from './form-size';\nimport { formStateMixin, props as formStateProps } from './form-state';\nimport { idMixin, props as idProps } from './id';\nimport { normalizeSlotMixin } from './normalize-slot'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('checked', {\n defaultValue: null\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event;\n\nexport { MODEL_PROP_NAME, MODEL_EVENT_NAME }; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), modelProps), formControlProps), formSizeProps), formStateProps), formCustomProps), {}, {\n ariaLabel: makeProp(PROP_TYPE_STRING),\n ariaLabelledby: makeProp(PROP_TYPE_STRING),\n // Only applicable in standalone mode (non group)\n button: makeProp(PROP_TYPE_BOOLEAN, false),\n // Only applicable when rendered with button style\n buttonVariant: makeProp(PROP_TYPE_STRING),\n inline: makeProp(PROP_TYPE_BOOLEAN, false),\n value: makeProp(PROP_TYPE_ANY)\n})), 'formRadioCheckControls'); // --- Mixin ---\n// @vue/component\n\nexport var formRadioCheckMixin = Vue.extend({\n mixins: [attrsMixin, idMixin, modelMixin, normalizeSlotMixin, formControlMixin, formSizeMixin, formStateMixin, formCustomMixin],\n inheritAttrs: false,\n props: props,\n data: function data() {\n return {\n localChecked: this.isGroup ? this.bvGroup[MODEL_PROP_NAME] : this[MODEL_PROP_NAME],\n hasFocus: false\n };\n },\n computed: {\n computedLocalChecked: {\n get: function get() {\n return this.isGroup ? this.bvGroup.localChecked : this.localChecked;\n },\n set: function set(value) {\n if (this.isGroup) {\n this.bvGroup.localChecked = value;\n } else {\n this.localChecked = value;\n }\n }\n },\n isChecked: function isChecked() {\n return looseEqual(this.value, this.computedLocalChecked);\n },\n isRadio: function isRadio() {\n return true;\n },\n isGroup: function isGroup() {\n // Is this check/radio a child of check-group or radio-group?\n return !!this.bvGroup;\n },\n isBtnMode: function isBtnMode() {\n // Support button style in single input mode\n return this.isGroup ? this.bvGroup.buttons : this.button;\n },\n isPlain: function isPlain() {\n return this.isBtnMode ? false : this.isGroup ? this.bvGroup.plain : this.plain;\n },\n isCustom: function isCustom() {\n return this.isBtnMode ? false : !this.isPlain;\n },\n isSwitch: function isSwitch() {\n // Custom switch styling (checkboxes only)\n return this.isBtnMode || this.isRadio || this.isPlain ? false : this.isGroup ? this.bvGroup.switches : this.switch;\n },\n isInline: function isInline() {\n return this.isGroup ? this.bvGroup.inline : this.inline;\n },\n isDisabled: function isDisabled() {\n // Child can be disabled while parent isn't, but is always disabled if group is\n return this.isGroup ? this.bvGroup.disabled || this.disabled : this.disabled;\n },\n isRequired: function isRequired() {\n // Required only works when a name is provided for the input(s)\n // Child can only be required when parent is\n // Groups will always have a name (either user supplied or auto generated)\n return this.computedName && (this.isGroup ? this.bvGroup.required : this.required);\n },\n computedName: function computedName() {\n // Group name preferred over local name\n return (this.isGroup ? this.bvGroup.groupName : this.name) || null;\n },\n computedForm: function computedForm() {\n return (this.isGroup ? this.bvGroup.form : this.form) || null;\n },\n computedSize: function computedSize() {\n return (this.isGroup ? this.bvGroup.size : this.size) || '';\n },\n computedState: function computedState() {\n return this.isGroup ? this.bvGroup.computedState : isBoolean(this.state) ? this.state : null;\n },\n computedButtonVariant: function computedButtonVariant() {\n // Local variant preferred over group variant\n var buttonVariant = this.buttonVariant;\n\n if (buttonVariant) {\n return buttonVariant;\n }\n\n if (this.isGroup && this.bvGroup.buttonVariant) {\n return this.bvGroup.buttonVariant;\n }\n\n return 'secondary';\n },\n buttonClasses: function buttonClasses() {\n var _ref;\n\n var computedSize = this.computedSize;\n return ['btn', \"btn-\".concat(this.computedButtonVariant), (_ref = {}, _defineProperty(_ref, \"btn-\".concat(computedSize), computedSize), _defineProperty(_ref, \"disabled\", this.isDisabled), _defineProperty(_ref, \"active\", this.isChecked), _defineProperty(_ref, \"focus\", this.hasFocus), _ref)];\n },\n computedAttrs: function computedAttrs() {\n var disabled = this.isDisabled,\n required = this.isRequired;\n return _objectSpread(_objectSpread({}, this.bvAttrs), {}, {\n id: this.safeId(),\n type: this.isRadio ? 'radio' : 'checkbox',\n name: this.computedName,\n form: this.computedForm,\n disabled: disabled,\n required: required,\n 'aria-required': required || null,\n 'aria-label': this.ariaLabel || null,\n 'aria-labelledby': this.ariaLabelledby || null\n });\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function () {\n this[\"\".concat(MODEL_PROP_NAME, \"Watcher\")].apply(this, arguments);\n }), _defineProperty(_watch, \"computedLocalChecked\", function computedLocalChecked() {\n this.computedLocalCheckedWatcher.apply(this, arguments);\n }), _watch),\n methods: (_methods = {}, _defineProperty(_methods, \"\".concat(MODEL_PROP_NAME, \"Watcher\"), function Watcher(newValue) {\n if (!looseEqual(newValue, this.computedLocalChecked)) {\n this.computedLocalChecked = newValue;\n }\n }), _defineProperty(_methods, \"computedLocalCheckedWatcher\", function computedLocalCheckedWatcher(newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.$emit(MODEL_EVENT_NAME, newValue);\n }\n }), _defineProperty(_methods, \"handleChange\", function handleChange(_ref2) {\n var _this = this;\n\n var checked = _ref2.target.checked;\n var value = this.value;\n var localChecked = checked ? value : null;\n this.computedLocalChecked = value; // Fire events in a `$nextTick()` to ensure the `v-model` is updated\n\n this.$nextTick(function () {\n // Change is only emitted on user interaction\n _this.$emit(EVENT_NAME_CHANGE, localChecked); // If this is a child of a group, we emit a change event on it as well\n\n\n if (_this.isGroup) {\n _this.bvGroup.$emit(EVENT_NAME_CHANGE, localChecked);\n }\n });\n }), _defineProperty(_methods, \"handleFocus\", function handleFocus(event) {\n // When in buttons mode, we need to add 'focus' class to label when input focused\n // As it is the hidden input which has actual focus\n if (event.target) {\n if (event.type === 'focus') {\n this.hasFocus = true;\n } else if (event.type === 'blur') {\n this.hasFocus = false;\n }\n }\n }), _defineProperty(_methods, \"focus\", function focus() {\n if (!this.isDisabled) {\n attemptFocus(this.$refs.input);\n }\n }), _defineProperty(_methods, \"blur\", function blur() {\n if (!this.isDisabled) {\n attemptBlur(this.$refs.input);\n }\n }), _methods),\n render: function render(h) {\n var isRadio = this.isRadio,\n isBtnMode = this.isBtnMode,\n isPlain = this.isPlain,\n isCustom = this.isCustom,\n isInline = this.isInline,\n isSwitch = this.isSwitch,\n computedSize = this.computedSize,\n bvAttrs = this.bvAttrs;\n var $content = this.normalizeSlot();\n var $input = h('input', {\n class: [{\n 'form-check-input': isPlain,\n 'custom-control-input': isCustom,\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/2911\n 'position-static': isPlain && !$content\n }, isBtnMode ? '' : this.stateClass],\n directives: [{\n name: 'model',\n value: this.computedLocalChecked\n }],\n attrs: this.computedAttrs,\n domProps: {\n value: this.value,\n checked: this.isChecked\n },\n on: _objectSpread({\n change: this.handleChange\n }, isBtnMode ? {\n focus: this.handleFocus,\n blur: this.handleFocus\n } : {}),\n key: 'input',\n ref: 'input'\n });\n\n if (isBtnMode) {\n var $button = h('label', {\n class: this.buttonClasses\n }, [$input, $content]);\n\n if (!this.isGroup) {\n // Standalone button mode, so wrap in 'btn-group-toggle'\n // and flag it as inline-block to mimic regular buttons\n $button = h('div', {\n class: ['btn-group-toggle', 'd-inline-block']\n }, [$button]);\n }\n\n return $button;\n } // If no label content in plain mode we dont render the label\n // See: https://github.com/bootstrap-vue/bootstrap-vue/issues/2911\n\n\n var $label = h();\n\n if (!(isPlain && !$content)) {\n $label = h('label', {\n class: {\n 'form-check-label': isPlain,\n 'custom-control-label': isCustom\n },\n attrs: {\n for: this.safeId()\n }\n }, $content);\n }\n\n return h('div', {\n class: [_defineProperty({\n 'form-check': isPlain,\n 'form-check-inline': isPlain && isInline,\n 'custom-control': isCustom,\n 'custom-control-inline': isCustom && isInline,\n 'custom-checkbox': isCustom && !isRadio && !isSwitch,\n 'custom-switch': isSwitch,\n 'custom-radio': isCustom && isRadio\n }, \"b-custom-control-\".concat(computedSize), computedSize && !isBtnMode), bvAttrs.class],\n style: bvAttrs.style\n }, [$input, $label]);\n }\n});","/* 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":""}