{"version":3,"file":"js/chunk-vendors-c8084543.9e458e09.js","mappings":"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","sources":["webpack://frog/./node_modules/bootstrap-vue/esm/components/time/index.js","webpack://frog/./node_modules/bootstrap-vue/esm/components/time/time.js","webpack://frog/./node_modules/bootstrap-vue/esm/components/tabs/tabs.js","webpack://frog/./node_modules/bootstrap-vue/esm/components/tabs/tab.js","webpack://frog/./node_modules/bootstrap-vue/esm/components/tabs/index.js"],"sourcesContent":["import { BTime } from './time';\nimport { pluginFactory } from '../../utils/plugins';\nvar TimePlugin = /*#__PURE__*/pluginFactory({\n components: {\n BTime: BTime\n }\n});\nexport { TimePlugin, BTime };","var _watch;\n\nfunction 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\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n// BTime control (not form input control)\nimport { extend, REF_FOR_KEY } from '../../vue';\nimport { NAME_TIME } from '../../constants/components';\nimport { EVENT_NAME_CONTEXT } from '../../constants/events';\nimport { CODE_LEFT, CODE_RIGHT } from '../../constants/key-codes';\nimport { PROP_TYPE_ARRAY_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { RX_TIME } from '../../constants/regex';\nimport { concat } from '../../utils/array';\nimport { createDate, createDateFormatter } from '../../utils/date';\nimport { attemptBlur, attemptFocus, contains, getActiveElement, requestAF } from '../../utils/dom';\nimport { stopEvent } from '../../utils/events';\nimport { identity } from '../../utils/identity';\nimport { isNull, isUndefinedOrNull } from '../../utils/inspect';\nimport { looseEqual } from '../../utils/loose-equal';\nimport { isLocaleRTL } from '../../utils/locale';\nimport { makeModelMixin } from '../../utils/model';\nimport { toInteger } from '../../utils/number';\nimport { pick, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { toString } from '../../utils/string';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BFormSpinbutton, props as BFormSpinbuttonProps } from '../form-spinbutton/form-spinbutton';\nimport { BIconCircleFill, BIconChevronUp } from '../../icons/icons'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('value', {\n type: PROP_TYPE_STRING,\n defaultValue: ''\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event;\n\nvar NUMERIC = 'numeric'; // --- Helper methods ---\n\nvar padLeftZeros = function padLeftZeros(value) {\n return \"00\".concat(value || '').slice(-2);\n};\n\nvar parseHMS = function parseHMS(value) {\n value = toString(value);\n var hh = null,\n mm = null,\n ss = null;\n\n if (RX_TIME.test(value)) {\n ;\n\n var _value$split$map = value.split(':').map(function (v) {\n return toInteger(v, null);\n });\n\n var _value$split$map2 = _slicedToArray(_value$split$map, 3);\n\n hh = _value$split$map2[0];\n mm = _value$split$map2[1];\n ss = _value$split$map2[2];\n }\n\n return {\n hours: isUndefinedOrNull(hh) ? null : hh,\n minutes: isUndefinedOrNull(mm) ? null : mm,\n seconds: isUndefinedOrNull(ss) ? null : ss,\n ampm: isUndefinedOrNull(hh) || hh < 12 ? 0 : 1\n };\n};\n\nvar formatHMS = function formatHMS(_ref) {\n var hours = _ref.hours,\n minutes = _ref.minutes,\n seconds = _ref.seconds;\n var requireSeconds = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (isNull(hours) || isNull(minutes) || requireSeconds && isNull(seconds)) {\n return '';\n }\n\n var hms = [hours, minutes, requireSeconds ? seconds : 0];\n return hms.map(padLeftZeros).join(':');\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), modelProps), pick(BFormSpinbuttonProps, ['labelIncrement', 'labelDecrement'])), {}, {\n // ID of label element\n ariaLabelledby: makeProp(PROP_TYPE_STRING),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n footerTag: makeProp(PROP_TYPE_STRING, 'footer'),\n headerTag: makeProp(PROP_TYPE_STRING, 'header'),\n hidden: makeProp(PROP_TYPE_BOOLEAN, false),\n hideHeader: makeProp(PROP_TYPE_BOOLEAN, false),\n // Explicitly force 12 or 24 hour time\n // Default is to use resolved locale for 12/24 hour display\n // Tri-state: `true` = 12, `false` = 24, `null` = auto\n hour12: makeProp(PROP_TYPE_BOOLEAN, null),\n labelAm: makeProp(PROP_TYPE_STRING, 'AM'),\n labelAmpm: makeProp(PROP_TYPE_STRING, 'AM/PM'),\n labelHours: makeProp(PROP_TYPE_STRING, 'Hours'),\n labelMinutes: makeProp(PROP_TYPE_STRING, 'Minutes'),\n labelNoTimeSelected: makeProp(PROP_TYPE_STRING, 'No time selected'),\n labelPm: makeProp(PROP_TYPE_STRING, 'PM'),\n labelSeconds: makeProp(PROP_TYPE_STRING, 'Seconds'),\n labelSelected: makeProp(PROP_TYPE_STRING, 'Selected time'),\n locale: makeProp(PROP_TYPE_ARRAY_STRING),\n minutesStep: makeProp(PROP_TYPE_NUMBER_STRING, 1),\n readonly: makeProp(PROP_TYPE_BOOLEAN, false),\n secondsStep: makeProp(PROP_TYPE_NUMBER_STRING, 1),\n // If `true`, show the second spinbutton\n showSeconds: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_TIME); // --- Main component ---\n// @vue/component\n\nexport var BTime = /*#__PURE__*/extend({\n name: NAME_TIME,\n mixins: [idMixin, modelMixin, normalizeSlotMixin],\n props: props,\n data: function data() {\n var parsed = parseHMS(this[MODEL_PROP_NAME] || '');\n return {\n // Spin button models\n modelHours: parsed.hours,\n modelMinutes: parsed.minutes,\n modelSeconds: parsed.seconds,\n modelAmpm: parsed.ampm,\n // Internal flag to enable aria-live regions\n isLive: false\n };\n },\n computed: {\n computedHMS: function computedHMS() {\n var hours = this.modelHours;\n var minutes = this.modelMinutes;\n var seconds = this.modelSeconds;\n return formatHMS({\n hours: hours,\n minutes: minutes,\n seconds: seconds\n }, this.showSeconds);\n },\n resolvedOptions: function resolvedOptions() {\n // Resolved locale options\n var locale = concat(this.locale).filter(identity);\n var options = {\n hour: NUMERIC,\n minute: NUMERIC,\n second: NUMERIC\n };\n\n if (!isUndefinedOrNull(this.hour12)) {\n // Force 12 or 24 hour clock\n options.hour12 = !!this.hour12;\n }\n\n var dtf = new Intl.DateTimeFormat(locale, options);\n var resolved = dtf.resolvedOptions();\n var hour12 = resolved.hour12 || false; // IE 11 doesn't resolve the hourCycle, so we make\n // an assumption and fall back to common values\n\n var hourCycle = resolved.hourCycle || (hour12 ? 'h12' : 'h23');\n return {\n locale: resolved.locale,\n hour12: hour12,\n hourCycle: hourCycle\n };\n },\n computedLocale: function computedLocale() {\n return this.resolvedOptions.locale;\n },\n computedLang: function computedLang() {\n return (this.computedLocale || '').replace(/-u-.*$/, '');\n },\n computedRTL: function computedRTL() {\n return isLocaleRTL(this.computedLang);\n },\n computedHourCycle: function computedHourCycle() {\n // h11, h12, h23, or h24\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Locale/hourCycle\n // h12 - Hour system using 1–12. Corresponds to 'h' in patterns. The 12 hour clock, with midnight starting at 12:00 am\n // h23 - Hour system using 0–23. Corresponds to 'H' in patterns. The 24 hour clock, with midnight starting at 0:00\n // h11 - Hour system using 0–11. Corresponds to 'K' in patterns. The 12 hour clock, with midnight starting at 0:00 am\n // h24 - Hour system using 1–24. Corresponds to 'k' in pattern. The 24 hour clock, with midnight starting at 24:00\n // For h12 or h24, we visually format 00 hours as 12\n return this.resolvedOptions.hourCycle;\n },\n is12Hour: function is12Hour() {\n return !!this.resolvedOptions.hour12;\n },\n context: function context() {\n return {\n locale: this.computedLocale,\n isRTL: this.computedRTL,\n hourCycle: this.computedHourCycle,\n hour12: this.is12Hour,\n hours: this.modelHours,\n minutes: this.modelMinutes,\n seconds: this.showSeconds ? this.modelSeconds : 0,\n value: this.computedHMS,\n formatted: this.formattedTimeString\n };\n },\n valueId: function valueId() {\n return this.safeId() || null;\n },\n computedAriaLabelledby: function computedAriaLabelledby() {\n return [this.ariaLabelledby, this.valueId].filter(identity).join(' ') || null;\n },\n timeFormatter: function timeFormatter() {\n // Returns a formatter function reference\n // The formatter converts the time to a localized string\n var options = {\n hour12: this.is12Hour,\n hourCycle: this.computedHourCycle,\n hour: NUMERIC,\n minute: NUMERIC,\n timeZone: 'UTC'\n };\n\n if (this.showSeconds) {\n options.second = NUMERIC;\n } // Formats the time as a localized string\n\n\n return createDateFormatter(this.computedLocale, options);\n },\n numberFormatter: function numberFormatter() {\n // Returns a formatter function reference\n // The formatter always formats as 2 digits and is localized\n var nf = new Intl.NumberFormat(this.computedLocale, {\n style: 'decimal',\n minimumIntegerDigits: 2,\n minimumFractionDigits: 0,\n maximumFractionDigits: 0,\n notation: 'standard'\n });\n return nf.format;\n },\n formattedTimeString: function formattedTimeString() {\n var hours = this.modelHours;\n var minutes = this.modelMinutes;\n var seconds = this.showSeconds ? this.modelSeconds || 0 : 0;\n\n if (this.computedHMS) {\n return this.timeFormatter(createDate(Date.UTC(0, 0, 1, hours, minutes, seconds)));\n }\n\n return this.labelNoTimeSelected || ' ';\n },\n spinScopedSlots: function spinScopedSlots() {\n var h = this.$createElement;\n return {\n increment: function increment(_ref2) {\n var hasFocus = _ref2.hasFocus;\n return h(BIconChevronUp, {\n props: {\n scale: hasFocus ? 1.5 : 1.25\n },\n attrs: {\n 'aria-hidden': 'true'\n }\n });\n },\n decrement: function decrement(_ref3) {\n var hasFocus = _ref3.hasFocus;\n return h(BIconChevronUp, {\n props: {\n flipV: true,\n scale: hasFocus ? 1.5 : 1.25\n },\n attrs: {\n 'aria-hidden': 'true'\n }\n });\n }\n };\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function (newValue, oldValue) {\n if (newValue !== oldValue && !looseEqual(parseHMS(newValue), parseHMS(this.computedHMS))) {\n var _parseHMS = parseHMS(newValue),\n hours = _parseHMS.hours,\n minutes = _parseHMS.minutes,\n seconds = _parseHMS.seconds,\n ampm = _parseHMS.ampm;\n\n this.modelHours = hours;\n this.modelMinutes = minutes;\n this.modelSeconds = seconds;\n this.modelAmpm = ampm;\n }\n }), _defineProperty(_watch, \"computedHMS\", function computedHMS(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.$emit(MODEL_EVENT_NAME, newValue);\n }\n }), _defineProperty(_watch, \"context\", function context(newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.$emit(EVENT_NAME_CONTEXT, newValue);\n }\n }), _defineProperty(_watch, \"modelAmpm\", function modelAmpm(newValue, oldValue) {\n var _this = this;\n\n if (newValue !== oldValue) {\n var hours = isNull(this.modelHours) ? 0 : this.modelHours;\n this.$nextTick(function () {\n if (newValue === 0 && hours > 11) {\n // Switched to AM\n _this.modelHours = hours - 12;\n } else if (newValue === 1 && hours < 12) {\n // Switched to PM\n _this.modelHours = hours + 12;\n }\n });\n }\n }), _defineProperty(_watch, \"modelHours\", function modelHours(newHours, oldHours) {\n if (newHours !== oldHours) {\n this.modelAmpm = newHours > 11 ? 1 : 0;\n }\n }), _watch),\n created: function created() {\n var _this2 = this;\n\n this.$nextTick(function () {\n _this2.$emit(EVENT_NAME_CONTEXT, _this2.context);\n });\n },\n mounted: function mounted() {\n this.setLive(true);\n },\n\n /* istanbul ignore next */\n activated: function activated() {\n this.setLive(true);\n },\n\n /* istanbul ignore next */\n deactivated: function deactivated() {\n this.setLive(false);\n },\n beforeDestroy: function beforeDestroy() {\n this.setLive(false);\n },\n methods: {\n // Public methods\n focus: function focus() {\n if (!this.disabled) {\n // We focus the first spin button\n attemptFocus(this.$refs.spinners[0]);\n }\n },\n blur: function blur() {\n if (!this.disabled) {\n var activeElement = getActiveElement();\n\n if (contains(this.$el, activeElement)) {\n attemptBlur(activeElement);\n }\n }\n },\n // Formatters for the spin buttons\n formatHours: function formatHours(hh) {\n var hourCycle = this.computedHourCycle; // We always store 0-23, but format based on h11/h12/h23/h24 formats\n\n hh = this.is12Hour && hh > 12 ? hh - 12 : hh; // Determine how 00:00 and 12:00 are shown\n\n hh = hh === 0 && hourCycle === 'h12' ? 12 : hh === 0 && hourCycle === 'h24' ?\n /* istanbul ignore next */\n 24 : hh === 12 && hourCycle === 'h11' ?\n /* istanbul ignore next */\n 0 : hh;\n return this.numberFormatter(hh);\n },\n formatMinutes: function formatMinutes(mm) {\n return this.numberFormatter(mm);\n },\n formatSeconds: function formatSeconds(ss) {\n return this.numberFormatter(ss);\n },\n formatAmpm: function formatAmpm(ampm) {\n // These should come from label props???\n // `ampm` should always be a value of `0` or `1`\n return ampm === 0 ? this.labelAm : ampm === 1 ? this.labelPm : '';\n },\n // Spinbutton on change handlers\n setHours: function setHours(value) {\n this.modelHours = value;\n },\n setMinutes: function setMinutes(value) {\n this.modelMinutes = value;\n },\n setSeconds: function setSeconds(value) {\n this.modelSeconds = value;\n },\n setAmpm: function setAmpm(value) {\n this.modelAmpm = value;\n },\n onSpinLeftRight: function onSpinLeftRight() {\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var type = event.type,\n keyCode = event.keyCode;\n\n if (!this.disabled && type === 'keydown' && (keyCode === CODE_LEFT || keyCode === CODE_RIGHT)) {\n stopEvent(event);\n var spinners = this.$refs.spinners || [];\n var index = spinners.map(function (cmp) {\n return !!cmp.hasFocus;\n }).indexOf(true);\n index = index + (keyCode === CODE_LEFT ? -1 : 1);\n index = index >= spinners.length ? 0 : index < 0 ? spinners.length - 1 : index;\n attemptFocus(spinners[index]);\n }\n },\n setLive: function setLive(on) {\n var _this3 = this;\n\n if (on) {\n this.$nextTick(function () {\n requestAF(function () {\n _this3.isLive = true;\n });\n });\n } else {\n this.isLive = false;\n }\n }\n },\n render: function render(h) {\n var _this4 = this;\n\n // If hidden, we just render a placeholder comment\n\n /* istanbul ignore if */\n if (this.hidden) {\n return h();\n }\n\n var disabled = this.disabled,\n readonly = this.readonly,\n locale = this.computedLocale,\n ariaLabelledby = this.computedAriaLabelledby,\n labelIncrement = this.labelIncrement,\n labelDecrement = this.labelDecrement,\n valueId = this.valueId,\n focusHandler = this.focus;\n var spinIds = []; // Helper method to render a spinbutton\n\n var makeSpinbutton = function makeSpinbutton(handler, key, classes) {\n var spinbuttonProps = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var id = _this4.safeId(\"_spinbutton_\".concat(key, \"_\")) || null;\n spinIds.push(id);\n return h(BFormSpinbutton, _defineProperty({\n class: classes,\n props: _objectSpread({\n id: id,\n placeholder: '--',\n vertical: true,\n required: true,\n disabled: disabled,\n readonly: readonly,\n locale: locale,\n labelIncrement: labelIncrement,\n labelDecrement: labelDecrement,\n wrap: true,\n ariaControls: valueId,\n min: 0\n }, spinbuttonProps),\n scopedSlots: _this4.spinScopedSlots,\n on: {\n // We use `change` event to minimize SR verbosity\n // As the spinbutton will announce each value change\n // and we don't want the formatted time to be announced\n // on each value input if repeat is happening\n change: handler\n },\n key: key,\n ref: 'spinners'\n }, REF_FOR_KEY, true));\n }; // Helper method to return a \"colon\" separator\n\n\n var makeColon = function makeColon() {\n return h('div', {\n staticClass: 'd-flex flex-column',\n class: {\n 'text-muted': disabled || readonly\n },\n attrs: {\n 'aria-hidden': 'true'\n }\n }, [h(BIconCircleFill, {\n props: {\n shiftV: 4,\n scale: 0.5\n }\n }), h(BIconCircleFill, {\n props: {\n shiftV: -4,\n scale: 0.5\n }\n })]);\n };\n\n var $spinners = []; // Hours\n\n $spinners.push(makeSpinbutton(this.setHours, 'hours', 'b-time-hours', {\n value: this.modelHours,\n max: 23,\n step: 1,\n formatterFn: this.formatHours,\n ariaLabel: this.labelHours\n })); // Spacer\n\n $spinners.push(makeColon()); // Minutes\n\n $spinners.push(makeSpinbutton(this.setMinutes, 'minutes', 'b-time-minutes', {\n value: this.modelMinutes,\n max: 59,\n step: this.minutesStep || 1,\n formatterFn: this.formatMinutes,\n ariaLabel: this.labelMinutes\n }));\n\n if (this.showSeconds) {\n // Spacer\n $spinners.push(makeColon()); // Seconds\n\n $spinners.push(makeSpinbutton(this.setSeconds, 'seconds', 'b-time-seconds', {\n value: this.modelSeconds,\n max: 59,\n step: this.secondsStep || 1,\n formatterFn: this.formatSeconds,\n ariaLabel: this.labelSeconds\n }));\n } // AM/PM ?\n // depends on client settings, shouldn't be rendered on server\n\n\n if (this.isLive && this.is12Hour) {\n // TODO:\n // If locale is RTL, unshift this instead of push?\n // And switch class `ml-2` to `mr-2`\n // Note some LTR locales (i.e. zh) also place AM/PM to the left\n $spinners.push(makeSpinbutton(this.setAmpm, 'ampm', 'b-time-ampm', {\n value: this.modelAmpm,\n max: 1,\n formatterFn: this.formatAmpm,\n ariaLabel: this.labelAmpm,\n // We set `required` as `false`, since this always has a value\n required: false\n }));\n } // Assemble spinners\n\n\n $spinners = h('div', {\n staticClass: 'd-flex align-items-center justify-content-center mx-auto',\n attrs: {\n role: 'group',\n tabindex: disabled || readonly ? null : '-1',\n 'aria-labelledby': ariaLabelledby\n },\n on: {\n keydown: this.onSpinLeftRight,\n click:\n /* istanbul ignore next */\n function click(event) {\n if (event.target === event.currentTarget) {\n focusHandler();\n }\n }\n }\n }, $spinners); // Selected type display\n\n var $value = h('output', {\n staticClass: 'form-control form-control-sm text-center',\n class: {\n disabled: disabled || readonly\n },\n attrs: {\n id: valueId,\n role: 'status',\n for: spinIds.filter(identity).join(' ') || null,\n tabindex: disabled ? null : '-1',\n 'aria-live': this.isLive ? 'polite' : 'off',\n 'aria-atomic': 'true'\n },\n on: {\n // Transfer focus/click to focus hours spinner\n click: focusHandler,\n focus: focusHandler\n }\n }, [h('bdi', this.formattedTimeString), this.computedHMS ? h('span', {\n staticClass: 'sr-only'\n }, \" (\".concat(this.labelSelected, \") \")) : '']);\n var $header = h(this.headerTag, {\n staticClass: 'b-time-header',\n class: {\n 'sr-only': this.hideHeader\n }\n }, [$value]);\n var $content = this.normalizeSlot();\n var $footer = $content ? h(this.footerTag, {\n staticClass: 'b-time-footer'\n }, $content) : h();\n return h('div', {\n staticClass: 'b-time d-inline-flex flex-column text-center',\n attrs: {\n role: 'group',\n lang: this.computedLang || null,\n 'aria-labelledby': ariaLabelledby || null,\n 'aria-disabled': disabled ? 'true' : null,\n 'aria-readonly': readonly && !disabled ? 'true' : null\n }\n }, [$header, $spinners, $footer]);\n }\n});","var _watch;\n\nfunction 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 { COMPONENT_UID_KEY, REF_FOR_KEY, extend } from '../../vue';\nimport { NAME_TABS, NAME_TAB_BUTTON_HELPER } from '../../constants/components';\nimport { IS_BROWSER } from '../../constants/env';\nimport { EVENT_NAME_ACTIVATE_TAB, EVENT_NAME_CHANGED, EVENT_NAME_CLICK, EVENT_NAME_FIRST, EVENT_NAME_LAST, EVENT_NAME_NEXT, EVENT_NAME_PREV } from '../../constants/events';\nimport { CODE_DOWN, CODE_END, CODE_HOME, CODE_LEFT, CODE_RIGHT, CODE_SPACE, CODE_UP } from '../../constants/key-codes';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_EMPTY, SLOT_NAME_TABS_END, SLOT_NAME_TABS_START, SLOT_NAME_TITLE } from '../../constants/slots';\nimport { arrayIncludes } from '../../utils/array';\nimport { BvEvent } from '../../utils/bv-event.class';\nimport { attemptFocus, selectAll, requestAF } from '../../utils/dom';\nimport { stopEvent } from '../../utils/events';\nimport { identity } from '../../utils/identity';\nimport { isEvent } from '../../utils/inspect';\nimport { looseEqual } from '../../utils/loose-equal';\nimport { mathMax } from '../../utils/math';\nimport { makeModelMixin } from '../../utils/model';\nimport { toInteger } from '../../utils/number';\nimport { omit, sortKeys } from '../../utils/object';\nimport { observeDom } from '../../utils/observe-dom';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { stableSort } from '../../utils/stable-sort';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BLink } from '../link/link';\nimport { BNav, props as BNavProps } from '../nav/nav'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('value', {\n type: PROP_TYPE_NUMBER\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event; // --- Helper methods ---\n// Filter function to filter out disabled tabs\n\n\nvar notDisabled = function notDisabled(tab) {\n return !tab.disabled;\n}; // --- Helper components ---\n// @vue/component\n\n\nvar BVTabButton = /*#__PURE__*/extend({\n name: NAME_TAB_BUTTON_HELPER,\n inject: {\n getBvTabs: {\n default:\n /* istanbul ignore next */\n function _default() {\n return function () {\n return {};\n };\n }\n }\n },\n props: {\n controls: makeProp(PROP_TYPE_STRING),\n id: makeProp(PROP_TYPE_STRING),\n noKeyNav: makeProp(PROP_TYPE_BOOLEAN, false),\n posInSet: makeProp(PROP_TYPE_NUMBER),\n setSize: makeProp(PROP_TYPE_NUMBER),\n // Reference to the child instance\n tab: makeProp(),\n tabIndex: makeProp(PROP_TYPE_NUMBER)\n },\n computed: {\n bvTabs: function bvTabs() {\n return this.getBvTabs();\n }\n },\n methods: {\n focus: function focus() {\n attemptFocus(this.$refs.link);\n },\n handleEvent: function handleEvent(event) {\n /* istanbul ignore next */\n if (this.tab.disabled) {\n return;\n }\n\n var type = event.type,\n keyCode = event.keyCode,\n shiftKey = event.shiftKey;\n\n if (type === 'click') {\n stopEvent(event);\n this.$emit(EVENT_NAME_CLICK, event);\n } else if (type === 'keydown' && keyCode === CODE_SPACE) {\n // For ARIA tabs the SPACE key will also trigger a click/select\n // Even with keyboard navigation disabled, SPACE should \"click\" the button\n // See: https://github.com/bootstrap-vue/bootstrap-vue/issues/4323\n stopEvent(event);\n this.$emit(EVENT_NAME_CLICK, event);\n } else if (type === 'keydown' && !this.noKeyNav) {\n // For keyboard navigation\n if ([CODE_UP, CODE_LEFT, CODE_HOME].indexOf(keyCode) !== -1) {\n stopEvent(event);\n\n if (shiftKey || keyCode === CODE_HOME) {\n this.$emit(EVENT_NAME_FIRST, event);\n } else {\n this.$emit(EVENT_NAME_PREV, event);\n }\n } else if ([CODE_DOWN, CODE_RIGHT, CODE_END].indexOf(keyCode) !== -1) {\n stopEvent(event);\n\n if (shiftKey || keyCode === CODE_END) {\n this.$emit(EVENT_NAME_LAST, event);\n } else {\n this.$emit(EVENT_NAME_NEXT, event);\n }\n }\n }\n }\n },\n render: function render(h) {\n var id = this.id,\n tabIndex = this.tabIndex,\n setSize = this.setSize,\n posInSet = this.posInSet,\n controls = this.controls,\n handleEvent = this.handleEvent;\n var _this$tab = this.tab,\n title = _this$tab.title,\n localActive = _this$tab.localActive,\n disabled = _this$tab.disabled,\n titleItemClass = _this$tab.titleItemClass,\n titleLinkClass = _this$tab.titleLinkClass,\n titleLinkAttributes = _this$tab.titleLinkAttributes;\n var $link = h(BLink, {\n staticClass: 'nav-link',\n class: [{\n active: localActive && !disabled,\n disabled: disabled\n }, titleLinkClass, // Apply `activeNavItemClass` styles when the tab is active\n localActive ? this.bvTabs.activeNavItemClass : null],\n props: {\n disabled: disabled\n },\n attrs: _objectSpread(_objectSpread({}, titleLinkAttributes), {}, {\n id: id,\n role: 'tab',\n // Roving tab index when keynav enabled\n tabindex: tabIndex,\n 'aria-selected': localActive && !disabled ? 'true' : 'false',\n 'aria-setsize': setSize,\n 'aria-posinset': posInSet,\n 'aria-controls': controls\n }),\n on: {\n click: handleEvent,\n keydown: handleEvent\n },\n ref: 'link'\n }, [this.tab.normalizeSlot(SLOT_NAME_TITLE) || title]);\n return h('li', {\n staticClass: 'nav-item',\n class: [titleItemClass],\n attrs: {\n role: 'presentation'\n }\n }, [$link]);\n }\n}); // --- Props ---\n\nvar navProps = omit(BNavProps, ['tabs', 'isNavBar', 'cardHeader']);\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), modelProps), navProps), {}, {\n // Only applied to the currently active ``\n activeNavItemClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n // Only applied to the currently active ``\n // This prop is sniffed by the `` child\n activeTabClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n card: makeProp(PROP_TYPE_BOOLEAN, false),\n contentClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n // Synonym for 'bottom'\n end: makeProp(PROP_TYPE_BOOLEAN, false),\n // This prop is sniffed by the `` child\n lazy: makeProp(PROP_TYPE_BOOLEAN, false),\n navClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n navWrapperClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n noFade: makeProp(PROP_TYPE_BOOLEAN, false),\n noKeyNav: makeProp(PROP_TYPE_BOOLEAN, false),\n noNavStyle: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n})), NAME_TABS); // --- Main component ---\n// @vue/component\n\nexport var BTabs = /*#__PURE__*/extend({\n name: NAME_TABS,\n mixins: [idMixin, modelMixin, normalizeSlotMixin],\n provide: function provide() {\n var _this = this;\n\n return {\n getBvTabs: function getBvTabs() {\n return _this;\n }\n };\n },\n props: props,\n data: function data() {\n return {\n // Index of current tab\n currentTab: toInteger(this[MODEL_PROP_NAME], -1),\n // Array of direct child `` instances, in DOM order\n tabs: [],\n // Array of child instances registered (for triggering reactive updates)\n registeredTabs: []\n };\n },\n computed: {\n fade: function fade() {\n // This computed prop is sniffed by the tab child\n return !this.noFade;\n },\n localNavClass: function localNavClass() {\n var classes = [];\n\n if (this.card && this.vertical) {\n classes.push('card-header', 'h-100', 'border-bottom-0', 'rounded-0');\n }\n\n return [].concat(classes, [this.navClass]);\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function (newValue, oldValue) {\n if (newValue !== oldValue) {\n newValue = toInteger(newValue, -1);\n oldValue = toInteger(oldValue, 0);\n var $tab = this.tabs[newValue];\n\n if ($tab && !$tab.disabled) {\n this.activateTab($tab);\n } else {\n // Try next or prev tabs\n if (newValue < oldValue) {\n this.previousTab();\n } else {\n this.nextTab();\n }\n }\n }\n }), _defineProperty(_watch, \"currentTab\", function currentTab(newValue) {\n var index = -1; // Ensure only one tab is active at most\n\n this.tabs.forEach(function ($tab, i) {\n if (i === newValue && !$tab.disabled) {\n $tab.localActive = true;\n index = i;\n } else {\n $tab.localActive = false;\n }\n }); // Update the v-model\n\n this.$emit(MODEL_EVENT_NAME, index);\n }), _defineProperty(_watch, \"tabs\", function tabs(newValue, oldValue) {\n var _this2 = this;\n\n // We use `_uid` instead of `safeId()`, as the later is changed in a `$nextTick()`\n // if no explicit ID is provided, causing duplicate emits\n if (!looseEqual(newValue.map(function ($tab) {\n return $tab[COMPONENT_UID_KEY];\n }), oldValue.map(function ($tab) {\n return $tab[COMPONENT_UID_KEY];\n }))) {\n // In a `$nextTick()` to ensure `currentTab` has been set first\n this.$nextTick(function () {\n // We emit shallow copies of the new and old arrays of tabs,\n // to prevent users from potentially mutating the internal arrays\n _this2.$emit(EVENT_NAME_CHANGED, newValue.slice(), oldValue.slice());\n });\n }\n }), _defineProperty(_watch, \"registeredTabs\", function registeredTabs() {\n this.updateTabs();\n }), _watch),\n created: function created() {\n // Create private non-reactive props\n this.$_observer = null;\n },\n mounted: function mounted() {\n this.setObserver(true);\n },\n beforeDestroy: function beforeDestroy() {\n this.setObserver(false); // Ensure no references to child instances exist\n\n this.tabs = [];\n },\n methods: {\n registerTab: function registerTab($tab) {\n if (!arrayIncludes(this.registeredTabs, $tab)) {\n this.registeredTabs.push($tab);\n }\n },\n unregisterTab: function unregisterTab($tab) {\n this.registeredTabs = this.registeredTabs.slice().filter(function ($t) {\n return $t !== $tab;\n });\n },\n // DOM observer is needed to detect changes in order of tabs\n setObserver: function setObserver() {\n var _this3 = this;\n\n var on = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n this.$_observer && this.$_observer.disconnect();\n this.$_observer = null;\n\n if (on) {\n /* istanbul ignore next: difficult to test mutation observer in JSDOM */\n var handler = function handler() {\n _this3.$nextTick(function () {\n requestAF(function () {\n _this3.updateTabs();\n });\n });\n }; // Watch for changes to `` sub components\n\n\n this.$_observer = observeDom(this.$refs.content, handler, {\n childList: true,\n subtree: false,\n attributes: true,\n attributeFilter: ['id']\n });\n }\n },\n getTabs: function getTabs() {\n var $tabs = this.registeredTabs; // Dropped intentionally\n // .filter(\n // $tab => $tab.$children.filter($t => $t && $t._isTab).length === 0\n // )\n // DOM Order of Tabs\n\n var order = [];\n /* istanbul ignore next: too difficult to test */\n\n if (IS_BROWSER && $tabs.length > 0) {\n // We rely on the DOM when mounted to get the \"true\" order of the `` children\n // `querySelectorAll()` always returns elements in document order, regardless of\n // order specified in the selector\n var selector = $tabs.map(function ($tab) {\n return \"#\".concat($tab.safeId());\n }).join(', ');\n order = selectAll(selector, this.$el).map(function ($el) {\n return $el.id;\n }).filter(identity);\n } // Stable sort keeps the original order if not found in the `order` array,\n // which will be an empty array before mount\n\n\n return stableSort($tabs, function (a, b) {\n return order.indexOf(a.safeId()) - order.indexOf(b.safeId());\n });\n },\n updateTabs: function updateTabs() {\n var $tabs = this.getTabs(); // Find last active non-disabled tab in current tabs\n // We trust tab state over `currentTab`, in case tabs were added/removed/re-ordered\n\n var tabIndex = $tabs.indexOf($tabs.slice().reverse().find(function ($tab) {\n return $tab.localActive && !$tab.disabled;\n })); // Else try setting to `currentTab`\n\n if (tabIndex < 0) {\n var currentTab = this.currentTab;\n\n if (currentTab >= $tabs.length) {\n // Handle last tab being removed, so find the last non-disabled tab\n tabIndex = $tabs.indexOf($tabs.slice().reverse().find(notDisabled));\n } else if ($tabs[currentTab] && !$tabs[currentTab].disabled) {\n // Current tab is not disabled\n tabIndex = currentTab;\n }\n } // Else find first non-disabled tab in current tabs\n\n\n if (tabIndex < 0) {\n tabIndex = $tabs.indexOf($tabs.find(notDisabled));\n } // Ensure only one tab is active at a time\n\n\n $tabs.forEach(function ($tab, index) {\n $tab.localActive = index === tabIndex;\n });\n this.tabs = $tabs;\n this.currentTab = tabIndex;\n },\n // Find a button that controls a tab, given the tab reference\n // Returns the button vm instance\n getButtonForTab: function getButtonForTab($tab) {\n return (this.$refs.buttons || []).find(function ($btn) {\n return $btn.tab === $tab;\n });\n },\n // Force a button to re-render its content, given a `` instance\n // Called by `` on `update()`\n updateButton: function updateButton($tab) {\n var $button = this.getButtonForTab($tab);\n\n if ($button && $button.$forceUpdate) {\n $button.$forceUpdate();\n }\n },\n // Activate a tab given a `` instance\n // Also accessed by ``\n activateTab: function activateTab($tab) {\n var currentTab = this.currentTab,\n $tabs = this.tabs;\n var result = false;\n\n if ($tab) {\n var index = $tabs.indexOf($tab);\n\n if (index !== currentTab && index > -1 && !$tab.disabled) {\n var tabEvent = new BvEvent(EVENT_NAME_ACTIVATE_TAB, {\n cancelable: true,\n vueTarget: this,\n componentId: this.safeId()\n });\n this.$emit(tabEvent.type, index, currentTab, tabEvent);\n\n if (!tabEvent.defaultPrevented) {\n this.currentTab = index;\n result = true;\n }\n }\n } // Couldn't set tab, so ensure v-model is up to date\n\n /* istanbul ignore next: should rarely happen */\n\n\n if (!result && this[MODEL_PROP_NAME] !== currentTab) {\n this.$emit(MODEL_EVENT_NAME, currentTab);\n }\n\n return result;\n },\n // Deactivate a tab given a `` instance\n // Accessed by ``\n deactivateTab: function deactivateTab($tab) {\n if ($tab) {\n // Find first non-disabled tab that isn't the one being deactivated\n // If no tabs are available, then don't deactivate current tab\n return this.activateTab(this.tabs.filter(function ($t) {\n return $t !== $tab;\n }).find(notDisabled));\n }\n /* istanbul ignore next: should never/rarely happen */\n\n\n return false;\n },\n // Focus a tab button given its `` instance\n focusButton: function focusButton($tab) {\n var _this4 = this;\n\n // Wrap in `$nextTick()` to ensure DOM has completed rendering\n this.$nextTick(function () {\n attemptFocus(_this4.getButtonForTab($tab));\n });\n },\n // Emit a click event on a specified `` component instance\n emitTabClick: function emitTabClick(tab, event) {\n if (isEvent(event) && tab && tab.$emit && !tab.disabled) {\n tab.$emit(EVENT_NAME_CLICK, event);\n }\n },\n // Click handler\n clickTab: function clickTab($tab, event) {\n this.activateTab($tab);\n this.emitTabClick($tab, event);\n },\n // Move to first non-disabled tab\n firstTab: function firstTab(focus) {\n var $tab = this.tabs.find(notDisabled);\n\n if (this.activateTab($tab) && focus) {\n this.focusButton($tab);\n this.emitTabClick($tab, focus);\n }\n },\n // Move to previous non-disabled tab\n previousTab: function previousTab(focus) {\n var currentIndex = mathMax(this.currentTab, 0);\n var $tab = this.tabs.slice(0, currentIndex).reverse().find(notDisabled);\n\n if (this.activateTab($tab) && focus) {\n this.focusButton($tab);\n this.emitTabClick($tab, focus);\n }\n },\n // Move to next non-disabled tab\n nextTab: function nextTab(focus) {\n var currentIndex = mathMax(this.currentTab, -1);\n var $tab = this.tabs.slice(currentIndex + 1).find(notDisabled);\n\n if (this.activateTab($tab) && focus) {\n this.focusButton($tab);\n this.emitTabClick($tab, focus);\n }\n },\n // Move to last non-disabled tab\n lastTab: function lastTab(focus) {\n var $tab = this.tabs.slice().reverse().find(notDisabled);\n\n if (this.activateTab($tab) && focus) {\n this.focusButton($tab);\n this.emitTabClick($tab, focus);\n }\n }\n },\n render: function render(h) {\n var _this5 = this;\n\n var align = this.align,\n card = this.card,\n end = this.end,\n fill = this.fill,\n firstTab = this.firstTab,\n justified = this.justified,\n lastTab = this.lastTab,\n nextTab = this.nextTab,\n noKeyNav = this.noKeyNav,\n noNavStyle = this.noNavStyle,\n pills = this.pills,\n previousTab = this.previousTab,\n small = this.small,\n $tabs = this.tabs,\n vertical = this.vertical; // Currently active tab\n\n var $activeTab = $tabs.find(function ($tab) {\n return $tab.localActive && !$tab.disabled;\n }); // Tab button to allow focusing when no active tab found (keynav only)\n\n var $fallbackTab = $tabs.find(function ($tab) {\n return !$tab.disabled;\n }); // For each `` found create the tab buttons\n\n var $buttons = $tabs.map(function ($tab, index) {\n var _on;\n\n var safeId = $tab.safeId; // Ensure at least one tab button is focusable when keynav enabled (if possible)\n\n var tabIndex = null;\n\n if (!noKeyNav) {\n // Buttons are not in tab index unless active, or a fallback tab\n tabIndex = -1;\n\n if ($tab === $activeTab || !$activeTab && $tab === $fallbackTab) {\n // Place tab button in tab sequence\n tabIndex = null;\n }\n }\n\n return h(BVTabButton, _defineProperty({\n props: {\n controls: safeId ? safeId() : null,\n id: $tab.controlledBy || (safeId ? safeId(\"_BV_tab_button_\") : null),\n noKeyNav: noKeyNav,\n posInSet: index + 1,\n setSize: $tabs.length,\n tab: $tab,\n tabIndex: tabIndex\n },\n on: (_on = {}, _defineProperty(_on, EVENT_NAME_CLICK, function (event) {\n _this5.clickTab($tab, event);\n }), _defineProperty(_on, EVENT_NAME_FIRST, firstTab), _defineProperty(_on, EVENT_NAME_PREV, previousTab), _defineProperty(_on, EVENT_NAME_NEXT, nextTab), _defineProperty(_on, EVENT_NAME_LAST, lastTab), _on),\n key: $tab[COMPONENT_UID_KEY] || index,\n ref: 'buttons'\n }, REF_FOR_KEY, true));\n });\n var $nav = h(BNav, {\n class: this.localNavClass,\n attrs: {\n role: 'tablist',\n id: this.safeId('_BV_tab_controls_')\n },\n props: {\n fill: fill,\n justified: justified,\n align: align,\n tabs: !noNavStyle && !pills,\n pills: !noNavStyle && pills,\n vertical: vertical,\n small: small,\n cardHeader: card && !vertical\n },\n ref: 'nav'\n }, [this.normalizeSlot(SLOT_NAME_TABS_START) || h(), $buttons, this.normalizeSlot(SLOT_NAME_TABS_END) || h()]);\n $nav = h('div', {\n class: [{\n 'card-header': card && !vertical && !end,\n 'card-footer': card && !vertical && end,\n 'col-auto': vertical\n }, this.navWrapperClass],\n key: 'bv-tabs-nav'\n }, [$nav]);\n var $children = this.normalizeSlot() || [];\n var $empty = h();\n\n if ($children.length === 0) {\n $empty = h('div', {\n class: ['tab-pane', 'active', {\n 'card-body': card\n }],\n key: 'bv-empty-tab'\n }, this.normalizeSlot(SLOT_NAME_EMPTY));\n }\n\n var $content = h('div', {\n staticClass: 'tab-content',\n class: [{\n col: vertical\n }, this.contentClass],\n attrs: {\n id: this.safeId('_BV_tab_container_')\n },\n key: 'bv-content',\n ref: 'content'\n }, [$children, $empty]); // Render final output\n\n return h(this.tag, {\n staticClass: 'tabs',\n class: {\n row: vertical,\n 'no-gutters': vertical && card\n },\n attrs: {\n id: this.safeId()\n }\n }, [end ? $content : h(), $nav, end ? h() : $content]);\n }\n});","var _objectSpread2, _watch;\n\nfunction 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_TAB } from '../../constants/components';\nimport { MODEL_EVENT_NAME_PREFIX } from '../../constants/events';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_OBJECT, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_TITLE } from '../../constants/slots';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BVTransition } from '../transition/bv-transition'; // --- Constants ---\n\nvar MODEL_PROP_NAME_ACTIVE = 'active';\nvar MODEL_EVENT_NAME_ACTIVE = MODEL_EVENT_NAME_PREFIX + MODEL_PROP_NAME_ACTIVE; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, idProps), {}, (_objectSpread2 = {}, _defineProperty(_objectSpread2, MODEL_PROP_NAME_ACTIVE, makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_objectSpread2, \"buttonId\", makeProp(PROP_TYPE_STRING)), _defineProperty(_objectSpread2, \"disabled\", makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_objectSpread2, \"lazy\", makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_objectSpread2, \"noBody\", makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_objectSpread2, \"tag\", makeProp(PROP_TYPE_STRING, 'div')), _defineProperty(_objectSpread2, \"title\", makeProp(PROP_TYPE_STRING)), _defineProperty(_objectSpread2, \"titleItemClass\", makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)), _defineProperty(_objectSpread2, \"titleLinkAttributes\", makeProp(PROP_TYPE_OBJECT)), _defineProperty(_objectSpread2, \"titleLinkClass\", makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)), _objectSpread2))), NAME_TAB); // --- Main component ---\n// @vue/component\n\nexport var BTab = /*#__PURE__*/extend({\n name: NAME_TAB,\n mixins: [idMixin, normalizeSlotMixin],\n inject: {\n getBvTabs: {\n default: function _default() {\n return function () {\n return {};\n };\n }\n }\n },\n props: props,\n data: function data() {\n return {\n localActive: this[MODEL_PROP_NAME_ACTIVE] && !this.disabled\n };\n },\n computed: {\n bvTabs: function bvTabs() {\n return this.getBvTabs();\n },\n // For parent sniffing of child\n _isTab: function _isTab() {\n return true;\n },\n tabClasses: function tabClasses() {\n var active = this.localActive,\n disabled = this.disabled;\n return [{\n active: active,\n disabled: disabled,\n 'card-body': this.bvTabs.card && !this.noBody\n }, // Apply `activeTabClass` styles when this tab is active\n active ? this.bvTabs.activeTabClass : null];\n },\n controlledBy: function controlledBy() {\n return this.buttonId || this.safeId('__BV_tab_button__');\n },\n computedNoFade: function computedNoFade() {\n return !(this.bvTabs.fade || false);\n },\n computedLazy: function computedLazy() {\n return this.bvTabs.lazy || this.lazy;\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME_ACTIVE, function (newValue, oldValue) {\n if (newValue !== oldValue) {\n if (newValue) {\n // If activated post mount\n this.activate();\n } else {\n /* istanbul ignore next */\n if (!this.deactivate()) {\n // Tab couldn't be deactivated, so we reset the synced active prop\n // Deactivation will fail if no other tabs to activate\n this.$emit(MODEL_EVENT_NAME_ACTIVE, this.localActive);\n }\n }\n }\n }), _defineProperty(_watch, \"disabled\", function disabled(newValue, oldValue) {\n if (newValue !== oldValue) {\n var firstTab = this.bvTabs.firstTab;\n\n if (newValue && this.localActive && firstTab) {\n this.localActive = false;\n firstTab();\n }\n }\n }), _defineProperty(_watch, \"localActive\", function localActive(newValue) {\n // Make `active` prop work with `.sync` modifier\n this.$emit(MODEL_EVENT_NAME_ACTIVE, newValue);\n }), _watch),\n mounted: function mounted() {\n // Inform `` of our presence\n this.registerTab();\n },\n updated: function updated() {\n // Force the tab button content to update (since slots are not reactive)\n // Only done if we have a title slot, as the title prop is reactive\n var updateButton = this.bvTabs.updateButton;\n\n if (updateButton && this.hasNormalizedSlot(SLOT_NAME_TITLE)) {\n updateButton(this);\n }\n },\n beforeDestroy: function beforeDestroy() {\n // Inform `` of our departure\n this.unregisterTab();\n },\n methods: {\n // Private methods\n registerTab: function registerTab() {\n // Inform `` of our presence\n var registerTab = this.bvTabs.registerTab;\n\n if (registerTab) {\n registerTab(this);\n }\n },\n unregisterTab: function unregisterTab() {\n // Inform `` of our departure\n var unregisterTab = this.bvTabs.unregisterTab;\n\n if (unregisterTab) {\n unregisterTab(this);\n }\n },\n // Public methods\n activate: function activate() {\n // Not inside a `` component or tab is disabled\n var activateTab = this.bvTabs.activateTab;\n return activateTab && !this.disabled ? activateTab(this) : false;\n },\n deactivate: function deactivate() {\n // Not inside a `` component or not active to begin with\n var deactivateTab = this.bvTabs.deactivateTab;\n return deactivateTab && this.localActive ? deactivateTab(this) : false;\n }\n },\n render: function render(h) {\n var localActive = this.localActive;\n var $content = h(this.tag, {\n staticClass: 'tab-pane',\n class: this.tabClasses,\n directives: [{\n name: 'show',\n value: localActive\n }],\n attrs: {\n role: 'tabpanel',\n id: this.safeId(),\n 'aria-hidden': localActive ? 'false' : 'true',\n 'aria-labelledby': this.controlledBy || null\n },\n ref: 'panel'\n }, // Render content lazily if requested\n [localActive || !this.computedLazy ? this.normalizeSlot() : h()]);\n return h(BVTransition, {\n props: {\n mode: 'out-in',\n noFade: this.computedNoFade\n }\n }, [$content]);\n }\n});","import { BTabs } from './tabs';\nimport { BTab } from './tab';\nimport { pluginFactory } from '../../utils/plugins';\nvar TabsPlugin = /*#__PURE__*/pluginFactory({\n components: {\n BTabs: BTabs,\n BTab: BTab\n }\n});\nexport { TabsPlugin, BTabs, BTab };"],"names":["TimePlugin","components","BTime","_watch","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","configurable","writable","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","prototype","toString","call","slice","constructor","name","Array","from","test","len","arr2","_i","Symbol","iterator","_s","_e","_arr","_n","_d","next","done","err","isArray","_makeModelMixin","type","defaultValue","modelMixin","mixin","modelProps","props","MODEL_PROP_NAME","prop","MODEL_EVENT_NAME","event","NUMERIC","padLeftZeros","concat","parseHMS","hh","mm","ss","_value$split$map","split","map","v","_value$split$map2","hours","minutes","seconds","ampm","formatHMS","_ref","requireSeconds","undefined","hms","join","ariaLabelledby","disabled","footerTag","headerTag","hidden","hideHeader","hour12","labelAm","labelAmpm","labelHours","labelMinutes","labelNoTimeSelected","labelPm","labelSeconds","labelSelected","locale","minutesStep","readonly","secondsStep","showSeconds","mixins","data","parsed","this","modelHours","modelMinutes","modelSeconds","modelAmpm","isLive","computed","computedHMS","resolvedOptions","options","hour","minute","second","dtf","Intl","DateTimeFormat","resolved","hourCycle","computedLocale","computedLang","replace","computedRTL","computedHourCycle","is12Hour","context","isRTL","formatted","formattedTimeString","valueId","safeId","computedAriaLabelledby","timeFormatter","timeZone","numberFormatter","nf","NumberFormat","style","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","notation","format","Date","UTC","spinScopedSlots","h","$createElement","increment","_ref2","hasFocus","scale","attrs","decrement","_ref3","flipV","watch","newValue","oldValue","_parseHMS","$emit","_this","$nextTick","newHours","oldHours","created","_this2","mounted","setLive","activated","deactivated","beforeDestroy","methods","focus","$refs","spinners","blur","activeElement","$el","formatHours","formatMinutes","formatSeconds","formatAmpm","setHours","setMinutes","setSeconds","setAmpm","onSpinLeftRight","keyCode","index","cmp","indexOf","on","_this3","render","_this4","labelIncrement","labelDecrement","focusHandler","spinIds","makeSpinbutton","handler","classes","spinbuttonProps","id","class","placeholder","vertical","required","wrap","ariaControls","min","scopedSlots","change","ref","makeColon","staticClass","shiftV","$spinners","max","step","formatterFn","ariaLabel","role","tabindex","keydown","click","currentTarget","$value","for","$header","$content","normalizeSlot","$footer","lang","_objectSpread2","notDisabled","tab","BVTabButton","inject","getBvTabs","default","controls","noKeyNav","posInSet","setSize","tabIndex","bvTabs","link","handleEvent","shiftKey","_this$tab","title","localActive","titleItemClass","titleLinkClass","titleLinkAttributes","$link","active","activeNavItemClass","navProps","activeTabClass","card","contentClass","end","lazy","navClass","navWrapperClass","noFade","noNavStyle","tag","BTabs","provide","currentTab","tabs","registeredTabs","fade","localNavClass","$tab","activateTab","previousTab","nextTab","updateTabs","$_observer","setObserver","registerTab","array","unregisterTab","$t","disconnect","content","childList","subtree","attributes","attributeFilter","getTabs","$tabs","order","selector","identity","a","b","reverse","find","getButtonForTab","buttons","$btn","updateButton","$button","$forceUpdate","result","tabEvent","cancelable","vueTarget","componentId","defaultPrevented","deactivateTab","focusButton","emitTabClick","clickTab","firstTab","currentIndex","math","lastTab","_this5","align","fill","justified","pills","small","$activeTab","$fallbackTab","$buttons","_on","controlledBy","$nav","cardHeader","$children","$empty","col","row","MODEL_PROP_NAME_ACTIVE","MODEL_EVENT_NAME_ACTIVE","BTab","_isTab","tabClasses","noBody","buttonId","computedNoFade","computedLazy","activate","deactivate","updated","hasNormalizedSlot","directives","mode","TabsPlugin"],"sourceRoot":""}