(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["/js/app"],{ /***/ "./node_modules/bootstrap-vue/esm/bv-config.js": /*!*****************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/bv-config.js ***! \*****************************************************/ /*! exports provided: BVConfigPlugin */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BVConfigPlugin", function() { return BVConfigPlugin; }); /* harmony import */ var _utils_plugins__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils/plugins */ "./node_modules/bootstrap-vue/esm/utils/plugins.js"); // // Utility Plugin for setting the configuration // var BVConfigPlugin = /*#__PURE__*/Object(_utils_plugins__WEBPACK_IMPORTED_MODULE_0__["pluginFactory"])(); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/alert/alert.js": /*!******************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/alert/alert.js ***! \******************************************************************/ /*! exports provided: BAlert */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BAlert", function() { return BAlert; }); /* harmony import */ var _utils_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/vue */ "./node_modules/bootstrap-vue/esm/utils/vue.js"); /* harmony import */ var _utils_config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/config */ "./node_modules/bootstrap-vue/esm/utils/config.js"); /* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/dom */ "./node_modules/bootstrap-vue/esm/utils/dom.js"); /* harmony import */ var _utils_inspect__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/inspect */ "./node_modules/bootstrap-vue/esm/utils/inspect.js"); /* harmony import */ var _utils_number__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/number */ "./node_modules/bootstrap-vue/esm/utils/number.js"); /* harmony import */ var _utils_bv_transition__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../utils/bv-transition */ "./node_modules/bootstrap-vue/esm/utils/bv-transition.js"); /* harmony import */ var _mixins_normalize_slot__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../mixins/normalize-slot */ "./node_modules/bootstrap-vue/esm/mixins/normalize-slot.js"); /* harmony import */ var _button_button_close__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../button/button-close */ "./node_modules/bootstrap-vue/esm/components/button/button-close.js"); 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; } var NAME = 'BAlert'; // Convert `show` value to a number var parseCountDown = function parseCountDown(show) { if (show === '' || Object(_utils_inspect__WEBPACK_IMPORTED_MODULE_3__["isBoolean"])(show)) { return 0; } show = Object(_utils_number__WEBPACK_IMPORTED_MODULE_4__["toInteger"])(show); return show > 0 ? show : 0; }; // Convert `show` value to a boolean var parseShow = function parseShow(show) { if (show === '' || show === true) { return true; } if (Object(_utils_number__WEBPACK_IMPORTED_MODULE_4__["toInteger"])(show) < 1) { // Boolean will always return false for the above comparison return false; } return !!show; }; // Is a value number like (i.e. a number or a number as string) var isNumericLike = function isNumericLike(value) { return !isNaN(Object(_utils_number__WEBPACK_IMPORTED_MODULE_4__["toInteger"])(value)); }; // @vue/component var BAlert = /*#__PURE__*/_utils_vue__WEBPACK_IMPORTED_MODULE_0__["default"].extend({ name: NAME, mixins: [_mixins_normalize_slot__WEBPACK_IMPORTED_MODULE_6__["default"]], model: { prop: 'show', event: 'input' }, props: { variant: { type: String, default: function _default() { return Object(_utils_config__WEBPACK_IMPORTED_MODULE_1__["getComponentConfig"])(NAME, 'variant'); } }, dismissible: { type: Boolean, default: false }, dismissLabel: { type: String, default: function _default() { return Object(_utils_config__WEBPACK_IMPORTED_MODULE_1__["getComponentConfig"])(NAME, 'dismissLabel'); } }, show: { type: [Boolean, Number, String], default: false }, fade: { type: Boolean, default: false } }, data: function data() { return { countDownTimerId: null, countDown: 0, // If initially shown, we need to set these for SSR localShow: parseShow(this.show) }; }, watch: { show: function show(newVal) { this.countDown = parseCountDown(newVal); this.localShow = parseShow(newVal); }, countDown: function countDown(newVal) { var _this = this; this.clearTimer(); if (isNumericLike(this.show)) { // Ignore if this.show transitions to a boolean value. this.$emit('dismiss-count-down', newVal); if (this.show !== newVal) { // Update the v-model if needed this.$emit('input', newVal); } if (newVal > 0) { this.localShow = true; this.countDownTimerId = setTimeout(function () { _this.countDown--; }, 1000); } else { // Slightly delay the hide to allow any UI updates this.$nextTick(function () { Object(_utils_dom__WEBPACK_IMPORTED_MODULE_2__["requestAF"])(function () { _this.localShow = false; }); }); } } }, localShow: function localShow(newVal) { if (!newVal && (this.dismissible || isNumericLike(this.show))) { // Only emit dismissed events for dismissible or auto dismissing alerts this.$emit('dismissed'); } if (!isNumericLike(this.show) && this.show !== newVal) { // Only emit booleans if we weren't passed a number via `this.show` this.$emit('input', newVal); } } }, created: function created() { this.countDown = parseCountDown(this.show); this.localShow = parseShow(this.show); }, mounted: function mounted() { this.countDown = parseCountDown(this.show); this.localShow = parseShow(this.show); }, beforeDestroy: function beforeDestroy() { this.clearTimer(); }, methods: { dismiss: function dismiss() { this.clearTimer(); this.countDown = 0; this.localShow = false; }, clearTimer: function clearTimer() { if (this.countDownTimerId) { clearInterval(this.countDownTimerId); this.countDownTimerId = null; } } }, render: function render(h) { var $alert; // undefined if (this.localShow) { var $dismissBtn = h(); if (this.dismissible) { // Add dismiss button $dismissBtn = h(_button_button_close__WEBPACK_IMPORTED_MODULE_7__["BButtonClose"], { attrs: { 'aria-label': this.dismissLabel }, on: { click: this.dismiss } }, [this.normalizeSlot('dismiss')]); } $alert = h('div', { key: this._uid, staticClass: 'alert', class: _defineProperty({ 'alert-dismissible': this.dismissible }, "alert-".concat(this.variant), this.variant), attrs: { role: 'alert', 'aria-live': 'polite', 'aria-atomic': true } }, [$dismissBtn, this.normalizeSlot('default')]); $alert = [$alert]; } return h(_utils_bv_transition__WEBPACK_IMPORTED_MODULE_5__["default"], { props: { noFade: !this.fade } }, $alert); } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/alert/index.js": /*!******************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/alert/index.js ***! \******************************************************************/ /*! exports provided: AlertPlugin, BAlert */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AlertPlugin", function() { return AlertPlugin; }); /* harmony import */ var _alert__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./alert */ "./node_modules/bootstrap-vue/esm/components/alert/alert.js"); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BAlert", function() { return _alert__WEBPACK_IMPORTED_MODULE_0__["BAlert"]; }); /* harmony import */ var _utils_plugins__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/plugins */ "./node_modules/bootstrap-vue/esm/utils/plugins.js"); var AlertPlugin = /*#__PURE__*/Object(_utils_plugins__WEBPACK_IMPORTED_MODULE_1__["pluginFactory"])({ components: { BAlert: _alert__WEBPACK_IMPORTED_MODULE_0__["BAlert"] } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/badge/badge.js": /*!******************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/badge/badge.js ***! \******************************************************************/ /*! exports provided: props, BBadge */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "props", function() { return props; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BBadge", function() { return BBadge; }); /* harmony import */ var _utils_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/vue */ "./node_modules/bootstrap-vue/esm/utils/vue.js"); /* harmony import */ var vue_functional_data_merge__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue-functional-data-merge */ "./node_modules/vue-functional-data-merge/dist/lib.esm.js"); /* harmony import */ var _utils_config__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/config */ "./node_modules/bootstrap-vue/esm/utils/config.js"); /* harmony import */ var _utils_pluck_props__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/pluck-props */ "./node_modules/bootstrap-vue/esm/utils/pluck-props.js"); /* harmony import */ var _link_link__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../link/link */ "./node_modules/bootstrap-vue/esm/components/link/link.js"); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 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; } var NAME = 'BBadge'; var linkProps = Object(_link_link__WEBPACK_IMPORTED_MODULE_4__["propsFactory"])(); delete linkProps.href.default; delete linkProps.to.default; var props = _objectSpread({}, linkProps, { tag: { type: String, default: 'span' }, variant: { type: String, default: function _default() { return Object(_utils_config__WEBPACK_IMPORTED_MODULE_2__["getComponentConfig"])(NAME, 'variant'); } }, pill: { type: Boolean, default: false } }); // @vue/component var BBadge = /*#__PURE__*/_utils_vue__WEBPACK_IMPORTED_MODULE_0__["default"].extend({ name: NAME, functional: true, props: props, render: function render(h, _ref) { var props = _ref.props, data = _ref.data, children = _ref.children; var isBLink = props.href || props.to; var tag = isBLink ? _link_link__WEBPACK_IMPORTED_MODULE_4__["BLink"] : props.tag; var componentData = { staticClass: 'badge', class: [props.variant ? "badge-".concat(props.variant) : 'badge-secondary', { 'badge-pill': props.pill, active: props.active, disabled: props.disabled }], props: isBLink ? Object(_utils_pluck_props__WEBPACK_IMPORTED_MODULE_3__["default"])(linkProps, props) : {} }; return h(tag, Object(vue_functional_data_merge__WEBPACK_IMPORTED_MODULE_1__["mergeData"])(data, componentData), children); } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/badge/index.js": /*!******************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/badge/index.js ***! \******************************************************************/ /*! exports provided: BadgePlugin, BBadge */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BadgePlugin", function() { return BadgePlugin; }); /* harmony import */ var _badge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./badge */ "./node_modules/bootstrap-vue/esm/components/badge/badge.js"); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BBadge", function() { return _badge__WEBPACK_IMPORTED_MODULE_0__["BBadge"]; }); /* harmony import */ var _utils_plugins__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/plugins */ "./node_modules/bootstrap-vue/esm/utils/plugins.js"); var BadgePlugin = /*#__PURE__*/Object(_utils_plugins__WEBPACK_IMPORTED_MODULE_1__["pluginFactory"])({ components: { BBadge: _badge__WEBPACK_IMPORTED_MODULE_0__["BBadge"] } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/breadcrumb/breadcrumb-item.js": /*!*********************************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/breadcrumb/breadcrumb-item.js ***! \*********************************************************************************/ /*! exports provided: BBreadcrumbItem */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BBreadcrumbItem", function() { return BBreadcrumbItem; }); /* harmony import */ var _utils_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/vue */ "./node_modules/bootstrap-vue/esm/utils/vue.js"); /* harmony import */ var vue_functional_data_merge__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue-functional-data-merge */ "./node_modules/vue-functional-data-merge/dist/lib.esm.js"); /* harmony import */ var _breadcrumb_link__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./breadcrumb-link */ "./node_modules/bootstrap-vue/esm/components/breadcrumb/breadcrumb-link.js"); // @vue/component var BBreadcrumbItem = /*#__PURE__*/_utils_vue__WEBPACK_IMPORTED_MODULE_0__["default"].extend({ name: 'BBreadcrumbItem', functional: true, props: _breadcrumb_link__WEBPACK_IMPORTED_MODULE_2__["props"], render: function render(h, _ref) { var props = _ref.props, data = _ref.data, children = _ref.children; return h('li', Object(vue_functional_data_merge__WEBPACK_IMPORTED_MODULE_1__["mergeData"])(data, { staticClass: 'breadcrumb-item', class: { active: props.active } }), [h(_breadcrumb_link__WEBPACK_IMPORTED_MODULE_2__["BBreadcrumbLink"], { props: props }, children)]); } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/breadcrumb/breadcrumb-link.js": /*!*********************************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/breadcrumb/breadcrumb-link.js ***! \*********************************************************************************/ /*! exports provided: props, BBreadcrumbLink */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "props", function() { return props; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BBreadcrumbLink", function() { return BBreadcrumbLink; }); /* harmony import */ var _utils_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/vue */ "./node_modules/bootstrap-vue/esm/utils/vue.js"); /* harmony import */ var vue_functional_data_merge__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue-functional-data-merge */ "./node_modules/vue-functional-data-merge/dist/lib.esm.js"); /* harmony import */ var _utils_pluck_props__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/pluck-props */ "./node_modules/bootstrap-vue/esm/utils/pluck-props.js"); /* harmony import */ var _utils_html__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/html */ "./node_modules/bootstrap-vue/esm/utils/html.js"); /* harmony import */ var _link_link__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../link/link */ "./node_modules/bootstrap-vue/esm/components/link/link.js"); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 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; } var props = _objectSpread({}, Object(_link_link__WEBPACK_IMPORTED_MODULE_4__["propsFactory"])(), { text: { type: String, default: null }, html: { type: String, default: null }, ariaCurrent: { type: String, default: 'location' } }); // @vue/component var BBreadcrumbLink = /*#__PURE__*/_utils_vue__WEBPACK_IMPORTED_MODULE_0__["default"].extend({ name: 'BBreadcrumbLink', functional: true, props: props, render: function render(h, _ref) { var suppliedProps = _ref.props, data = _ref.data, children = _ref.children; var tag = suppliedProps.active ? 'span' : _link_link__WEBPACK_IMPORTED_MODULE_4__["BLink"]; var componentData = { props: Object(_utils_pluck_props__WEBPACK_IMPORTED_MODULE_2__["default"])(props, suppliedProps) }; if (suppliedProps.active) { componentData.attrs = { 'aria-current': suppliedProps.ariaCurrent }; } if (!children) { componentData.domProps = Object(_utils_html__WEBPACK_IMPORTED_MODULE_3__["htmlOrText"])(suppliedProps.html, suppliedProps.text); } return h(tag, Object(vue_functional_data_merge__WEBPACK_IMPORTED_MODULE_1__["mergeData"])(data, componentData), children); } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/breadcrumb/breadcrumb.js": /*!****************************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/breadcrumb/breadcrumb.js ***! \****************************************************************************/ /*! exports provided: props, BBreadcrumb */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "props", function() { return props; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BBreadcrumb", function() { return BBreadcrumb; }); /* harmony import */ var _utils_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/vue */ "./node_modules/bootstrap-vue/esm/utils/vue.js"); /* harmony import */ var vue_functional_data_merge__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue-functional-data-merge */ "./node_modules/vue-functional-data-merge/dist/lib.esm.js"); /* harmony import */ var _utils_inspect__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/inspect */ "./node_modules/bootstrap-vue/esm/utils/inspect.js"); /* harmony import */ var _utils_string__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/string */ "./node_modules/bootstrap-vue/esm/utils/string.js"); /* harmony import */ var _breadcrumb_item__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./breadcrumb-item */ "./node_modules/bootstrap-vue/esm/components/breadcrumb/breadcrumb-item.js"); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 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; } var props = { items: { type: Array, default: null } }; // @vue/component var BBreadcrumb = /*#__PURE__*/_utils_vue__WEBPACK_IMPORTED_MODULE_0__["default"].extend({ name: 'BBreadcrumb', functional: true, props: props, render: function render(h, _ref) { var props = _ref.props, data = _ref.data, children = _ref.children; var childNodes = children; // Build child nodes from items if given. if (Object(_utils_inspect__WEBPACK_IMPORTED_MODULE_2__["isArray"])(props.items)) { var activeDefined = false; childNodes = props.items.map(function (item, idx) { if (!Object(_utils_inspect__WEBPACK_IMPORTED_MODULE_2__["isObject"])(item)) { item = { text: Object(_utils_string__WEBPACK_IMPORTED_MODULE_3__["toString"])(item) }; } // Copy the value here so we can normalize it. var active = item.active; if (active) { activeDefined = true; } if (!active && !activeDefined) { // Auto-detect active by position in list. active = idx + 1 === props.items.length; } return h(_breadcrumb_item__WEBPACK_IMPORTED_MODULE_4__["BBreadcrumbItem"], { props: _objectSpread({}, item, { active: active }) }); }); } return h('ol', Object(vue_functional_data_merge__WEBPACK_IMPORTED_MODULE_1__["mergeData"])(data, { staticClass: 'breadcrumb' }), childNodes); } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/breadcrumb/index.js": /*!***********************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/breadcrumb/index.js ***! \***********************************************************************/ /*! exports provided: BreadcrumbPlugin, BBreadcrumb, BBreadcrumbItem, BBreadcrumbLink */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BreadcrumbPlugin", function() { return BreadcrumbPlugin; }); /* harmony import */ var _breadcrumb__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./breadcrumb */ "./node_modules/bootstrap-vue/esm/components/breadcrumb/breadcrumb.js"); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BBreadcrumb", function() { return _breadcrumb__WEBPACK_IMPORTED_MODULE_0__["BBreadcrumb"]; }); /* harmony import */ var _breadcrumb_item__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./breadcrumb-item */ "./node_modules/bootstrap-vue/esm/components/breadcrumb/breadcrumb-item.js"); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BBreadcrumbItem", function() { return _breadcrumb_item__WEBPACK_IMPORTED_MODULE_1__["BBreadcrumbItem"]; }); /* harmony import */ var _breadcrumb_link__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./breadcrumb-link */ "./node_modules/bootstrap-vue/esm/components/breadcrumb/breadcrumb-link.js"); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BBreadcrumbLink", function() { return _breadcrumb_link__WEBPACK_IMPORTED_MODULE_2__["BBreadcrumbLink"]; }); /* harmony import */ var _utils_plugins__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/plugins */ "./node_modules/bootstrap-vue/esm/utils/plugins.js"); var BreadcrumbPlugin = /*#__PURE__*/Object(_utils_plugins__WEBPACK_IMPORTED_MODULE_3__["pluginFactory"])({ components: { BBreadcrumb: _breadcrumb__WEBPACK_IMPORTED_MODULE_0__["BBreadcrumb"], BBreadcrumbItem: _breadcrumb_item__WEBPACK_IMPORTED_MODULE_1__["BBreadcrumbItem"], BBreadcrumbLink: _breadcrumb_link__WEBPACK_IMPORTED_MODULE_2__["BBreadcrumbLink"] } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/button-group/button-group.js": /*!********************************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/button-group/button-group.js ***! \********************************************************************************/ /*! exports provided: props, BButtonGroup */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "props", function() { return props; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BButtonGroup", function() { return BButtonGroup; }); /* harmony import */ var _utils_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/vue */ "./node_modules/bootstrap-vue/esm/utils/vue.js"); /* harmony import */ var vue_functional_data_merge__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue-functional-data-merge */ "./node_modules/vue-functional-data-merge/dist/lib.esm.js"); /* harmony import */ var _utils_config__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/config */ "./node_modules/bootstrap-vue/esm/utils/config.js"); 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; } var NAME = 'BButtonGroup'; var props = { vertical: { type: Boolean, default: false }, size: { type: String, default: function _default() { return Object(_utils_config__WEBPACK_IMPORTED_MODULE_2__["getComponentConfig"])('BButton', 'size'); } }, tag: { type: String, default: 'div' }, ariaRole: { type: String, default: 'group' } }; // @vue/component var BButtonGroup = /*#__PURE__*/_utils_vue__WEBPACK_IMPORTED_MODULE_0__["default"].extend({ name: NAME, functional: true, props: props, render: function render(h, _ref) { var props = _ref.props, data = _ref.data, children = _ref.children; return h(props.tag, Object(vue_functional_data_merge__WEBPACK_IMPORTED_MODULE_1__["mergeData"])(data, { class: _defineProperty({ 'btn-group': !props.vertical, 'btn-group-vertical': props.vertical }, "btn-group-".concat(props.size), props.size), attrs: { role: props.ariaRole } }), children); } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/button-group/index.js": /*!*************************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/button-group/index.js ***! \*************************************************************************/ /*! exports provided: ButtonGroupPlugin, BButtonGroup */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ButtonGroupPlugin", function() { return ButtonGroupPlugin; }); /* harmony import */ var _button_group__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./button-group */ "./node_modules/bootstrap-vue/esm/components/button-group/button-group.js"); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BButtonGroup", function() { return _button_group__WEBPACK_IMPORTED_MODULE_0__["BButtonGroup"]; }); /* harmony import */ var _utils_plugins__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/plugins */ "./node_modules/bootstrap-vue/esm/utils/plugins.js"); var ButtonGroupPlugin = /*#__PURE__*/Object(_utils_plugins__WEBPACK_IMPORTED_MODULE_1__["pluginFactory"])({ components: { BButtonGroup: _button_group__WEBPACK_IMPORTED_MODULE_0__["BButtonGroup"], BBtnGroup: _button_group__WEBPACK_IMPORTED_MODULE_0__["BButtonGroup"] } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/button-toolbar/button-toolbar.js": /*!************************************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/button-toolbar/button-toolbar.js ***! \************************************************************************************/ /*! exports provided: BButtonToolbar */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BButtonToolbar", function() { return BButtonToolbar; }); /* harmony import */ var _utils_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/vue */ "./node_modules/bootstrap-vue/esm/utils/vue.js"); /* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/dom */ "./node_modules/bootstrap-vue/esm/utils/dom.js"); /* harmony import */ var _mixins_normalize_slot__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../mixins/normalize-slot */ "./node_modules/bootstrap-vue/esm/mixins/normalize-slot.js"); /* harmony import */ var _utils_key_codes__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/key-codes */ "./node_modules/bootstrap-vue/esm/utils/key-codes.js"); var ITEM_SELECTOR = ['.btn:not(.disabled):not([disabled]):not(.dropdown-item)', '.form-control:not(.disabled):not([disabled])', 'select:not(.disabled):not([disabled])', 'input[type="checkbox"]:not(.disabled)', 'input[type="radio"]:not(.disabled)'].join(','); // @vue/component var BButtonToolbar = /*#__PURE__*/_utils_vue__WEBPACK_IMPORTED_MODULE_0__["default"].extend({ name: 'BButtonToolbar', mixins: [_mixins_normalize_slot__WEBPACK_IMPORTED_MODULE_2__["default"]], props: { justify: { type: Boolean, default: false }, keyNav: { type: Boolean, default: false } }, mounted: function mounted() { if (this.keyNav) { // Pre-set the tabindexes if the markup does not include tabindex="-1" on the toolbar items this.getItems(); } }, methods: { onFocusin: function onFocusin(evt) { if (evt.target === this.$el) { evt.preventDefault(); evt.stopPropagation(); this.focusFirst(evt); } }, stop: function stop(evt) { evt.preventDefault(); evt.stopPropagation(); }, onKeydown: function onKeydown(evt) { if (!this.keyNav) { /* istanbul ignore next: should never happen */ return; } var key = evt.keyCode; var shift = evt.shiftKey; if (key === _utils_key_codes__WEBPACK_IMPORTED_MODULE_3__["default"].UP || key === _utils_key_codes__WEBPACK_IMPORTED_MODULE_3__["default"].LEFT) { this.stop(evt); shift ? this.focusFirst(evt) : this.focusPrev(evt); } else if (key === _utils_key_codes__WEBPACK_IMPORTED_MODULE_3__["default"].DOWN || key === _utils_key_codes__WEBPACK_IMPORTED_MODULE_3__["default"].RIGHT) { this.stop(evt); shift ? this.focusLast(evt) : this.focusNext(evt); } }, setItemFocus: function setItemFocus(item) { item && item.focus && item.focus(); }, focusFirst: function focusFirst() { var items = this.getItems(); this.setItemFocus(items[0]); }, focusPrev: function focusPrev(evt) { var items = this.getItems(); var index = items.indexOf(evt.target); if (index > -1) { items = items.slice(0, index).reverse(); this.setItemFocus(items[0]); } }, focusNext: function focusNext(evt) { var items = this.getItems(); var index = items.indexOf(evt.target); if (index > -1) { items = items.slice(index + 1); this.setItemFocus(items[0]); } }, focusLast: function focusLast() { var items = this.getItems().reverse(); this.setItemFocus(items[0]); }, getItems: function getItems() { var items = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_1__["selectAll"])(ITEM_SELECTOR, this.$el); items.forEach(function (item) { // Ensure tabfocus is -1 on any new elements item.tabIndex = -1; }); return items.filter(function (el) { return Object(_utils_dom__WEBPACK_IMPORTED_MODULE_1__["isVisible"])(el); }); } }, render: function render(h) { return h('div', { staticClass: 'btn-toolbar', class: { 'justify-content-between': this.justify }, attrs: { role: 'toolbar', tabindex: this.keyNav ? '0' : null }, on: this.keyNav ? { focusin: this.onFocusin, keydown: this.onKeydown } : {} }, [this.normalizeSlot('default')]); } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/button-toolbar/index.js": /*!***************************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/button-toolbar/index.js ***! \***************************************************************************/ /*! exports provided: ButtonToolbarPlugin, BButtonToolbar */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ButtonToolbarPlugin", function() { return ButtonToolbarPlugin; }); /* harmony import */ var _button_toolbar__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./button-toolbar */ "./node_modules/bootstrap-vue/esm/components/button-toolbar/button-toolbar.js"); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BButtonToolbar", function() { return _button_toolbar__WEBPACK_IMPORTED_MODULE_0__["BButtonToolbar"]; }); /* harmony import */ var _utils_plugins__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/plugins */ "./node_modules/bootstrap-vue/esm/utils/plugins.js"); var ButtonToolbarPlugin = /*#__PURE__*/Object(_utils_plugins__WEBPACK_IMPORTED_MODULE_1__["pluginFactory"])({ components: { BButtonToolbar: _button_toolbar__WEBPACK_IMPORTED_MODULE_0__["BButtonToolbar"], BBtnToolbar: _button_toolbar__WEBPACK_IMPORTED_MODULE_0__["BButtonToolbar"] } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/button/button-close.js": /*!**************************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/button/button-close.js ***! \**************************************************************************/ /*! exports provided: BButtonClose */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BButtonClose", function() { return BButtonClose; }); /* harmony import */ var _utils_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/vue */ "./node_modules/bootstrap-vue/esm/utils/vue.js"); /* harmony import */ var vue_functional_data_merge__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue-functional-data-merge */ "./node_modules/vue-functional-data-merge/dist/lib.esm.js"); /* harmony import */ var _utils_config__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/config */ "./node_modules/bootstrap-vue/esm/utils/config.js"); /* harmony import */ var _utils_inspect__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/inspect */ "./node_modules/bootstrap-vue/esm/utils/inspect.js"); /* harmony import */ var _utils_normalize_slot__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/normalize-slot */ "./node_modules/bootstrap-vue/esm/utils/normalize-slot.js"); 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; } var NAME = 'BButtonClose'; var props = { content: { type: String, default: function _default() { return Object(_utils_config__WEBPACK_IMPORTED_MODULE_2__["getComponentConfig"])(NAME, 'content'); } }, disabled: { type: Boolean, default: false }, ariaLabel: { type: String, default: function _default() { return Object(_utils_config__WEBPACK_IMPORTED_MODULE_2__["getComponentConfig"])(NAME, 'ariaLabel'); } }, textVariant: { type: String, default: function _default() { return Object(_utils_config__WEBPACK_IMPORTED_MODULE_2__["getComponentConfig"])(NAME, 'textVariant'); } } }; // @vue/component var BButtonClose = /*#__PURE__*/_utils_vue__WEBPACK_IMPORTED_MODULE_0__["default"].extend({ name: NAME, functional: true, props: props, render: function render(h, _ref) { var props = _ref.props, data = _ref.data, slots = _ref.slots, scopedSlots = _ref.scopedSlots; var $slots = slots(); var $scopedSlots = scopedSlots || {}; var componentData = { staticClass: 'close', class: _defineProperty({}, "text-".concat(props.textVariant), props.textVariant), attrs: { type: 'button', disabled: props.disabled, 'aria-label': props.ariaLabel ? String(props.ariaLabel) : null }, on: { click: function click(evt) { // Ensure click on button HTML content is also disabled /* istanbul ignore if: bug in JSDOM still emits click on inner element */ if (props.disabled && Object(_utils_inspect__WEBPACK_IMPORTED_MODULE_3__["isEvent"])(evt)) { evt.stopPropagation(); evt.preventDefault(); } } } }; // Careful not to override the default slot with innerHTML if (!Object(_utils_normalize_slot__WEBPACK_IMPORTED_MODULE_4__["hasNormalizedSlot"])('default', $scopedSlots, $slots)) { componentData.domProps = { innerHTML: props.content }; } return h('button', Object(vue_functional_data_merge__WEBPACK_IMPORTED_MODULE_1__["mergeData"])(data, componentData), Object(_utils_normalize_slot__WEBPACK_IMPORTED_MODULE_4__["normalizeSlot"])('default', {}, $scopedSlots, $slots)); } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/button/button.js": /*!********************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/button/button.js ***! \********************************************************************/ /*! exports provided: props, BButton */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "props", function() { return props; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BButton", function() { return BButton; }); /* harmony import */ var _utils_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/vue */ "./node_modules/bootstrap-vue/esm/utils/vue.js"); /* harmony import */ var vue_functional_data_merge__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue-functional-data-merge */ "./node_modules/vue-functional-data-merge/dist/lib.esm.js"); /* harmony import */ var _utils_key_codes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/key-codes */ "./node_modules/bootstrap-vue/esm/utils/key-codes.js"); /* harmony import */ var _utils_pluck_props__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/pluck-props */ "./node_modules/bootstrap-vue/esm/utils/pluck-props.js"); /* harmony import */ var _utils_array__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/array */ "./node_modules/bootstrap-vue/esm/utils/array.js"); /* harmony import */ var _utils_config__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../utils/config */ "./node_modules/bootstrap-vue/esm/utils/config.js"); /* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../utils/dom */ "./node_modules/bootstrap-vue/esm/utils/dom.js"); /* harmony import */ var _utils_inspect__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../utils/inspect */ "./node_modules/bootstrap-vue/esm/utils/inspect.js"); /* harmony import */ var _utils_object__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../utils/object */ "./node_modules/bootstrap-vue/esm/utils/object.js"); /* harmony import */ var _utils_string__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../utils/string */ "./node_modules/bootstrap-vue/esm/utils/string.js"); /* harmony import */ var _link_link__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../link/link */ "./node_modules/bootstrap-vue/esm/components/link/link.js"); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 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; } // --- Constants -- var NAME = 'BButton'; var btnProps = { block: { type: Boolean, default: false }, disabled: { type: Boolean, default: false }, size: { type: String, default: function _default() { return Object(_utils_config__WEBPACK_IMPORTED_MODULE_5__["getComponentConfig"])(NAME, 'size'); } }, variant: { type: String, default: function _default() { return Object(_utils_config__WEBPACK_IMPORTED_MODULE_5__["getComponentConfig"])(NAME, 'variant'); } }, type: { type: String, default: 'button' }, tag: { type: String, default: 'button' }, pill: { type: Boolean, default: false }, squared: { type: Boolean, default: false }, pressed: { // Tri-state: `true`, `false` or `null` // => On, off, not a toggle type: Boolean, default: null } }; var linkProps = Object(_link_link__WEBPACK_IMPORTED_MODULE_10__["propsFactory"])(); delete linkProps.href.default; delete linkProps.to.default; var linkPropKeys = Object(_utils_object__WEBPACK_IMPORTED_MODULE_8__["keys"])(linkProps); var props = _objectSpread({}, linkProps, {}, btnProps); // --- Helper methods --- // Returns `true` if a tag's name equals `name` var tagIs = function tagIs(tag, name) { return Object(_utils_string__WEBPACK_IMPORTED_MODULE_9__["toString"])(tag).toLowerCase() === Object(_utils_string__WEBPACK_IMPORTED_MODULE_9__["toString"])(name).toLowerCase(); }; // Focus handler for toggle buttons // Needs class of 'focus' when focused var handleFocus = function handleFocus(evt) { if (evt.type === 'focusin') { Object(_utils_dom__WEBPACK_IMPORTED_MODULE_6__["addClass"])(evt.target, 'focus'); } else if (evt.type === 'focusout') { Object(_utils_dom__WEBPACK_IMPORTED_MODULE_6__["removeClass"])(evt.target, 'focus'); } }; // Is the requested button a link? // If tag prop is set to `a`, we use a to get proper disabled handling var isLink = function isLink(props) { return props.href || props.to || tagIs(props.tag, 'a'); }; // Is the button to be a toggle button? var isToggle = function isToggle(props) { return Object(_utils_inspect__WEBPACK_IMPORTED_MODULE_7__["isBoolean"])(props.pressed); }; // Is the button "really" a button? var isButton = function isButton(props) { return !(isLink(props) || props.tag && !tagIs(props.tag, 'button')); }; // Is the requested tag not a button or link? var isNonStandardTag = function isNonStandardTag(props) { return !isLink(props) && !isButton(props); }; // Compute required classes (non static classes) var computeClass = function computeClass(props) { var _ref; return ["btn-".concat(props.variant || Object(_utils_config__WEBPACK_IMPORTED_MODULE_5__["getComponentConfig"])(NAME, 'variant')), (_ref = {}, _defineProperty(_ref, "btn-".concat(props.size), props.size), _defineProperty(_ref, 'btn-block', props.block), _defineProperty(_ref, 'rounded-pill', props.pill), _defineProperty(_ref, 'rounded-0', props.squared && !props.pill), _defineProperty(_ref, "disabled", props.disabled), _defineProperty(_ref, "active", props.pressed), _ref)]; }; // Compute the link props to pass to b-link (if required) var computeLinkProps = function computeLinkProps(props) { return isLink(props) ? Object(_utils_pluck_props__WEBPACK_IMPORTED_MODULE_3__["default"])(linkPropKeys, props) : null; }; // Compute the attributes for a button var computeAttrs = function computeAttrs(props, data) { var button = isButton(props); var link = isLink(props); var toggle = isToggle(props); var nonStandardTag = isNonStandardTag(props); var hashLink = link && props.href === '#'; var role = data.attrs && data.attrs.role ? data.attrs.role : null; var tabindex = data.attrs ? data.attrs.tabindex : null; if (nonStandardTag || hashLink) { tabindex = '0'; } return { // Type only used for "real" buttons type: button && !link ? props.type : null, // Disabled only set on "real" buttons disabled: button ? props.disabled : null, // We add a role of button when the tag is not a link or button for ARIA // Don't bork any role provided in `data.attrs` when `isLink` or `isButton` // Except when link has `href` of `#` role: nonStandardTag || hashLink ? 'button' : role, // We set the `aria-disabled` state for non-standard tags 'aria-disabled': nonStandardTag ? String(props.disabled) : null, // For toggles, we need to set the pressed state for ARIA 'aria-pressed': toggle ? String(props.pressed) : null, // `autocomplete="off"` is needed in toggle mode to prevent some browsers // from remembering the previous setting when using the back button autocomplete: toggle ? 'off' : null, // `tabindex` is used when the component is not a button // Links are tabbable, but don't allow disabled, while non buttons or links // are not tabbable, so we mimic that functionality by disabling tabbing // when disabled, and adding a `tabindex="0"` to non buttons or non links tabindex: props.disabled && !button ? '-1' : tabindex }; }; // @vue/component var BButton = /*#__PURE__*/_utils_vue__WEBPACK_IMPORTED_MODULE_0__["default"].extend({ name: NAME, functional: true, props: props, render: function render(h, _ref2) { var props = _ref2.props, data = _ref2.data, listeners = _ref2.listeners, children = _ref2.children; var toggle = isToggle(props); var link = isLink(props); var nonStandardTag = isNonStandardTag(props); var hashLink = link && props.href === '#'; var on = { keydown: function keydown(evt) { // When the link is a `href="#"` or a non-standard tag (has `role="button"`), // we add a keydown handlers for SPACE/ENTER /* istanbul ignore next */ if (props.disabled || !(nonStandardTag || hashLink)) { return; } var keyCode = evt.keyCode; // Add SPACE handler for `href="#"` and ENTER handler for non-standard tags if (keyCode === _utils_key_codes__WEBPACK_IMPORTED_MODULE_2__["default"].SPACE || keyCode === _utils_key_codes__WEBPACK_IMPORTED_MODULE_2__["default"].ENTER && nonStandardTag) { var target = evt.currentTarget || evt.target; evt.preventDefault(); target.click(); } }, click: function click(evt) { /* istanbul ignore if: blink/button disabled should handle this */ if (props.disabled && Object(_utils_inspect__WEBPACK_IMPORTED_MODULE_7__["isEvent"])(evt)) { evt.stopPropagation(); evt.preventDefault(); } else if (toggle && listeners && listeners['update:pressed']) { // Send `.sync` updates to any "pressed" prop (if `.sync` listeners) // `concat()` will normalize the value to an array without // double wrapping an array value in an array Object(_utils_array__WEBPACK_IMPORTED_MODULE_4__["concat"])(listeners['update:pressed']).forEach(function (fn) { if (Object(_utils_inspect__WEBPACK_IMPORTED_MODULE_7__["isFunction"])(fn)) { fn(!props.pressed); } }); } } }; if (toggle) { on.focusin = handleFocus; on.focusout = handleFocus; } var componentData = { staticClass: 'btn', class: computeClass(props), props: computeLinkProps(props), attrs: computeAttrs(props, data), on: on }; return h(link ? _link_link__WEBPACK_IMPORTED_MODULE_10__["BLink"] : props.tag, Object(vue_functional_data_merge__WEBPACK_IMPORTED_MODULE_1__["mergeData"])(data, componentData), children); } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/button/index.js": /*!*******************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/button/index.js ***! \*******************************************************************/ /*! exports provided: ButtonPlugin, BButton, BButtonClose */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ButtonPlugin", function() { return ButtonPlugin; }); /* harmony import */ var _button__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./button */ "./node_modules/bootstrap-vue/esm/components/button/button.js"); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BButton", function() { return _button__WEBPACK_IMPORTED_MODULE_0__["BButton"]; }); /* harmony import */ var _button_close__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./button-close */ "./node_modules/bootstrap-vue/esm/components/button/button-close.js"); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BButtonClose", function() { return _button_close__WEBPACK_IMPORTED_MODULE_1__["BButtonClose"]; }); /* harmony import */ var _utils_plugins__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/plugins */ "./node_modules/bootstrap-vue/esm/utils/plugins.js"); var ButtonPlugin = /*#__PURE__*/Object(_utils_plugins__WEBPACK_IMPORTED_MODULE_2__["pluginFactory"])({ components: { BButton: _button__WEBPACK_IMPORTED_MODULE_0__["BButton"], BBtn: _button__WEBPACK_IMPORTED_MODULE_0__["BButton"], BButtonClose: _button_close__WEBPACK_IMPORTED_MODULE_1__["BButtonClose"], BBtnClose: _button_close__WEBPACK_IMPORTED_MODULE_1__["BButtonClose"] } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/calendar/calendar.js": /*!************************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/calendar/calendar.js ***! \************************************************************************/ /*! exports provided: BCalendar */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BCalendar", function() { return BCalendar; }); /* harmony import */ var _utils_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/vue */ "./node_modules/bootstrap-vue/esm/utils/vue.js"); /* harmony import */ var _utils_key_codes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/key-codes */ "./node_modules/bootstrap-vue/esm/utils/key-codes.js"); /* harmony import */ var _utils_identity__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/identity */ "./node_modules/bootstrap-vue/esm/utils/identity.js"); /* harmony import */ var _utils_loose_equal__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/loose-equal */ "./node_modules/bootstrap-vue/esm/utils/loose-equal.js"); /* harmony import */ var _utils_array__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/array */ "./node_modules/bootstrap-vue/esm/utils/array.js"); /* harmony import */ var _utils_config__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../utils/config */ "./node_modules/bootstrap-vue/esm/utils/config.js"); /* harmony import */ var _utils_date__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../utils/date */ "./node_modules/bootstrap-vue/esm/utils/date.js"); /* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../utils/dom */ "./node_modules/bootstrap-vue/esm/utils/dom.js"); /* harmony import */ var _utils_inspect__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../utils/inspect */ "./node_modules/bootstrap-vue/esm/utils/inspect.js"); /* harmony import */ var _utils_locale__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../utils/locale */ "./node_modules/bootstrap-vue/esm/utils/locale.js"); /* harmony import */ var _utils_number__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../utils/number */ "./node_modules/bootstrap-vue/esm/utils/number.js"); /* harmony import */ var _utils_string__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../utils/string */ "./node_modules/bootstrap-vue/esm/utils/string.js"); /* harmony import */ var _mixins_id__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../mixins/id */ "./node_modules/bootstrap-vue/esm/mixins/id.js"); /* harmony import */ var _mixins_normalize_slot__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../mixins/normalize-slot */ "./node_modules/bootstrap-vue/esm/mixins/normalize-slot.js"); /* harmony import */ var _icons_icons__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../icons/icons */ "./node_modules/bootstrap-vue/esm/icons/icons.js"); /* harmony import */ var _icons_iconstack__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../icons/iconstack */ "./node_modules/bootstrap-vue/esm/icons/iconstack.js"); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 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; } // --- Constants --- var NAME = 'BCalendar'; // Key Codes var UP = _utils_key_codes__WEBPACK_IMPORTED_MODULE_1__["default"].UP, DOWN = _utils_key_codes__WEBPACK_IMPORTED_MODULE_1__["default"].DOWN, LEFT = _utils_key_codes__WEBPACK_IMPORTED_MODULE_1__["default"].LEFT, RIGHT = _utils_key_codes__WEBPACK_IMPORTED_MODULE_1__["default"].RIGHT, PAGEUP = _utils_key_codes__WEBPACK_IMPORTED_MODULE_1__["default"].PAGEUP, PAGEDOWN = _utils_key_codes__WEBPACK_IMPORTED_MODULE_1__["default"].PAGEDOWN, HOME = _utils_key_codes__WEBPACK_IMPORTED_MODULE_1__["default"].HOME, END = _utils_key_codes__WEBPACK_IMPORTED_MODULE_1__["default"].END, ENTER = _utils_key_codes__WEBPACK_IMPORTED_MODULE_1__["default"].ENTER, SPACE = _utils_key_codes__WEBPACK_IMPORTED_MODULE_1__["default"].SPACE; // --- BCalendar component --- // @vue/component var BCalendar = _utils_vue__WEBPACK_IMPORTED_MODULE_0__["default"].extend({ name: NAME, mixins: [_mixins_id__WEBPACK_IMPORTED_MODULE_12__["default"], _mixins_normalize_slot__WEBPACK_IMPORTED_MODULE_13__["default"]], model: { // Even though this is the default that Vue assumes, we need // to add it for the docs to reflect that this is the model // And also for some validation libraries to work prop: 'value', event: 'input' }, props: { value: { type: [String, Date] // default: null }, valueAsDate: { // Always return the `v-model` value as a date object type: Boolean, default: false }, initialDate: { // This specifies the calendar year/month/day that will be shown when // first opening the datepicker if no v-model value is provided // Default is the current date (or `min`/`max`) type: [String, Date], default: null }, disabled: { type: Boolean, default: false }, readonly: { type: Boolean, default: false }, min: { type: [String, Date] // default: null }, max: { type: [String, Date] // default: null }, dateDisabledFn: { type: Function // default: null }, startWeekday: { // `0` (Sunday), `1` (Monday), ... `6` (Saturday) // Day of week to start calendar on type: [Number, String], default: 0 }, locale: { // Locale(s) to use // Default is to use page/browser default setting type: [String, Array] // default: null }, direction: { // 'ltr', 'rtl', or `null` (for auto detect) type: String // default: null }, selectedVariant: { // Variant color to use for the selected date type: String, default: 'primary' }, todayVariant: { // Variant color to use for today's date (defaults to `variant`) type: String // default: null }, noHighlightToday: { // Disable highlighting today's date type: Boolean, default: false }, dateInfoFn: { // Function to set a class of (classes) on the date cell // if passed a string or an array // TODO: // If the function returns an object, look for class prop for classes, // and other props for handling events/details/descriptions type: Function // default: null }, width: { // Has no effect if prop `block` is set type: String, default: '270px' }, block: { // Makes calendar the full width of its parent container type: Boolean, default: false }, hideHeader: { // When true makes the selected date header `sr-only` type: Boolean, default: false }, hidden: { // When `true`, renders a comment node, but keeps the component instance active // Mainly for , so that we can get the component's value and locale // But we might just use separate date formatters, using the resolved locale // (adjusted for the gregorian calendar) type: Boolean, default: false }, ariaControls: { type: String // default: null }, roleDescription: { type: String // default: null }, // Labels for buttons and keyboard shortcuts labelPrevYear: { type: String, default: function _default() { return Object(_utils_config__WEBPACK_IMPORTED_MODULE_5__["getComponentConfig"])(NAME, 'labelPrevYear'); } }, labelPrevMonth: { type: String, default: function _default() { return Object(_utils_config__WEBPACK_IMPORTED_MODULE_5__["getComponentConfig"])(NAME, 'labelPrevMonth'); } }, labelCurrentMonth: { type: String, default: function _default() { return Object(_utils_config__WEBPACK_IMPORTED_MODULE_5__["getComponentConfig"])(NAME, 'labelCurrentMonth'); } }, labelNextMonth: { type: String, default: function _default() { return Object(_utils_config__WEBPACK_IMPORTED_MODULE_5__["getComponentConfig"])(NAME, 'labelNextMonth'); } }, labelNextYear: { type: String, default: function _default() { return Object(_utils_config__WEBPACK_IMPORTED_MODULE_5__["getComponentConfig"])(NAME, 'labelNextYear'); } }, labelToday: { type: String, default: function _default() { return Object(_utils_config__WEBPACK_IMPORTED_MODULE_5__["getComponentConfig"])(NAME, 'labelToday'); } }, labelSelected: { type: String, default: function _default() { return Object(_utils_config__WEBPACK_IMPORTED_MODULE_5__["getComponentConfig"])(NAME, 'labelSelected'); } }, labelNoDateSelected: { type: String, default: function _default() { return Object(_utils_config__WEBPACK_IMPORTED_MODULE_5__["getComponentConfig"])(NAME, 'labelNoDateSelected'); } }, labelCalendar: { type: String, default: function _default() { return Object(_utils_config__WEBPACK_IMPORTED_MODULE_5__["getComponentConfig"])(NAME, 'labelCalendar'); } }, labelNav: { type: String, default: function _default() { return Object(_utils_config__WEBPACK_IMPORTED_MODULE_5__["getComponentConfig"])(NAME, 'labelNav'); } }, labelHelp: { type: String, default: function _default() { return Object(_utils_config__WEBPACK_IMPORTED_MODULE_5__["getComponentConfig"])(NAME, 'labelHelp'); } }, dateFormatOptions: { // `Intl.DateTimeFormat` object type: Object, default: function _default() { return { year: 'numeric', month: 'long', day: 'numeric', weekday: 'long' }; } } }, data: function data() { var selected = Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["formatYMD"])(this.value) || ''; return { // Selected date selectedYMD: selected, // Date in calendar grid that has `tabindex` of `0` activeYMD: selected || Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["formatYMD"])(Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["constrainDate"])(this.initialDate || this.getToday()), this.min, this.max), // Will be true if the calendar grid has/contains focus gridHasFocus: false, // Flag to enable the `aria-live` region(s) after mount // to prevent screen reader "outbursts" when mounting isLive: false }; }, computed: { // TODO: Use computed props to convert `YYYY-MM-DD` to `Date` object selectedDate: function selectedDate() { // Selected as a `Date` object return Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["parseYMD"])(this.selectedYMD); }, activeDate: function activeDate() { // Active as a `Date` object return Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["parseYMD"])(this.activeYMD); }, computedMin: function computedMin() { return Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["parseYMD"])(this.min); }, computedMax: function computedMax() { return Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["parseYMD"])(this.max); }, computedWeekStarts: function computedWeekStarts() { // `startWeekday` is a prop (constrained to `0` through `6`) return Math.max(Object(_utils_number__WEBPACK_IMPORTED_MODULE_10__["toInteger"])(this.startWeekday) || 0, 0) % 7; }, computedLocale: function computedLocale() { // Returns the resolved locale used by the calendar return Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["resolveLocale"])(Object(_utils_array__WEBPACK_IMPORTED_MODULE_4__["concat"])(this.locale).filter(_utils_identity__WEBPACK_IMPORTED_MODULE_2__["default"]), 'gregory'); }, calendarLocale: function calendarLocale() { // This locale enforces the gregorian calendar (for use in formatter functions) // Needed because IE 11 resolves `ar-IR` as islamic-civil calendar // and IE 11 (and some other browsers) do not support the `calendar` option // And we currently only support the gregorian calendar var fmt = new Intl.DateTimeFormat(this.computedLocale, { calendar: 'gregory' }); var calendar = fmt.resolvedOptions().calendar; var locale = fmt.resolvedOptions().locale; /* istanbul ignore if: mainly for IE 11 and a few other browsers, hard to test in JSDOM */ if (calendar !== 'gregory') { // Ensure the locale requests the gregorian calendar // Mainly for IE 11, and currently we can't handle non-gregorian calendars // TODO: Should we always return this value? locale = locale.replace(/-u-.+$/i, '').concat('-u-ca-gregory'); } return locale; }, calendarYear: function calendarYear() { return this.activeDate.getFullYear(); }, calendarMonth: function calendarMonth() { return this.activeDate.getMonth(); }, calendarFirstDay: function calendarFirstDay() { return Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["createDate"])(this.calendarYear, this.calendarMonth, 1); }, calendarDaysInMonth: function calendarDaysInMonth() { // We create a new date as to not mutate the original var date = Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["createDate"])(this.calendarFirstDay); date.setMonth(date.getMonth() + 1, 0); return date.getDate(); }, computedVariant: function computedVariant() { return "btn-".concat(this.selectedVariant || 'primary'); }, computedTodayVariant: function computedTodayVariant() { return "btn-outline-".concat(this.todayVariant || this.selectedVariant || 'primary'); }, isRTL: function isRTL() { // `true` if the language requested is RTL var dir = Object(_utils_string__WEBPACK_IMPORTED_MODULE_11__["toString"])(this.direction).toLowerCase(); if (dir === 'rtl') { /* istanbul ignore next */ return true; } else if (dir === 'ltr') { /* istanbul ignore next */ return false; } return Object(_utils_locale__WEBPACK_IMPORTED_MODULE_9__["isLocaleRTL"])(this.computedLocale); }, context: function context() { var selectedYMD = this.selectedYMD; var selectedDate = Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["parseYMD"])(selectedYMD); var activeYMD = this.activeYMD; var activeDate = Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["parseYMD"])(activeYMD); return { // The current value of the `v-model` selectedYMD: selectedYMD, selectedDate: selectedDate, selectedFormatted: selectedDate ? this.formatDateString(selectedDate) : this.labelNoDateSelected, // Which date cell is considered active due to navigation activeYMD: activeYMD, activeDate: activeDate, activeFormatted: activeDate ? this.formatDateString(activeDate) : '', // `true` if the date is disabled (when using keyboard navigation) disabled: this.dateDisabled(activeDate), // Locales used in formatting dates locale: this.computedLocale, calendarLocale: this.calendarLocale, rtl: this.isRTL }; }, // Computed props that return a function reference dateOutOfRange: function dateOutOfRange() { // Check wether a date is within the min/max range // returns a new function ref if the pops change // We do this as we need to trigger the calendar computed prop // to update when these props update var min = this.computedMin; var max = this.computedMax; return function (date) { // Handle both `YYYY-MM-DD` and `Date` objects date = Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["parseYMD"])(date); return min && date < min || max && date > max; }; }, dateDisabled: function dateDisabled() { // Returns a function for validating if a date is within range // We grab this variables first to ensure a new function ref // is generated when the props value changes // We do this as we need to trigger the calendar computed prop // to update when these props update var rangeFn = this.dateOutOfRange; var disabledFn = Object(_utils_inspect__WEBPACK_IMPORTED_MODULE_8__["isFunction"])(this.dateDisabledFn) ? this.dateDisabledFn : function () { return false; }; // Return the function ref return function (date) { // Handle both `YYYY-MM-DD` and `Date` objects date = Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["parseYMD"])(date); var ymd = Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["formatYMD"])(date); return !!(rangeFn(date) || disabledFn(ymd, date)); }; }, // Computed props that return date formatter functions formatDateString: function formatDateString() { // Returns a date formatter function return Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["createDateFormatter"])(this.calendarLocale, _objectSpread({ // Ensure we have year, month, day shown for screen readers/ARIA // If users really want to leave one of these out, they can // pass `undefined` for the property value year: 'numeric', month: '2-digit', day: '2-digit' }, this.dateFormatOptions, { // Ensure hours/minutes/seconds are not shown // As we do not support the time portion (yet) hour: undefined, minute: undefined, second: undefined, // Ensure calendar is gregorian calendar: 'gregory' })); }, formatYearMonth: function formatYearMonth() { // Returns a date formatter function return Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["createDateFormatter"])(this.calendarLocale, { year: 'numeric', month: 'long', calendar: 'gregory' }); }, formatWeekdayName: function formatWeekdayName() { return Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["createDateFormatter"])(this.calendarLocale, { weekday: 'long', calendar: 'gregory' }); }, formatWeekdayNameShort: function formatWeekdayNameShort() { // Used as the header cells return Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["createDateFormatter"])(this.calendarLocale, { weekday: 'short', calendar: 'gregory' }); }, formatDay: function formatDay() { return Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["createDateFormatter"])(this.calendarLocale, { day: 'numeric', calendar: 'gregory' }); }, // Disabled states for the nav buttons prevYearDisabled: function prevYearDisabled() { var min = this.computedMin; return this.disabled || min && Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["lastDateOfMonth"])(Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["oneYearAgo"])(this.activeDate)) < min; }, prevMonthDisabled: function prevMonthDisabled() { var min = this.computedMin; return this.disabled || min && Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["lastDateOfMonth"])(Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["oneMonthAgo"])(this.activeDate)) < min; }, thisMonthDisabled: function thisMonthDisabled() { // TODO: We could/should check if today is out of range return this.disabled; }, nextMonthDisabled: function nextMonthDisabled() { var max = this.computedMax; return this.disabled || max && Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["firstDateOfMonth"])(Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["oneMonthAhead"])(this.activeDate)) > max; }, nextYearDisabled: function nextYearDisabled() { var max = this.computedMax; return this.disabled || max && Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["firstDateOfMonth"])(Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["oneYearAhead"])(this.activeDate)) > max; }, // Calendar generation calendar: function calendar() { var matrix = []; var firstDay = this.calendarFirstDay; var calendarYear = firstDay.getFullYear(); var calendarMonth = firstDay.getMonth(); var daysInMonth = this.calendarDaysInMonth; var startIndex = firstDay.getDay(); // `0`..`6` var weekOffset = (this.computedWeekStarts > startIndex ? 7 : 0) - this.computedWeekStarts; // TODO: Change `dateInfoFn` to handle events and notes as well as classes var dateInfoFn = Object(_utils_inspect__WEBPACK_IMPORTED_MODULE_8__["isFunction"])(this.dateInfoFn) ? this.dateInfoFn : function () { return {}; }; // Build the calendar matrix var currentDay = 0 - weekOffset - startIndex; for (var week = 0; week < 6 && currentDay < daysInMonth; week++) { // For each week matrix[week] = []; // The following could be a map function for (var j = 0; j < 7; j++) { // For each day in week currentDay++; var date = Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["createDate"])(calendarYear, calendarMonth, currentDay); var month = date.getMonth(); var dayYMD = Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["formatYMD"])(date); var dayDisabled = this.dateDisabled(date); // TODO: This could be a normalizer method var dateInfo = dateInfoFn(dayYMD, Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["parseYMD"])(dayYMD)); dateInfo = Object(_utils_inspect__WEBPACK_IMPORTED_MODULE_8__["isString"])(dateInfo) || Object(_utils_inspect__WEBPACK_IMPORTED_MODULE_8__["isArray"])(dateInfo) ? { class: dateInfo } : Object(_utils_inspect__WEBPACK_IMPORTED_MODULE_8__["isPlainObject"])(dateInfo) ? _objectSpread({ class: '' }, dateInfo) : { class: '' }; matrix[week].push({ ymd: dayYMD, // Cell content day: this.formatDay(date), label: this.formatDateString(date), // Flags for styling isThisMonth: month === calendarMonth, isDisabled: dayDisabled, // TODO: Handle other dateInfo properties such as notes/events info: dateInfo }); } } return matrix; }, calendarHeadings: function calendarHeadings() { var _this = this; return this.calendar[0].map(function (d) { return { text: _this.formatWeekdayNameShort(Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["parseYMD"])(d.ymd)), label: _this.formatWeekdayName(Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["parseYMD"])(d.ymd)) }; }); } }, watch: { value: function value(newVal, oldVal) { var selected = Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["formatYMD"])(newVal) || ''; var old = Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["formatYMD"])(oldVal) || ''; if (!Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["datesEqual"])(selected, old)) { this.activeYMD = selected || this.activeYMD; this.selectedYMD = selected; } }, selectedYMD: function selectedYMD(newYMD, oldYMD) { // TODO: // Should we compare to `formatYMD(this.value)` and emit // only if they are different? if (newYMD !== oldYMD) { this.$emit('input', this.valueAsDate ? Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["parseYMD"])(newYMD) || null : newYMD || ''); } }, context: function context(newVal, oldVal) { if (!Object(_utils_loose_equal__WEBPACK_IMPORTED_MODULE_3__["default"])(newVal, oldVal)) { this.$emit('context', newVal); } }, hidden: function hidden(newVal) { // Reset the active focused day when hidden this.activeYMD = this.selectedYMD || Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["formatYMD"])(this.value || this.constrainDate(this.initialDate || this.getToday())); // Enable/disable the live regions this.setLive(!newVal); } }, created: function created() { var _this2 = this; this.$nextTick(function () { _this2.$emit('context', _this2.context); }); }, mounted: function mounted() { this.setLive(true); }, activated: function activated() /* istanbul ignore next */ { this.setLive(true); }, deactivated: function deactivated() /* istanbul ignore next */ { this.setLive(false); }, beforeDestroy: function beforeDestroy() { this.setLive(false); }, methods: { // Public method(s) focus: function focus() { if (!this.disabled) { try { this.$refs.grid.focus(); } catch (_unused) {} } }, blur: function blur() { try { this.$refs.grid.blur(); } catch (_unused2) {} }, // Private methods setLive: function setLive(on) { var _this3 = this; if (on) { this.$nextTick(function () { Object(_utils_dom__WEBPACK_IMPORTED_MODULE_7__["requestAF"])(function () { _this3.isLive = true; }); }); } else { this.isLive = false; } }, getToday: function getToday() { return Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["parseYMD"])(Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["createDate"])()); }, constrainDate: function constrainDate(date) { // Constrains a date between min and max // returns a new `Date` object instance return Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["constrainDate"])(date, this.computedMin, this.computedMax); }, emitSelected: function emitSelected(date) { var _this4 = this; // Performed in a `$nextTick()` to (probably) ensure // the input event has emitted first this.$nextTick(function () { _this4.$emit('selected', Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["formatYMD"])(date) || '', Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["parseYMD"])(date) || null); }); }, // Event handlers setGridFocusFlag: function setGridFocusFlag(evt) { // Sets the gridHasFocus flag to make date "button" look focused this.gridHasFocus = !this.disabled && evt.type === 'focus'; }, onKeydownWrapper: function onKeydownWrapper(evt) { // Calendar keyboard navigation // Handles PAGEUP/PAGEDOWN/END/HOME/LEFT/UP/RIGHT/DOWN // Focuses grid after updating var keyCode = evt.keyCode; var altKey = evt.altKey; if (!Object(_utils_array__WEBPACK_IMPORTED_MODULE_4__["arrayIncludes"])([PAGEUP, PAGEDOWN, END, HOME, LEFT, UP, RIGHT, DOWN], keyCode)) { /* istanbul ignore next */ return; } evt.preventDefault(); evt.stopPropagation(); var activeDate = Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["createDate"])(this.activeDate); var checkDate = Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["createDate"])(this.activeDate); var day = activeDate.getDate(); var constrainedToday = this.constrainDate(this.getToday()); var isRTL = this.isRTL; if (keyCode === PAGEUP) { // PAGEUP - Previous month/year activeDate = (altKey ? _utils_date__WEBPACK_IMPORTED_MODULE_6__["oneYearAgo"] : _utils_date__WEBPACK_IMPORTED_MODULE_6__["oneMonthAgo"])(activeDate); // We check the first day of month to be in rage checkDate = Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["createDate"])(activeDate); checkDate.setDate(1); } else if (keyCode === PAGEDOWN) { // PAGEDOWN - Next month/year activeDate = (altKey ? _utils_date__WEBPACK_IMPORTED_MODULE_6__["oneYearAhead"] : _utils_date__WEBPACK_IMPORTED_MODULE_6__["oneMonthAhead"])(activeDate); // We check the last day of month to be in rage checkDate = Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["createDate"])(activeDate); checkDate.setMonth(checkDate.getMonth() + 1); checkDate.setDate(0); } else if (keyCode === LEFT) { // LEFT - Previous day (or next day for RTL) activeDate.setDate(day + (isRTL ? 1 : -1)); checkDate = activeDate; } else if (keyCode === RIGHT) { // RIGHT - Next day (or previous day for RTL) activeDate.setDate(day + (isRTL ? -1 : 1)); checkDate = activeDate; } else if (keyCode === UP) { // UP - Previous week activeDate.setDate(day - 7); checkDate = activeDate; } else if (keyCode === DOWN) { // DOWN - Next week activeDate.setDate(day + 7); checkDate = activeDate; } else if (keyCode === HOME) { // HOME - Today activeDate = constrainedToday; checkDate = activeDate; } else if (keyCode === END) { // END - Selected date, or today if no selected date activeDate = Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["parseYMD"])(this.selectedDate) || constrainedToday; checkDate = activeDate; } if (!this.dateOutOfRange(checkDate) && !Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["datesEqual"])(activeDate, this.activeDate)) { // We only jump to date if within min/max // We don't check for individual disabled dates though (via user function) this.activeYMD = Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["formatYMD"])(activeDate); } // Ensure grid is focused this.focus(); }, onKeydownGrid: function onKeydownGrid(evt) { // Pressing enter/space on grid to select active date var keyCode = evt.keyCode; var activeDate = this.activeDate; if (keyCode === ENTER || keyCode === SPACE) { evt.preventDefault(); evt.stopPropagation(); if (!this.disabled && !this.readonly && !this.dateDisabled(activeDate)) { this.selectedYMD = Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["formatYMD"])(activeDate); this.emitSelected(activeDate); } // Ensure grid is focused this.focus(); } }, onClickDay: function onClickDay(day) { // Clicking on a date "button" to select it var selectedDate = this.selectedDate; var activeDate = this.activeDate; var clickedDate = Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["parseYMD"])(day.ymd); if (!this.disabled && !day.isDisabled && !this.dateDisabled(clickedDate)) { if (!this.readonly) { // If readonly mode, we don't set the selected date, just the active date // If the clicked date is equal to the already selected date, we don't update the model this.selectedYMD = Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["formatYMD"])(Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["datesEqual"])(clickedDate, selectedDate) ? selectedDate : clickedDate); this.emitSelected(clickedDate); } this.activeYMD = Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["formatYMD"])(Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["datesEqual"])(clickedDate, activeDate) ? activeDate : Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["createDate"])(clickedDate)); // Ensure grid is focused this.focus(); } }, gotoPrevYear: function gotoPrevYear() { this.activeYMD = Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["formatYMD"])(this.constrainDate(Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["oneYearAgo"])(this.activeDate))); }, gotoPrevMonth: function gotoPrevMonth() { this.activeYMD = Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["formatYMD"])(this.constrainDate(Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["oneMonthAgo"])(this.activeDate))); }, gotoCurrentMonth: function gotoCurrentMonth() { // TODO: Maybe this goto date should be configurable? this.activeYMD = Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["formatYMD"])(this.constrainDate(this.getToday())); }, gotoNextMonth: function gotoNextMonth() { this.activeYMD = Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["formatYMD"])(this.constrainDate(Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["oneMonthAhead"])(this.activeDate))); }, gotoNextYear: function gotoNextYear() { this.activeYMD = Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["formatYMD"])(this.constrainDate(Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["oneYearAhead"])(this.activeDate))); }, onHeaderClick: function onHeaderClick() { if (!this.disabled) { this.activeYMD = this.selectedYMD || Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["formatYMD"])(this.getToday()); this.focus(); } } }, render: function render(h) { var _this5 = this; // If hidden prop is set, render just a placeholder node if (this.hidden) { return h(); } var isRTL = this.isRTL; var todayYMD = Object(_utils_date__WEBPACK_IMPORTED_MODULE_6__["formatYMD"])(this.getToday()); var selectedYMD = this.selectedYMD; var activeYMD = this.activeYMD; var highlightToday = !this.noHighlightToday; var safeId = this.safeId; // Flag for making the `aria-live` regions live var isLive = this.isLive; // Pre-compute some IDs // This should be computed props var idValue = safeId(); var idWidget = safeId('_calendar-wrapper_'); var idNav = safeId('_calendar-nav_'); var idGrid = safeId('_calendar-grid_'); var idGridCaption = safeId('_calendar-grid-caption_'); var idGridHelp = safeId('_calendar-grid-help_'); var idActive = activeYMD ? safeId("_cell-".concat(activeYMD, "_")) : null; // Header showing current selected date var $header = h('output', { staticClass: 'd-block text-center rounded border small p-1 mb-1', class: { 'text-muted': this.disabled, readonly: this.readonly || this.disabled }, attrs: { id: idValue, for: idGrid, role: 'status', tabindex: this.disabled ? null : '-1', // Mainly for testing purposes, as we do not know // the exact format `Intl` will format the date string 'data-selected': Object(_utils_string__WEBPACK_IMPORTED_MODULE_11__["toString"])(selectedYMD), // We wait until after mount to enable `aria-live` // to prevent initial announcement on page render 'aria-live': isLive ? 'polite' : 'off', 'aria-atomic': isLive ? 'true' : null }, on: { // Transfer focus/click to focus grid // and focus active date (or today if no selection) click: this.onHeaderClick, focus: this.onHeaderClick } }, this.selectedDate ? [// We use `bdi` elements here in case the label doesn't match the locale // Although IE 11 does not deal with at all (equivalent to a span) h('bdi', { staticClass: 'sr-only' }, " (".concat(Object(_utils_string__WEBPACK_IMPORTED_MODULE_11__["toString"])(this.labelSelected), ") ")), h('bdi', {}, this.formatDateString(this.selectedDate))] : this.labelNoDateSelected || "\xA0" // ' ' ); $header = h('header', { class: this.hideHeader ? 'sr-only' : 'mb-1', attrs: { title: this.selectedDate ? this.labelSelectedDate || null : null } }, [$header]); // Content for the date navigation buttons var $prevYearIcon = h(_icons_iconstack__WEBPACK_IMPORTED_MODULE_15__["BIconstack"], { props: { shiftV: 0.5, flipH: isRTL } }, [h(_icons_icons__WEBPACK_IMPORTED_MODULE_14__["BIconChevronLeft"], { props: { shiftH: -2 } }), h(_icons_icons__WEBPACK_IMPORTED_MODULE_14__["BIconChevronLeft"], { props: { shiftH: 2 } })]); var $prevMonthIcon = h(_icons_icons__WEBPACK_IMPORTED_MODULE_14__["BIconChevronLeft"], { props: { shiftV: 0.5, flipH: isRTL } }); var $thisMonthIcon = h(_icons_icons__WEBPACK_IMPORTED_MODULE_14__["BIconCircleFill"], { props: { shiftV: 0.5 } }); var $nextMonthIcon = h(_icons_icons__WEBPACK_IMPORTED_MODULE_14__["BIconChevronLeft"], { props: { shiftV: 0.5, flipH: !isRTL } }); var $nextYearIcon = h(_icons_iconstack__WEBPACK_IMPORTED_MODULE_15__["BIconstack"], { props: { shiftV: 0.5, flipH: !isRTL } }, [h(_icons_icons__WEBPACK_IMPORTED_MODULE_14__["BIconChevronLeft"], { props: { shiftH: -2 } }), h(_icons_icons__WEBPACK_IMPORTED_MODULE_14__["BIconChevronLeft"], { props: { shiftH: 2 } })]); // Utility to create the date navigation buttons var makeNavBtn = function makeNavBtn(content, label, handler, btnDisabled, shortcut) { return h('button', { staticClass: 'btn btn-sm btn-outline-secondary border-0 flex-fill p-1 mx-1', class: { disabled: btnDisabled }, attrs: { title: label || null, type: 'button', 'aria-label': label || null, 'aria-disabled': btnDisabled ? 'true' : null, 'aria-keyshortcuts': shortcut || null }, on: btnDisabled ? {} : { click: handler } }, [h('div', { attrs: { 'aria-hidden': 'true' } }, [content])]); }; // Generate the date navigation buttons var $nav = h('div', { staticClass: 'b-calendar-nav d-flex mx-n1 mb-1', attrs: { id: idNav, role: 'group', 'aria-hidden': this.disabled ? 'true' : null, 'aria-label': this.labelNav || null, 'aria-controls': idGrid } }, [makeNavBtn($prevYearIcon, this.labelPrevYear, this.gotoPrevYear, this.prevYearDisabled, 'Alt+PageDown'), makeNavBtn($prevMonthIcon, this.labelPrevMonth, this.gotoPrevMonth, this.prevMonthDisabled, 'PageDown'), makeNavBtn($thisMonthIcon, this.labelCurrentMonth, this.gotoCurrentMonth, this.thisMonthDisabled, 'Home'), makeNavBtn($nextMonthIcon, this.labelNextMonth, this.gotoNextMonth, this.nextMonthDisabled, 'PageUp'), makeNavBtn($nextYearIcon, this.labelNextYear, this.gotoNextYear, this.nextYearDisabled, 'Alt+PageUp')]); // Caption for calendar grid var $gridCaption = h('header', { key: 'grid-caption', staticClass: 'text-center font-weight-bold p-1 m-0', class: { 'text-muted': this.disabled }, attrs: { id: idGridCaption, 'aria-live': isLive ? 'polite' : null, 'aria-atomic': isLive ? 'true' : null } }, this.formatYearMonth(this.calendarFirstDay)); // Calendar weekday headings var $gridWeekDays = h('div', { staticClass: 'row no-gutters border-bottom', attrs: { 'aria-hidden': 'true' } }, this.calendarHeadings.map(function (d, idx) { return h('small', { key: idx, staticClass: 'col text-truncate', class: { 'text-muted': _this5.disabled }, attrs: { title: d.label === d.text ? null : d.label, 'aria-label': d.label } }, d.text); })); // Calendar day grid var $gridBody = this.calendar.map(function (week) { var $cells = week.map(function (day, dIndex) { var _class; var isSelected = day.ymd === selectedYMD; var isActive = day.ymd === activeYMD; var isToday = day.ymd === todayYMD; var idCell = safeId("_cell-".concat(day.ymd, "_")); // "fake" button var $btn = h('span', { staticClass: 'btn border-0 rounded-circle text-nowrap', // Should we add some classes to signify if today/selected/etc? class: (_class = { // Give the fake button a focus ring focus: isActive && _this5.gridHasFocus, // Styling disabled: day.isDisabled || _this5.disabled, active: isSelected }, _defineProperty(_class, _this5.computedVariant, isSelected), _defineProperty(_class, _this5.computedTodayVariant, isToday && highlightToday && !isSelected && day.isThisMonth), _defineProperty(_class, 'btn-outline-light', !(isToday && highlightToday) && !isSelected && !isActive), _defineProperty(_class, 'btn-light', !(isToday && highlightToday) && !isSelected && isActive), _defineProperty(_class, 'text-muted', !day.isThisMonth && !isSelected), _defineProperty(_class, 'text-dark', !(isToday && highlightToday) && !isSelected && !isActive && day.isThisMonth), _defineProperty(_class, 'font-weight-bold', (isSelected || day.isThisMonth) && !day.isDisabled), _class), on: { click: function click() { return _this5.onClickDay(day); } } }, day.day); return h('div', // Cell with button { key: dIndex, staticClass: 'col p-0', class: day.isDisabled ? 'bg-light' : day.info.class || '', attrs: { id: idCell, role: 'button', 'data-date': day.ymd, // Primarily for testing purposes // Only days in the month are presented as buttons to screen readers 'aria-hidden': day.isThisMonth ? null : 'true', 'aria-disabled': day.isDisabled || _this5.disabled ? 'true' : null, 'aria-label': [day.label, isSelected ? "(".concat(_this5.labelSelected, ")") : null, isToday ? "(".concat(_this5.labelToday, ")") : null].filter(_utils_identity__WEBPACK_IMPORTED_MODULE_2__["default"]).join(' '), // NVDA doesn't convey `aria-selected`, but does `aria-current`, // ChromeVox doesn't convey `aria-current`, but does `aria-selected`, // so we set both attributes for robustness 'aria-selected': isSelected ? 'true' : null, 'aria-current': isSelected ? 'date' : null } }, [$btn]); }); // Return the week "row" // We use the first day of the weeks YMD value as a // key for efficient DOM patching / element re-use return h('div', { key: week[0].ymd, staticClass: 'row no-gutters' }, $cells); }); $gridBody = h('div', { // A key is only required on the body if we add in transition support // key: this.activeYMD.slice(0, -3), staticClass: 'b-calendar-grid-body', style: this.disabled ? { pointerEvents: 'none' } : {} }, $gridBody); var $gridHelp = h('footer', { staticClass: 'border-top small text-muted text-center bg-light', attrs: { id: idGridHelp } }, [h('div', { staticClass: 'small' }, this.labelHelp)]); var $grid = h('div', { ref: 'grid', staticClass: 'form-control h-auto text-center p-0 mb-0', attrs: { id: idGrid, role: 'application', tabindex: this.disabled ? null : '0', 'data-month': activeYMD.slice(0, -3), // `YYYY-MM`, mainly for testing 'aria-roledescription': this.labelCalendar || null, 'aria-labelledby': idGridCaption, 'aria-describedby': idGridHelp, // `aria-readonly` is not considered valid on `role="application"` // https://www.w3.org/TR/wai-aria-1.1/#aria-readonly // 'aria-readonly': this.readonly && !this.disabled ? 'true' : null, 'aria-disabled': this.disabled ? 'true' : null, 'aria-activedescendant': idActive }, on: { keydown: this.onKeydownGrid, focus: this.setGridFocusFlag, blur: this.setGridFocusFlag } }, [$gridCaption, $gridWeekDays, $gridBody, $gridHelp]); // Optional bottom slot var $slot = this.normalizeSlot('default'); $slot = $slot ? h('footer', { staticClass: 'mt-2' }, $slot) : h(); var $widget = h('div', { staticClass: 'b-calendar-inner', class: this.block ? 'd-block' : 'd-inline-block', style: this.block ? {} : { width: this.width }, attrs: { id: idWidget, dir: isRTL ? 'rtl' : 'ltr', lang: this.computedLocale || null, role: 'group', 'aria-disabled': this.disabled ? 'true' : null, // If datepicker controls an input, this will specify the ID of the input 'aria-controls': this.ariaControls || null, // This should be a prop (so it can be changed to Date picker, etc, localized 'aria-roledescription': this.roleDescription || null, 'aria-describedby': [// Should the attr (if present) go last? // Or should this attr be a prop? this.$attrs['aria-describedby'], idValue, idGridHelp].filter(_utils_identity__WEBPACK_IMPORTED_MODULE_2__["default"]).join(' ') }, on: { keydown: this.onKeydownWrapper } }, [$header, $nav, $grid, $slot]); // Wrap in an outer div that can be styled return h('div', { staticClass: 'b-calendar', // We use a style here rather than class `d-inline-block` so that users can // override the display value (`d-*` classes use the `!important` flag) style: this.block ? {} : { display: 'inline-block' } }, [$widget]); } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/calendar/index.js": /*!*********************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/calendar/index.js ***! \*********************************************************************/ /*! exports provided: CalendarPlugin, BCalendar */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CalendarPlugin", function() { return CalendarPlugin; }); /* harmony import */ var _calendar__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./calendar */ "./node_modules/bootstrap-vue/esm/components/calendar/calendar.js"); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BCalendar", function() { return _calendar__WEBPACK_IMPORTED_MODULE_0__["BCalendar"]; }); /* harmony import */ var _utils_plugins__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/plugins */ "./node_modules/bootstrap-vue/esm/utils/plugins.js"); var CalendarPlugin = /*#__PURE__*/Object(_utils_plugins__WEBPACK_IMPORTED_MODULE_1__["pluginFactory"])({ components: { BCalendar: _calendar__WEBPACK_IMPORTED_MODULE_0__["BCalendar"] } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/card/card-body.js": /*!*********************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/card/card-body.js ***! \*********************************************************************/ /*! exports provided: props, BCardBody */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "props", function() { return props; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BCardBody", function() { return BCardBody; }); /* harmony import */ var _utils_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/vue */ "./node_modules/bootstrap-vue/esm/utils/vue.js"); /* harmony import */ var vue_functional_data_merge__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue-functional-data-merge */ "./node_modules/vue-functional-data-merge/dist/lib.esm.js"); /* harmony import */ var _utils_prefix_prop_name__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/prefix-prop-name */ "./node_modules/bootstrap-vue/esm/utils/prefix-prop-name.js"); /* harmony import */ var _utils_copy_props__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/copy-props */ "./node_modules/bootstrap-vue/esm/utils/copy-props.js"); /* harmony import */ var _utils_pluck_props__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/pluck-props */ "./node_modules/bootstrap-vue/esm/utils/pluck-props.js"); /* harmony import */ var _mixins_card__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../mixins/card */ "./node_modules/bootstrap-vue/esm/mixins/card.js"); /* harmony import */ var _card_title__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./card-title */ "./node_modules/bootstrap-vue/esm/components/card/card-title.js"); /* harmony import */ var _card_sub_title__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./card-sub-title */ "./node_modules/bootstrap-vue/esm/components/card/card-sub-title.js"); function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 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; } var props = _objectSpread({}, Object(_utils_copy_props__WEBPACK_IMPORTED_MODULE_3__["default"])(_mixins_card__WEBPACK_IMPORTED_MODULE_5__["default"].props, _utils_prefix_prop_name__WEBPACK_IMPORTED_MODULE_2__["default"].bind(null, 'body')), { bodyClass: { type: [String, Object, Array], default: null } }, _card_title__WEBPACK_IMPORTED_MODULE_6__["props"], {}, _card_sub_title__WEBPACK_IMPORTED_MODULE_7__["props"], { overlay: { type: Boolean, default: false } }); // @vue/component var BCardBody = /*#__PURE__*/_utils_vue__WEBPACK_IMPORTED_MODULE_0__["default"].extend({ name: 'BCardBody', functional: true, props: props, render: function render(h, _ref) { var _ref2; var props = _ref.props, data = _ref.data, children = _ref.children; var cardTitle = h(); var cardSubTitle = h(); var cardContent = children || [h()]; if (props.title) { cardTitle = h(_card_title__WEBPACK_IMPORTED_MODULE_6__["BCardTitle"], { props: Object(_utils_pluck_props__WEBPACK_IMPORTED_MODULE_4__["default"])(_card_title__WEBPACK_IMPORTED_MODULE_6__["props"], props) }); } if (props.subTitle) { cardSubTitle = h(_card_sub_title__WEBPACK_IMPORTED_MODULE_7__["BCardSubTitle"], { props: Object(_utils_pluck_props__WEBPACK_IMPORTED_MODULE_4__["default"])(_card_sub_title__WEBPACK_IMPORTED_MODULE_7__["props"], props), class: ['mb-2'] }); } return h(props.bodyTag, Object(vue_functional_data_merge__WEBPACK_IMPORTED_MODULE_1__["mergeData"])(data, { staticClass: 'card-body', class: [(_ref2 = { 'card-img-overlay': props.overlay }, _defineProperty(_ref2, "bg-".concat(props.bodyBgVariant), props.bodyBgVariant), _defineProperty(_ref2, "border-".concat(props.bodyBorderVariant), props.bodyBorderVariant), _defineProperty(_ref2, "text-".concat(props.bodyTextVariant), props.bodyTextVariant), _ref2), props.bodyClass || {}] }), [cardTitle, cardSubTitle].concat(_toConsumableArray(cardContent))); } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/card/card-footer.js": /*!***********************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/card/card-footer.js ***! \***********************************************************************/ /*! exports provided: props, BCardFooter */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "props", function() { return props; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BCardFooter", function() { return BCardFooter; }); /* harmony import */ var _utils_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/vue */ "./node_modules/bootstrap-vue/esm/utils/vue.js"); /* harmony import */ var vue_functional_data_merge__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue-functional-data-merge */ "./node_modules/vue-functional-data-merge/dist/lib.esm.js"); /* harmony import */ var _utils_prefix_prop_name__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/prefix-prop-name */ "./node_modules/bootstrap-vue/esm/utils/prefix-prop-name.js"); /* harmony import */ var _utils_copy_props__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/copy-props */ "./node_modules/bootstrap-vue/esm/utils/copy-props.js"); /* harmony import */ var _utils_html__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/html */ "./node_modules/bootstrap-vue/esm/utils/html.js"); /* harmony import */ var _mixins_card__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../mixins/card */ "./node_modules/bootstrap-vue/esm/mixins/card.js"); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 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; } var props = _objectSpread({}, Object(_utils_copy_props__WEBPACK_IMPORTED_MODULE_3__["default"])(_mixins_card__WEBPACK_IMPORTED_MODULE_5__["default"].props, _utils_prefix_prop_name__WEBPACK_IMPORTED_MODULE_2__["default"].bind(null, 'footer')), { footer: { type: String, default: null }, footerHtml: { type: String, default: null }, footerClass: { type: [String, Object, Array], default: null } }); // @vue/component var BCardFooter = /*#__PURE__*/_utils_vue__WEBPACK_IMPORTED_MODULE_0__["default"].extend({ name: 'BCardFooter', functional: true, props: props, render: function render(h, _ref) { var _ref2; var props = _ref.props, data = _ref.data, children = _ref.children; return h(props.footerTag, Object(vue_functional_data_merge__WEBPACK_IMPORTED_MODULE_1__["mergeData"])(data, { staticClass: 'card-footer', class: [props.footerClass, (_ref2 = {}, _defineProperty(_ref2, "bg-".concat(props.footerBgVariant), props.footerBgVariant), _defineProperty(_ref2, "border-".concat(props.footerBorderVariant), props.footerBorderVariant), _defineProperty(_ref2, "text-".concat(props.footerTextVariant), props.footerTextVariant), _ref2)] }), children || [h('div', { domProps: Object(_utils_html__WEBPACK_IMPORTED_MODULE_4__["htmlOrText"])(props.footerHtml, props.footer) })]); } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/card/card-group.js": /*!**********************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/card/card-group.js ***! \**********************************************************************/ /*! exports provided: props, BCardGroup */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "props", function() { return props; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BCardGroup", function() { return BCardGroup; }); /* harmony import */ var _utils_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/vue */ "./node_modules/bootstrap-vue/esm/utils/vue.js"); /* harmony import */ var vue_functional_data_merge__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue-functional-data-merge */ "./node_modules/vue-functional-data-merge/dist/lib.esm.js"); var props = { tag: { type: String, default: 'div' }, deck: { type: Boolean, default: false }, columns: { type: Boolean, default: false } }; // @vue/component var BCardGroup = /*#__PURE__*/_utils_vue__WEBPACK_IMPORTED_MODULE_0__["default"].extend({ name: 'BCardGroup', functional: true, props: props, render: function render(h, _ref) { var props = _ref.props, data = _ref.data, children = _ref.children; return h(props.tag, Object(vue_functional_data_merge__WEBPACK_IMPORTED_MODULE_1__["mergeData"])(data, { class: props.deck ? 'card-deck' : props.columns ? 'card-columns' : 'card-group' }), children); } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/card/card-header.js": /*!***********************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/card/card-header.js ***! \***********************************************************************/ /*! exports provided: props, BCardHeader */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "props", function() { return props; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BCardHeader", function() { return BCardHeader; }); /* harmony import */ var _utils_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/vue */ "./node_modules/bootstrap-vue/esm/utils/vue.js"); /* harmony import */ var vue_functional_data_merge__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue-functional-data-merge */ "./node_modules/vue-functional-data-merge/dist/lib.esm.js"); /* harmony import */ var _utils_prefix_prop_name__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/prefix-prop-name */ "./node_modules/bootstrap-vue/esm/utils/prefix-prop-name.js"); /* harmony import */ var _utils_copy_props__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/copy-props */ "./node_modules/bootstrap-vue/esm/utils/copy-props.js"); /* harmony import */ var _utils_html__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/html */ "./node_modules/bootstrap-vue/esm/utils/html.js"); /* harmony import */ var _mixins_card__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../mixins/card */ "./node_modules/bootstrap-vue/esm/mixins/card.js"); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 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; } var props = _objectSpread({}, Object(_utils_copy_props__WEBPACK_IMPORTED_MODULE_3__["default"])(_mixins_card__WEBPACK_IMPORTED_MODULE_5__["default"].props, _utils_prefix_prop_name__WEBPACK_IMPORTED_MODULE_2__["default"].bind(null, 'header')), { header: { type: String, default: null }, headerHtml: { type: String, default: null }, headerClass: { type: [String, Object, Array], default: null } }); // @vue/component var BCardHeader = /*#__PURE__*/_utils_vue__WEBPACK_IMPORTED_MODULE_0__["default"].extend({ name: 'BCardHeader', functional: true, props: props, render: function render(h, _ref) { var _ref2; var props = _ref.props, data = _ref.data, children = _ref.children; return h(props.headerTag, Object(vue_functional_data_merge__WEBPACK_IMPORTED_MODULE_1__["mergeData"])(data, { staticClass: 'card-header', class: [props.headerClass, (_ref2 = {}, _defineProperty(_ref2, "bg-".concat(props.headerBgVariant), props.headerBgVariant), _defineProperty(_ref2, "border-".concat(props.headerBorderVariant), props.headerBorderVariant), _defineProperty(_ref2, "text-".concat(props.headerTextVariant), props.headerTextVariant), _ref2)] }), children || [h('div', { domProps: Object(_utils_html__WEBPACK_IMPORTED_MODULE_4__["htmlOrText"])(props.headerHtml, props.header) })]); } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/card/card-img-lazy.js": /*!*************************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/card/card-img-lazy.js ***! \*************************************************************************/ /*! exports provided: props, BCardImgLazy */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "props", function() { return props; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BCardImgLazy", function() { return BCardImgLazy; }); /* harmony import */ var _utils_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/vue */ "./node_modules/bootstrap-vue/esm/utils/vue.js"); /* harmony import */ var _utils_object__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/object */ "./node_modules/bootstrap-vue/esm/utils/object.js"); /* harmony import */ var vue_functional_data_merge__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! vue-functional-data-merge */ "./node_modules/vue-functional-data-merge/dist/lib.esm.js"); /* harmony import */ var _image_img_lazy__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../image/img-lazy */ "./node_modules/bootstrap-vue/esm/components/image/img-lazy.js"); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 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; } // Copy of `` props, and remove conflicting/non-applicable props // The `omit()` util creates a new object, so we can just pass the original props var lazyProps = Object(_utils_object__WEBPACK_IMPORTED_MODULE_1__["omit"])(_image_img_lazy__WEBPACK_IMPORTED_MODULE_3__["props"], ['left', 'right', 'center', 'block', 'rounded', 'thumbnail', 'fluid', 'fluidGrow']); var props = _objectSpread({}, lazyProps, { top: { type: Boolean, default: false }, bottom: { type: Boolean, default: false }, start: { type: Boolean, default: false }, left: { // alias of 'start' type: Boolean, default: false }, end: { type: Boolean, default: false }, right: { // alias of 'end' type: Boolean, default: false } }); // @vue/component var BCardImgLazy = /*#__PURE__*/_utils_vue__WEBPACK_IMPORTED_MODULE_0__["default"].extend({ name: 'BCardImgLazy', functional: true, props: props, render: function render(h, _ref) { var props = _ref.props, data = _ref.data; var baseClass = 'card-img'; if (props.top) { baseClass += '-top'; } else if (props.right || props.end) { baseClass += '-right'; } else if (props.bottom) { baseClass += '-bottom'; } else if (props.left || props.start) { baseClass += '-left'; } // False out the left/center/right props before passing to b-img-lazy var lazyProps = _objectSpread({}, props, { left: false, right: false, center: false }); return h(_image_img_lazy__WEBPACK_IMPORTED_MODULE_3__["BImgLazy"], Object(vue_functional_data_merge__WEBPACK_IMPORTED_MODULE_2__["mergeData"])(data, { class: [baseClass], props: lazyProps })); } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/card/card-img.js": /*!********************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/card/card-img.js ***! \********************************************************************/ /*! exports provided: props, BCardImg */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "props", function() { return props; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BCardImg", function() { return BCardImg; }); /* harmony import */ var _utils_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/vue */ "./node_modules/bootstrap-vue/esm/utils/vue.js"); /* harmony import */ var vue_functional_data_merge__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue-functional-data-merge */ "./node_modules/vue-functional-data-merge/dist/lib.esm.js"); var props = { src: { type: String, default: null, required: true }, alt: { type: String, default: null }, top: { type: Boolean, default: false }, bottom: { type: Boolean, default: false }, start: { type: Boolean, default: false }, left: { // alias of 'start' type: Boolean, default: false }, end: { type: Boolean, default: false }, right: { // alias of 'end' type: Boolean, default: false }, height: { type: [Number, String], default: null }, width: { type: [Number, String], default: null } }; // @vue/component var BCardImg = /*#__PURE__*/_utils_vue__WEBPACK_IMPORTED_MODULE_0__["default"].extend({ name: 'BCardImg', functional: true, props: props, render: function render(h, _ref) { var props = _ref.props, data = _ref.data; var baseClass = 'card-img'; if (props.top) { baseClass += '-top'; } else if (props.right || props.end) { baseClass += '-right'; } else if (props.bottom) { baseClass += '-bottom'; } else if (props.left || props.start) { baseClass += '-left'; } return h('img', Object(vue_functional_data_merge__WEBPACK_IMPORTED_MODULE_1__["mergeData"])(data, { class: [baseClass], attrs: { src: props.src, alt: props.alt, height: props.height, width: props.width } })); } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/card/card-sub-title.js": /*!**************************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/card/card-sub-title.js ***! \**************************************************************************/ /*! exports provided: props, BCardSubTitle */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "props", function() { return props; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BCardSubTitle", function() { return BCardSubTitle; }); /* harmony import */ var _utils_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/vue */ "./node_modules/bootstrap-vue/esm/utils/vue.js"); /* harmony import */ var vue_functional_data_merge__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue-functional-data-merge */ "./node_modules/vue-functional-data-merge/dist/lib.esm.js"); /* harmony import */ var _utils_config__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/config */ "./node_modules/bootstrap-vue/esm/utils/config.js"); var NAME = 'BCardSubTitle'; var props = { subTitle: { type: String, default: '' }, subTitleTag: { type: String, default: 'h6' }, subTitleTextVariant: { type: String, default: function _default() { return Object(_utils_config__WEBPACK_IMPORTED_MODULE_2__["getComponentConfig"])(NAME, 'subTitleTextVariant'); } } }; // @vue/component var BCardSubTitle = /*#__PURE__*/_utils_vue__WEBPACK_IMPORTED_MODULE_0__["default"].extend({ name: NAME, functional: true, props: props, render: function render(h, _ref) { var props = _ref.props, data = _ref.data, children = _ref.children; return h(props.subTitleTag, Object(vue_functional_data_merge__WEBPACK_IMPORTED_MODULE_1__["mergeData"])(data, { staticClass: 'card-subtitle', class: [props.subTitleTextVariant ? "text-".concat(props.subTitleTextVariant) : null] }), children || props.subTitle); } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/card/card-text.js": /*!*********************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/card/card-text.js ***! \*********************************************************************/ /*! exports provided: props, BCardText */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "props", function() { return props; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BCardText", function() { return BCardText; }); /* harmony import */ var _utils_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/vue */ "./node_modules/bootstrap-vue/esm/utils/vue.js"); /* harmony import */ var vue_functional_data_merge__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue-functional-data-merge */ "./node_modules/vue-functional-data-merge/dist/lib.esm.js"); var props = { textTag: { type: String, default: 'p' } }; // @vue/component var BCardText = /*#__PURE__*/_utils_vue__WEBPACK_IMPORTED_MODULE_0__["default"].extend({ name: 'BCardText', functional: true, props: props, render: function render(h, _ref) { var props = _ref.props, data = _ref.data, children = _ref.children; return h(props.textTag, Object(vue_functional_data_merge__WEBPACK_IMPORTED_MODULE_1__["mergeData"])(data, { staticClass: 'card-text' }), children); } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/card/card-title.js": /*!**********************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/card/card-title.js ***! \**********************************************************************/ /*! exports provided: props, BCardTitle */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "props", function() { return props; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BCardTitle", function() { return BCardTitle; }); /* harmony import */ var _utils_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/vue */ "./node_modules/bootstrap-vue/esm/utils/vue.js"); /* harmony import */ var vue_functional_data_merge__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue-functional-data-merge */ "./node_modules/vue-functional-data-merge/dist/lib.esm.js"); var props = { title: { type: String, default: '' }, titleTag: { type: String, default: 'h4' } }; // @vue/component var BCardTitle = /*#__PURE__*/_utils_vue__WEBPACK_IMPORTED_MODULE_0__["default"].extend({ name: 'BCardTitle', functional: true, props: props, render: function render(h, _ref) { var props = _ref.props, data = _ref.data, children = _ref.children; return h(props.titleTag, Object(vue_functional_data_merge__WEBPACK_IMPORTED_MODULE_1__["mergeData"])(data, { staticClass: 'card-title' }), children || props.title); } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/card/card.js": /*!****************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/card/card.js ***! \****************************************************************/ /*! exports provided: props, BCard */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "props", function() { return props; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BCard", function() { return BCard; }); /* harmony import */ var _utils_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/vue */ "./node_modules/bootstrap-vue/esm/utils/vue.js"); /* harmony import */ var vue_functional_data_merge__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue-functional-data-merge */ "./node_modules/vue-functional-data-merge/dist/lib.esm.js"); /* harmony import */ var _utils_prefix_prop_name__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/prefix-prop-name */ "./node_modules/bootstrap-vue/esm/utils/prefix-prop-name.js"); /* harmony import */ var _utils_unprefix_prop_name__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/unprefix-prop-name */ "./node_modules/bootstrap-vue/esm/utils/unprefix-prop-name.js"); /* harmony import */ var _utils_copy_props__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/copy-props */ "./node_modules/bootstrap-vue/esm/utils/copy-props.js"); /* harmony import */ var _utils_pluck_props__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../utils/pluck-props */ "./node_modules/bootstrap-vue/esm/utils/pluck-props.js"); /* harmony import */ var _utils_normalize_slot__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../utils/normalize-slot */ "./node_modules/bootstrap-vue/esm/utils/normalize-slot.js"); /* harmony import */ var _mixins_card__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../mixins/card */ "./node_modules/bootstrap-vue/esm/mixins/card.js"); /* harmony import */ var _card_body__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./card-body */ "./node_modules/bootstrap-vue/esm/components/card/card-body.js"); /* harmony import */ var _card_header__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./card-header */ "./node_modules/bootstrap-vue/esm/components/card/card-header.js"); /* harmony import */ var _card_footer__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./card-footer */ "./node_modules/bootstrap-vue/esm/components/card/card-footer.js"); /* harmony import */ var _card_img__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./card-img */ "./node_modules/bootstrap-vue/esm/components/card/card-img.js"); function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 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; } var cardImgProps = Object(_utils_copy_props__WEBPACK_IMPORTED_MODULE_4__["default"])(_card_img__WEBPACK_IMPORTED_MODULE_11__["props"], _utils_prefix_prop_name__WEBPACK_IMPORTED_MODULE_2__["default"].bind(null, 'img')); cardImgProps.imgSrc.required = false; var props = _objectSpread({}, _card_body__WEBPACK_IMPORTED_MODULE_8__["props"], {}, _card_header__WEBPACK_IMPORTED_MODULE_9__["props"], {}, _card_footer__WEBPACK_IMPORTED_MODULE_10__["props"], {}, cardImgProps, {}, Object(_utils_copy_props__WEBPACK_IMPORTED_MODULE_4__["default"])(_mixins_card__WEBPACK_IMPORTED_MODULE_7__["default"].props), { align: { type: String, default: null }, noBody: { type: Boolean, default: false } }); // @vue/component var BCard = /*#__PURE__*/_utils_vue__WEBPACK_IMPORTED_MODULE_0__["default"].extend({ name: 'BCard', functional: true, props: props, render: function render(h, _ref) { var _class; var props = _ref.props, data = _ref.data, slots = _ref.slots, scopedSlots = _ref.scopedSlots; var $slots = slots(); // Vue < 2.6.x may return undefined for scopedSlots var $scopedSlots = scopedSlots || {}; // Create placeholder elements for each section var imgFirst = h(); var header = h(); var content = h(); var footer = h(); var imgLast = h(); if (props.imgSrc) { var img = h(_card_img__WEBPACK_IMPORTED_MODULE_11__["BCardImg"], { props: Object(_utils_pluck_props__WEBPACK_IMPORTED_MODULE_5__["default"])(cardImgProps, props, _utils_unprefix_prop_name__WEBPACK_IMPORTED_MODULE_3__["default"].bind(null, 'img')) }); if (props.imgBottom) { imgLast = img; } else { imgFirst = img; } } if (props.header || Object(_utils_normalize_slot__WEBPACK_IMPORTED_MODULE_6__["hasNormalizedSlot"])('header', $scopedSlots, $slots)) { header = h(_card_header__WEBPACK_IMPORTED_MODULE_9__["BCardHeader"], { props: Object(_utils_pluck_props__WEBPACK_IMPORTED_MODULE_5__["default"])(_card_header__WEBPACK_IMPORTED_MODULE_9__["props"], props) }, Object(_utils_normalize_slot__WEBPACK_IMPORTED_MODULE_6__["normalizeSlot"])('header', {}, $scopedSlots, $slots)); } content = Object(_utils_normalize_slot__WEBPACK_IMPORTED_MODULE_6__["normalizeSlot"])('default', {}, $scopedSlots, $slots) || []; if (!props.noBody) { // Wrap content in card-body content = [h(_card_body__WEBPACK_IMPORTED_MODULE_8__["BCardBody"], { props: Object(_utils_pluck_props__WEBPACK_IMPORTED_MODULE_5__["default"])(_card_body__WEBPACK_IMPORTED_MODULE_8__["props"], props) }, _toConsumableArray(content))]; } if (props.footer || Object(_utils_normalize_slot__WEBPACK_IMPORTED_MODULE_6__["hasNormalizedSlot"])('footer', $scopedSlots, $slots)) { footer = h(_card_footer__WEBPACK_IMPORTED_MODULE_10__["BCardFooter"], { props: Object(_utils_pluck_props__WEBPACK_IMPORTED_MODULE_5__["default"])(_card_footer__WEBPACK_IMPORTED_MODULE_10__["props"], props) }, Object(_utils_normalize_slot__WEBPACK_IMPORTED_MODULE_6__["normalizeSlot"])('footer', {}, $scopedSlots, $slots)); } return h(props.tag, Object(vue_functional_data_merge__WEBPACK_IMPORTED_MODULE_1__["mergeData"])(data, { staticClass: 'card', class: (_class = { 'flex-row': props.imgLeft || props.imgStart, 'flex-row-reverse': (props.imgRight || props.imgEnd) && !(props.imgLeft || props.imgStart) }, _defineProperty(_class, "text-".concat(props.align), props.align), _defineProperty(_class, "bg-".concat(props.bgVariant), props.bgVariant), _defineProperty(_class, "border-".concat(props.borderVariant), props.borderVariant), _defineProperty(_class, "text-".concat(props.textVariant), props.textVariant), _class) }), [imgFirst, header].concat(_toConsumableArray(content), [footer, imgLast])); } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/card/index.js": /*!*****************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/card/index.js ***! \*****************************************************************/ /*! exports provided: CardPlugin, BCard, BCardHeader, BCardBody, BCardTitle, BCardSubTitle, BCardFooter, BCardImg, BCardImgLazy, BCardText, BCardGroup */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CardPlugin", function() { return CardPlugin; }); /* harmony import */ var _card__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./card */ "./node_modules/bootstrap-vue/esm/components/card/card.js"); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BCard", function() { return _card__WEBPACK_IMPORTED_MODULE_0__["BCard"]; }); /* harmony import */ var _card_header__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./card-header */ "./node_modules/bootstrap-vue/esm/components/card/card-header.js"); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BCardHeader", function() { return _card_header__WEBPACK_IMPORTED_MODULE_1__["BCardHeader"]; }); /* harmony import */ var _card_body__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./card-body */ "./node_modules/bootstrap-vue/esm/components/card/card-body.js"); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BCardBody", function() { return _card_body__WEBPACK_IMPORTED_MODULE_2__["BCardBody"]; }); /* harmony import */ var _card_title__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./card-title */ "./node_modules/bootstrap-vue/esm/components/card/card-title.js"); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BCardTitle", function() { return _card_title__WEBPACK_IMPORTED_MODULE_3__["BCardTitle"]; }); /* harmony import */ var _card_sub_title__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./card-sub-title */ "./node_modules/bootstrap-vue/esm/components/card/card-sub-title.js"); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BCardSubTitle", function() { return _card_sub_title__WEBPACK_IMPORTED_MODULE_4__["BCardSubTitle"]; }); /* harmony import */ var _card_footer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./card-footer */ "./node_modules/bootstrap-vue/esm/components/card/card-footer.js"); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BCardFooter", function() { return _card_footer__WEBPACK_IMPORTED_MODULE_5__["BCardFooter"]; }); /* harmony import */ var _card_img__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./card-img */ "./node_modules/bootstrap-vue/esm/components/card/card-img.js"); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BCardImg", function() { return _card_img__WEBPACK_IMPORTED_MODULE_6__["BCardImg"]; }); /* harmony import */ var _card_img_lazy__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./card-img-lazy */ "./node_modules/bootstrap-vue/esm/components/card/card-img-lazy.js"); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BCardImgLazy", function() { return _card_img_lazy__WEBPACK_IMPORTED_MODULE_7__["BCardImgLazy"]; }); /* harmony import */ var _card_text__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./card-text */ "./node_modules/bootstrap-vue/esm/components/card/card-text.js"); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BCardText", function() { return _card_text__WEBPACK_IMPORTED_MODULE_8__["BCardText"]; }); /* harmony import */ var _card_group__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./card-group */ "./node_modules/bootstrap-vue/esm/components/card/card-group.js"); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BCardGroup", function() { return _card_group__WEBPACK_IMPORTED_MODULE_9__["BCardGroup"]; }); /* harmony import */ var _utils_plugins__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../utils/plugins */ "./node_modules/bootstrap-vue/esm/utils/plugins.js"); var CardPlugin = /*#__PURE__*/Object(_utils_plugins__WEBPACK_IMPORTED_MODULE_10__["pluginFactory"])({ components: { BCard: _card__WEBPACK_IMPORTED_MODULE_0__["BCard"], BCardHeader: _card_header__WEBPACK_IMPORTED_MODULE_1__["BCardHeader"], BCardBody: _card_body__WEBPACK_IMPORTED_MODULE_2__["BCardBody"], BCardTitle: _card_title__WEBPACK_IMPORTED_MODULE_3__["BCardTitle"], BCardSubTitle: _card_sub_title__WEBPACK_IMPORTED_MODULE_4__["BCardSubTitle"], BCardFooter: _card_footer__WEBPACK_IMPORTED_MODULE_5__["BCardFooter"], BCardImg: _card_img__WEBPACK_IMPORTED_MODULE_6__["BCardImg"], BCardImgLazy: _card_img_lazy__WEBPACK_IMPORTED_MODULE_7__["BCardImgLazy"], BCardText: _card_text__WEBPACK_IMPORTED_MODULE_8__["BCardText"], BCardGroup: _card_group__WEBPACK_IMPORTED_MODULE_9__["BCardGroup"] } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/carousel/carousel-slide.js": /*!******************************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/carousel/carousel-slide.js ***! \******************************************************************************/ /*! exports provided: props, BCarouselSlide */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "props", function() { return props; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BCarouselSlide", function() { return BCarouselSlide; }); /* harmony import */ var _utils_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/vue */ "./node_modules/bootstrap-vue/esm/utils/vue.js"); /* harmony import */ var _mixins_id__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../mixins/id */ "./node_modules/bootstrap-vue/esm/mixins/id.js"); /* harmony import */ var _mixins_normalize_slot__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../mixins/normalize-slot */ "./node_modules/bootstrap-vue/esm/mixins/normalize-slot.js"); /* harmony import */ var _utils_env__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/env */ "./node_modules/bootstrap-vue/esm/utils/env.js"); /* harmony import */ var _utils_html__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/html */ "./node_modules/bootstrap-vue/esm/utils/html.js"); /* harmony import */ var _image_img__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../image/img */ "./node_modules/bootstrap-vue/esm/components/image/img.js"); var props = { imgSrc: { type: String // default: undefined }, imgAlt: { type: String // default: undefined }, imgWidth: { type: [Number, String] // default: undefined }, imgHeight: { type: [Number, String] // default: undefined }, imgBlank: { type: Boolean, default: false }, imgBlankColor: { type: String, default: 'transparent' }, contentVisibleUp: { type: String }, contentTag: { type: String, default: 'div' }, caption: { type: String }, captionHtml: { type: String }, captionTag: { type: String, default: 'h3' }, text: { type: String }, textHtml: { type: String }, textTag: { type: String, default: 'p' }, background: { type: String } }; // @vue/component var BCarouselSlide = /*#__PURE__*/_utils_vue__WEBPACK_IMPORTED_MODULE_0__["default"].extend({ name: 'BCarouselSlide', mixins: [_mixins_id__WEBPACK_IMPORTED_MODULE_1__["default"], _mixins_normalize_slot__WEBPACK_IMPORTED_MODULE_2__["default"]], inject: { bvCarousel: { default: function _default() { return { // Explicitly disable touch if not a child of carousel noTouch: true }; } } }, props: props, computed: { contentClasses: function contentClasses() { return [this.contentVisibleUp ? 'd-none' : '', this.contentVisibleUp ? "d-".concat(this.contentVisibleUp, "-block") : '']; }, computedWidth: function computedWidth() { // Use local width, or try parent width return this.imgWidth || this.bvCarousel.imgWidth || null; }, computedHeight: function computedHeight() { // Use local height, or try parent height return this.imgHeight || this.bvCarousel.imgHeight || null; } }, render: function render(h) { var noDrag = !this.bvCarousel.noTouch && _utils_env__WEBPACK_IMPORTED_MODULE_3__["hasTouchSupport"]; var img = this.normalizeSlot('img'); if (!img && (this.imgSrc || this.imgBlank)) { img = h(_image_img__WEBPACK_IMPORTED_MODULE_5__["BImg"], { props: { fluidGrow: true, block: true, src: this.imgSrc, blank: this.imgBlank, blankColor: this.imgBlankColor, width: this.computedWidth, height: this.computedHeight, alt: this.imgAlt }, // Touch support event handler on: noDrag ? { dragstart: function dragstart(e) { /* istanbul ignore next: difficult to test in JSDOM */ e.preventDefault(); } } : {} }); } if (!img) { img = h(); } var content = h(); var contentChildren = [this.caption || this.captionHtml ? h(this.captionTag, { domProps: Object(_utils_html__WEBPACK_IMPORTED_MODULE_4__["htmlOrText"])(this.captionHtml, this.caption) }) : false, this.text || this.textHtml ? h(this.textTag, { domProps: Object(_utils_html__WEBPACK_IMPORTED_MODULE_4__["htmlOrText"])(this.textHtml, this.text) }) : false, this.normalizeSlot('default') || false]; if (contentChildren.some(Boolean)) { content = h(this.contentTag, { staticClass: 'carousel-caption', class: this.contentClasses }, contentChildren.map(function (i) { return i || h(); })); } return h('div', { staticClass: 'carousel-item', style: { background: this.background || this.bvCarousel.background || null }, attrs: { id: this.safeId(), role: 'listitem' } }, [img, content]); } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/carousel/carousel.js": /*!************************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/carousel/carousel.js ***! \************************************************************************/ /*! exports provided: BCarousel */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BCarousel", function() { return BCarousel; }); /* harmony import */ var _utils_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/vue */ "./node_modules/bootstrap-vue/esm/utils/vue.js"); /* harmony import */ var _utils_key_codes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/key-codes */ "./node_modules/bootstrap-vue/esm/utils/key-codes.js"); /* harmony import */ var _utils_noop__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/noop */ "./node_modules/bootstrap-vue/esm/utils/noop.js"); /* harmony import */ var _utils_observe_dom__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/observe-dom */ "./node_modules/bootstrap-vue/esm/utils/observe-dom.js"); /* harmony import */ var _utils_config__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/config */ "./node_modules/bootstrap-vue/esm/utils/config.js"); /* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../utils/dom */ "./node_modules/bootstrap-vue/esm/utils/dom.js"); /* harmony import */ var _utils_env__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../utils/env */ "./node_modules/bootstrap-vue/esm/utils/env.js"); /* harmony import */ var _utils_events__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../utils/events */ "./node_modules/bootstrap-vue/esm/utils/events.js"); /* harmony import */ var _utils_inspect__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../utils/inspect */ "./node_modules/bootstrap-vue/esm/utils/inspect.js"); /* harmony import */ var _utils_number__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../utils/number */ "./node_modules/bootstrap-vue/esm/utils/number.js"); /* harmony import */ var _mixins_id__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../mixins/id */ "./node_modules/bootstrap-vue/esm/mixins/id.js"); /* harmony import */ var _mixins_normalize_slot__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../mixins/normalize-slot */ "./node_modules/bootstrap-vue/esm/mixins/normalize-slot.js"); var NAME = 'BCarousel'; // Slide directional classes var DIRECTION = { next: { dirClass: 'carousel-item-left', overlayClass: 'carousel-item-next' }, prev: { dirClass: 'carousel-item-right', overlayClass: 'carousel-item-prev' } }; // Fallback Transition duration (with a little buffer) in ms var TRANS_DURATION = 600 + 50; // Time for mouse compat events to fire after touch var TOUCH_EVENT_COMPAT_WAIT = 500; // Number of pixels to consider touch move a swipe var SWIPE_THRESHOLD = 40; // PointerEvent pointer types var PointerType = { TOUCH: 'touch', PEN: 'pen' }; // Transition Event names var TransitionEndEvents = { WebkitTransition: 'webkitTransitionEnd', MozTransition: 'transitionend', OTransition: 'otransitionend oTransitionEnd', transition: 'transitionend' }; // Return the browser specific transitionEnd event name var getTransitionEndEvent = function getTransitionEndEvent(el) { for (var name in TransitionEndEvents) { if (!Object(_utils_inspect__WEBPACK_IMPORTED_MODULE_8__["isUndefined"])(el.style[name])) { return TransitionEndEvents[name]; } } // Fallback /* istanbul ignore next */ return null; }; // @vue/component var BCarousel = /*#__PURE__*/_utils_vue__WEBPACK_IMPORTED_MODULE_0__["default"].extend({ name: NAME, mixins: [_mixins_id__WEBPACK_IMPORTED_MODULE_10__["default"], _mixins_normalize_slot__WEBPACK_IMPORTED_MODULE_11__["default"]], provide: function provide() { return { bvCarousel: this }; }, model: { prop: 'value', event: 'input' }, props: { labelPrev: { type: String, default: function _default() { return Object(_utils_config__WEBPACK_IMPORTED_MODULE_4__["getComponentConfig"])(NAME, 'labelPrev'); } }, labelNext: { type: String, default: function _default() { return Object(_utils_config__WEBPACK_IMPORTED_MODULE_4__["getComponentConfig"])(NAME, 'labelNext'); } }, labelGotoSlide: { type: String, default: function _default() { return Object(_utils_config__WEBPACK_IMPORTED_MODULE_4__["getComponentConfig"])(NAME, 'labelGotoSlide'); } }, labelIndicators: { type: String, default: function _default() { return Object(_utils_config__WEBPACK_IMPORTED_MODULE_4__["getComponentConfig"])(NAME, 'labelIndicators'); } }, interval: { type: Number, default: 5000 }, indicators: { type: Boolean, default: false }, controls: { type: Boolean, default: false }, noAnimation: { // Disable slide/fade animation type: Boolean, default: false }, fade: { // Enable cross-fade animation instead of slide animation type: Boolean, default: false }, noWrap: { // Disable wrapping/looping when start/end is reached type: Boolean, default: false }, noTouch: { // Sniffed by carousel-slide type: Boolean, default: false }, noHoverPause: { // Disable pause on hover type: Boolean, default: false }, imgWidth: { // Sniffed by carousel-slide type: [Number, String] // default: undefined }, imgHeight: { // Sniffed by carousel-slide type: [Number, String] // default: undefined }, background: { type: String // default: undefined }, value: { type: Number, default: 0 } }, data: function data() { return { index: this.value || 0, isSliding: false, transitionEndEvent: null, slides: [], direction: null, isPaused: !(Object(_utils_number__WEBPACK_IMPORTED_MODULE_9__["toInteger"])(this.interval) > 0), // Touch event handling values touchStartX: 0, touchDeltaX: 0 }; }, computed: { numSlides: function numSlides() { return this.slides.length; } }, watch: { value: function value(newVal, oldVal) { if (newVal !== oldVal) { this.setSlide(Object(_utils_number__WEBPACK_IMPORTED_MODULE_9__["toInteger"])(newVal) || 0); } }, interval: function interval(newVal, oldVal) { if (newVal === oldVal) { /* istanbul ignore next */ return; } if (!newVal) { // Pausing slide show this.pause(false); } else { // Restarting or Changing interval this.pause(true); this.start(false); } }, isPaused: function isPaused(newVal, oldVal) { if (newVal !== oldVal) { this.$emit(newVal ? 'paused' : 'unpaused'); } }, index: function index(to, from) { if (to === from || this.isSliding) { /* istanbul ignore next */ return; } this.doSlide(to, from); } }, created: function created() { // Create private non-reactive props this._intervalId = null; this._animationTimeout = null; this._touchTimeout = null; // Set initial paused state this.isPaused = !(Object(_utils_number__WEBPACK_IMPORTED_MODULE_9__["toInteger"])(this.interval) > 0); }, mounted: function mounted() { // Cache current browser transitionend event name this.transitionEndEvent = getTransitionEndEvent(this.$el) || null; // Get all slides this.updateSlides(); // Observe child changes so we can update slide list Object(_utils_observe_dom__WEBPACK_IMPORTED_MODULE_3__["default"])(this.$refs.inner, this.updateSlides.bind(this), { subtree: false, childList: true, attributes: true, attributeFilter: ['id'] }); }, beforeDestroy: function beforeDestroy() { clearTimeout(this._animationTimeout); clearTimeout(this._touchTimeout); clearInterval(this._intervalId); this._intervalId = null; this._animationTimeout = null; this._touchTimeout = null; }, methods: { // Set slide setSlide: function setSlide(slide) { var _this = this; var direction = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; // Don't animate when page is not visible /* istanbul ignore if: difficult to test */ if (_utils_env__WEBPACK_IMPORTED_MODULE_6__["isBrowser"] && document.visibilityState && document.hidden) { return; } var noWrap = this.noWrap; var numSlides = this.numSlides; // Make sure we have an integer (you never know!) slide = Math.floor(slide); // Don't do anything if nothing to slide to if (numSlides === 0) { return; } // Don't change slide while transitioning, wait until transition is done if (this.isSliding) { // Schedule slide after sliding complete this.$once('sliding-end', function () { return _this.setSlide(slide, direction); }); return; } this.direction = direction; // Set new slide index // Wrap around if necessary (if no-wrap not enabled) this.index = slide >= numSlides ? noWrap ? numSlides - 1 : 0 : slide < 0 ? noWrap ? 0 : numSlides - 1 : slide; // Ensure the v-model is synched up if no-wrap is enabled // and user tried to slide pass either ends if (noWrap && this.index !== slide && this.index !== this.value) { this.$emit('input', this.index); } }, // Previous slide prev: function prev() { this.setSlide(this.index - 1, 'prev'); }, // Next slide next: function next() { this.setSlide(this.index + 1, 'next'); }, // Pause auto rotation pause: function pause(evt) { if (!evt) { this.isPaused = true; } if (this._intervalId) { clearInterval(this._intervalId); this._intervalId = null; } }, // Start auto rotate slides start: function start(evt) { if (!evt) { this.isPaused = false; } /* istanbul ignore next: most likely will never happen, but just in case */ if (this._intervalId) { clearInterval(this._intervalId); this._intervalId = null; } // Don't start if no interval, or less than 2 slides if (this.interval && this.numSlides > 1) { this._intervalId = setInterval(this.next, Math.max(1000, this.interval)); } }, // Restart auto rotate slides when focus/hover leaves the carousel restart: function restart() /* istanbul ignore next: difficult to test */ { if (!this.$el.contains(document.activeElement)) { this.start(); } }, doSlide: function doSlide(to, from) { var _this2 = this; var isCycling = Boolean(this.interval); // Determine sliding direction var direction = this.calcDirection(this.direction, from, to); var overlayClass = direction.overlayClass; var dirClass = direction.dirClass; // Determine current and next slides var currentSlide = this.slides[from]; var nextSlide = this.slides[to]; // Don't do anything if there aren't any slides to slide to if (!currentSlide || !nextSlide) { /* istanbul ignore next */ return; } // Start animating this.isSliding = true; if (isCycling) { this.pause(false); } this.$emit('sliding-start', to); // Update v-model this.$emit('input', this.index); if (this.noAnimation) { Object(_utils_dom__WEBPACK_IMPORTED_MODULE_5__["addClass"])(nextSlide, 'active'); Object(_utils_dom__WEBPACK_IMPORTED_MODULE_5__["removeClass"])(currentSlide, 'active'); this.isSliding = false; // Notify ourselves that we're done sliding (slid) this.$nextTick(function () { return _this2.$emit('sliding-end', to); }); } else { Object(_utils_dom__WEBPACK_IMPORTED_MODULE_5__["addClass"])(nextSlide, overlayClass); // Trigger a reflow of next slide Object(_utils_dom__WEBPACK_IMPORTED_MODULE_5__["reflow"])(nextSlide); Object(_utils_dom__WEBPACK_IMPORTED_MODULE_5__["addClass"])(currentSlide, dirClass); Object(_utils_dom__WEBPACK_IMPORTED_MODULE_5__["addClass"])(nextSlide, dirClass); // Transition End handler var called = false; /* istanbul ignore next: difficult to test */ var onceTransEnd = function onceTransEnd() { if (called) { return; } called = true; /* istanbul ignore if: transition events cant be tested in JSDOM */ if (_this2.transitionEndEvent) { var events = _this2.transitionEndEvent.split(/\s+/); events.forEach(function (evt) { return Object(_utils_events__WEBPACK_IMPORTED_MODULE_7__["eventOff"])(currentSlide, evt, onceTransEnd, _utils_events__WEBPACK_IMPORTED_MODULE_7__["EVENT_OPTIONS_NO_CAPTURE"]); }); } _this2._animationTimeout = null; Object(_utils_dom__WEBPACK_IMPORTED_MODULE_5__["removeClass"])(nextSlide, dirClass); Object(_utils_dom__WEBPACK_IMPORTED_MODULE_5__["removeClass"])(nextSlide, overlayClass); Object(_utils_dom__WEBPACK_IMPORTED_MODULE_5__["addClass"])(nextSlide, 'active'); Object(_utils_dom__WEBPACK_IMPORTED_MODULE_5__["removeClass"])(currentSlide, 'active'); Object(_utils_dom__WEBPACK_IMPORTED_MODULE_5__["removeClass"])(currentSlide, dirClass); Object(_utils_dom__WEBPACK_IMPORTED_MODULE_5__["removeClass"])(currentSlide, overlayClass); Object(_utils_dom__WEBPACK_IMPORTED_MODULE_5__["setAttr"])(currentSlide, 'aria-current', 'false'); Object(_utils_dom__WEBPACK_IMPORTED_MODULE_5__["setAttr"])(nextSlide, 'aria-current', 'true'); Object(_utils_dom__WEBPACK_IMPORTED_MODULE_5__["setAttr"])(currentSlide, 'aria-hidden', 'true'); Object(_utils_dom__WEBPACK_IMPORTED_MODULE_5__["setAttr"])(nextSlide, 'aria-hidden', 'false'); _this2.isSliding = false; _this2.direction = null; // Notify ourselves that we're done sliding (slid) _this2.$nextTick(function () { return _this2.$emit('sliding-end', to); }); }; // Set up transitionend handler /* istanbul ignore if: transition events cant be tested in JSDOM */ if (this.transitionEndEvent) { var events = this.transitionEndEvent.split(/\s+/); events.forEach(function (event) { return Object(_utils_events__WEBPACK_IMPORTED_MODULE_7__["eventOn"])(currentSlide, event, onceTransEnd, _utils_events__WEBPACK_IMPORTED_MODULE_7__["EVENT_OPTIONS_NO_CAPTURE"]); }); } // Fallback to setTimeout() this._animationTimeout = setTimeout(onceTransEnd, TRANS_DURATION); } if (isCycling) { this.start(false); } }, // Update slide list updateSlides: function updateSlides() { this.pause(true); // Get all slides as DOM elements this.slides = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_5__["selectAll"])('.carousel-item', this.$refs.inner); var numSlides = this.slides.length; // Keep slide number in range var index = Math.max(0, Math.min(Math.floor(this.index), numSlides - 1)); this.slides.forEach(function (slide, idx) { var n = idx + 1; if (idx === index) { Object(_utils_dom__WEBPACK_IMPORTED_MODULE_5__["addClass"])(slide, 'active'); Object(_utils_dom__WEBPACK_IMPORTED_MODULE_5__["setAttr"])(slide, 'aria-current', 'true'); } else { Object(_utils_dom__WEBPACK_IMPORTED_MODULE_5__["removeClass"])(slide, 'active'); Object(_utils_dom__WEBPACK_IMPORTED_MODULE_5__["setAttr"])(slide, 'aria-current', 'false'); } Object(_utils_dom__WEBPACK_IMPORTED_MODULE_5__["setAttr"])(slide, 'aria-posinset', String(n)); Object(_utils_dom__WEBPACK_IMPORTED_MODULE_5__["setAttr"])(slide, 'aria-setsize', String(numSlides)); }); // Set slide as active this.setSlide(index); this.start(this.isPaused); }, calcDirection: function calcDirection() { var direction = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; var curIndex = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; var nextIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0; if (!direction) { return nextIndex > curIndex ? DIRECTION.next : DIRECTION.prev; } return DIRECTION[direction]; }, handleClick: function handleClick(evt, fn) { var keyCode = evt.keyCode; if (evt.type === 'click' || keyCode === _utils_key_codes__WEBPACK_IMPORTED_MODULE_1__["default"].SPACE || keyCode === _utils_key_codes__WEBPACK_IMPORTED_MODULE_1__["default"].ENTER) { evt.preventDefault(); evt.stopPropagation(); fn(); } }, handleSwipe: function handleSwipe() /* istanbul ignore next: JSDOM doesn't support touch events */ { var absDeltaX = Math.abs(this.touchDeltaX); if (absDeltaX <= SWIPE_THRESHOLD) { return; } var direction = absDeltaX / this.touchDeltaX; // Reset touch delta X // https://github.com/twbs/bootstrap/pull/28558 this.touchDeltaX = 0; if (direction > 0) { // Swipe left this.prev(); } else if (direction < 0) { // Swipe right this.next(); } }, touchStart: function touchStart(evt) /* istanbul ignore next: JSDOM doesn't support touch events */ { if (_utils_env__WEBPACK_IMPORTED_MODULE_6__["hasPointerEventSupport"] && PointerType[evt.pointerType.toUpperCase()]) { this.touchStartX = evt.clientX; } else if (!_utils_env__WEBPACK_IMPORTED_MODULE_6__["hasPointerEventSupport"]) { this.touchStartX = evt.touches[0].clientX; } }, touchMove: function touchMove(evt) /* istanbul ignore next: JSDOM doesn't support touch events */ { // Ensure swiping with one touch and not pinching if (evt.touches && evt.touches.length > 1) { this.touchDeltaX = 0; } else { this.touchDeltaX = evt.touches[0].clientX - this.touchStartX; } }, touchEnd: function touchEnd(evt) /* istanbul ignore next: JSDOM doesn't support touch events */ { if (_utils_env__WEBPACK_IMPORTED_MODULE_6__["hasPointerEventSupport"] && PointerType[evt.pointerType.toUpperCase()]) { this.touchDeltaX = evt.clientX - this.touchStartX; } this.handleSwipe(); // If it's a touch-enabled device, mouseenter/leave are fired as // part of the mouse compatibility events on first tap - the carousel // would stop cycling until user tapped out of it; // here, we listen for touchend, explicitly pause the carousel // (as if it's the second time we tap on it, mouseenter compat event // is NOT fired) and after a timeout (to allow for mouse compatibility // events to fire) we explicitly restart cycling this.pause(false); if (this._touchTimeout) { clearTimeout(this._touchTimeout); } this._touchTimeout = setTimeout(this.start, TOUCH_EVENT_COMPAT_WAIT + Math.max(1000, this.interval)); } }, render: function render(h) { var _this3 = this; // Wrapper for slides var inner = h('div', { ref: 'inner', class: ['carousel-inner'], attrs: { id: this.safeId('__BV_inner_'), role: 'list' } }, [this.normalizeSlot('default')]); // Prev and next controls var controls = h(); if (this.controls) { var prevHandler = function prevHandler(evt) { /* istanbul ignore next */ if (!_this3.isSliding) { _this3.handleClick(evt, _this3.prev); } else { evt.preventDefault(); } }; var nextHandler = function nextHandler(evt) { /* istanbul ignore next */ if (!_this3.isSliding) { _this3.handleClick(evt, _this3.next); } else { evt.preventDefault(); } }; controls = [h('a', { class: ['carousel-control-prev'], attrs: { href: '#', role: 'button', 'aria-controls': this.safeId('__BV_inner_'), 'aria-disabled': this.isSliding ? 'true' : null }, on: { click: prevHandler, keydown: prevHandler } }, [h('span', { class: ['carousel-control-prev-icon'], attrs: { 'aria-hidden': 'true' } }), h('span', { class: ['sr-only'] }, [this.labelPrev])]), h('a', { class: ['carousel-control-next'], attrs: { href: '#', role: 'button', 'aria-controls': this.safeId('__BV_inner_'), 'aria-disabled': this.isSliding ? 'true' : null }, on: { click: nextHandler, keydown: nextHandler } }, [h('span', { class: ['carousel-control-next-icon'], attrs: { 'aria-hidden': 'true' } }), h('span', { class: ['sr-only'] }, [this.labelNext])])]; } // Indicators var indicators = h('ol', { class: ['carousel-indicators'], directives: [{ name: 'show', rawName: 'v-show', value: this.indicators, expression: 'indicators' }], attrs: { id: this.safeId('__BV_indicators_'), 'aria-hidden': this.indicators ? 'false' : 'true', 'aria-label': this.labelIndicators, 'aria-owns': this.safeId('__BV_inner_') } }, this.slides.map(function (slide, n) { return h('li', { key: "slide_".concat(n), class: { active: n === _this3.index }, attrs: { role: 'button', id: _this3.safeId("__BV_indicator_".concat(n + 1, "_")), tabindex: _this3.indicators ? '0' : '-1', 'aria-current': n === _this3.index ? 'true' : 'false', 'aria-label': "".concat(_this3.labelGotoSlide, " ").concat(n + 1), 'aria-describedby': _this3.slides[n].id || null, 'aria-controls': _this3.safeId('__BV_inner_') }, on: { click: function click(evt) { _this3.handleClick(evt, function () { _this3.setSlide(n); }); }, keydown: function keydown(evt) { _this3.handleClick(evt, function () { _this3.setSlide(n); }); } } }); })); var on = { mouseenter: this.noHoverPause ? _utils_noop__WEBPACK_IMPORTED_MODULE_2__["default"] : this.pause, mouseleave: this.noHoverPause ? _utils_noop__WEBPACK_IMPORTED_MODULE_2__["default"] : this.restart, focusin: this.pause, focusout: this.restart, keydown: function keydown(evt) { if (/input|textarea/i.test(evt.target.tagName)) { /* istanbul ignore next */ return; } var keyCode = evt.keyCode; if (keyCode === _utils_key_codes__WEBPACK_IMPORTED_MODULE_1__["default"].LEFT || keyCode === _utils_key_codes__WEBPACK_IMPORTED_MODULE_1__["default"].RIGHT) { evt.preventDefault(); evt.stopPropagation(); _this3[keyCode === _utils_key_codes__WEBPACK_IMPORTED_MODULE_1__["default"].LEFT ? 'prev' : 'next'](); } } }; // Touch support event handlers for environment if (!this.noTouch && _utils_env__WEBPACK_IMPORTED_MODULE_6__["hasTouchSupport"]) { // Attach appropriate listeners (prepend event name with '&' for passive mode) /* istanbul ignore next: JSDOM doesn't support touch events */ if (_utils_env__WEBPACK_IMPORTED_MODULE_6__["hasPointerEventSupport"]) { on['&pointerdown'] = this.touchStart; on['&pointerup'] = this.touchEnd; } else { on['&touchstart'] = this.touchStart; on['&touchmove'] = this.touchMove; on['&touchend'] = this.touchEnd; } } // Return the carousel return h('div', { staticClass: 'carousel', class: { slide: !this.noAnimation, 'carousel-fade': !this.noAnimation && this.fade, 'pointer-event': !this.noTouch && _utils_env__WEBPACK_IMPORTED_MODULE_6__["hasTouchSupport"] && _utils_env__WEBPACK_IMPORTED_MODULE_6__["hasPointerEventSupport"] }, style: { background: this.background }, attrs: { role: 'region', id: this.safeId(), 'aria-busy': this.isSliding ? 'true' : 'false' }, on: on }, [inner, controls, indicators]); } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/carousel/index.js": /*!*********************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/carousel/index.js ***! \*********************************************************************/ /*! exports provided: CarouselPlugin, BCarousel, BCarouselSlide */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CarouselPlugin", function() { return CarouselPlugin; }); /* harmony import */ var _carousel__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./carousel */ "./node_modules/bootstrap-vue/esm/components/carousel/carousel.js"); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BCarousel", function() { return _carousel__WEBPACK_IMPORTED_MODULE_0__["BCarousel"]; }); /* harmony import */ var _carousel_slide__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./carousel-slide */ "./node_modules/bootstrap-vue/esm/components/carousel/carousel-slide.js"); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BCarouselSlide", function() { return _carousel_slide__WEBPACK_IMPORTED_MODULE_1__["BCarouselSlide"]; }); /* harmony import */ var _utils_plugins__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/plugins */ "./node_modules/bootstrap-vue/esm/utils/plugins.js"); var CarouselPlugin = /*#__PURE*/ Object(_utils_plugins__WEBPACK_IMPORTED_MODULE_2__["pluginFactory"])({ components: { BCarousel: _carousel__WEBPACK_IMPORTED_MODULE_0__["BCarousel"], BCarouselSlide: _carousel_slide__WEBPACK_IMPORTED_MODULE_1__["BCarouselSlide"] } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/collapse/collapse.js": /*!************************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/collapse/collapse.js ***! \************************************************************************/ /*! exports provided: BCollapse */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BCollapse", function() { return BCollapse; }); /* harmony import */ var _utils_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/vue */ "./node_modules/bootstrap-vue/esm/utils/vue.js"); /* harmony import */ var _utils_env__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/env */ "./node_modules/bootstrap-vue/esm/utils/env.js"); /* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/dom */ "./node_modules/bootstrap-vue/esm/utils/dom.js"); /* harmony import */ var _utils_events__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/events */ "./node_modules/bootstrap-vue/esm/utils/events.js"); /* harmony import */ var _utils_bv_collapse__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/bv-collapse */ "./node_modules/bootstrap-vue/esm/utils/bv-collapse.js"); /* harmony import */ var _mixins_id__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../mixins/id */ "./node_modules/bootstrap-vue/esm/mixins/id.js"); /* harmony import */ var _mixins_listen_on_root__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../mixins/listen-on-root */ "./node_modules/bootstrap-vue/esm/mixins/listen-on-root.js"); /* harmony import */ var _mixins_normalize_slot__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../mixins/normalize-slot */ "./node_modules/bootstrap-vue/esm/mixins/normalize-slot.js"); // Events we emit on $root var EVENT_STATE = 'bv::collapse::state'; var EVENT_ACCORDION = 'bv::collapse::accordion'; // Private event we emit on `$root` to ensure the toggle state is // always synced. It gets emitted even if the state has not changed! // This event is NOT to be documented as people should not be using it var EVENT_STATE_SYNC = 'bv::collapse::sync::state'; // Events we listen to on `$root` var EVENT_TOGGLE = 'bv::toggle::collapse'; var EVENT_STATE_REQUEST = 'bv::request::collapse::state'; // @vue/component var BCollapse = /*#__PURE__*/_utils_vue__WEBPACK_IMPORTED_MODULE_0__["default"].extend({ name: 'BCollapse', mixins: [_mixins_id__WEBPACK_IMPORTED_MODULE_5__["default"], _mixins_listen_on_root__WEBPACK_IMPORTED_MODULE_6__["default"], _mixins_normalize_slot__WEBPACK_IMPORTED_MODULE_7__["default"]], model: { prop: 'visible', event: 'input' }, props: { isNav: { type: Boolean, default: false }, accordion: { type: String, default: null }, visible: { type: Boolean, default: false }, tag: { type: String, default: 'div' }, appear: { // If `true` (and `visible` is `true` on mount), animate initially visible type: Boolean, default: false } }, data: function data() { return { show: this.visible, transitioning: false }; }, computed: { classObject: function classObject() { return { 'navbar-collapse': this.isNav, collapse: !this.transitioning, show: this.show && !this.transitioning }; } }, watch: { visible: function visible(newVal) { if (newVal !== this.show) { this.show = newVal; } }, show: function show(newVal, oldVal) { if (newVal !== oldVal) { this.emitState(); } } }, created: function created() { this.show = this.visible; }, mounted: function mounted() { var _this = this; this.show = this.visible; // Listen for toggle events to open/close us this.listenOnRoot(EVENT_TOGGLE, this.handleToggleEvt); // Listen to other collapses for accordion events this.listenOnRoot(EVENT_ACCORDION, this.handleAccordionEvt); if (this.isNav) { // Set up handlers this.setWindowEvents(true); this.handleResize(); } this.$nextTick(function () { _this.emitState(); }); // Listen for "Sync state" requests from `v-b-toggle` this.listenOnRoot(EVENT_STATE_REQUEST, function (id) { if (id === _this.safeId()) { _this.$nextTick(_this.emitSync); } }); }, updated: function updated() { // Emit a private event every time this component updates to ensure // the toggle button is in sync with the collapse's state // It is emitted regardless if the visible state changes this.emitSync(); }, deactivated: function deactivated() /* istanbul ignore next */ { if (this.isNav) { this.setWindowEvents(false); } }, activated: function activated() /* istanbul ignore next */ { if (this.isNav) { this.setWindowEvents(true); } this.emitSync(); }, beforeDestroy: function beforeDestroy() { // Trigger state emit if needed this.show = false; if (this.isNav && _utils_env__WEBPACK_IMPORTED_MODULE_1__["isBrowser"]) { this.setWindowEvents(false); } }, methods: { setWindowEvents: function setWindowEvents(on) { Object(_utils_events__WEBPACK_IMPORTED_MODULE_3__["eventOnOff"])(on, window, 'resize', this.handleResize, _utils_events__WEBPACK_IMPORTED_MODULE_3__["EVENT_OPTIONS_NO_CAPTURE"]); Object(_utils_events__WEBPACK_IMPORTED_MODULE_3__["eventOnOff"])(on, window, 'orientationchange', this.handleResize, _utils_events__WEBPACK_IMPORTED_MODULE_3__["EVENT_OPTIONS_NO_CAPTURE"]); }, toggle: function toggle() { this.show = !this.show; }, onEnter: function onEnter() { this.transitioning = true; // This should be moved out so we can add cancellable events this.$emit('show'); }, onAfterEnter: function onAfterEnter() { this.transitioning = false; this.$emit('shown'); }, onLeave: function onLeave() { this.transitioning = true; // This should be moved out so we can add cancellable events this.$emit('hide'); }, onAfterLeave: function onAfterLeave() { this.transitioning = false; this.$emit('hidden'); }, emitState: function emitState() { this.$emit('input', this.show); // Let `v-b-toggle` know the state of this collapse this.$root.$emit(EVENT_STATE, this.safeId(), this.show); if (this.accordion && this.show) { // Tell the other collapses in this accordion to close this.$root.$emit(EVENT_ACCORDION, this.safeId(), this.accordion); } }, emitSync: function emitSync() { // Emit a private event every time this component updates to ensure // the toggle button is in sync with the collapse's state // It is emitted regardless if the visible state changes this.$root.$emit(EVENT_STATE_SYNC, this.safeId(), this.show); }, checkDisplayBlock: function checkDisplayBlock() { // Check to see if the collapse has `display: block !important` set // We can't set `display: none` directly on `this.$el`, as it would // trigger a new transition to start (or cancel a current one) var restore = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_2__["hasClass"])(this.$el, 'show'); Object(_utils_dom__WEBPACK_IMPORTED_MODULE_2__["removeClass"])(this.$el, 'show'); var isBlock = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_2__["getCS"])(this.$el).display === 'block'; if (restore) { Object(_utils_dom__WEBPACK_IMPORTED_MODULE_2__["addClass"])(this.$el, 'show'); } return isBlock; }, clickHandler: function clickHandler(evt) { // If we are in a nav/navbar, close the collapse when non-disabled link clicked var el = evt.target; if (!this.isNav || !el || Object(_utils_dom__WEBPACK_IMPORTED_MODULE_2__["getCS"])(this.$el).display !== 'block') { /* istanbul ignore next: can't test getComputedStyle in JSDOM */ return; } if (Object(_utils_dom__WEBPACK_IMPORTED_MODULE_2__["matches"])(el, '.nav-link,.dropdown-item') || Object(_utils_dom__WEBPACK_IMPORTED_MODULE_2__["closest"])('.nav-link,.dropdown-item', el)) { if (!this.checkDisplayBlock()) { // Only close the collapse if it is not forced to be `display: block !important` this.show = false; } } }, handleToggleEvt: function handleToggleEvt(target) { if (target !== this.safeId()) { return; } this.toggle(); }, handleAccordionEvt: function handleAccordionEvt(openedId, accordion) { if (!this.accordion || accordion !== this.accordion) { return; } if (openedId === this.safeId()) { // Open this collapse if not shown if (!this.show) { this.toggle(); } } else { // Close this collapse if shown if (this.show) { this.toggle(); } } }, handleResize: function handleResize() { // Handler for orientation/resize to set collapsed state in nav/navbar this.show = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_2__["getCS"])(this.$el).display === 'block'; } }, render: function render(h) { var _this2 = this; var scope = { visible: this.show, close: function close() { return _this2.show = false; } }; var content = h(this.tag, { class: this.classObject, directives: [{ name: 'show', value: this.show }], attrs: { id: this.safeId() }, on: { click: this.clickHandler } }, [this.normalizeSlot('default', scope)]); return h(_utils_bv_collapse__WEBPACK_IMPORTED_MODULE_4__["BVCollapse"], { props: { appear: this.appear }, on: { enter: this.onEnter, afterEnter: this.onAfterEnter, leave: this.onLeave, afterLeave: this.onAfterLeave } }, [content]); } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/collapse/index.js": /*!*********************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/collapse/index.js ***! \*********************************************************************/ /*! exports provided: CollapsePlugin, BCollapse */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CollapsePlugin", function() { return CollapsePlugin; }); /* harmony import */ var _collapse__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./collapse */ "./node_modules/bootstrap-vue/esm/components/collapse/collapse.js"); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BCollapse", function() { return _collapse__WEBPACK_IMPORTED_MODULE_0__["BCollapse"]; }); /* harmony import */ var _directives_toggle_toggle__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../directives/toggle/toggle */ "./node_modules/bootstrap-vue/esm/directives/toggle/toggle.js"); /* harmony import */ var _utils_plugins__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/plugins */ "./node_modules/bootstrap-vue/esm/utils/plugins.js"); var CollapsePlugin = /*#__PURE__*/Object(_utils_plugins__WEBPACK_IMPORTED_MODULE_2__["pluginFactory"])({ components: { BCollapse: _collapse__WEBPACK_IMPORTED_MODULE_0__["BCollapse"] }, directives: { VBToggle: _directives_toggle_toggle__WEBPACK_IMPORTED_MODULE_1__["VBToggle"] } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-divider.js": /*!********************************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-divider.js ***! \********************************************************************************/ /*! exports provided: props, BDropdownDivider */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "props", function() { return props; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BDropdownDivider", function() { return BDropdownDivider; }); /* harmony import */ var _utils_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/vue */ "./node_modules/bootstrap-vue/esm/utils/vue.js"); /* harmony import */ var vue_functional_data_merge__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue-functional-data-merge */ "./node_modules/vue-functional-data-merge/dist/lib.esm.js"); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 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; } var props = { tag: { type: String, default: 'hr' } }; // @vue/component var BDropdownDivider = /*#__PURE__*/_utils_vue__WEBPACK_IMPORTED_MODULE_0__["default"].extend({ name: 'BDropdownDivider', functional: true, props: props, render: function render(h, _ref) { var props = _ref.props, data = _ref.data; var $attrs = data.attrs || {}; data.attrs = {}; return h('li', Object(vue_functional_data_merge__WEBPACK_IMPORTED_MODULE_1__["mergeData"])(data, { attrs: { role: 'presentation' } }), [h(props.tag, { staticClass: 'dropdown-divider', attrs: _objectSpread({}, $attrs, { role: 'separator', 'aria-orientation': 'horizontal' }), ref: 'divider' })]); } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-form.js": /*!*****************************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-form.js ***! \*****************************************************************************/ /*! exports provided: BDropdownForm */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BDropdownForm", function() { return BDropdownForm; }); /* harmony import */ var _utils_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/vue */ "./node_modules/bootstrap-vue/esm/utils/vue.js"); /* harmony import */ var vue_functional_data_merge__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue-functional-data-merge */ "./node_modules/vue-functional-data-merge/dist/lib.esm.js"); /* harmony import */ var _form_form__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../form/form */ "./node_modules/bootstrap-vue/esm/components/form/form.js"); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 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; } // @vue/component var BDropdownForm = /*#__PURE__*/_utils_vue__WEBPACK_IMPORTED_MODULE_0__["default"].extend({ name: 'BDropdownForm', functional: true, props: _objectSpread({}, _form_form__WEBPACK_IMPORTED_MODULE_2__["props"], { disabled: { type: Boolean, default: false }, formClass: { type: [String, Object, Array], default: null } }), render: function render(h, _ref) { var props = _ref.props, data = _ref.data, children = _ref.children; var $attrs = data.attrs || {}; var $listeners = data.on || {}; data.attrs = {}; data.on = {}; return h('li', Object(vue_functional_data_merge__WEBPACK_IMPORTED_MODULE_1__["mergeData"])(data, { attrs: { role: 'presentation' } }), [h(_form_form__WEBPACK_IMPORTED_MODULE_2__["BForm"], { ref: 'form', staticClass: 'b-dropdown-form', class: [props.formClass, { disabled: props.disabled }], props: props, attrs: _objectSpread({}, $attrs, { disabled: props.disabled, // Tab index of -1 for keyboard navigation tabindex: props.disabled ? null : '-1' }), on: $listeners }, children)]); } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-group.js": /*!******************************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-group.js ***! \******************************************************************************/ /*! exports provided: props, BDropdownGroup */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "props", function() { return props; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BDropdownGroup", function() { return BDropdownGroup; }); /* harmony import */ var _utils_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/vue */ "./node_modules/bootstrap-vue/esm/utils/vue.js"); /* harmony import */ var vue_functional_data_merge__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue-functional-data-merge */ "./node_modules/vue-functional-data-merge/dist/lib.esm.js"); /* harmony import */ var _utils_normalize_slot__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/normalize-slot */ "./node_modules/bootstrap-vue/esm/utils/normalize-slot.js"); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 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; } var props = { id: { type: String, default: null }, header: { type: String, default: null }, headerTag: { type: String, default: 'header' }, headerVariant: { type: String, default: null }, headerClasses: { type: [String, Array, Object], default: null }, ariaDescribedby: { type: String, default: null } }; // @vue/component var BDropdownGroup = /*#__PURE__*/_utils_vue__WEBPACK_IMPORTED_MODULE_0__["default"].extend({ name: 'BDropdownGroup', functional: true, props: props, render: function render(h, _ref) { var props = _ref.props, data = _ref.data, slots = _ref.slots, scopedSlots = _ref.scopedSlots; var $slots = slots(); var $scopedSlots = scopedSlots || {}; var $attrs = data.attrs || {}; data.attrs = {}; var header; var headerId = null; if (Object(_utils_normalize_slot__WEBPACK_IMPORTED_MODULE_2__["hasNormalizedSlot"])('header', $scopedSlots, $slots) || props.header) { headerId = props.id ? "_bv_".concat(props.id, "_group_dd_header") : null; header = h(props.headerTag, { staticClass: 'dropdown-header', class: [props.headerClasses, _defineProperty({}, "text-".concat(props.variant), props.variant)], attrs: { id: headerId, role: 'heading' } }, Object(_utils_normalize_slot__WEBPACK_IMPORTED_MODULE_2__["normalizeSlot"])('header', {}, $scopedSlots, $slots) || props.header); } var adb = [headerId, props.ariaDescribedBy].filter(Boolean).join(' ').trim(); return h('li', Object(vue_functional_data_merge__WEBPACK_IMPORTED_MODULE_1__["mergeData"])(data, { attrs: { role: 'presentation' } }), [header || h(), h('ul', { staticClass: 'list-unstyled', attrs: _objectSpread({}, $attrs, { id: props.id || null, role: 'group', 'aria-describedby': adb || null }) }, Object(_utils_normalize_slot__WEBPACK_IMPORTED_MODULE_2__["normalizeSlot"])('default', {}, $scopedSlots, $slots))]); } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-header.js": /*!*******************************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-header.js ***! \*******************************************************************************/ /*! exports provided: props, BDropdownHeader */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "props", function() { return props; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BDropdownHeader", function() { return BDropdownHeader; }); /* harmony import */ var _utils_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/vue */ "./node_modules/bootstrap-vue/esm/utils/vue.js"); /* harmony import */ var vue_functional_data_merge__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue-functional-data-merge */ "./node_modules/vue-functional-data-merge/dist/lib.esm.js"); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 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; } var props = { id: { type: String, default: null }, tag: { type: String, default: 'header' }, variant: { type: String, default: null } }; // @vue/component var BDropdownHeader = /*#__PURE__*/_utils_vue__WEBPACK_IMPORTED_MODULE_0__["default"].extend({ name: 'BDropdownHeader', functional: true, props: props, render: function render(h, _ref) { var props = _ref.props, data = _ref.data, children = _ref.children; var $attrs = data.attrs || {}; data.attrs = {}; return h('li', Object(vue_functional_data_merge__WEBPACK_IMPORTED_MODULE_1__["mergeData"])(data, { attrs: { role: 'presentation' } }), [h(props.tag, { staticClass: 'dropdown-header', class: _defineProperty({}, "text-".concat(props.variant), props.variant), attrs: _objectSpread({}, $attrs, { id: props.id || null, role: 'heading' }), ref: 'header' }, children)]); } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-item-button.js": /*!************************************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-item-button.js ***! \************************************************************************************/ /*! exports provided: props, BDropdownItemButton */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "props", function() { return props; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BDropdownItemButton", function() { return BDropdownItemButton; }); /* harmony import */ var _utils_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/vue */ "./node_modules/bootstrap-vue/esm/utils/vue.js"); /* harmony import */ var _mixins_normalize_slot__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../mixins/normalize-slot */ "./node_modules/bootstrap-vue/esm/mixins/normalize-slot.js"); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 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; } var props = { active: { type: Boolean, default: false }, activeClass: { type: String, default: 'active' }, disabled: { type: Boolean, default: false }, variant: { type: String, default: null } }; // @vue/component var BDropdownItemButton = /*#__PURE__*/_utils_vue__WEBPACK_IMPORTED_MODULE_0__["default"].extend({ name: 'BDropdownItemButton', mixins: [_mixins_normalize_slot__WEBPACK_IMPORTED_MODULE_1__["default"]], inheritAttrs: false, inject: { bvDropdown: { default: null } }, props: props, methods: { closeDropdown: function closeDropdown() { if (this.bvDropdown) { this.bvDropdown.hide(true); } }, onClick: function onClick(evt) { this.$emit('click', evt); this.closeDropdown(); } }, render: function render(h) { var _class; return h('li', { attrs: { role: 'presentation' } }, [h('button', { staticClass: 'dropdown-item', class: (_class = {}, _defineProperty(_class, this.activeClass, this.active), _defineProperty(_class, "text-".concat(this.variant), this.variant && !(this.active || this.disabled)), _class), attrs: _objectSpread({}, this.$attrs, { role: 'menuitem', type: 'button', disabled: this.disabled }), on: { click: this.onClick }, ref: 'button' }, this.normalizeSlot('default'))]); } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-item.js": /*!*****************************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-item.js ***! \*****************************************************************************/ /*! exports provided: props, BDropdownItem */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "props", function() { return props; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BDropdownItem", function() { return BDropdownItem; }); /* harmony import */ var _utils_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/vue */ "./node_modules/bootstrap-vue/esm/utils/vue.js"); /* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/dom */ "./node_modules/bootstrap-vue/esm/utils/dom.js"); /* harmony import */ var _mixins_normalize_slot__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../mixins/normalize-slot */ "./node_modules/bootstrap-vue/esm/mixins/normalize-slot.js"); /* harmony import */ var _link_link__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../link/link */ "./node_modules/bootstrap-vue/esm/components/link/link.js"); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 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; } var props = Object(_link_link__WEBPACK_IMPORTED_MODULE_3__["propsFactory"])(); // @vue/component var BDropdownItem = /*#__PURE__*/_utils_vue__WEBPACK_IMPORTED_MODULE_0__["default"].extend({ name: 'BDropdownItem', mixins: [_mixins_normalize_slot__WEBPACK_IMPORTED_MODULE_2__["default"]], inheritAttrs: false, inject: { bvDropdown: { default: null } }, props: _objectSpread({}, props, { variant: { type: String, default: null } }), methods: { closeDropdown: function closeDropdown() { var _this = this; // Close on next animation frame to allow time to process Object(_utils_dom__WEBPACK_IMPORTED_MODULE_1__["requestAF"])(function () { if (_this.bvDropdown) { _this.bvDropdown.hide(true); } }); }, onClick: function onClick(evt) { this.$emit('click', evt); this.closeDropdown(); } }, render: function render(h) { return h('li', { attrs: { role: 'presentation' } }, [h(_link_link__WEBPACK_IMPORTED_MODULE_3__["BLink"], { props: this.$props, staticClass: 'dropdown-item', class: _defineProperty({}, "text-".concat(this.variant), this.variant && !(this.active || this.disabled)), attrs: _objectSpread({}, this.$attrs, { role: 'menuitem' }), on: { click: this.onClick }, ref: 'item' }, this.normalizeSlot('default'))]); } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-text.js": /*!*****************************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-text.js ***! \*****************************************************************************/ /*! exports provided: BDropdownText */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BDropdownText", function() { return BDropdownText; }); /* harmony import */ var _utils_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/vue */ "./node_modules/bootstrap-vue/esm/utils/vue.js"); /* harmony import */ var vue_functional_data_merge__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue-functional-data-merge */ "./node_modules/vue-functional-data-merge/dist/lib.esm.js"); 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; } // @vue/component var BDropdownText = /*#__PURE__*/_utils_vue__WEBPACK_IMPORTED_MODULE_0__["default"].extend({ name: 'BDropdownText', functional: true, props: { tag: { type: String, default: 'p' }, variant: { type: String, default: null } }, render: function render(h, _ref) { var props = _ref.props, data = _ref.data, children = _ref.children; var $attrs = data.attrs || {}; data.attrs = {}; return h('li', Object(vue_functional_data_merge__WEBPACK_IMPORTED_MODULE_1__["mergeData"])(data, { attrs: { role: 'presentation' } }), [h(props.tag, { staticClass: 'b-dropdown-text', class: _defineProperty({}, "text-".concat(props.variant), props.variant), props: props, attrs: $attrs, ref: 'text' }, children)]); } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/dropdown/dropdown.js": /*!************************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/dropdown/dropdown.js ***! \************************************************************************/ /*! exports provided: props, BDropdown */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "props", function() { return props; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BDropdown", function() { return BDropdown; }); /* harmony import */ var _utils_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/vue */ "./node_modules/bootstrap-vue/esm/utils/vue.js"); /* harmony import */ var _utils_array__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/array */ "./node_modules/bootstrap-vue/esm/utils/array.js"); /* harmony import */ var _utils_html__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/html */ "./node_modules/bootstrap-vue/esm/utils/html.js"); /* harmony import */ var _utils_config__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/config */ "./node_modules/bootstrap-vue/esm/utils/config.js"); /* harmony import */ var _mixins_id__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../mixins/id */ "./node_modules/bootstrap-vue/esm/mixins/id.js"); /* harmony import */ var _mixins_dropdown__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../mixins/dropdown */ "./node_modules/bootstrap-vue/esm/mixins/dropdown.js"); /* harmony import */ var _mixins_normalize_slot__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../mixins/normalize-slot */ "./node_modules/bootstrap-vue/esm/mixins/normalize-slot.js"); /* harmony import */ var _button_button__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../button/button */ "./node_modules/bootstrap-vue/esm/components/button/button.js"); var NAME = 'BDropdown'; var props = { text: { // Button label type: String, default: '' }, html: { // Button label type: String }, size: { type: String, default: function _default() { return Object(_utils_config__WEBPACK_IMPORTED_MODULE_3__["getComponentConfig"])(NAME, 'size'); } }, variant: { type: String, default: function _default() { return Object(_utils_config__WEBPACK_IMPORTED_MODULE_3__["getComponentConfig"])(NAME, 'variant'); } }, block: { type: Boolean, default: false }, menuClass: { type: [String, Array, Object], default: null }, toggleTag: { type: String, default: 'button' }, toggleText: { // This really should be toggleLabel type: String, default: function _default() { return Object(_utils_config__WEBPACK_IMPORTED_MODULE_3__["getComponentConfig"])(NAME, 'toggleText'); } }, toggleClass: { type: [String, Array, Object], default: null }, noCaret: { type: Boolean, default: false }, split: { type: Boolean, default: false }, splitHref: { type: String // default: undefined }, splitTo: { type: [String, Object] // default: undefined }, splitVariant: { type: String, default: function _default() { return Object(_utils_config__WEBPACK_IMPORTED_MODULE_3__["getComponentConfig"])(NAME, 'splitVariant'); } }, splitClass: { type: [String, Array, Object], default: null }, splitButtonType: { type: String, default: 'button', validator: function validator(value) { return Object(_utils_array__WEBPACK_IMPORTED_MODULE_1__["arrayIncludes"])(['button', 'submit', 'reset'], value); } }, lazy: { // If true, only render menu contents when open type: Boolean, default: false }, role: { type: String, default: 'menu' } }; // @vue/component var BDropdown = /*#__PURE__*/_utils_vue__WEBPACK_IMPORTED_MODULE_0__["default"].extend({ name: NAME, mixins: [_mixins_id__WEBPACK_IMPORTED_MODULE_4__["default"], _mixins_dropdown__WEBPACK_IMPORTED_MODULE_5__["default"], _mixins_normalize_slot__WEBPACK_IMPORTED_MODULE_6__["default"]], props: props, computed: { dropdownClasses: function dropdownClasses() { return [this.directionClass, { show: this.visible, // The 'btn-group' class is required in `split` mode for button alignment // It needs also to be applied when `block` is disabled to allow multiple // dropdowns to be aligned one line 'btn-group': this.split || !this.block, // When `block` is enabled and we are in `split` mode the 'd-flex' class // needs to be applied to allow the buttons to stretch to full width 'd-flex': this.block && this.split, // Position `static` is needed to allow menu to "breakout" of the `scrollParent` // boundaries when boundary is anything other than `scrollParent` // See: https://github.com/twbs/bootstrap/issues/24251#issuecomment-341413786 'position-static': this.boundary !== 'scrollParent' || !this.boundary }]; }, menuClasses: function menuClasses() { return [this.menuClass, { 'dropdown-menu-right': this.right, show: this.visible }]; }, toggleClasses: function toggleClasses() { return [this.toggleClass, { 'dropdown-toggle-split': this.split, 'dropdown-toggle-no-caret': this.noCaret && !this.split }]; } }, render: function render(h) { var split = h(); var buttonContent = this.normalizeSlot('button-content') || this.html || Object(_utils_html__WEBPACK_IMPORTED_MODULE_2__["stripTags"])(this.text); if (this.split) { var btnProps = { variant: this.splitVariant || this.variant, size: this.size, block: this.block, disabled: this.disabled }; // We add these as needed due to router-link issues with defined property with undefined/null values if (this.splitTo) { btnProps.to = this.splitTo; } else if (this.splitHref) { btnProps.href = this.splitHref; } else if (this.splitButtonType) { btnProps.type = this.splitButtonType; } split = h(_button_button__WEBPACK_IMPORTED_MODULE_7__["BButton"], { ref: 'button', props: btnProps, class: this.splitClass, attrs: { id: this.safeId('_BV_button_') }, on: { click: this.onSplitClick } }, [buttonContent]); } var toggle = h(_button_button__WEBPACK_IMPORTED_MODULE_7__["BButton"], { ref: 'toggle', staticClass: 'dropdown-toggle', class: this.toggleClasses, props: { tag: this.toggleTag, variant: this.variant, size: this.size, block: this.block && !this.split, disabled: this.disabled }, attrs: { id: this.safeId('_BV_toggle_'), 'aria-haspopup': 'true', 'aria-expanded': this.visible ? 'true' : 'false' }, on: { mousedown: this.onMousedown, click: this.toggle, keydown: this.toggle // Handle ENTER, SPACE and DOWN } }, [this.split ? h('span', { class: ['sr-only'] }, [this.toggleText]) : buttonContent]); var menu = h('ul', { ref: 'menu', staticClass: 'dropdown-menu', class: this.menuClasses, attrs: { role: this.role, tabindex: '-1', 'aria-labelledby': this.safeId(this.split ? '_BV_button_' : '_BV_toggle_') }, on: { keydown: this.onKeydown // Handle UP, DOWN and ESC } }, !this.lazy || this.visible ? this.normalizeSlot('default', { hide: this.hide }) : [h()]); return h('div', { staticClass: 'dropdown b-dropdown', class: this.dropdownClasses, attrs: { id: this.safeId() } }, [split, toggle, menu]); } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/dropdown/index.js": /*!*********************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/dropdown/index.js ***! \*********************************************************************/ /*! exports provided: DropdownPlugin, BDropdown, BDropdownItem, BDropdownItemButton, BDropdownHeader, BDropdownDivider, BDropdownForm, BDropdownText, BDropdownGroup */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DropdownPlugin", function() { return DropdownPlugin; }); /* harmony import */ var _dropdown__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./dropdown */ "./node_modules/bootstrap-vue/esm/components/dropdown/dropdown.js"); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BDropdown", function() { return _dropdown__WEBPACK_IMPORTED_MODULE_0__["BDropdown"]; }); /* harmony import */ var _dropdown_item__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./dropdown-item */ "./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-item.js"); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BDropdownItem", function() { return _dropdown_item__WEBPACK_IMPORTED_MODULE_1__["BDropdownItem"]; }); /* harmony import */ var _dropdown_item_button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./dropdown-item-button */ "./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-item-button.js"); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BDropdownItemButton", function() { return _dropdown_item_button__WEBPACK_IMPORTED_MODULE_2__["BDropdownItemButton"]; }); /* harmony import */ var _dropdown_header__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./dropdown-header */ "./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-header.js"); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BDropdownHeader", function() { return _dropdown_header__WEBPACK_IMPORTED_MODULE_3__["BDropdownHeader"]; }); /* harmony import */ var _dropdown_divider__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./dropdown-divider */ "./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-divider.js"); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BDropdownDivider", function() { return _dropdown_divider__WEBPACK_IMPORTED_MODULE_4__["BDropdownDivider"]; }); /* harmony import */ var _dropdown_form__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./dropdown-form */ "./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-form.js"); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BDropdownForm", function() { return _dropdown_form__WEBPACK_IMPORTED_MODULE_5__["BDropdownForm"]; }); /* harmony import */ var _dropdown_text__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./dropdown-text */ "./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-text.js"); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BDropdownText", function() { return _dropdown_text__WEBPACK_IMPORTED_MODULE_6__["BDropdownText"]; }); /* harmony import */ var _dropdown_group__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./dropdown-group */ "./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-group.js"); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BDropdownGroup", function() { return _dropdown_group__WEBPACK_IMPORTED_MODULE_7__["BDropdownGroup"]; }); /* harmony import */ var _utils_plugins__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../utils/plugins */ "./node_modules/bootstrap-vue/esm/utils/plugins.js"); var DropdownPlugin = /*#__PURE__*/Object(_utils_plugins__WEBPACK_IMPORTED_MODULE_8__["pluginFactory"])({ components: { BDropdown: _dropdown__WEBPACK_IMPORTED_MODULE_0__["BDropdown"], BDd: _dropdown__WEBPACK_IMPORTED_MODULE_0__["BDropdown"], BDropdownItem: _dropdown_item__WEBPACK_IMPORTED_MODULE_1__["BDropdownItem"], BDdItem: _dropdown_item__WEBPACK_IMPORTED_MODULE_1__["BDropdownItem"], BDropdownItemButton: _dropdown_item_button__WEBPACK_IMPORTED_MODULE_2__["BDropdownItemButton"], BDropdownItemBtn: _dropdown_item_button__WEBPACK_IMPORTED_MODULE_2__["BDropdownItemButton"], BDdItemButton: _dropdown_item_button__WEBPACK_IMPORTED_MODULE_2__["BDropdownItemButton"], BDdItemBtn: _dropdown_item_button__WEBPACK_IMPORTED_MODULE_2__["BDropdownItemButton"], BDropdownHeader: _dropdown_header__WEBPACK_IMPORTED_MODULE_3__["BDropdownHeader"], BDdHeader: _dropdown_header__WEBPACK_IMPORTED_MODULE_3__["BDropdownHeader"], BDropdownDivider: _dropdown_divider__WEBPACK_IMPORTED_MODULE_4__["BDropdownDivider"], BDdDivider: _dropdown_divider__WEBPACK_IMPORTED_MODULE_4__["BDropdownDivider"], BDropdownForm: _dropdown_form__WEBPACK_IMPORTED_MODULE_5__["BDropdownForm"], BDdForm: _dropdown_form__WEBPACK_IMPORTED_MODULE_5__["BDropdownForm"], BDropdownText: _dropdown_text__WEBPACK_IMPORTED_MODULE_6__["BDropdownText"], BDdText: _dropdown_text__WEBPACK_IMPORTED_MODULE_6__["BDropdownText"], BDropdownGroup: _dropdown_group__WEBPACK_IMPORTED_MODULE_7__["BDropdownGroup"], BDdGroup: _dropdown_group__WEBPACK_IMPORTED_MODULE_7__["BDropdownGroup"] } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/embed/embed.js": /*!******************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/embed/embed.js ***! \******************************************************************/ /*! exports provided: props, BEmbed */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "props", function() { return props; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BEmbed", function() { return BEmbed; }); /* harmony import */ var _utils_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/vue */ "./node_modules/bootstrap-vue/esm/utils/vue.js"); /* harmony import */ var vue_functional_data_merge__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue-functional-data-merge */ "./node_modules/vue-functional-data-merge/dist/lib.esm.js"); /* harmony import */ var _utils_array__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/array */ "./node_modules/bootstrap-vue/esm/utils/array.js"); 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; } var props = { type: { type: String, default: 'iframe', validator: function validator(str) { return Object(_utils_array__WEBPACK_IMPORTED_MODULE_2__["arrayIncludes"])(['iframe', 'embed', 'video', 'object', 'img', 'b-img', 'b-img-lazy'], str); } }, tag: { type: String, default: 'div' }, aspect: { type: String, default: '16by9' } }; // @vue/component var BEmbed = /*#__PURE__*/_utils_vue__WEBPACK_IMPORTED_MODULE_0__["default"].extend({ name: 'BEmbed', functional: true, props: props, render: function render(h, _ref) { var props = _ref.props, data = _ref.data, children = _ref.children; return h(props.tag, { ref: data.ref, staticClass: 'embed-responsive', class: _defineProperty({}, "embed-responsive-".concat(props.aspect), props.aspect) }, [h(props.type, Object(vue_functional_data_merge__WEBPACK_IMPORTED_MODULE_1__["mergeData"])(data, { ref: '', staticClass: 'embed-responsive-item' }), children)]); } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/embed/index.js": /*!******************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/embed/index.js ***! \******************************************************************/ /*! exports provided: EmbedPlugin, BEmbed */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "EmbedPlugin", function() { return EmbedPlugin; }); /* harmony import */ var _embed__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./embed */ "./node_modules/bootstrap-vue/esm/components/embed/embed.js"); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BEmbed", function() { return _embed__WEBPACK_IMPORTED_MODULE_0__["BEmbed"]; }); /* harmony import */ var _utils_plugins__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/plugins */ "./node_modules/bootstrap-vue/esm/utils/plugins.js"); var EmbedPlugin = /*#__PURE__*/Object(_utils_plugins__WEBPACK_IMPORTED_MODULE_1__["pluginFactory"])({ components: { BEmbed: _embed__WEBPACK_IMPORTED_MODULE_0__["BEmbed"] } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/form-checkbox/form-checkbox-group.js": /*!****************************************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/form-checkbox/form-checkbox-group.js ***! \****************************************************************************************/ /*! exports provided: props, BFormCheckboxGroup */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "props", function() { return props; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BFormCheckboxGroup", function() { return BFormCheckboxGroup; }); /* harmony import */ var _utils_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/vue */ "./node_modules/bootstrap-vue/esm/utils/vue.js"); /* harmony import */ var _mixins_id__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../mixins/id */ "./node_modules/bootstrap-vue/esm/mixins/id.js"); /* harmony import */ var _mixins_form__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../mixins/form */ "./node_modules/bootstrap-vue/esm/mixins/form.js"); /* harmony import */ var _mixins_form_options__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../mixins/form-options */ "./node_modules/bootstrap-vue/esm/mixins/form-options.js"); /* harmony import */ var _mixins_form_radio_check_group__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../mixins/form-radio-check-group */ "./node_modules/bootstrap-vue/esm/mixins/form-radio-check-group.js"); /* harmony import */ var _mixins_form_size__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../mixins/form-size */ "./node_modules/bootstrap-vue/esm/mixins/form-size.js"); /* harmony import */ var _mixins_form_state__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../mixins/form-state */ "./node_modules/bootstrap-vue/esm/mixins/form-state.js"); var props = { switches: { // Custom switch styling type: Boolean, default: false }, checked: { type: Array, default: null } }; // @vue/component var BFormCheckboxGroup = /*#__PURE__*/_utils_vue__WEBPACK_IMPORTED_MODULE_0__["default"].extend({ name: 'BFormCheckboxGroup', mixins: [_mixins_id__WEBPACK_IMPORTED_MODULE_1__["default"], _mixins_form__WEBPACK_IMPORTED_MODULE_2__["default"], _mixins_form_radio_check_group__WEBPACK_IMPORTED_MODULE_4__["default"], // Includes render function _mixins_form_options__WEBPACK_IMPORTED_MODULE_3__["default"], _mixins_form_size__WEBPACK_IMPORTED_MODULE_5__["default"], _mixins_form_state__WEBPACK_IMPORTED_MODULE_6__["default"]], provide: function provide() { return { bvCheckGroup: this }; }, props: props, data: function data() { return { localChecked: this.checked || [] }; }, computed: { isRadioGroup: function isRadioGroup() { return false; } } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/form-checkbox/form-checkbox.js": /*!**********************************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/form-checkbox/form-checkbox.js ***! \**********************************************************************************/ /*! exports provided: BFormCheckbox */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BFormCheckbox", function() { return BFormCheckbox; }); /* harmony import */ var _utils_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/vue */ "./node_modules/bootstrap-vue/esm/utils/vue.js"); /* harmony import */ var _utils_loose_equal__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/loose-equal */ "./node_modules/bootstrap-vue/esm/utils/loose-equal.js"); /* harmony import */ var _utils_loose_index_of__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/loose-index-of */ "./node_modules/bootstrap-vue/esm/utils/loose-index-of.js"); /* harmony import */ var _utils_inspect__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/inspect */ "./node_modules/bootstrap-vue/esm/utils/inspect.js"); /* harmony import */ var _mixins_form__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../mixins/form */ "./node_modules/bootstrap-vue/esm/mixins/form.js"); /* harmony import */ var _mixins_form_radio_check__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../mixins/form-radio-check */ "./node_modules/bootstrap-vue/esm/mixins/form-radio-check.js"); /* harmony import */ var _mixins_form_size__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../mixins/form-size */ "./node_modules/bootstrap-vue/esm/mixins/form-size.js"); /* harmony import */ var _mixins_form_state__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../mixins/form-state */ "./node_modules/bootstrap-vue/esm/mixins/form-state.js"); /* harmony import */ var _mixins_id__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../mixins/id */ "./node_modules/bootstrap-vue/esm/mixins/id.js"); // @vue/component var BFormCheckbox = /*#__PURE__*/_utils_vue__WEBPACK_IMPORTED_MODULE_0__["default"].extend({ name: 'BFormCheckbox', mixins: [_mixins_form_radio_check__WEBPACK_IMPORTED_MODULE_5__["default"], // Includes shared render function _mixins_id__WEBPACK_IMPORTED_MODULE_8__["default"], _mixins_form__WEBPACK_IMPORTED_MODULE_4__["default"], _mixins_form_size__WEBPACK_IMPORTED_MODULE_6__["default"], _mixins_form_state__WEBPACK_IMPORTED_MODULE_7__["default"]], inject: { bvGroup: { from: 'bvCheckGroup', default: false } }, props: { value: { // type: [String, Number, Boolean, Object], default: true }, uncheckedValue: { // type: [String, Number, Boolean, Object], // Not applicable in multi-check mode default: false }, indeterminate: { // Not applicable in multi-check mode type: Boolean, default: false }, switch: { // Custom switch styling type: Boolean, default: false }, checked: { // v-model (Array when multiple checkboxes have same name) // type: [String, Number, Boolean, Object, Array], default: null } }, computed: { isChecked: function isChecked() { var checked = this.computedLocalChecked; var value = this.value; if (Object(_utils_inspect__WEBPACK_IMPORTED_MODULE_3__["isArray"])(checked)) { return Object(_utils_loose_index_of__WEBPACK_IMPORTED_MODULE_2__["default"])(checked, value) > -1; } else { return Object(_utils_loose_equal__WEBPACK_IMPORTED_MODULE_1__["default"])(checked, value); } }, isRadio: function isRadio() { return false; }, isCheck: function isCheck() { return true; } }, watch: { computedLocalChecked: function computedLocalChecked(newVal) { this.$emit('input', newVal); if (this.$refs && this.$refs.input) { this.$emit('update:indeterminate', this.$refs.input.indeterminate); } }, indeterminate: function indeterminate(newVal) { this.setIndeterminate(newVal); } }, mounted: function mounted() { // Set initial indeterminate state this.setIndeterminate(this.indeterminate); }, methods: { handleChange: function handleChange(_ref) { var _ref$target = _ref.target, checked = _ref$target.checked, indeterminate = _ref$target.indeterminate; var localChecked = this.computedLocalChecked; var value = this.value; var isArr = Object(_utils_inspect__WEBPACK_IMPORTED_MODULE_3__["isArray"])(localChecked); var uncheckedValue = isArr ? null : this.uncheckedValue; // Update computedLocalChecked if (isArr) { var idx = Object(_utils_loose_index_of__WEBPACK_IMPORTED_MODULE_2__["default"])(localChecked, value); if (checked && idx < 0) { // Add value to array localChecked = localChecked.concat(value); } else if (!checked && idx > -1) { // Remove value from array localChecked = localChecked.slice(0, idx).concat(localChecked.slice(idx + 1)); } } else { localChecked = checked ? value : uncheckedValue; } this.computedLocalChecked = localChecked; // Change is only emitted on user interaction this.$emit('change', checked ? value : uncheckedValue); // If this is a child of form-checkbox-group, we emit a change event on it as well if (this.isGroup) { this.bvGroup.$emit('change', localChecked); } this.$emit('update:indeterminate', indeterminate); }, setIndeterminate: function setIndeterminate(state) { // Indeterminate only supported in single checkbox mode if (Object(_utils_inspect__WEBPACK_IMPORTED_MODULE_3__["isArray"])(this.computedLocalChecked)) { state = false; } if (this.$refs && this.$refs.input) { this.$refs.input.indeterminate = state; // Emit update event to prop this.$emit('update:indeterminate', state); } } } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/form-checkbox/index.js": /*!**************************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/form-checkbox/index.js ***! \**************************************************************************/ /*! exports provided: FormCheckboxPlugin, BFormCheckbox, BFormCheckboxGroup */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FormCheckboxPlugin", function() { return FormCheckboxPlugin; }); /* harmony import */ var _form_checkbox__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./form-checkbox */ "./node_modules/bootstrap-vue/esm/components/form-checkbox/form-checkbox.js"); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BFormCheckbox", function() { return _form_checkbox__WEBPACK_IMPORTED_MODULE_0__["BFormCheckbox"]; }); /* harmony import */ var _form_checkbox_group__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./form-checkbox-group */ "./node_modules/bootstrap-vue/esm/components/form-checkbox/form-checkbox-group.js"); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BFormCheckboxGroup", function() { return _form_checkbox_group__WEBPACK_IMPORTED_MODULE_1__["BFormCheckboxGroup"]; }); /* harmony import */ var _utils_plugins__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/plugins */ "./node_modules/bootstrap-vue/esm/utils/plugins.js"); var FormCheckboxPlugin = /*#__PURE__*/Object(_utils_plugins__WEBPACK_IMPORTED_MODULE_2__["pluginFactory"])({ components: { BFormCheckbox: _form_checkbox__WEBPACK_IMPORTED_MODULE_0__["BFormCheckbox"], BCheckbox: _form_checkbox__WEBPACK_IMPORTED_MODULE_0__["BFormCheckbox"], BCheck: _form_checkbox__WEBPACK_IMPORTED_MODULE_0__["BFormCheckbox"], BFormCheckboxGroup: _form_checkbox_group__WEBPACK_IMPORTED_MODULE_1__["BFormCheckboxGroup"], BCheckboxGroup: _form_checkbox_group__WEBPACK_IMPORTED_MODULE_1__["BFormCheckboxGroup"], BCheckGroup: _form_checkbox_group__WEBPACK_IMPORTED_MODULE_1__["BFormCheckboxGroup"] } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/form-datepicker/form-datepicker.js": /*!**************************************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/form-datepicker/form-datepicker.js ***! \**************************************************************************************/ /*! exports provided: BFormDatepicker */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BFormDatepicker", function() { return BFormDatepicker; }); /* harmony import */ var _utils_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/vue */ "./node_modules/bootstrap-vue/esm/utils/vue.js"); /* harmony import */ var _utils_bv_form_btn_label_control__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/bv-form-btn-label-control */ "./node_modules/bootstrap-vue/esm/utils/bv-form-btn-label-control.js"); /* harmony import */ var _utils_config__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/config */ "./node_modules/bootstrap-vue/esm/utils/config.js"); /* harmony import */ var _utils_date__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/date */ "./node_modules/bootstrap-vue/esm/utils/date.js"); /* harmony import */ var _utils_inspect__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/inspect */ "./node_modules/bootstrap-vue/esm/utils/inspect.js"); /* harmony import */ var _mixins_id__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../mixins/id */ "./node_modules/bootstrap-vue/esm/mixins/id.js"); /* harmony import */ var _button_button__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../button/button */ "./node_modules/bootstrap-vue/esm/components/button/button.js"); /* harmony import */ var _calendar_calendar__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../calendar/calendar */ "./node_modules/bootstrap-vue/esm/components/calendar/calendar.js"); /* harmony import */ var _icons_icons__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../icons/icons */ "./node_modules/bootstrap-vue/esm/icons/icons.js"); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 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; } var NAME = 'BFormDatepicker'; // Fallback to BCalendar prop if no value found var getConfigFallback = function getConfigFallback(prop) { return Object(_utils_config__WEBPACK_IMPORTED_MODULE_2__["getComponentConfig"])(NAME, prop) || Object(_utils_config__WEBPACK_IMPORTED_MODULE_2__["getComponentConfig"])('BCalendar', prop); }; // We create our props as a mixin so that we can control // where they appear in the props listing reference section var propsMixin = { props: _objectSpread({ value: { type: [String, Date], default: null }, valueAsDate: { type: Boolean, default: false }, resetValue: { type: [String, Date], default: '' }, initialDate: { // This specifies the calendar year/month/day that will be shown when // first opening the datepicker if no v-model value is provided // Default is the current date (or `min`/`max`) // Passed directly to type: [String, Date], default: null }, placeholder: { type: String, // Defaults to `labelNoDateSelected` from calendar context default: null }, size: { type: String, default: null }, min: { type: [String, Date], default: null }, max: { type: [String, Date], default: null }, disabled: { type: Boolean, default: false }, readonly: { type: Boolean, default: false }, required: { // If true adds the `aria-required` attribute type: Boolean, default: false }, name: { type: String, default: null }, form: { type: String, default: null }, state: { // Tri-state prop: `true`, `false` or `null` type: Boolean, default: null }, dateDisabledFn: { type: Function, default: null }, noCloseOnSelect: { type: Boolean, default: false }, hideHeader: { type: Boolean, default: false }, locale: { type: [String, Array], default: null }, startWeekday: { // `0` (Sunday), `1` (Monday), ... `6` (Saturday) // Day of week to start calendar on type: [Number, String], default: 0 }, direction: { type: String, default: null }, buttonOnly: { type: Boolean, default: false }, buttonVariant: { // Applicable in button only mode type: String, default: 'secondary' }, calendarWidth: { // Width of the calendar dropdown type: String, default: '270px' }, selectedVariant: { // Variant color to use for the selected date type: String, default: 'primary' }, todayVariant: { // Variant color to use for today's date (defaults to `variant`) type: String, default: null }, noHighlightToday: { // Disable highlighting today's date type: Boolean, default: false }, todayButton: { type: Boolean, default: false }, labelTodayButton: { type: String, default: function _default() { return Object(_utils_config__WEBPACK_IMPORTED_MODULE_2__["getComponentConfig"])(NAME, 'labelTodayButton'); } }, todayButtonVariant: { type: String, default: 'outline-primary' }, resetButton: { type: Boolean, default: false }, labelResetButton: { type: String, default: function _default() { return Object(_utils_config__WEBPACK_IMPORTED_MODULE_2__["getComponentConfig"])(NAME, 'labelResetButton'); } }, resetButtonVariant: { type: String, default: 'outline-danger' }, closeButton: { type: Boolean, default: false }, labelCloseButton: { type: String, default: function _default() { return Object(_utils_config__WEBPACK_IMPORTED_MODULE_2__["getComponentConfig"])(NAME, 'labelCloseButton'); } }, closeButtonVariant: { type: String, default: 'outline-secondary' }, // Labels for buttons and keyboard shortcuts // These pick BCalendar global config if no BFormDate global config labelPrevYear: { type: String, default: function _default() { return getConfigFallback('labelPrevYear'); } }, labelPrevMonth: { type: String, default: function _default() { return getConfigFallback('labelPrevMonth'); } }, labelCurrentMonth: { type: String, default: function _default() { return getConfigFallback('labelCurrentMonth'); } }, labelNextMonth: { type: String, default: function _default() { return getConfigFallback('labelNextMonth'); } }, labelNextYear: { type: String, default: function _default() { return getConfigFallback('labelNextYear'); } }, labelToday: { type: String, default: function _default() { return getConfigFallback('labelToday'); } }, labelSelected: { type: String, default: function _default() { return getConfigFallback('labelSelected'); } }, labelNoDateSelected: { type: String, default: function _default() { return getConfigFallback('labelNoDateSelected'); } }, labelCalendar: { type: String, default: function _default() { return getConfigFallback('labelCalendar'); } }, labelNav: { type: String, default: function _default() { return getConfigFallback('labelNav'); } }, labelHelp: { type: String, default: function _default() { return getConfigFallback('labelHelp'); } }, dateFormatOptions: { // `Intl.DateTimeFormat` object type: Object, default: function _default() { return { year: 'numeric', month: 'long', day: 'numeric', weekday: 'long' }; } }, // Dark mode dark: { type: Boolean, default: false }, // extra dropdown stuff menuClass: { type: [String, Array, Object], default: null } }, _utils_bv_form_btn_label_control__WEBPACK_IMPORTED_MODULE_1__["dropdownProps"]) }; // --- BFormDate component --- // @vue/component var BFormDatepicker = /*#__PURE__*/_utils_vue__WEBPACK_IMPORTED_MODULE_0__["default"].extend({ name: NAME, // The mixins order determines the order of appearance in the props reference section mixins: [_mixins_id__WEBPACK_IMPORTED_MODULE_5__["default"], propsMixin], model: { prop: 'value', event: 'input' }, data: function data() { return { // We always use `YYYY-MM-DD` value internally localYMD: Object(_utils_date__WEBPACK_IMPORTED_MODULE_3__["formatYMD"])(this.value) || '', // If the popup is open isVisible: false, // Context data from BCalendar localLocale: null, isRTL: false, formattedValue: '', activeYMD: '' }; }, computed: { calendarYM: function calendarYM() { // Returns the calendar year/month // Returns the `YYYY-MM` portion of the active calendar date return this.activeYMD.slice(0, -3); }, calendarProps: function calendarProps() { // Use self for better minification, as `this` won't // minimize and we reference it many times below var self = this; return { hidden: !self.isVisible, value: self.localYMD, min: self.min, max: self.max, initialDate: self.initialDate, readonly: self.readonly, disabled: self.disabled, locale: self.locale, startWeekday: self.startWeekday, direction: self.direction, width: self.calendarWidth, dateDisabledFn: self.dateDisabledFn, selectedVariant: self.selectedVariant, todayVariant: self.todayVariant, hideHeader: self.hideHeader, labelPrevYear: self.labelPrevYear, labelPrevMonth: self.labelPrevMonth, labelCurrentMonth: self.labelCurrentMonth, labelNextMonth: self.labelNextMonth, labelNextYear: self.labelNextYear, labelToday: self.labelToday, labelSelected: self.labelSelected, labelNoDateSelected: self.labelNoDateSelected, labelCalendar: self.labelCalendar, labelNav: self.labelNav, labelHelp: self.labelHelp, dateFormatOptions: self.dateFormatOptions }; }, computedLang: function computedLang() { return (this.localLocale || '').replace(/-u-.*$/i, '') || null; }, computedResetValue: function computedResetValue() { return Object(_utils_date__WEBPACK_IMPORTED_MODULE_3__["formatYMD"])(Object(_utils_date__WEBPACK_IMPORTED_MODULE_3__["constrainDate"])(this.resetValue)) || ''; } }, watch: { value: function value(newVal) { this.localYMD = Object(_utils_date__WEBPACK_IMPORTED_MODULE_3__["formatYMD"])(newVal) || ''; }, localYMD: function localYMD(newVal) { // We only update the v-model when the datepicker is open if (this.isVisible) { this.$emit('input', this.valueAsDate ? Object(_utils_date__WEBPACK_IMPORTED_MODULE_3__["parseYMD"])(newVal) || null : newVal || ''); } }, calendarYM: function calendarYM(newVal, oldVal) /* istanbul ignore next */ { // Displayed calendar month has changed // So possibly the calendar height has changed... // We need to update popper computed position if (newVal !== oldVal && oldVal) { try { this.$refs.control.updatePopper(); } catch (_unused) {} } } }, methods: { // Public methods focus: function focus() { if (!this.disabled) { try { this.$refs.control.focus(); } catch (_unused2) {} } }, blur: function blur() { if (!this.disabled) { try { this.$refs.control.blur(); } catch (_unused3) {} } }, // Private methods setAndClose: function setAndClose(ymd) { var _this = this; this.localYMD = ymd; // Close calendar popup, unless `noCloseOnSelect` if (!this.noCloseOnSelect) { this.$nextTick(function () { _this.$refs.control.hide(true); }); } }, onSelected: function onSelected(ymd) { var _this2 = this; this.$nextTick(function () { _this2.setAndClose(ymd); }); }, onInput: function onInput(ymd) { if (this.localYMD !== ymd) { this.localYMD = ymd; } }, onContext: function onContext(ctx) { var activeYMD = ctx.activeYMD, isRTL = ctx.isRTL, locale = ctx.locale, selectedYMD = ctx.selectedYMD, selectedFormatted = ctx.selectedFormatted; this.isRTL = isRTL; this.localLocale = locale; this.formattedValue = selectedFormatted; this.localYMD = selectedYMD; this.activeYMD = activeYMD; // Re-emit the context event this.$emit('context', ctx); }, onTodayButton: function onTodayButton() { // Set to today (or min/max if today is out of range) this.setAndClose(Object(_utils_date__WEBPACK_IMPORTED_MODULE_3__["formatYMD"])(Object(_utils_date__WEBPACK_IMPORTED_MODULE_3__["constrainDate"])(Object(_utils_date__WEBPACK_IMPORTED_MODULE_3__["createDate"])(), this.min, this.max))); }, onResetButton: function onResetButton() { this.setAndClose(this.computedResetValue); }, onCloseButton: function onCloseButton() { this.$refs.control.hide(true); }, // Menu handlers onShow: function onShow() { this.isVisible = true; }, onShown: function onShown() { var _this3 = this; this.$nextTick(function () { try { _this3.$refs.calendar.focus(); } catch (_unused4) {} }); }, onHidden: function onHidden() { this.isVisible = false; }, // Render helpers defaultButtonFn: function defaultButtonFn(_ref) { var isHovered = _ref.isHovered, hasFocus = _ref.hasFocus; return this.$createElement(isHovered || hasFocus ? _icons_icons__WEBPACK_IMPORTED_MODULE_8__["BIconCalendarFill"] : _icons_icons__WEBPACK_IMPORTED_MODULE_8__["BIconCalendar"], { props: { scale: 1.25 }, attrs: { 'aria-hidden': 'true' } }); } }, render: function render(h) { var localYMD = this.localYMD; var disabled = this.disabled; var readonly = this.readonly; var placeholder = Object(_utils_inspect__WEBPACK_IMPORTED_MODULE_4__["isUndefinedOrNull"])(this.placeholder) ? this.labelNoDateSelected : this.placeholder; // Optional footer buttons var $footer = []; if (this.todayButton) { var label = this.labelTodayButton; $footer.push(h(_button_button__WEBPACK_IMPORTED_MODULE_6__["BButton"], { props: { size: 'sm', disabled: disabled || readonly, variant: this.todayButtonVariant }, attrs: { 'aria-label': label || null }, on: { click: this.onTodayButton } }, label)); } if (this.resetButton) { var _label = this.labelResetButton; $footer.push(h(_button_button__WEBPACK_IMPORTED_MODULE_6__["BButton"], { props: { size: 'sm', disabled: disabled || readonly, variant: this.resetButtonVariant }, attrs: { 'aria-label': _label || null }, on: { click: this.onResetButton } }, _label)); } if (this.closeButton) { var _label2 = this.labelCloseButton; $footer.push(h(_button_button__WEBPACK_IMPORTED_MODULE_6__["BButton"], { props: { size: 'sm', disabled: disabled, variant: this.closeButtonVariant }, attrs: { 'aria-label': _label2 || null }, on: { click: this.onCloseButton } }, _label2)); } if ($footer.length > 0) { $footer = [h('div', { staticClass: 'b-form-date-controls d-flex flex-wrap', class: { 'justify-content-between': $footer.length > 1, 'justify-content-end': $footer.length < 2 } }, $footer)]; } var $calendar = h(_calendar_calendar__WEBPACK_IMPORTED_MODULE_7__["BCalendar"], { key: 'calendar', ref: 'calendar', staticClass: 'b-form-date-calendar', props: this.calendarProps, on: { selected: this.onSelected, input: this.onInput, context: this.onContext } }, $footer); return h(_utils_bv_form_btn_label_control__WEBPACK_IMPORTED_MODULE_1__["BVFormBtnLabelControl"], { ref: 'control', staticClass: 'b-form-datepicker', props: _objectSpread({}, this.$props, { // Overridden / computed props id: this.safeId(), rtl: this.isRTL, lang: this.computedLang, value: localYMD || '', formattedValue: localYMD ? this.formattedValue : '', placeholder: placeholder || '', menuClass: [{ 'bg-dark': !!this.dark, 'text-light': !!this.dark }, this.menuClass] }), on: { show: this.onShow, shown: this.onShown, hidden: this.onHidden }, scopedSlots: { 'button-content': this.$scopedSlots['button-content'] || this.defaultButtonFn } }, [$calendar]); } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/form-datepicker/index.js": /*!****************************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/form-datepicker/index.js ***! \****************************************************************************/ /*! exports provided: FormDatepickerPlugin, BFormDatepicker */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FormDatepickerPlugin", function() { return FormDatepickerPlugin; }); /* harmony import */ var _form_datepicker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./form-datepicker */ "./node_modules/bootstrap-vue/esm/components/form-datepicker/form-datepicker.js"); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BFormDatepicker", function() { return _form_datepicker__WEBPACK_IMPORTED_MODULE_0__["BFormDatepicker"]; }); /* harmony import */ var _utils_plugins__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/plugins */ "./node_modules/bootstrap-vue/esm/utils/plugins.js"); var FormDatepickerPlugin = /*#__PURE__*/Object(_utils_plugins__WEBPACK_IMPORTED_MODULE_1__["pluginFactory"])({ components: { BFormDatepicker: _form_datepicker__WEBPACK_IMPORTED_MODULE_0__["BFormDatepicker"], BDatepicker: _form_datepicker__WEBPACK_IMPORTED_MODULE_0__["BFormDatepicker"] } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/form-file/form-file.js": /*!**************************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/form-file/form-file.js ***! \**************************************************************************/ /*! exports provided: BFormFile */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BFormFile", function() { return BFormFile; }); /* harmony import */ var _utils_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/vue */ "./node_modules/bootstrap-vue/esm/utils/vue.js"); /* harmony import */ var _utils_identity__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/identity */ "./node_modules/bootstrap-vue/esm/utils/identity.js"); /* harmony import */ var _utils_array__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/array */ "./node_modules/bootstrap-vue/esm/utils/array.js"); /* harmony import */ var _utils_config__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/config */ "./node_modules/bootstrap-vue/esm/utils/config.js"); /* harmony import */ var _utils_inspect__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/inspect */ "./node_modules/bootstrap-vue/esm/utils/inspect.js"); /* harmony import */ var _utils_safe_types__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../utils/safe-types */ "./node_modules/bootstrap-vue/esm/utils/safe-types.js"); /* harmony import */ var _utils_string__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../utils/string */ "./node_modules/bootstrap-vue/esm/utils/string.js"); /* harmony import */ var _utils_warn__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../utils/warn */ "./node_modules/bootstrap-vue/esm/utils/warn.js"); /* harmony import */ var _mixins_form_custom__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../mixins/form-custom */ "./node_modules/bootstrap-vue/esm/mixins/form-custom.js"); /* harmony import */ var _mixins_form__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../mixins/form */ "./node_modules/bootstrap-vue/esm/mixins/form.js"); /* harmony import */ var _mixins_form_state__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../mixins/form-state */ "./node_modules/bootstrap-vue/esm/mixins/form-state.js"); /* harmony import */ var _mixins_id__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../mixins/id */ "./node_modules/bootstrap-vue/esm/mixins/id.js"); /* harmony import */ var _mixins_normalize_slot__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../mixins/normalize-slot */ "./node_modules/bootstrap-vue/esm/mixins/normalize-slot.js"); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 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; } // --- Constants --- var NAME = 'BFormFile'; var VALUE_EMPTY_DEPRECATED_MSG = 'Setting "value"/"v-model" to an empty string for reset is deprecated. Set to "null" instead.'; // --- Helper methods --- var isValidValue = function isValidValue(value) { return Object(_utils_inspect__WEBPACK_IMPORTED_MODULE_4__["isFile"])(value) || Object(_utils_array__WEBPACK_IMPORTED_MODULE_2__["isArray"])(value) && value.every(function (v) { return isValidValue(v); }); }; // @vue/component var BFormFile = /*#__PURE__*/_utils_vue__WEBPACK_IMPORTED_MODULE_0__["default"].extend({ name: NAME, mixins: [_mixins_id__WEBPACK_IMPORTED_MODULE_11__["default"], _mixins_form__WEBPACK_IMPORTED_MODULE_9__["default"], _mixins_form_state__WEBPACK_IMPORTED_MODULE_10__["default"], _mixins_form_custom__WEBPACK_IMPORTED_MODULE_8__["default"], _mixins_normalize_slot__WEBPACK_IMPORTED_MODULE_12__["default"]], inheritAttrs: false, model: { prop: 'value', event: 'input' }, props: { size: { type: String, default: function _default() { return Object(_utils_config__WEBPACK_IMPORTED_MODULE_3__["getComponentConfig"])('BFormControl', 'size'); } }, value: { type: [_utils_safe_types__WEBPACK_IMPORTED_MODULE_5__["File"], Array], default: null, validator: function validator(value) { /* istanbul ignore next */ if (value === '') { Object(_utils_warn__WEBPACK_IMPORTED_MODULE_7__["warn"])(VALUE_EMPTY_DEPRECATED_MSG, NAME); return true; } return Object(_utils_inspect__WEBPACK_IMPORTED_MODULE_4__["isUndefinedOrNull"])(value) || isValidValue(value); } }, accept: { type: String, default: '' }, // Instruct input to capture from camera capture: { type: Boolean, default: false }, placeholder: { type: String, default: function _default() { return Object(_utils_config__WEBPACK_IMPORTED_MODULE_3__["getComponentConfig"])(NAME, 'placeholder'); } }, browseText: { type: String, default: function _default() { return Object(_utils_config__WEBPACK_IMPORTED_MODULE_3__["getComponentConfig"])(NAME, 'browseText'); } }, dropPlaceholder: { type: String, default: function _default() { return Object(_utils_config__WEBPACK_IMPORTED_MODULE_3__["getComponentConfig"])(NAME, 'dropPlaceholder'); } }, multiple: { type: Boolean, default: false }, directory: { type: Boolean, default: false }, noTraverse: { type: Boolean, default: false }, noDrop: { type: Boolean, default: false }, fileNameFormatter: { type: Function, default: null } }, data: function data() { return { selectedFile: null, dragging: false, hasFocus: false }; }, computed: { selectLabel: function selectLabel() { // Draging active if (this.dragging && this.dropPlaceholder) { return this.dropPlaceholder; } // No file chosen if (!this.selectedFile || this.selectedFile.length === 0) { return this.placeholder; } // Convert selectedFile to an array (if not already one) var files = Object(_utils_array__WEBPACK_IMPORTED_MODULE_2__["concat"])(this.selectedFile).filter(_utils_identity__WEBPACK_IMPORTED_MODULE_1__["default"]); if (this.hasNormalizedSlot('file-name')) { // There is a slot for formatting the files/names return [this.normalizeSlot('file-name', { files: files, names: files.map(function (f) { return f.name; }) })]; } else { // Use the user supplied formatter, or the built in one. return Object(_utils_inspect__WEBPACK_IMPORTED_MODULE_4__["isFunction"])(this.fileNameFormatter) ? Object(_utils_string__WEBPACK_IMPORTED_MODULE_6__["toString"])(this.fileNameFormatter(files)) : files.map(function (file) { return file.name; }).join(', '); } } }, watch: { selectedFile: function selectedFile(newVal, oldVal) { // The following test is needed when the file input is "reset" or the // exact same file(s) are selected to prevent an infinite loop. // When in `multiple` mode we need to check for two empty arrays or // two arrays with identical files if (newVal === oldVal || Object(_utils_array__WEBPACK_IMPORTED_MODULE_2__["isArray"])(newVal) && Object(_utils_array__WEBPACK_IMPORTED_MODULE_2__["isArray"])(oldVal) && newVal.length === oldVal.length && newVal.every(function (v, i) { return v === oldVal[i]; })) { return; } if (!newVal && this.multiple) { this.$emit('input', []); } else { this.$emit('input', newVal); } }, value: function value(newVal) { if (!newVal || Object(_utils_array__WEBPACK_IMPORTED_MODULE_2__["isArray"])(newVal) && newVal.length === 0) { this.reset(); } } }, methods: { focusHandler: function focusHandler(evt) { // Bootstrap v4 doesn't have focus styling for custom file input // Firefox has a '[type=file]:focus ~ sibling' selector issue, // so we add a 'focus' class to get around these bugs if (this.plain || evt.type === 'focusout') { this.hasFocus = false; } else { // Add focus styling for custom file input this.hasFocus = true; } }, reset: function reset() { // IE 11 doesn't support setting `$input.value` to `''` or `null` // So we use this little extra hack to reset the value, just in case // This also appears to work on modern browsers as well // Wrapped in try in case IE 11 or mobile Safari crap out try { var $input = this.$refs.input; $input.value = ''; $input.type = ''; $input.type = 'file'; } catch (e) {} this.selectedFile = this.multiple ? [] : null; }, onFileChange: function onFileChange(evt) { var _this = this; // Always emit original event this.$emit('change', evt); // Check if special `items` prop is available on event (drop mode) // Can be disabled by setting no-traverse var items = evt.dataTransfer && evt.dataTransfer.items; /* istanbul ignore next: not supported in JSDOM */ if (items && !this.noTraverse) { var queue = []; for (var i = 0; i < items.length; i++) { var item = items[i].webkitGetAsEntry(); if (item) { queue.push(this.traverseFileTree(item)); } } Promise.all(queue).then(function (filesArr) { _this.setFiles(Object(_utils_array__WEBPACK_IMPORTED_MODULE_2__["from"])(filesArr)); }); return; } // Normal handling this.setFiles(evt.target.files || evt.dataTransfer.files); }, setFiles: function setFiles() { var files = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; if (!files) { /* istanbul ignore next: this will probably not happen */ this.selectedFile = null; } else if (this.multiple) { // Convert files to array var filesArray = []; for (var i = 0; i < files.length; i++) { filesArray.push(files[i]); } // Return file(s) as array this.selectedFile = filesArray; } else { // Return single file object this.selectedFile = files[0] || null; } }, onReset: function onReset() { // Triggered when the parent form (if any) is reset this.selectedFile = this.multiple ? [] : null; }, onDragover: function onDragover(evt) /* istanbul ignore next: difficult to test in JSDOM */ { evt.preventDefault(); evt.stopPropagation(); if (this.noDrop || !this.custom) { return; } this.dragging = true; evt.dataTransfer.dropEffect = 'copy'; }, onDragleave: function onDragleave(evt) /* istanbul ignore next: difficult to test in JSDOM */ { evt.preventDefault(); evt.stopPropagation(); this.dragging = false; }, onDrop: function onDrop(evt) /* istanbul ignore next: difficult to test in JSDOM */ { evt.preventDefault(); evt.stopPropagation(); if (this.noDrop) { return; } this.dragging = false; if (evt.dataTransfer.files && evt.dataTransfer.files.length > 0) { this.onFileChange(evt); } }, traverseFileTree: function traverseFileTree(item, path) /* istanbul ignore next: not supported in JSDOM */ { var _this2 = this; // Based on http://stackoverflow.com/questions/3590058 return new Promise(function (resolve) { path = path || ''; if (item.isFile) { // Get file item.file(function (file) { file.$path = path; // Inject $path to file obj resolve(file); }); } else if (item.isDirectory) { // Get folder contents item.createReader().readEntries(function (entries) { var queue = []; for (var i = 0; i < entries.length; i++) { queue.push(_this2.traverseFileTree(entries[i], path + item.name + '/')); } Promise.all(queue).then(function (filesArr) { resolve(Object(_utils_array__WEBPACK_IMPORTED_MODULE_2__["from"])(filesArr)); }); }); } }); } }, render: function render(h) { // Form Input var input = h('input', { ref: 'input', class: [{ 'form-control-file': this.plain, 'custom-file-input': this.custom, focus: this.custom && this.hasFocus }, this.stateClass], attrs: _objectSpread({}, this.$attrs, { type: 'file', id: this.safeId(), name: this.name, disabled: this.disabled, required: this.required, form: this.form || null, capture: this.capture || null, accept: this.accept || null, multiple: this.multiple, webkitdirectory: this.directory, 'aria-required': this.required ? 'true' : null }), on: { change: this.onFileChange, focusin: this.focusHandler, focusout: this.focusHandler, reset: this.onReset } }); if (this.plain) { return input; } // Overlay Labels var label = h('label', { staticClass: 'custom-file-label', class: [this.dragging ? 'dragging' : null], attrs: { for: this.safeId(), 'data-browse': this.browseText || null } }, this.selectLabel); // Return rendered custom file input return h('div', { staticClass: 'custom-file b-form-file', class: [this.stateClass, _defineProperty({}, "b-custom-control-".concat(this.size), this.size)], attrs: { id: this.safeId('_BV_file_outer_') }, on: { dragover: this.onDragover, dragleave: this.onDragleave, drop: this.onDrop } }, [input, label]); } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/form-file/index.js": /*!**********************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/form-file/index.js ***! \**********************************************************************/ /*! exports provided: FormFilePlugin, BFormFile */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FormFilePlugin", function() { return FormFilePlugin; }); /* harmony import */ var _form_file__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./form-file */ "./node_modules/bootstrap-vue/esm/components/form-file/form-file.js"); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BFormFile", function() { return _form_file__WEBPACK_IMPORTED_MODULE_0__["BFormFile"]; }); /* harmony import */ var _utils_plugins__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/plugins */ "./node_modules/bootstrap-vue/esm/utils/plugins.js"); var FormFilePlugin = /*#__PURE__*/Object(_utils_plugins__WEBPACK_IMPORTED_MODULE_1__["pluginFactory"])({ components: { BFormFile: _form_file__WEBPACK_IMPORTED_MODULE_0__["BFormFile"], BFile: _form_file__WEBPACK_IMPORTED_MODULE_0__["BFormFile"] } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/form-group/form-group.js": /*!****************************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/form-group/form-group.js ***! \****************************************************************************/ /*! exports provided: BFormGroup */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BFormGroup", function() { return BFormGroup; }); /* harmony import */ var _utils_memoize__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/memoize */ "./node_modules/bootstrap-vue/esm/utils/memoize.js"); /* harmony import */ var _utils_array__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/array */ "./node_modules/bootstrap-vue/esm/utils/array.js"); /* harmony import */ var _utils_config__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/config */ "./node_modules/bootstrap-vue/esm/utils/config.js"); /* harmony import */ var _utils_dom__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils/dom */ "./node_modules/bootstrap-vue/esm/utils/dom.js"); /* harmony import */ var _utils_env__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/env */ "./node_modules/bootstrap-vue/esm/utils/env.js"); /* harmony import */ var _utils_inspect__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../utils/inspect */ "./node_modules/bootstrap-vue/esm/utils/inspect.js"); /* harmony import */ var _utils_object__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../utils/object */ "./node_modules/bootstrap-vue/esm/utils/object.js"); /* harmony import */ var _utils_string__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../utils/string */ "./node_modules/bootstrap-vue/esm/utils/string.js"); /* harmony import */ var _mixins_form_state__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../mixins/form-state */ "./node_modules/bootstrap-vue/esm/mixins/form-state.js"); /* harmony import */ var _mixins_id__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../mixins/id */ "./node_modules/bootstrap-vue/esm/mixins/id.js"); /* harmony import */ var _mixins_normalize_slot__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../mixins/normalize-slot */ "./node_modules/bootstrap-vue/esm/mixins/normalize-slot.js"); /* harmony import */ var _layout_col__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../layout/col */ "./node_modules/bootstrap-vue/esm/components/layout/col.js"); /* harmony import */ var _layout_form_row__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../layout/form-row */ "./node_modules/bootstrap-vue/esm/components/layout/form-row.js"); /* harmony import */ var _form_form_text__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../form/form-text */ "./node_modules/bootstrap-vue/esm/components/form/form-text.js"); /* harmony import */ var _form_form_invalid_feedback__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../form/form-invalid-feedback */ "./node_modules/bootstrap-vue/esm/components/form/form-invalid-feedback.js"); /* harmony import */ var _form_form_valid_feedback__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../form/form-valid-feedback */ "./node_modules/bootstrap-vue/esm/components/form/form-valid-feedback.js"); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 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; } // Utils // Mixins // Sub components // Component name var NAME = 'BFormGroup'; // Selector for finding first input in the form-group var SELECTOR = 'input:not([disabled]),textarea:not([disabled]),select:not([disabled])'; // Render helper functions (here rather than polluting the instance with more methods) var renderInvalidFeedback = function renderInvalidFeedback(h, ctx) { var content = ctx.normalizeSlot('invalid-feedback') || ctx.invalidFeedback; var invalidFeedback = h(); if (content) { invalidFeedback = h(_form_form_invalid_feedback__WEBPACK_IMPORTED_MODULE_14__["BFormInvalidFeedback"], { props: { id: ctx.invalidFeedbackId, // If state is explicitly false, always show the feedback state: ctx.computedState, tooltip: ctx.tooltip, ariaLive: ctx.feedbackAriaLive, role: ctx.feedbackAriaLive ? 'alert' : null }, attrs: { tabindex: content ? '-1' : null } }, [content]); } return invalidFeedback; }; var renderValidFeedback = function renderValidFeedback(h, ctx) { var content = ctx.normalizeSlot('valid-feedback') || ctx.validFeedback; var validFeedback = h(); if (content) { validFeedback = h(_form_form_valid_feedback__WEBPACK_IMPORTED_MODULE_15__["BFormValidFeedback"], { props: { id: ctx.validFeedbackId, // If state is explicitly true, always show the feedback state: ctx.computedState, tooltip: ctx.tooltip, ariaLive: ctx.feedbackAriaLive, role: ctx.feedbackAriaLive ? 'alert' : null }, attrs: { tabindex: content ? '-1' : null } }, [content]); } return validFeedback; }; var renderHelpText = function renderHelpText(h, ctx) { // Form help text (description) var content = ctx.normalizeSlot('description') || ctx.description; var description = h(); if (content) { description = h(_form_form_text__WEBPACK_IMPORTED_MODULE_13__["BFormText"], { attrs: { id: ctx.descriptionId, tabindex: content ? '-1' : null } }, [content]); } return description; }; var renderLabel = function renderLabel(h, ctx) { // Render label/legend inside b-col if necessary var content = ctx.normalizeSlot('label') || ctx.label; var labelFor = ctx.labelFor; var isLegend = !labelFor; var isHorizontal = ctx.isHorizontal; var labelTag = isLegend ? 'legend' : 'label'; if (!content && !isHorizontal) { return h(); } else if (ctx.labelSrOnly) { var label = h(); if (content) { label = h(labelTag, { class: 'sr-only', attrs: { id: ctx.labelId, for: labelFor || null } }, [content]); } return h(isHorizontal ? _layout_col__WEBPACK_IMPORTED_MODULE_11__["BCol"] : 'div', { props: isHorizontal ? ctx.labelColProps : {} }, [label]); } else { return h(isHorizontal ? _layout_col__WEBPACK_IMPORTED_MODULE_11__["BCol"] : labelTag, { on: isLegend ? { click: ctx.legendClick } : {}, props: isHorizontal ? _objectSpread({ tag: labelTag }, ctx.labelColProps) : {}, attrs: { id: ctx.labelId, for: labelFor || null, // We add a tab index to legend so that screen readers // will properly read the aria-labelledby in IE. tabindex: isLegend ? '-1' : null }, class: [// Hide the focus ring on the legend isLegend ? 'bv-no-focus-ring' : '', // When horizontal or if a legend is rendered, add col-form-label // for correct sizing as Bootstrap has inconsistent font styling // for legend in non-horizontal form-groups. // See: https://github.com/twbs/bootstrap/issues/27805 isHorizontal || isLegend ? 'col-form-label' : '', // Emulate label padding top of 0 on legend when not horizontal !isHorizontal && isLegend ? 'pt-0' : '', // If not horizontal and not a legend, we add d-block to label // so that label-align works !isHorizontal && !isLegend ? 'd-block' : '', ctx.labelSize ? "col-form-label-".concat(ctx.labelSize) : '', ctx.labelAlignClasses, ctx.labelClass] }, [content]); } }; // -- BFormGroup Prop factory -- used for lazy generation of props // Memoize this function to return cached values to // save time in computed functions var makePropName = Object(_utils_memoize__WEBPACK_IMPORTED_MODULE_0__["default"])(function () { var breakpoint = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; var prefix = arguments.length > 1 ? arguments[1] : undefined; return "".concat(prefix).concat(Object(_utils_string__WEBPACK_IMPORTED_MODULE_7__["upperFirst"])(breakpoint)); }); // BFormGroup prop generator for lazy generation of props var generateProps = function generateProps() { var BREAKPOINTS = Object(_utils_config__WEBPACK_IMPORTED_MODULE_2__["getBreakpointsUpCached"])(); // Generate the labelCol breakpoint props var bpLabelColProps = BREAKPOINTS.reduce(function (props, breakpoint) { // i.e. label-cols, label-cols-sm, label-cols-md, ... props[makePropName(breakpoint, 'labelCols')] = { type: [Number, String, Boolean], default: breakpoint ? false : null }; return props; }, Object(_utils_object__WEBPACK_IMPORTED_MODULE_6__["create"])(null)); // Generate the labelAlign breakpoint props var bpLabelAlignProps = BREAKPOINTS.reduce(function (props, breakpoint) { // label-align, label-align-sm, label-align-md, ... props[makePropName(breakpoint, 'labelAlign')] = { type: String, // left, right, center default: null }; return props; }, Object(_utils_object__WEBPACK_IMPORTED_MODULE_6__["create"])(null)); return _objectSpread({ label: { type: String, default: null }, labelFor: { type: String, default: null }, labelSize: { type: String, default: null }, labelSrOnly: { type: Boolean, default: false } }, bpLabelColProps, {}, bpLabelAlignProps, { labelClass: { type: [String, Array, Object], default: null }, description: { type: String, default: null }, invalidFeedback: { type: String, default: null }, validFeedback: { type: String, default: null }, tooltip: { // Enable tooltip style feedback type: Boolean, default: false }, feedbackAriaLive: { type: String, default: 'assertive' }, validated: { type: Boolean, default: false }, disabled: { type: Boolean, default: false } }); }; // We do not use Vue.extend here as that would evaluate the props // immediately, which we do not want to happen // @vue/component var BFormGroup = { name: NAME, mixins: [_mixins_id__WEBPACK_IMPORTED_MODULE_9__["default"], _mixins_form_state__WEBPACK_IMPORTED_MODULE_8__["default"], _mixins_normalize_slot__WEBPACK_IMPORTED_MODULE_10__["default"]], get props() { // Allow props to be lazy evaled on first access and // then they become a non-getter afterwards. // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get#Smart_self-overwriting_lazy_getters delete this.props; // eslint-disable-next-line no-return-assign return this.props = generateProps(); }, computed: { labelColProps: function labelColProps() { var _this = this; var props = {}; Object(_utils_config__WEBPACK_IMPORTED_MODULE_2__["getBreakpointsUpCached"])().forEach(function (breakpoint) { // Grab the value if the label column breakpoint prop var propVal = _this[makePropName(breakpoint, 'labelCols')]; // Handle case where the prop's value is an empty string, // which represents true propVal = propVal === '' ? true : propVal || false; if (!Object(_utils_inspect__WEBPACK_IMPORTED_MODULE_5__["isBoolean"])(propVal) && propVal !== 'auto') { // Convert to column size to number propVal = parseInt(propVal, 10) || 0; // Ensure column size is greater than 0 propVal = propVal > 0 ? propVal : false; } if (propVal) { // Add the prop to the list of props to give to b-col // If breakpoint is '' (labelCols=true), then we use the // col prop to make equal width at xs var bColPropName = breakpoint || (Object(_utils_inspect__WEBPACK_IMPORTED_MODULE_5__["isBoolean"])(propVal) ? 'col' : 'cols'); // Add it to the props props[bColPropName] = propVal; } }); return props; }, labelAlignClasses: function labelAlignClasses() { var _this2 = this; var classes = []; Object(_utils_config__WEBPACK_IMPORTED_MODULE_2__["getBreakpointsUpCached"])().forEach(function (breakpoint) { // Assemble the label column breakpoint align classes var propVal = _this2[makePropName(breakpoint, 'labelAlign')] || null; if (propVal) { var className = breakpoint ? "text-".concat(breakpoint, "-").concat(propVal) : "text-".concat(propVal); classes.push(className); } }); return classes; }, isHorizontal: function isHorizontal() { // Determine if the resultant form-group will be rendered // horizontal (meaning it has label-col breakpoints) return Object(_utils_object__WEBPACK_IMPORTED_MODULE_6__["keys"])(this.labelColProps).length > 0; }, labelId: function labelId() { return this.hasNormalizedSlot('label') || this.label ? this.safeId('_BV_label_') : null; }, descriptionId: function descriptionId() { return this.hasNormalizedSlot('description') || this.description ? this.safeId('_BV_description_') : null; }, hasInvalidFeedback: function hasInvalidFeedback() { // Used for computing aria-describedby return this.computedState === false && (this.hasNormalizedSlot('invalid-feedback') || this.invalidFeedback); }, invalidFeedbackId: function invalidFeedbackId() { return this.hasInvalidFeedback ? this.safeId('_BV_feedback_invalid_') : null; }, hasValidFeedback: function hasValidFeedback() { // Used for computing aria-describedby return this.computedState === true && (this.hasNormalizedSlot('valid-feedback') || this.validFeedback); }, validFeedbackId: function validFeedbackId() { return this.hasValidFeedback ? this.safeId('_BV_feedback_valid_') : null; }, describedByIds: function describedByIds() { // Screen readers will read out any content linked to by aria-describedby // even if the content is hidden with `display: none;`, hence we only include // feedback IDs if the form-group's state is explicitly valid or invalid. return [this.descriptionId, this.invalidFeedbackId, this.validFeedbackId].filter(Boolean).join(' ') || null; } }, watch: { describedByIds: function describedByIds(add, remove) { if (add !== remove) { this.setInputDescribedBy(add, remove); } } }, mounted: function mounted() { var _this3 = this; this.$nextTick(function () { // Set the aria-describedby IDs on the input specified by label-for // We do this in a nextTick to ensure the children have finished rendering _this3.setInputDescribedBy(_this3.describedByIds); }); }, methods: { legendClick: function legendClick(evt) { if (this.labelFor) { // Don't do anything if labelFor is set /* istanbul ignore next: clicking a label will focus the input, so no need to test */ return; } var tagName = evt.target ? evt.target.tagName : ''; if (/^(input|select|textarea|label|button|a)$/i.test(tagName)) { // If clicked an interactive element inside legend, // we just let the default happen /* istanbul ignore next */ return; } var inputs = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_3__["selectAll"])(SELECTOR, this.$refs.content).filter(_utils_dom__WEBPACK_IMPORTED_MODULE_3__["isVisible"]); if (inputs && inputs.length === 1 && inputs[0].focus) { // if only a single input, focus it, emulating label behaviour try { inputs[0].focus(); } catch (_unused) {} } }, setInputDescribedBy: function setInputDescribedBy(add, remove) { // Sets the `aria-describedby` attribute on the input if label-for is set. // Optionally accepts a string of IDs to remove as the second parameter. // Preserves any aria-describedby value(s) user may have on input. if (this.labelFor && _utils_env__WEBPACK_IMPORTED_MODULE_4__["isBrowser"]) { var input = Object(_utils_dom__WEBPACK_IMPORTED_MODULE_3__["select"])("#".concat(this.labelFor), this.$refs.content); if (input) { var adb = 'aria-describedby'; var ids = (Object(_utils_dom__WEBPACK_IMPORTED_MODULE_3__["getAttr"])(input, adb) || '').split(/\s+/); add = (add || '').split(/\s+/); remove = (remove || '').split(/\s+/); // Update ID list, preserving any original IDs // and ensuring the ID's are unique ids = ids.filter(function (id) { return !Object(_utils_array__WEBPACK_IMPORTED_MODULE_1__["arrayIncludes"])(remove, id); }).concat(add).filter(Boolean); ids = Object(_utils_object__WEBPACK_IMPORTED_MODULE_6__["keys"])(ids.reduce(function (memo, id) { return _objectSpread({}, memo, _defineProperty({}, id, true)); }, {})).join(' ').trim(); if (ids) { Object(_utils_dom__WEBPACK_IMPORTED_MODULE_3__["setAttr"])(input, adb, ids); } else { // No IDs, so remove the attribute Object(_utils_dom__WEBPACK_IMPORTED_MODULE_3__["removeAttr"])(input, adb); } } } } }, render: function render(h) { var isFieldset = !this.labelFor; var isHorizontal = this.isHorizontal; // Generate the label var label = renderLabel(h, this); // Generate the content var content = h(isHorizontal ? _layout_col__WEBPACK_IMPORTED_MODULE_11__["BCol"] : 'div', { ref: 'content', // Hide focus ring staticClass: 'bv-no-focus-ring', attrs: { tabindex: isFieldset ? '-1' : null, role: isFieldset ? 'group' : null } }, [this.normalizeSlot('default') || h(), renderInvalidFeedback(h, this), renderValidFeedback(h, this), renderHelpText(h, this)]); // Create the form-group var data = { staticClass: 'form-group', class: [this.validated ? 'was-validated' : null, this.stateClass], attrs: { id: this.safeId(), disabled: isFieldset ? this.disabled : null, role: isFieldset ? null : 'group', 'aria-invalid': this.computedState === false ? 'true' : null, // Only apply aria-labelledby if we are a horizontal fieldset // as the legend is no longer a direct child of fieldset 'aria-labelledby': isFieldset && isHorizontal ? this.labelId : null, // Only apply aria-describedby IDs if we are a fieldset // as the input will have the IDs when not a fieldset 'aria-describedby': isFieldset ? this.describedByIds : null } }; // Return it wrapped in a form-group // Note: Fieldsets do not support adding `row` or `form-row` directly // to them due to browser specific render issues, so we move the `form-row` // to an inner wrapper div when horizontal and using a fieldset return h(isFieldset ? 'fieldset' : isHorizontal ? _layout_form_row__WEBPACK_IMPORTED_MODULE_12__["BFormRow"] : 'div', data, isHorizontal && isFieldset ? [h(_layout_form_row__WEBPACK_IMPORTED_MODULE_12__["BFormRow"], [label, content])] : [label, content]); } }; /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/form-group/index.js": /*!***********************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/form-group/index.js ***! \***********************************************************************/ /*! exports provided: FormGroupPlugin, BFormGroup */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FormGroupPlugin", function() { return FormGroupPlugin; }); /* harmony import */ var _form_group__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./form-group */ "./node_modules/bootstrap-vue/esm/components/form-group/form-group.js"); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BFormGroup", function() { return _form_group__WEBPACK_IMPORTED_MODULE_0__["BFormGroup"]; }); /* harmony import */ var _utils_plugins__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/plugins */ "./node_modules/bootstrap-vue/esm/utils/plugins.js"); var FormGroupPlugin = /*#__PURE__*/Object(_utils_plugins__WEBPACK_IMPORTED_MODULE_1__["pluginFactory"])({ components: { BFormGroup: _form_group__WEBPACK_IMPORTED_MODULE_0__["BFormGroup"], BFormFieldset: _form_group__WEBPACK_IMPORTED_MODULE_0__["BFormGroup"] } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/form-input/form-input.js": /*!****************************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/form-input/form-input.js ***! \****************************************************************************/ /*! exports provided: BFormInput */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BFormInput", function() { return BFormInput; }); /* harmony import */ var _utils_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/vue */ "./node_modules/bootstrap-vue/esm/utils/vue.js"); /* harmony import */ var _utils_array__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/array */ "./node_modules/bootstrap-vue/esm/utils/array.js"); /* harmony import */ var _utils_events__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/events */ "./node_modules/bootstrap-vue/esm/utils/events.js"); /* harmony import */ var _mixins_id__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../mixins/id */ "./node_modules/bootstrap-vue/esm/mixins/id.js"); /* harmony import */ var _mixins_form__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../mixins/form */ "./node_modules/bootstrap-vue/esm/mixins/form.js"); /* harmony import */ var _mixins_form_size__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../mixins/form-size */ "./node_modules/bootstrap-vue/esm/mixins/form-size.js"); /* harmony import */ var _mixins_form_state__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../mixins/form-state */ "./node_modules/bootstrap-vue/esm/mixins/form-state.js"); /* harmony import */ var _mixins_form_text__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../mixins/form-text */ "./node_modules/bootstrap-vue/esm/mixins/form-text.js"); /* harmony import */ var _mixins_form_selection__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../mixins/form-selection */ "./node_modules/bootstrap-vue/esm/mixins/form-selection.js"); /* harmony import */ var _mixins_form_validity__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../mixins/form-validity */ "./node_modules/bootstrap-vue/esm/mixins/form-validity.js"); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } 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; } // Valid supported input types var TYPES = ['text', 'password', 'email', 'number', 'url', 'tel', 'search', 'range', 'color', 'date', 'time', 'datetime', 'datetime-local', 'month', 'week']; // @vue/component var BFormInput = /*#__PURE__*/_utils_vue__WEBPACK_IMPORTED_MODULE_0__["default"].extend({ name: 'BFormInput', mixins: [_mixins_id__WEBPACK_IMPORTED_MODULE_3__["default"], _mixins_form__WEBPACK_IMPORTED_MODULE_4__["default"], _mixins_form_size__WEBPACK_IMPORTED_MODULE_5__["default"], _mixins_form_state__WEBPACK_IMPORTED_MODULE_6__["default"], _mixins_form_text__WEBPACK_IMPORTED_MODULE_7__["default"], _mixins_form_selection__WEBPACK_IMPORTED_MODULE_8__["default"], _mixins_form_validity__WEBPACK_IMPORTED_MODULE_9__["default"]], props: { // value prop defined in form-text mixin // value: { }, type: { type: String, default: 'text', validator: function validator(type) { return Object(_utils_array__WEBPACK_IMPORTED_MODULE_1__["arrayIncludes"])(TYPES, type); } }, noWheel: { // Disable mousewheel to prevent wheel from changing values (i.e. number/date). type: Boolean, default: false }, min: { type: [String, Number], default: null }, max: { type: [String, Number], default: null }, step: { type: [String, Number], default: null }, list: { type: String, default: null } }, computed: { localType: function localType() { // We only allow certain types return Object(_utils_array__WEBPACK_IMPORTED_MODULE_1__["arrayIncludes"])(TYPES, this.type) ? this.type : 'text'; } }, watch: { noWheel: function noWheel(newVal) { this.setWheelStopper(newVal); } }, mounted: function mounted() { this.setWheelStopper(this.noWheel); }, deactivated: function deactivated() { // Turn off listeners when keep-alive component deactivated /* istanbul ignore next */ this.setWheelStopper(false); }, activated: function activated() { // Turn on listeners (if no-wheel) when keep-alive component activated /* istanbul ignore next */ this.setWheelStopper(this.noWheel); }, beforeDestroy: function beforeDestroy() { /* istanbul ignore next */ this.setWheelStopper(false); }, methods: { setWheelStopper: function setWheelStopper(on) { var input = this.$el; // We use native events, so that we don't interfere with propagation Object(_utils_events__WEBPACK_IMPORTED_MODULE_2__["eventOnOff"])(on, input, 'focus', this.onWheelFocus); Object(_utils_events__WEBPACK_IMPORTED_MODULE_2__["eventOnOff"])(on, input, 'blur', this.onWheelBlur); if (!on) { Object(_utils_events__WEBPACK_IMPORTED_MODULE_2__["eventOff"])(document, 'wheel', this.stopWheel); } }, onWheelFocus: function onWheelFocus() { Object(_utils_events__WEBPACK_IMPORTED_MODULE_2__["eventOn"])(document, 'wheel', this.stopWheel); }, onWheelBlur: function onWheelBlur() { Object(_utils_events__WEBPACK_IMPORTED_MODULE_2__["eventOff"])(document, 'wheel', this.stopWheel); }, stopWheel: function stopWheel(evt) { evt.preventDefault(); this.$el.blur(); } }, render: function render(h) { var self = this; return h('input', { ref: 'input', class: self.computedClass, directives: [{ name: 'model', rawName: 'v-model', value: self.localValue, expression: 'localValue' }], attrs: { id: self.safeId(), name: self.name, form: self.form || null, type: self.localType, disabled: self.disabled, placeholder: self.placeholder, required: self.required, autocomplete: self.autocomplete || null, readonly: self.readonly || self.plaintext, min: self.min, max: self.max, step: self.step, list: self.localType !== 'password' ? self.list : null, 'aria-required': self.required ? 'true' : null, 'aria-invalid': self.computedAriaInvalid }, domProps: { value: self.localValue }, on: _objectSpread({}, self.$listeners, { input: self.onInput, change: self.onChange, blur: self.onBlur }) }); } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/form-input/index.js": /*!***********************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/form-input/index.js ***! \***********************************************************************/ /*! exports provided: FormInputPlugin, BFormInput */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FormInputPlugin", function() { return FormInputPlugin; }); /* harmony import */ var _form_input__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./form-input */ "./node_modules/bootstrap-vue/esm/components/form-input/form-input.js"); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BFormInput", function() { return _form_input__WEBPACK_IMPORTED_MODULE_0__["BFormInput"]; }); /* harmony import */ var _utils_plugins__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/plugins */ "./node_modules/bootstrap-vue/esm/utils/plugins.js"); var FormInputPlugin = /*#__PURE__*/Object(_utils_plugins__WEBPACK_IMPORTED_MODULE_1__["pluginFactory"])({ components: { BFormInput: _form_input__WEBPACK_IMPORTED_MODULE_0__["BFormInput"], BInput: _form_input__WEBPACK_IMPORTED_MODULE_0__["BFormInput"] } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/form-radio/form-radio-group.js": /*!**********************************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/form-radio/form-radio-group.js ***! \**********************************************************************************/ /*! exports provided: props, BFormRadioGroup */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "props", function() { return props; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BFormRadioGroup", function() { return BFormRadioGroup; }); /* harmony import */ var _utils_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/vue */ "./node_modules/bootstrap-vue/esm/utils/vue.js"); /* harmony import */ var _mixins_id__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../mixins/id */ "./node_modules/bootstrap-vue/esm/mixins/id.js"); /* harmony import */ var _mixins_form__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../mixins/form */ "./node_modules/bootstrap-vue/esm/mixins/form.js"); /* harmony import */ var _mixins_form_options__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../mixins/form-options */ "./node_modules/bootstrap-vue/esm/mixins/form-options.js"); /* harmony import */ var _mixins_form_radio_check_group__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../mixins/form-radio-check-group */ "./node_modules/bootstrap-vue/esm/mixins/form-radio-check-group.js"); /* harmony import */ var _mixins_form_size__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../mixins/form-size */ "./node_modules/bootstrap-vue/esm/mixins/form-size.js"); /* harmony import */ var _mixins_form_state__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../mixins/form-state */ "./node_modules/bootstrap-vue/esm/mixins/form-state.js"); var props = { checked: { // type: [String, Number, Boolean, Object], default: null } }; // @vue/component var BFormRadioGroup = /*#__PURE__*/_utils_vue__WEBPACK_IMPORTED_MODULE_0__["default"].extend({ name: 'BFormRadioGroup', mixins: [_mixins_id__WEBPACK_IMPORTED_MODULE_1__["default"], _mixins_form__WEBPACK_IMPORTED_MODULE_2__["default"], _mixins_form_radio_check_group__WEBPACK_IMPORTED_MODULE_4__["default"], // Includes render function _mixins_form_options__WEBPACK_IMPORTED_MODULE_3__["default"], _mixins_form_size__WEBPACK_IMPORTED_MODULE_5__["default"], _mixins_form_state__WEBPACK_IMPORTED_MODULE_6__["default"]], provide: function provide() { return { bvRadioGroup: this }; }, props: props, data: function data() { return { localChecked: this.checked }; }, computed: { isRadioGroup: function isRadioGroup() { return true; } } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/form-radio/form-radio.js": /*!****************************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/form-radio/form-radio.js ***! \****************************************************************************/ /*! exports provided: BFormRadio */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BFormRadio", function() { return BFormRadio; }); /* harmony import */ var _utils_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/vue */ "./node_modules/bootstrap-vue/esm/utils/vue.js"); /* harmony import */ var _mixins_id__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../mixins/id */ "./node_modules/bootstrap-vue/esm/mixins/id.js"); /* harmony import */ var _mixins_form__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../mixins/form */ "./node_modules/bootstrap-vue/esm/mixins/form.js"); /* harmony import */ var _mixins_form_state__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../mixins/form-state */ "./node_modules/bootstrap-vue/esm/mixins/form-state.js"); /* harmony import */ var _mixins_form_size__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../mixins/form-size */ "./node_modules/bootstrap-vue/esm/mixins/form-size.js"); /* harmony import */ var _mixins_form_radio_check__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../mixins/form-radio-check */ "./node_modules/bootstrap-vue/esm/mixins/form-radio-check.js"); /* harmony import */ var _utils_loose_equal__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../utils/loose-equal */ "./node_modules/bootstrap-vue/esm/utils/loose-equal.js"); // @vue/component var BFormRadio = /*#__PURE__*/_utils_vue__WEBPACK_IMPORTED_MODULE_0__["default"].extend({ name: 'BFormRadio', mixins: [_mixins_id__WEBPACK_IMPORTED_MODULE_1__["default"], _mixins_form_radio_check__WEBPACK_IMPORTED_MODULE_5__["default"], // Includes shared render function _mixins_form__WEBPACK_IMPORTED_MODULE_2__["default"], _mixins_form_size__WEBPACK_IMPORTED_MODULE_4__["default"], _mixins_form_state__WEBPACK_IMPORTED_MODULE_3__["default"]], inject: { bvGroup: { from: 'bvRadioGroup', default: false } }, props: { checked: { // v-model // type: [String, Number, Boolean, Object], default: null } }, computed: { // Radio Groups can only have a single value, so determining if checked is simple isChecked: function isChecked() { return Object(_utils_loose_equal__WEBPACK_IMPORTED_MODULE_6__["default"])(this.value, this.computedLocalChecked); }, // Flags for form-radio-check mixin isRadio: function isRadio() { return true; }, isCheck: function isCheck() { return false; } }, watch: { // Radio Groups can only have a single value, so our watchers are simple computedLocalChecked: function computedLocalChecked() { this.$emit('input', this.computedLocalChecked); } }, methods: { handleChange: function handleChange(_ref) { var checked = _ref.target.checked; var value = this.value; this.computedLocalChecked = value; // Change is only emitted on user interaction this.$emit('change', checked ? value : null); // If this is a child of form-radio-group, we emit a change event on it as well if (this.isGroup) { this.bvGroup.$emit('change', checked ? value : null); } } } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/form-radio/index.js": /*!***********************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/form-radio/index.js ***! \***********************************************************************/ /*! exports provided: FormRadioPlugin, BFormRadio, BFormRadioGroup */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FormRadioPlugin", function() { return FormRadioPlugin; }); /* harmony import */ var _form_radio__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./form-radio */ "./node_modules/bootstrap-vue/esm/components/form-radio/form-radio.js"); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BFormRadio", function() { return _form_radio__WEBPACK_IMPORTED_MODULE_0__["BFormRadio"]; }); /* harmony import */ var _form_radio_group__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./form-radio-group */ "./node_modules/bootstrap-vue/esm/components/form-radio/form-radio-group.js"); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BFormRadioGroup", function() { return _form_radio_group__WEBPACK_IMPORTED_MODULE_1__["BFormRadioGroup"]; }); /* harmony import */ var _utils_plugins__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/plugins */ "./node_modules/bootstrap-vue/esm/utils/plugins.js"); var FormRadioPlugin = /*#__PURE__*/Object(_utils_plugins__WEBPACK_IMPORTED_MODULE_2__["pluginFactory"])({ components: { BFormRadio: _form_radio__WEBPACK_IMPORTED_MODULE_0__["BFormRadio"], BRadio: _form_radio__WEBPACK_IMPORTED_MODULE_0__["BFormRadio"], BFormRadioGroup: _form_radio_group__WEBPACK_IMPORTED_MODULE_1__["BFormRadioGroup"], BRadioGroup: _form_radio_group__WEBPACK_IMPORTED_MODULE_1__["BFormRadioGroup"] } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/form-select/form-select-option-group.js": /*!*******************************************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/form-select/form-select-option-group.js ***! \*******************************************************************************************/ /*! exports provided: BFormSelectOptionGroup */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BFormSelectOptionGroup", function() { return BFormSelectOptionGroup; }); /* harmony import */ var _utils_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/vue */ "./node_modules/bootstrap-vue/esm/utils/vue.js"); /* harmony import */ var _utils_html__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/html */ "./node_modules/bootstrap-vue/esm/utils/html.js"); /* harmony import */ var _mixins_form_options__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../mixins/form-options */ "./node_modules/bootstrap-vue/esm/mixins/form-options.js"); /* harmony import */ var _mixins_normalize_slot__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../mixins/normalize-slot */ "./node_modules/bootstrap-vue/esm/mixins/normalize-slot.js"); /* harmony import */ var _form_select_option__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./form-select-option */ "./node_modules/bootstrap-vue/esm/components/form-select/form-select-option.js"); // @vue/component var BFormSelectOptionGroup = /*#__PURE__*/_utils_vue__WEBPACK_IMPORTED_MODULE_0__["default"].extend({ name: 'BFormSelectOptionGroup', mixins: [_mixins_normalize_slot__WEBPACK_IMPORTED_MODULE_3__["default"], _mixins_form_options__WEBPACK_IMPORTED_MODULE_2__["default"]], props: { label: { type: String, required: true } }, render: function render(h) { return h('optgroup', { attrs: { label: this.label } }, [this.normalizeSlot('first'), this.formOptions.map(function (option, index) { return h(_form_select_option__WEBPACK_IMPORTED_MODULE_4__["BFormSelectOption"], { props: { value: option.value, disabled: option.disabled }, domProps: Object(_utils_html__WEBPACK_IMPORTED_MODULE_1__["htmlOrText"])(option.html, option.text), key: "option_".concat(index, "_opt") }); }), this.normalizeSlot('default')]); } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/form-select/form-select-option.js": /*!*************************************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/form-select/form-select-option.js ***! \*************************************************************************************/ /*! exports provided: props, BFormSelectOption */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "props", function() { return props; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BFormSelectOption", function() { return BFormSelectOption; }); /* harmony import */ var _utils_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/vue */ "./node_modules/bootstrap-vue/esm/utils/vue.js"); /* harmony import */ var vue_functional_data_merge__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! vue-functional-data-merge */ "./node_modules/vue-functional-data-merge/dist/lib.esm.js"); var NAME = 'BFormSelectOption'; var props = { value: { // type: [String, Number, Boolean, Object], required: true }, disabled: { type: Boolean, default: false } }; // @vue/component var BFormSelectOption = /*#__PURE__*/_utils_vue__WEBPACK_IMPORTED_MODULE_0__["default"].extend({ name: NAME, functional: true, props: props, render: function render(h, _ref) { var props = _ref.props, data = _ref.data, children = _ref.children; var value = props.value, disabled = props.disabled; return h('option', Object(vue_functional_data_merge__WEBPACK_IMPORTED_MODULE_1__["mergeData"])(data, { attrs: { disabled: disabled }, domProps: { value: value } }), children); } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/form-select/form-select.js": /*!******************************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/form-select/form-select.js ***! \******************************************************************************/ /*! exports provided: BFormSelect */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BFormSelect", function() { return BFormSelect; }); /* harmony import */ var _utils_vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils/vue */ "./node_modules/bootstrap-vue/esm/utils/vue.js"); /* harmony import */ var _utils_array__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/array */ "./node_modules/bootstrap-vue/esm/utils/array.js"); /* harmony import */ var _utils_html__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/html */ "./node_modules/bootstrap-vue/esm/utils/html.js"); /* harmony import */ var _mixins_id__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../mixins/id */ "./node_modules/bootstrap-vue/esm/mixins/id.js"); /* harmony import */ var _mixins_form__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../mixins/form */ "./node_modules/bootstrap-vue/esm/mixins/form.js"); /* harmony import */ var _mixins_form_size__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../mixins/form-size */ "./node_modules/bootstrap-vue/esm/mixins/form-size.js"); /* harmony import */ var _mixins_form_state__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../mixins/form-state */ "./node_modules/bootstrap-vue/esm/mixins/form-state.js"); /* harmony import */ var _mixins_form_custom__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../mixins/form-custom */ "./node_modules/bootstrap-vue/esm/mixins/form-custom.js"); /* harmony import */ var _mixins_normalize_slot__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../mixins/normalize-slot */ "./node_modules/bootstrap-vue/esm/mixins/normalize-slot.js"); /* harmony import */ var _helpers_mixin_options__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./helpers/mixin-options */ "./node_modules/bootstrap-vue/esm/components/form-select/helpers/mixin-options.js"); /* harmony import */ var _form_select_option__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./form-select-option */ "./node_modules/bootstrap-vue/esm/components/form-select/form-select-option.js"); /* harmony import */ var _form_select_option_group__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./form-select-option-group */ "./node_modules/bootstrap-vue/esm/components/form-select/form-select-option-group.js"); // @vue/component var BFormSelect = /*#__PURE__*/_utils_vue__WEBPACK_IMPORTED_MODULE_0__["default"].extend({ name: 'BFormSelect', mixins: [_mixins_id__WEBPACK_IMPORTED_MODULE_3__["default"], _mixins_normalize_slot__WEBPACK_IMPORTED_MODULE_8__["default"], _mixins_form__WEBPACK_IMPORTED_MODULE_4__["default"], _mixins_form_size__WEBPACK_IMPORTED_MODULE_5__["default"], _mixins_form_state__WEBPACK_IMPORTED_MODULE_6__["default"], _mixins_form_custom__WEBPACK_IMPORTED_MODULE_7__["default"], _helpers_mixin_options__WEBPACK_IMPORTED_MODULE_9__["default"]], model: { prop: 'value', event: 'input' }, props: { value: {// type: [Object, Array, String, Number, Boolean], // default: undefined }, multiple: { type: Boolean, default: false }, selectSize: { // Browsers default size to 0, which shows 4 rows in most browsers in multiple mode // Size of 1 can bork out Firefox type: Number, default: 0 }, ariaInvalid: { type: [Boolean, String], default: false } }, data: function data() { return { localValue: this.value }; }, computed: { computedSelectSize: function computedSelectSize() { // Custom selects with a size of zero causes the arrows to be hidden, // so dont render the size attribute in this case return !this.plain && this.selectSize === 0 ? null : this.selectSize; }, inputClass: function inputClass() { return [this.plain ? 'form-control' : 'custom-select', this.size && this.plain ? "form-control-".concat(this.size) : null, this.size && !this.plain ? "custom-select-".concat(this.size) : null, this.stateClass]; }, computedAriaInvalid: function computedAriaInvalid() { if (this.ariaInvalid === true || this.ariaInvalid === 'true') { return 'true'; } return this.stateClass === 'is-invalid' ? 'true' : null; } }, watch: { value: function value(newVal) { this.localValue = newVal; }, localValue: function localValue() { this.$emit('input', this.localValue); } }, methods: { focus: function focus() { this.$refs.input.focus(); }, blur: function blur() { this.$refs.input.blur(); } }, render: function render(h) { var _this = this; return h('select', { ref: 'input', class: this.inputClass, directives: [{ name: 'model', rawName: 'v-model', value: this.localValue, expression: 'localValue' }], attrs: { id: this.safeId(), name: this.name, form: this.form || null, multiple: this.multiple || null, size: this.computedSelectSize, disabled: this.disabled, required: this.required, 'aria-required': this.required ? 'true' : null, 'aria-invalid': this.computedAriaInvalid }, on: { change: function change(evt) { var target = evt.target; var selectedVal = Object(_utils_array__WEBPACK_IMPORTED_MODULE_1__["from"])(target.options).filter(function (o) { return o.selected; }).map(function (o) { return '_value' in o ? o._value : o.value; }); _this.localValue = target.multiple ? selectedVal : selectedVal[0]; _this.$nextTick(function () { _this.$emit('change', _this.localValue); }); } } }, [this.normalizeSlot('first'), this.formOptions.map(function (option, index) { var key = "option_".concat(index, "_opt"); var options = option.options; return Object(_utils_array__WEBPACK_IMPORTED_MODULE_1__["isArray"])(options) ? h(_form_select_option_group__WEBPACK_IMPORTED_MODULE_11__["BFormSelectOptionGroup"], { props: { label: option.label, options: options }, key: key }) : h(_form_select_option__WEBPACK_IMPORTED_MODULE_10__["BFormSelectOption"], { props: { value: option.value, disabled: option.disabled }, domProps: Object(_utils_html__WEBPACK_IMPORTED_MODULE_2__["htmlOrText"])(option.html, option.text), key: key }); }), this.normalizeSlot('default')]); } }); /***/ }), /***/ "./node_modules/bootstrap-vue/esm/components/form-select/helpers/mixin-options.js": /*!****************************************************************************************!*\ !*** ./node_modules/bootstrap-vue/esm/components/form-select/helpers/mixin-options.js ***! \****************************************************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _utils_get__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../utils/get */ "./node_modules/bootstrap-vue/esm/utils/get.js"); /* harmony import */ var _utils_inspect__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../utils/inspect */ "./node_modules/bootstrap-vue/esm/utils/inspect.js"); /* harmony import */ var _mixins_form_options__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../mixins/form-options */ "./node_modules/bootstrap-vue/esm/mixins/form-options.js"); // @vue/component /* harmony default export */ __webpack_exports__["default"] = ({ mixins: [_mixins_form_options__WEBPACK_IMPORTED_MODULE_2__["default"]], props: { labelField: { type: String, default: 'label' }, optionsField: { type: String, default: 'options' } }, methods: { normalizeOption: function normalizeOption(option) { var key = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; // When the option is an object, normalize it if (Object(_utils_inspect__WEBPACK_IMPORTED_MODULE_1__["isPlainObject"])(option)) { var value = Object(_utils_get__WEBPACK_IMPORTED_MODULE_0__["default"])(option, this.valueField); var text = Object(_utils_get__WEBPACK_IMPORTED_MODULE_0__["default"])(option, this.textField); var options = Object(_utils_get__WEBPACK_IMPORTED_MODULE_0__["default"])(option, this.optionsField); // When it has options, create an `` object if (Object(_utils_inspect__WEBPACK_IMPORTED_MODULE_1__["isArray"])(options)) { return { label: String(Object(_utils_get__WEBPACK_IMPORTED_MODULE_0__["default"])(option, this.labelField) || text), options: options }; } // Otherwise create an `