{"version":3,"sources":["webpack:///./node_modules/bootstrap-vue/esm/components/form/form.js","webpack:///./src/components/validate/FormText.vue","webpack:///./src/components/validate/FormText.vue?6f3b","webpack:///./src/components/validate/FormText.vue?e073","webpack:///./node_modules/bootstrap-vue/esm/directives/visible/visible.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-textarea/form-textarea.js","webpack:///./src/components/validate/FormText.vue?d9cc","webpack:///./node_modules/vee-validate/dist/rules.js","webpack:///./src/helper/validate.ts","webpack:///./src/components/validate/FormInput.vue","webpack:///./src/components/validate/FormInput.vue?51d5","webpack:///./src/components/validate/FormInput.vue?36e1","webpack:///./src/components/validate/FormInput.vue?97fc","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"],"names":["props","id","inline","novalidate","validated","BForm","name","functional","render","h","_ref","data","children","class","attrs","_vm","this","_c","_self","_setupProxy","formClass","_t","_v","_s","label","isRequired","staticStyle","_e","rules","immediate","ref","placeholder","value","rows","on","updateValue","staticRenderFns","FormText","_Vue","_classCallCheck","_callSuper","arguments","_inherits","_createClass","key","get","concat","e","onInputChange","toString","includes","$refs","focus","Vue","__decorate","Prop","default","Emit","Component","components","ValidationProvider","instance","Constructor","TypeError","_defineProperties","target","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","protoProps","staticProps","prototype","OBSERVER_PROP_NAME","VisibilityObserver","el","options","callback","margin","once","observer","visible","undefined","doneOnce","createObserver","_this","stop","IntersectionObserver","handler","bind","root","rootMargin","threshold","_unused","observe","entries","entry","isIntersecting","Boolean","intersectionRatio","disconnect","destroy","modifiers","forEach","mod","test","toLowerCase","_prevModifiers","_ref2","vnode","oldValue","unbind","VBVisible","componentUpdated","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","push","apply","_objectSpread","source","_defineProperty","getOwnPropertyDescriptors","defineProperties","obj","maxRows","noAutoShrink","noResize","wrap","BFormTextarea","directives","mixins","listeners","heightInPx","computed","type","computedStyle","styles","resize","computedRows","height","overflowY","computedMinRows","math","computedMaxRows","computedAttrs","disabled","required","safeId","form","autocomplete","readonly","plaintext","computedAriaInvalid","computedListeners","bvListeners","input","onInput","change","onChange","blur","onBlur","watch","localValue","setHeight","mounted","methods","visibleCallback","$nextTick","computeHeight","$isServer","$el","lineHeight","border","borderTopWidth","borderBottomWidth","padding","paddingTop","paddingBottom","offset","minHeight","oldHeight","scrollHeight","contentRows","computedClass","style","domProps","component","BFormGroup","validate$j","_a","multiple","re","Array","isArray","String","split","map","emailStr","trim","every","val","params$c","email","validate","params","isNullOrUndefined","isEmptyArray","arr","validate$a","params$8","cast","Number","max","validate$7","params$6","min","validate$3","allowFalse","result","valid","computesRequired$1","params$3","computesRequired","extend","_ref$min","message","regex","localize","en","$event","hasFocus","FormInput","autofilled","validator","indexOf","BFormInput","escapeChar","firstCharCode","charCodeAt","reduce","char","index","charCode","tag","BFormRow","staticClass","textVariant","BFormText","ariaLive","forceShow","role","state","tooltip","BFormInvalidFeedback","show","BFormValidFeedback","INPUTS","INPUT_SELECTOR","v","join","LEGEND_INTERACTIVE_ELEMENTS","breakpoint","description","feedbackAriaLive","invalidFeedback","labelClass","labelFor","labelSize","labelSrOnly","validFeedback","ariaDescribedby","contentColProps","getColProps","$props","labelAlignClasses","getAlignClasses","labelColProps","isHorizontal","newValue","updateAriaDescribedby","prefix","propValue","identity","$input","content","attr","newIds","oldIds","ids","array","onLegendClick","event","tagName","inputs","computedState","normalizeSlot","isFieldset","$label","labelContent","labelId","labelTag","for","click","tabindex","$invalidFeedback","invalidFeedbackContent","invalidFeedbackId","$validFeedback","validFeedbackContent","validFeedbackId","$description","descriptionContent","descriptionId","$content","stateClass"],"mappings":"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","file":"js/chunk-f653f398.cb8449d4.js","sourcesContent":["import { extend, mergeData } from '../../vue';\nimport { NAME_FORM } 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 novalidate: makeProp(PROP_TYPE_BOOLEAN, false),\n validated: makeProp(PROP_TYPE_BOOLEAN, false)\n}, NAME_FORM); // --- Main component ---\n// @vue/component\n\nexport var BForm = /*#__PURE__*/extend({\n name: NAME_FORM,\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('form', 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 }), children);\n }\n});","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('b-form-group',{class:_vm.formClass},[_vm._t(\"label\",function(){return [_c('legend',[_vm._v(\" \"+_vm._s(_vm.label)+\" \"),(_vm.isRequired)?_c('label',{staticStyle:{\"color\":\"red\"}},[_vm._v(\"*\")]):_vm._e()])]}),_c('ValidationProvider',{attrs:{\"name\":_vm.name,\"rules\":_vm.rules,\"immediate\":_vm.immediate,\"mode\":\"eager\",\"tag\":\"p\",\"slim\":\"\"}},[_c('b-form-textarea',{ref:_vm.name,attrs:{\"id\":_vm.id,\"name\":_vm.name,\"placeholder\":_vm.placeholder,\"value\":_vm.value,\"rows\":_vm.rows},on:{\"input\":_vm.updateValue}})],1)],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n import { Vue, Prop, Component, Emit, Watch } from \"vue-property-decorator\";\r\n import { ValidationProvider } from \"vee-validate/dist/vee-validate.esm.js\";\r\n\r\n @Component({\r\n name: \"FormInput\",\r\n components: { ValidationProvider }\r\n })\r\n export default class FormText extends Vue {\r\n @Prop({ default: \"\" }) name!: string;\r\n @Prop({ default: \"\" }) id!: string;\r\n @Prop({ default: false }) disabled!: boolean;\r\n @Prop() rules!: any;\r\n @Prop({ default: 5 }) rows!: number;\r\n @Prop({ default: 5 }) maxrows!: number;\r\n @Prop({\r\n default: false\r\n })\r\n immediate!: boolean;\r\n @Prop() value!: string;\r\n @Prop({ default: \"\" }) label!: string;\r\n @Prop({ default: \"\" }) placeholder!: string;\r\n @Prop({ default: \"w-100\" }) formClass!: string;\r\n\r\n @Emit(\"input\")\r\n onInputChange(value: string) {}\r\n\r\n get errorFeedbackId() {\r\n return `${this.id}-feedback`;\r\n }\r\n\r\n updateValue(e: string) {\r\n this.onInputChange(e);\r\n }\r\n\r\n get isRequired() {\r\n return this.rules.toString().includes(\"required\");\r\n }\r\n\r\n focus() {\r\n (this.$refs[this.name] as any).focus();\r\n }\r\n }\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/bootstrap-vue-loader/lib/loader.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormText.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/bootstrap-vue-loader/lib/loader.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormText.vue?vue&type=script&lang=ts\"","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\n\n// v-b-visible\n// Private visibility check directive\n// Based on IntersectionObserver\n//\n// Usage:\n// v-b-visibility..=\"\"\n//\n// Value:\n// : 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// : a positive decimal value of pixels away from viewport edge\n// before being considered \"visible\". default is 0\n// : 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// }\nimport { RX_DIGITS } from '../../constants/regex';\nimport { requestAF } from '../../utils/dom';\nimport { isFunction } from '../../utils/inspect';\nimport { looseEqual } from '../../utils/loose-equal';\nimport { clone, keys } from '../../utils/object';\nimport { nextTick } from '../../vue';\nvar OBSERVER_PROP_NAME = '__bv__visibility_observer';\n\nvar VisibilityObserver = /*#__PURE__*/function () {\n function VisibilityObserver(el, options) {\n _classCallCheck(this, VisibilityObserver);\n\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; // Create the observer instance (if possible)\n\n this.createObserver();\n }\n\n _createClass(VisibilityObserver, [{\n key: \"createObserver\",\n value: function createObserver() {\n var _this = this;\n\n // Remove any previous observer\n if (this.observer) {\n /* istanbul ignore next */\n this.stop();\n } // Should only be called once and `callback` prop should be a function\n\n\n if (this.doneOnce || !isFunction(this.callback)) {\n /* istanbul ignore next */\n return;\n } // Create the observer instance\n\n\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 (_unused) {\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 } // Start observing in a `$nextTick()` (to allow DOM to complete rendering)\n\n /* istanbul ignore next: IntersectionObserver not supported in JSDOM */\n\n\n nextTick(function () {\n requestAF(function () {\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 /* istanbul ignore next */\n\n }, {\n key: \"handler\",\n value: function handler(entries) {\n var entry = entries ? entries[0] : {};\n var isIntersecting = Boolean(entry.isIntersecting || entry.intersectionRatio > 0.0);\n\n if (isIntersecting !== this.visible) {\n this.visible = isIntersecting;\n this.callback(isIntersecting);\n\n if (this.once && this.visible) {\n this.doneOnce = true;\n this.stop();\n }\n }\n }\n }, {\n key: \"stop\",\n value: function stop() {\n /* istanbul ignore next */\n this.observer && this.observer.disconnect();\n this.observer = null;\n }\n }]);\n\n return VisibilityObserver;\n}();\n\nvar destroy = function destroy(el) {\n var observer = el[OBSERVER_PROP_NAME];\n\n if (observer && observer.stop) {\n observer.stop();\n }\n\n delete el[OBSERVER_PROP_NAME];\n};\n\nvar bind = function bind(el, _ref) {\n var value = _ref.value,\n modifiers = _ref.modifiers;\n // `value` is the callback function\n var options = {\n margin: '0px',\n once: false,\n callback: value\n }; // Parse modifiers\n\n keys(modifiers).forEach(function (mod) {\n /* istanbul ignore else: Until is switched to use this directive */\n if (RX_DIGITS.test(mod)) {\n options.margin = \"\".concat(mod, \"px\");\n } else if (mod.toLowerCase() === 'once') {\n options.once = true;\n }\n }); // Destroy any previous observer\n\n destroy(el); // Create new observer\n\n el[OBSERVER_PROP_NAME] = new VisibilityObserver(el, options); // Store the current modifiers on the object (cloned)\n\n el[OBSERVER_PROP_NAME]._prevModifiers = clone(modifiers);\n}; // When the directive options may have been updated (or element)\n\n\nvar componentUpdated = function componentUpdated(el, _ref2, vnode) {\n var value = _ref2.value,\n oldValue = _ref2.oldValue,\n modifiers = _ref2.modifiers;\n // Compare value/oldValue and modifiers to see if anything has changed\n // and if so, destroy old observer and create new observer\n\n /* istanbul ignore next */\n modifiers = clone(modifiers);\n /* istanbul ignore next */\n\n if (el && (value !== oldValue || !el[OBSERVER_PROP_NAME] || !looseEqual(modifiers, el[OBSERVER_PROP_NAME]._prevModifiers))) {\n // Re-bind on element\n bind(el, {\n value: value,\n modifiers: modifiers\n }, vnode);\n }\n}; // When directive un-binds from element\n\n\nvar unbind = function unbind(el) {\n // Remove the observer\n destroy(el);\n}; // Export the directive\n\n\nexport var VBVisible = {\n bind: bind,\n componentUpdated: componentUpdated,\n unbind: unbind\n};","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); 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 = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : 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 { extend } from '../../vue';\nimport { NAME_FORM_TEXTAREA } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { getCS, getStyle, isVisible, requestAF, setStyle } from '../../utils/dom';\nimport { isNull } from '../../utils/inspect';\nimport { mathCeil, mathMax, mathMin } from '../../utils/math';\nimport { toInteger, toFloat } from '../../utils/number';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { formControlMixin, props as formControlProps } from '../../mixins/form-control';\nimport { formSelectionMixin } from '../../mixins/form-selection';\nimport { formSizeMixin, props as formSizeProps } from '../../mixins/form-size';\nimport { formStateMixin, props as formStateProps } from '../../mixins/form-state';\nimport { formTextMixin, props as formTextProps } from '../../mixins/form-text';\nimport { formValidityMixin } from '../../mixins/form-validity';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { listenOnRootMixin } from '../../mixins/listen-on-root';\nimport { listenersMixin } from '../../mixins/listeners';\nimport { VBVisible } from '../../directives/visible/visible'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), formControlProps), formSizeProps), formStateProps), formTextProps), {}, {\n maxRows: makeProp(PROP_TYPE_NUMBER_STRING),\n // When in auto resize mode, disable shrinking to content height\n noAutoShrink: makeProp(PROP_TYPE_BOOLEAN, false),\n // Disable the resize handle of textarea\n noResize: makeProp(PROP_TYPE_BOOLEAN, false),\n rows: makeProp(PROP_TYPE_NUMBER_STRING, 2),\n // 'soft', 'hard' or 'off'\n // Browser default is 'soft'\n wrap: makeProp(PROP_TYPE_STRING, 'soft')\n})), NAME_FORM_TEXTAREA); // --- Main component ---\n// @vue/component\n\nexport var BFormTextarea = /*#__PURE__*/extend({\n name: NAME_FORM_TEXTAREA,\n directives: {\n 'b-visible': VBVisible\n },\n // Mixin order is important!\n mixins: [listenersMixin, idMixin, listenOnRootMixin, formControlMixin, formSizeMixin, formStateMixin, formTextMixin, formSelectionMixin, formValidityMixin],\n props: props,\n data: function data() {\n return {\n heightInPx: null\n };\n },\n computed: {\n type: function type() {\n return null;\n },\n computedStyle: function computedStyle() {\n var 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\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; // 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\n styles.overflowY = 'scroll';\n }\n\n return styles;\n },\n computedMinRows: function 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 mathMax(toInteger(this.rows, 2), 2);\n },\n computedMaxRows: function computedMaxRows() {\n return mathMax(this.computedMinRows, toInteger(this.maxRows, 0));\n },\n computedRows: function 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 computedAttrs: function computedAttrs() {\n var disabled = this.disabled,\n required = this.required;\n return {\n id: this.safeId(),\n name: this.name || null,\n form: this.form || null,\n disabled: disabled,\n placeholder: this.placeholder || null,\n required: required,\n autocomplete: this.autocomplete || null,\n readonly: this.readonly || this.plaintext,\n rows: this.computedRows,\n wrap: this.wrap || null,\n 'aria-required': this.required ? 'true' : null,\n 'aria-invalid': this.computedAriaInvalid\n };\n },\n computedListeners: function computedListeners() {\n return _objectSpread(_objectSpread({}, this.bvListeners), {}, {\n input: this.onInput,\n change: this.onChange,\n blur: this.onBlur\n });\n }\n },\n watch: {\n localValue: function localValue() {\n this.setHeight();\n }\n },\n mounted: function mounted() {\n this.setHeight();\n },\n methods: {\n // Called by intersection observer directive\n\n /* istanbul ignore next */\n visibleCallback: function visibleCallback(visible) {\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: function setHeight() {\n var _this = this;\n\n this.$nextTick(function () {\n requestAF(function () {\n _this.heightInPx = _this.computeHeight();\n });\n });\n },\n\n /* istanbul ignore next: can't test getComputedStyle in JSDOM */\n computeHeight: function computeHeight() {\n if (this.$isServer || !isNull(this.computedRows)) {\n return null;\n }\n\n var el = this.$el; // Element must be visible (not hidden) and in document\n // Must be checked after above checks\n\n if (!isVisible(el)) {\n return null;\n } // Get current computed styles\n\n\n var computedStyle = getCS(el); // Height of one line of text in px\n\n var lineHeight = toFloat(computedStyle.lineHeight, 1); // Calculate height of border and padding\n\n var border = toFloat(computedStyle.borderTopWidth, 0) + toFloat(computedStyle.borderBottomWidth, 0);\n var padding = toFloat(computedStyle.paddingTop, 0) + toFloat(computedStyle.paddingBottom, 0); // Calculate offset\n\n var offset = border + padding; // Minimum height for min rows (which must be 2 rows or greater for cross-browser support)\n\n var minHeight = lineHeight * this.computedMinRows + offset; // Get the current style height (with `px` units)\n\n var oldHeight = getStyle(el, 'height') || computedStyle.height; // Probe scrollHeight by temporarily changing the height to `auto`\n\n setStyle(el, 'height', 'auto');\n var scrollHeight = el.scrollHeight; // Place the original old height back on the element, just in case `computedProp`\n // returns the same value as before\n\n setStyle(el, 'height', oldHeight); // Calculate content height in 'rows' (scrollHeight includes padding but not border)\n\n var contentRows = mathMax((scrollHeight - padding) / lineHeight, 2); // Calculate number of rows to display (limited within min/max rows)\n\n var rows = mathMin(mathMax(contentRows, this.computedMinRows), this.computedMaxRows); // Calculate the required height of the textarea including border and padding (in pixels)\n\n var height = mathMax(mathCeil(rows * lineHeight + offset), minHeight); // Computed height remains the larger of `oldHeight` and new `height`,\n // when height is in `sticky` mode (prop `no-auto-shrink` is true)\n\n if (this.noAutoShrink && toFloat(oldHeight, 0) > height) {\n return oldHeight;\n } // Return the new computed CSS height in px units\n\n\n return \"\".concat(height, \"px\");\n }\n },\n render: function render(h) {\n return h('textarea', {\n class: this.computedClass,\n style: this.computedStyle,\n directives: [{\n name: 'b-visible',\n value: this.visibleCallback,\n // If textarea is within 640px of viewport, consider it visible\n modifiers: {\n '640': true\n }\n }],\n attrs: this.computedAttrs,\n domProps: {\n value: this.localValue\n },\n on: this.computedListeners,\n ref: 'input'\n });\n }\n});","import { render, staticRenderFns } from \"./FormText.vue?vue&type=template&id=599973e6\"\nimport script from \"./FormText.vue?vue&type=script&lang=ts\"\nexport * from \"./FormText.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n\n import installComponents from \"!F:/TFSAgents/TFS02-Build-01/_work/61/s/VetQuest.Backend/VetQuest.Web/client-app/node_modules/bootstrap-vue-loader/lib/runtime/installComponents.js\"\n import {BFormTextarea, BFormGroup} from 'bootstrap-vue'\n installComponents(component, {BFormTextarea, BFormGroup})\n \n\nexport default component.exports","/**\n * vee-validate v3.4.15\n * (c) 2023 Abdelrahman Awad\n * @license MIT\n */\n/**\r\n * Some Alpha Regex helpers.\r\n * https://github.com/chriso/validator.js/blob/master/src/lib/alpha.js\r\n */\r\n/* eslint-disable no-misleading-character-class */\r\nvar alpha$1 = {\r\n en: /^[A-Z]*$/i,\r\n cs: /^[A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]*$/i,\r\n da: /^[A-ZÆØÅ]*$/i,\r\n de: /^[A-ZÄÖÜß]*$/i,\r\n es: /^[A-ZÁÉÍÑÓÚÜ]*$/i,\r\n fa: /^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰپژگچکی]*$/,\r\n fr: /^[A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]*$/i,\r\n it: /^[A-Z\\xC0-\\xFF]*$/i,\r\n lt: /^[A-ZĄČĘĖĮŠŲŪŽ]*$/i,\r\n nl: /^[A-ZÉËÏÓÖÜ]*$/i,\r\n hu: /^[A-ZÁÉÍÓÖŐÚÜŰ]*$/i,\r\n pl: /^[A-ZĄĆĘŚŁŃÓŻŹ]*$/i,\r\n pt: /^[A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ]*$/i,\r\n ro: /^[A-ZĂÂÎŞŢ]*$/i,\r\n ru: /^[А-ЯЁ]*$/i,\r\n sk: /^[A-ZÁÄČĎÉÍĹĽŇÓŔŠŤÚÝŽ]*$/i,\r\n sr: /^[A-ZČĆŽŠĐ]*$/i,\r\n sv: /^[A-ZÅÄÖ]*$/i,\r\n tr: /^[A-ZÇĞİıÖŞÜ]*$/i,\r\n uk: /^[А-ЩЬЮЯЄІЇҐ]*$/i,\r\n ar: /^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]*$/,\r\n az: /^[A-ZÇƏĞİıÖŞÜ]*$/i,\r\n el: /^[Α-ώ]*$/i,\r\n ja: /^[A-Z\\u3000-\\u303F\\u3040-\\u309F\\u30A0-\\u30FF\\uFF00-\\uFFEF\\u4E00-\\u9FAF]*$/i,\r\n he: /^[A-Z\\u05D0-\\u05EA']*$/i\r\n};\r\nvar alphaSpaces = {\r\n en: /^[A-Z\\s]*$/i,\r\n cs: /^[A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ\\s]*$/i,\r\n da: /^[A-ZÆØÅ\\s]*$/i,\r\n de: /^[A-ZÄÖÜß\\s]*$/i,\r\n es: /^[A-ZÁÉÍÑÓÚÜ\\s]*$/i,\r\n fa: /^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰپژگچکی]*$/,\r\n fr: /^[A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ\\s]*$/i,\r\n it: /^[A-Z\\xC0-\\xFF\\s]*$/i,\r\n lt: /^[A-ZĄČĘĖĮŠŲŪŽ\\s]*$/i,\r\n nl: /^[A-ZÉËÏÓÖÜ\\s]*$/i,\r\n hu: /^[A-ZÁÉÍÓÖŐÚÜŰ\\s]*$/i,\r\n pl: /^[A-ZĄĆĘŚŁŃÓŻŹ\\s]*$/i,\r\n pt: /^[A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ\\s]*$/i,\r\n ro: /^[A-ZĂÂÎŞŢ\\s]*$/i,\r\n ru: /^[А-ЯЁ\\s]*$/i,\r\n sk: /^[A-ZÁÄČĎÉÍĹĽŇÓŔŠŤÚÝŽ\\s]*$/i,\r\n sr: /^[A-ZČĆŽŠĐ\\s]*$/i,\r\n sv: /^[A-ZÅÄÖ\\s]*$/i,\r\n tr: /^[A-ZÇĞİıÖŞÜ\\s]*$/i,\r\n uk: /^[А-ЩЬЮЯЄІЇҐ\\s]*$/i,\r\n ar: /^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ\\s]*$/,\r\n az: /^[A-ZÇƏĞİıÖŞÜ\\s]*$/i,\r\n el: /^[Α-ώ\\s]*$/i,\r\n ja: /^[A-Z\\u3000-\\u303F\\u3040-\\u309F\\u30A0-\\u30FF\\uFF00-\\uFFEF\\u4E00-\\u9FAF\\s]*$/i,\r\n he: /^[A-Z\\u05D0-\\u05EA'\\s]*$/i\r\n};\r\nvar alphanumeric = {\r\n en: /^[0-9A-Z]*$/i,\r\n cs: /^[0-9A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]*$/i,\r\n da: /^[0-9A-ZÆØÅ]$/i,\r\n de: /^[0-9A-ZÄÖÜß]*$/i,\r\n es: /^[0-9A-ZÁÉÍÑÓÚÜ]*$/i,\r\n fa: /^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰپژگچکی]*$/,\r\n fr: /^[0-9A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]*$/i,\r\n it: /^[0-9A-Z\\xC0-\\xFF]*$/i,\r\n lt: /^[0-9A-ZĄČĘĖĮŠŲŪŽ]*$/i,\r\n hu: /^[0-9A-ZÁÉÍÓÖŐÚÜŰ]*$/i,\r\n nl: /^[0-9A-ZÉËÏÓÖÜ]*$/i,\r\n pl: /^[0-9A-ZĄĆĘŚŁŃÓŻŹ]*$/i,\r\n pt: /^[0-9A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ]*$/i,\r\n ro: /^[0-9A-ZĂÂÎŞŢ]*$/i,\r\n ru: /^[0-9А-ЯЁ]*$/i,\r\n sk: /^[0-9A-ZÁÄČĎÉÍĹĽŇÓŔŠŤÚÝŽ]*$/i,\r\n sr: /^[0-9A-ZČĆŽŠĐ]*$/i,\r\n sv: /^[0-9A-ZÅÄÖ]*$/i,\r\n tr: /^[0-9A-ZÇĞİıÖŞÜ]*$/i,\r\n uk: /^[0-9А-ЩЬЮЯЄІЇҐ]*$/i,\r\n ar: /^[٠١٢٣٤٥٦٧٨٩0-9ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]*$/,\r\n az: /^[0-9A-ZÇƏĞİıÖŞÜ]*$/i,\r\n el: /^[0-9Α-ώ]*$/i,\r\n ja: /^[0-9A-Z\\u3000-\\u303F\\u3040-\\u309F\\u30A0-\\u30FF\\uFF00-\\uFFEF\\u4E00-\\u9FAF]*$/i,\r\n he: /^[0-9A-Z\\u05D0-\\u05EA']*$/i\r\n};\r\nvar alphaDash = {\r\n en: /^[0-9A-Z_-]*$/i,\r\n cs: /^[0-9A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ_-]*$/i,\r\n da: /^[0-9A-ZÆØÅ_-]*$/i,\r\n de: /^[0-9A-ZÄÖÜß_-]*$/i,\r\n es: /^[0-9A-ZÁÉÍÑÓÚÜ_-]*$/i,\r\n fa: /^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰپژگچکی]*$/,\r\n fr: /^[0-9A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ_-]*$/i,\r\n it: /^[0-9A-Z\\xC0-\\xFF_-]*$/i,\r\n lt: /^[0-9A-ZĄČĘĖĮŠŲŪŽ_-]*$/i,\r\n nl: /^[0-9A-ZÉËÏÓÖÜ_-]*$/i,\r\n hu: /^[0-9A-ZÁÉÍÓÖŐÚÜŰ_-]*$/i,\r\n pl: /^[0-9A-ZĄĆĘŚŁŃÓŻŹ_-]*$/i,\r\n pt: /^[0-9A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ_-]*$/i,\r\n ro: /^[0-9A-ZĂÂÎŞŢ_-]*$/i,\r\n ru: /^[0-9А-ЯЁ_-]*$/i,\r\n sk: /^[0-9A-ZÁÄČĎÉÍĹĽŇÓŔŠŤÚÝŽ_-]*$/i,\r\n sr: /^[0-9A-ZČĆŽŠĐ_-]*$/i,\r\n sv: /^[0-9A-ZÅÄÖ_-]*$/i,\r\n tr: /^[0-9A-ZÇĞİıÖŞÜ_-]*$/i,\r\n uk: /^[0-9А-ЩЬЮЯЄІЇҐ_-]*$/i,\r\n ar: /^[٠١٢٣٤٥٦٧٨٩0-9ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ_-]*$/,\r\n az: /^[0-9A-ZÇƏĞİıÖŞÜ_-]*$/i,\r\n el: /^[0-9Α-ώ_-]*$/i,\r\n ja: /^[0-9A-Z\\u3000-\\u303F\\u3040-\\u309F\\u30A0-\\u30FF\\uFF00-\\uFFEF\\u4E00-\\u9FAF_-]*$/i,\r\n he: /^[0-9A-Z\\u05D0-\\u05EA'_-]*$/i\r\n};\n\nvar validate$r = function (value, _a) {\r\n var _b = (_a === void 0 ? {} : _a).locale, locale = _b === void 0 ? '' : _b;\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return validate$r(val, { locale: locale }); });\r\n }\r\n // Match at least one locale.\r\n if (!locale) {\r\n return Object.keys(alpha$1).some(function (loc) { return alpha$1[loc].test(value); });\r\n }\r\n return (alpha$1[locale] || alpha$1.en).test(value);\r\n};\r\nvar params$k = [\r\n {\r\n name: 'locale'\r\n }\r\n];\r\nvar alpha = {\r\n validate: validate$r,\r\n params: params$k\r\n};\n\nvar validate$q = function (value, _a) {\r\n var _b = (_a === void 0 ? {} : _a).locale, locale = _b === void 0 ? '' : _b;\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return validate$q(val, { locale: locale }); });\r\n }\r\n // Match at least one locale.\r\n if (!locale) {\r\n return Object.keys(alphaDash).some(function (loc) { return alphaDash[loc].test(value); });\r\n }\r\n return (alphaDash[locale] || alphaDash.en).test(value);\r\n};\r\nvar params$j = [\r\n {\r\n name: 'locale'\r\n }\r\n];\r\nvar alpha_dash = {\r\n validate: validate$q,\r\n params: params$j\r\n};\n\nvar validate$p = function (value, _a) {\r\n var _b = (_a === void 0 ? {} : _a).locale, locale = _b === void 0 ? '' : _b;\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return validate$p(val, { locale: locale }); });\r\n }\r\n // Match at least one locale.\r\n if (!locale) {\r\n return Object.keys(alphanumeric).some(function (loc) { return alphanumeric[loc].test(value); });\r\n }\r\n return (alphanumeric[locale] || alphanumeric.en).test(value);\r\n};\r\nvar params$i = [\r\n {\r\n name: 'locale'\r\n }\r\n];\r\nvar alpha_num = {\r\n validate: validate$p,\r\n params: params$i\r\n};\n\nvar validate$o = function (value, _a) {\r\n var _b = (_a === void 0 ? {} : _a).locale, locale = _b === void 0 ? '' : _b;\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return validate$o(val, { locale: locale }); });\r\n }\r\n // Match at least one locale.\r\n if (!locale) {\r\n return Object.keys(alphaSpaces).some(function (loc) { return alphaSpaces[loc].test(value); });\r\n }\r\n return (alphaSpaces[locale] || alphaSpaces.en).test(value);\r\n};\r\nvar params$h = [\r\n {\r\n name: 'locale'\r\n }\r\n];\r\nvar alpha_spaces = {\r\n validate: validate$o,\r\n params: params$h\r\n};\n\nvar validate$n = function (value, _a) {\r\n var _b = _a === void 0 ? {} : _a, min = _b.min, max = _b.max;\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return !!validate$n(val, { min: min, max: max }); });\r\n }\r\n return Number(min) <= value && Number(max) >= value;\r\n};\r\nvar params$g = [\r\n {\r\n name: 'min'\r\n },\r\n {\r\n name: 'max'\r\n }\r\n];\r\nvar between = {\r\n validate: validate$n,\r\n params: params$g\r\n};\n\nvar validate$m = function (value, _a) {\r\n var target = _a.target;\r\n return String(value) === String(target);\r\n};\r\nvar params$f = [\r\n {\r\n name: 'target',\r\n isTarget: true\r\n }\r\n];\r\nvar confirmed = {\r\n validate: validate$m,\r\n params: params$f\r\n};\n\nvar validate$l = function (value, _a) {\r\n var length = _a.length;\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return validate$l(val, { length: length }); });\r\n }\r\n var strVal = String(value);\r\n return /^[0-9]*$/.test(strVal) && strVal.length === length;\r\n};\r\nvar params$e = [\r\n {\r\n name: 'length',\r\n cast: function (value) {\r\n return Number(value);\r\n }\r\n }\r\n];\r\nvar digits = {\r\n validate: validate$l,\r\n params: params$e\r\n};\n\nvar validateImage = function (file, width, height) {\r\n var URL = window.URL || window.webkitURL;\r\n return new Promise(function (resolve) {\r\n var image = new Image();\r\n image.onerror = function () { return resolve(false); };\r\n image.onload = function () { return resolve(image.width === width && image.height === height); };\r\n image.src = URL.createObjectURL(file);\r\n });\r\n};\r\nvar validate$k = function (files, _a) {\r\n var width = _a.width, height = _a.height;\r\n var list = [];\r\n files = Array.isArray(files) ? files : [files];\r\n for (var i = 0; i < files.length; i++) {\r\n // if file is not an image, reject.\r\n if (!/\\.(jpg|svg|jpeg|png|bmp|gif)$/i.test(files[i].name)) {\r\n return Promise.resolve(false);\r\n }\r\n list.push(files[i]);\r\n }\r\n return Promise.all(list.map(function (file) { return validateImage(file, width, height); })).then(function (values) {\r\n return values.every(function (v) { return v; });\r\n });\r\n};\r\nvar params$d = [\r\n {\r\n name: 'width',\r\n cast: function (value) {\r\n return Number(value);\r\n }\r\n },\r\n {\r\n name: 'height',\r\n cast: function (value) {\r\n return Number(value);\r\n }\r\n }\r\n];\r\nvar dimensions = {\r\n validate: validate$k,\r\n params: params$d\r\n};\n\nvar validate$j = function (value, _a) {\r\n var multiple = (_a === void 0 ? {} : _a).multiple;\r\n // eslint-disable-next-line\r\n var re = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n if (multiple && !Array.isArray(value)) {\r\n value = String(value)\r\n .split(',')\r\n .map(function (emailStr) { return emailStr.trim(); });\r\n }\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return re.test(String(val)); });\r\n }\r\n return re.test(String(value));\r\n};\r\nvar params$c = [\r\n {\r\n name: 'multiple',\r\n default: false\r\n }\r\n];\r\nvar email = {\r\n validate: validate$j,\r\n params: params$c\r\n};\n\nfunction isNullOrUndefined(value) {\r\n return value === null || value === undefined;\r\n}\r\nfunction isEmptyArray(arr) {\r\n return Array.isArray(arr) && arr.length === 0;\r\n}\r\n// eslint-disable-next-line @typescript-eslint/ban-types\r\nfunction isCallable(fn) {\r\n return typeof fn === 'function';\r\n}\n\nfunction includes(collection, item) {\r\n return collection.indexOf(item) !== -1;\r\n}\r\n/**\r\n * Converts an array-like object to array, provides a simple polyfill for Array.from\r\n */\r\nfunction toArray(arrayLike) {\r\n if (isCallable(Array.from)) {\r\n return Array.from(arrayLike);\r\n }\r\n /* istanbul ignore next */\r\n return _copyArray(arrayLike);\r\n}\r\n/* istanbul ignore next */\r\nfunction _copyArray(arrayLike) {\r\n var array = [];\r\n var length = arrayLike.length;\r\n for (var i = 0; i < length; i++) {\r\n array.push(arrayLike[i]);\r\n }\r\n return array;\r\n}\n\nvar validate$i = function (value, options) {\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return validate$i(val, options); });\r\n }\r\n return toArray(options).some(function (item) {\r\n // eslint-disable-next-line\r\n return item == value;\r\n });\r\n};\r\nvar oneOf = {\r\n validate: validate$i\r\n};\n\nvar validate$h = function (value, args) {\r\n return !validate$i(value, args);\r\n};\r\nvar excluded = {\r\n validate: validate$h\r\n};\n\nvar validate$g = function (files, extensions) {\r\n var regex = new RegExp(\".(\" + extensions.join('|') + \")$\", 'i');\r\n if (Array.isArray(files)) {\r\n return files.every(function (file) { return regex.test(file.name); });\r\n }\r\n return regex.test(files.name);\r\n};\r\nvar ext = {\r\n validate: validate$g\r\n};\n\nvar validate$f = function (files) {\r\n var regex = /\\.(jpg|svg|jpeg|png|bmp|gif|webp)$/i;\r\n if (Array.isArray(files)) {\r\n return files.every(function (file) { return regex.test(file.name); });\r\n }\r\n return regex.test(files.name);\r\n};\r\nvar image = {\r\n validate: validate$f\r\n};\n\nvar validate$e = function (value) {\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return /^-?[0-9]+$/.test(String(val)); });\r\n }\r\n return /^-?[0-9]+$/.test(String(value));\r\n};\r\nvar integer = {\r\n validate: validate$e\r\n};\n\nvar validate$d = function (value, _a) {\r\n var other = _a.other;\r\n return value === other;\r\n};\r\nvar params$b = [\r\n {\r\n name: 'other'\r\n }\r\n];\r\nvar is = {\r\n validate: validate$d,\r\n params: params$b\r\n};\n\nvar validate$c = function (value, _a) {\r\n var other = _a.other;\r\n return value !== other;\r\n};\r\nvar params$a = [\r\n {\r\n name: 'other'\r\n }\r\n];\r\nvar is_not = {\r\n validate: validate$c,\r\n params: params$a\r\n};\n\nvar validate$b = function (value, _a) {\r\n var length = _a.length;\r\n if (isNullOrUndefined(value)) {\r\n return false;\r\n }\r\n if (typeof value === 'string') {\r\n value = toArray(value);\r\n }\r\n if (typeof value === 'number') {\r\n value = String(value);\r\n }\r\n if (!value.length) {\r\n value = toArray(value);\r\n }\r\n return value.length === length;\r\n};\r\nvar params$9 = [\r\n {\r\n name: 'length',\r\n cast: function (value) { return Number(value); }\r\n }\r\n];\r\nvar length = {\r\n validate: validate$b,\r\n params: params$9\r\n};\n\nvar validate$a = function (value, _a) {\r\n var length = _a.length;\r\n if (isNullOrUndefined(value)) {\r\n return length >= 0;\r\n }\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return validate$a(val, { length: length }); });\r\n }\r\n return String(value).length <= length;\r\n};\r\nvar params$8 = [\r\n {\r\n name: 'length',\r\n cast: function (value) {\r\n return Number(value);\r\n }\r\n }\r\n];\r\nvar max = {\r\n validate: validate$a,\r\n params: params$8\r\n};\n\nvar validate$9 = function (value, _a) {\r\n var max = _a.max;\r\n if (isNullOrUndefined(value) || value === '') {\r\n return false;\r\n }\r\n if (Array.isArray(value)) {\r\n return value.length > 0 && value.every(function (val) { return validate$9(val, { max: max }); });\r\n }\r\n return Number(value) <= max;\r\n};\r\nvar params$7 = [\r\n {\r\n name: 'max',\r\n cast: function (value) {\r\n return Number(value);\r\n }\r\n }\r\n];\r\nvar max_value = {\r\n validate: validate$9,\r\n params: params$7\r\n};\n\nvar validate$8 = function (files, mimes) {\r\n var regex = new RegExp(mimes.join('|').replace('*', '.+') + \"$\", 'i');\r\n if (Array.isArray(files)) {\r\n return files.every(function (file) { return regex.test(file.type); });\r\n }\r\n return regex.test(files.type);\r\n};\r\nvar mimes = {\r\n validate: validate$8\r\n};\n\nvar validate$7 = function (value, _a) {\r\n var length = _a.length;\r\n if (isNullOrUndefined(value)) {\r\n return false;\r\n }\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return validate$7(val, { length: length }); });\r\n }\r\n return String(value).length >= length;\r\n};\r\nvar params$6 = [\r\n {\r\n name: 'length',\r\n cast: function (value) {\r\n return Number(value);\r\n }\r\n }\r\n];\r\nvar min = {\r\n validate: validate$7,\r\n params: params$6\r\n};\n\nvar validate$6 = function (value, _a) {\r\n var min = _a.min;\r\n if (isNullOrUndefined(value) || value === '') {\r\n return false;\r\n }\r\n if (Array.isArray(value)) {\r\n return value.length > 0 && value.every(function (val) { return validate$6(val, { min: min }); });\r\n }\r\n return Number(value) >= min;\r\n};\r\nvar params$5 = [\r\n {\r\n name: 'min',\r\n cast: function (value) {\r\n return Number(value);\r\n }\r\n }\r\n];\r\nvar min_value = {\r\n validate: validate$6,\r\n params: params$5\r\n};\n\nvar ar = /^[٠١٢٣٤٥٦٧٨٩]+$/;\r\nvar en = /^[0-9]+$/;\r\nvar validate$5 = function (value) {\r\n var testValue = function (val) {\r\n var strValue = String(val);\r\n return en.test(strValue) || ar.test(strValue);\r\n };\r\n if (Array.isArray(value)) {\r\n return value.every(testValue);\r\n }\r\n return testValue(value);\r\n};\r\nvar numeric = {\r\n validate: validate$5\r\n};\n\nvar validate$4 = function (value, _a) {\r\n var regex = _a.regex;\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return validate$4(val, { regex: regex }); });\r\n }\r\n return regex.test(String(value));\r\n};\r\nvar params$4 = [\r\n {\r\n name: 'regex',\r\n cast: function (value) {\r\n if (typeof value === 'string') {\r\n return new RegExp(value);\r\n }\r\n return value;\r\n }\r\n }\r\n];\r\nvar regex = {\r\n validate: validate$4,\r\n params: params$4\r\n};\n\nvar validate$3 = function (value, _a) {\r\n var allowFalse = (_a === void 0 ? { allowFalse: true } : _a).allowFalse;\r\n var result = {\r\n valid: false,\r\n required: true\r\n };\r\n if (isNullOrUndefined(value) || isEmptyArray(value)) {\r\n return result;\r\n }\r\n // incase a field considers `false` as an empty value like checkboxes.\r\n if (value === false && !allowFalse) {\r\n return result;\r\n }\r\n result.valid = !!String(value).trim().length;\r\n return result;\r\n};\r\nvar computesRequired$1 = true;\r\nvar params$3 = [\r\n {\r\n name: 'allowFalse',\r\n default: true\r\n }\r\n];\r\nvar required = {\r\n validate: validate$3,\r\n params: params$3,\r\n computesRequired: computesRequired$1\r\n};\n\nvar testEmpty = function (value) {\r\n return isEmptyArray(value) || includes([false, null, undefined], value) || !String(value).trim().length;\r\n};\r\nvar validate$2 = function (value, _a) {\r\n var target = _a.target, values = _a.values;\r\n var required;\r\n if (values && values.length) {\r\n if (!Array.isArray(values) && typeof values === 'string') {\r\n values = [values];\r\n }\r\n // eslint-disable-next-line\r\n required = values.some(function (val) { return val == String(target).trim(); });\r\n }\r\n else {\r\n required = !testEmpty(target);\r\n }\r\n if (!required) {\r\n return {\r\n valid: true,\r\n required: required\r\n };\r\n }\r\n return {\r\n valid: !testEmpty(value),\r\n required: required\r\n };\r\n};\r\nvar params$2 = [\r\n {\r\n name: 'target',\r\n isTarget: true\r\n },\r\n {\r\n name: 'values'\r\n }\r\n];\r\nvar computesRequired = true;\r\nvar required_if = {\r\n validate: validate$2,\r\n params: params$2,\r\n computesRequired: computesRequired\r\n};\n\nvar validate$1 = function (files, _a) {\r\n var size = _a.size;\r\n if (isNaN(size)) {\r\n return false;\r\n }\r\n var nSize = size * 1024;\r\n if (!Array.isArray(files)) {\r\n return files.size <= nSize;\r\n }\r\n for (var i = 0; i < files.length; i++) {\r\n if (files[i].size > nSize) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n};\r\nvar params$1 = [\r\n {\r\n name: 'size',\r\n cast: function (value) {\r\n return Number(value);\r\n }\r\n }\r\n];\r\nvar size = {\r\n validate: validate$1,\r\n params: params$1\r\n};\n\nvar validate = function (value, params) {\r\n var _a = params || {}, _b = _a.decimals, decimals = _b === void 0 ? 0 : _b, _c = _a.separator, separator = _c === void 0 ? 'dot' : _c;\r\n var delimiterRegexPart = separator === 'comma' ? ',?' : '\\\\.?';\r\n var decimalRegexPart = decimals === 0 ? '\\\\d*' : \"(\\\\d{\" + decimals + \"})?\";\r\n var regex = new RegExp(\"^-?\\\\d+\" + delimiterRegexPart + decimalRegexPart + \"$\");\r\n return Array.isArray(value) ? value.every(function (val) { return regex.test(String(val)); }) : regex.test(String(value));\r\n};\r\nvar params = [\r\n {\r\n name: 'decimals',\r\n default: 0\r\n },\r\n {\r\n name: 'separator',\r\n default: 'dot'\r\n }\r\n];\r\nvar double = {\r\n validate: validate,\r\n params: params\r\n};\n\nexport { alpha, alpha_dash, alpha_num, alpha_spaces, between, confirmed, digits, dimensions, double, email, excluded, ext, image, integer, is, is_not, length, max, max_value, mimes, min, min_value, numeric, oneOf, regex, required, required_if, size };\n","// import { extend, localize } from \"vee-validate\";\r\nimport { extend, localize } from \"vee-validate/dist/vee-validate.esm.js\";\r\nimport { min, required, email, max } from \"vee-validate/dist/rules\";\r\nimport en from \"vee-validate/dist/locale/en.json\";\r\n\r\n// install rules\r\nextend(\"required\", required);\r\nextend(\"min\", min);\r\nextend(\"max\", max);\r\nextend(\"email\", email);\r\nextend(\"select\", {\r\n validate(value: number, { min = 1 }: any) {\r\n return value >= Number(min);\r\n },\r\n params: [\"min\"],\r\n message: \"This {_field_} field is required\"\r\n});\r\n\r\nextend(\"phone\", {\r\n validate(value: string) {\r\n var regex = /^\\(?([0-9]{3})\\)?[- ]?([0-9]{3})[- ]?([0-9]{4})$/;\r\n return regex.test(value);\r\n },\r\n message: \"This {_field_} field is not a valid phone number\"\r\n});\r\n\r\nextend(\"domainmail\", {\r\n validate(value: string) {\r\n var regex = /^[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9](?:\\.[a-zA-Z]{2,})+$/;\r\n var result = regex.test(value);\r\n if (!result) {\r\n regex = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,4}$/;\r\n result = regex.test(value);\r\n }\r\n return result;\r\n },\r\n message: \"This {_field_} field is not a valid domain or mail\"\r\n});\r\n\r\n// install messages\r\nlocalize({\r\n en\r\n});\r\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('b-form-group',{class:_vm.formClass},[_vm._t(\"label\",function(){return [_c('legend',[_vm._v(\" \"+_vm._s(_vm.label)+\" \"),(_vm.isRequired)?_c('label',{staticStyle:{\"color\":\"red\"}},[_vm._v(\"*\")]):_vm._e()])]}),_c('ValidationProvider',{attrs:{\"name\":_vm.name,\"rules\":_vm.rules,\"immediate\":_vm.immediate,\"tag\":\"p\",\"slim\":\"\"}},[_c('b-form-input',{ref:_vm.name,attrs:{\"id\":_vm.id,\"name\":_vm.name,\"type\":_vm.type,\"placeholder\":_vm.placeholder,\"value\":_vm.value,\"autocomplete\":_vm.name},on:{\"input\":_vm.updateValue,\"focus\":function($event){_vm.hasFocus = true},\"blur\":function($event){_vm.hasFocus = false}}})],1)],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n import { Vue, Prop, Component, Emit } from \"vue-property-decorator\";\r\n import { ValidationProvider } from \"vee-validate/dist/vee-validate.esm.js\";\r\n\r\n @Component({\r\n name: \"FormInput\",\r\n components: { ValidationProvider }\r\n })\r\n export default class FormInput extends Vue {\r\n @Prop({ default: \"\" }) name!: string;\r\n @Prop({ default: \"\" }) id!: string;\r\n @Prop({ default: false }) disabled!: boolean;\r\n @Prop() rules!: any;\r\n @Prop({\r\n default: false\r\n })\r\n immediate!: boolean;\r\n @Prop({\r\n default: \"text\",\r\n validator: (val:string) => {\r\n return (\r\n [\"text\", \"url\", \"email\", \"password\", \"search\"].indexOf(val) !== -1\r\n );\r\n }\r\n })\r\n type!: string;\r\n\r\n @Prop() value!: string;\r\n @Prop({ default: \"\" }) label!: string;\r\n @Prop({ default: \"\" }) placeholder!: string;\r\n @Prop({ default: \"w-100\" }) formClass!: string;\r\n\r\n @Emit(\"input\")\r\n onInputChange(value: string) {\r\n // nothing\r\n }\r\n\r\n hasFocus: boolean = false;\r\n autofilled: boolean = false;\r\n\r\n get errorFeedbackId() {\r\n return `${this.id}-feedback`;\r\n }\r\n\r\n updateValue(value: string) {\r\n this.onInputChange(value);\r\n }\r\n\r\n get isRequired() {\r\n return this.rules.toString().includes(\"required\");\r\n }\r\n\r\n focus() {\r\n (this.$refs[this.name] as any).focus();\r\n }\r\n }\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/bootstrap-vue-loader/lib/loader.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormInput.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/bootstrap-vue-loader/lib/loader.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormInput.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./FormInput.vue?vue&type=template&id=3c3982a8\"\nimport script from \"./FormInput.vue?vue&type=script&lang=ts\"\nexport * from \"./FormInput.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\n\n import installComponents from \"!F:/TFSAgents/TFS02-Build-01/_work/61/s/VetQuest.Backend/VetQuest.Web/client-app/node_modules/bootstrap-vue-loader/lib/runtime/installComponents.js\"\n import {BFormInput, BFormGroup} from 'bootstrap-vue'\n installComponents(component, {BFormInput, BFormGroup})\n \n\nexport default component.exports","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 { extend, 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__*/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 { extend, 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__*/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 { extend, 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__*/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 { extend, 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__*/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); 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 = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : 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 `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 // 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 // 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};"],"sourceRoot":""}