{"version":3,"sources":["webpack:///./node_modules/bootstrap-vue/esm/mixins/form-selection.js","webpack:///./node_modules/bootstrap-vue/esm/icons/icon.js","webpack:///./src/@core/utils/filter.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-validity.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-img.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card.js","webpack:///./node_modules/bootstrap-vue/esm/components/pagination/pagination.js","webpack:///./node_modules/bootstrap-vue/esm/components/media/media.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group-prepend.js","webpack:///./node_modules/core-js/internals/this-number-value.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-text.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group-addon.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-input/form-input.js","webpack:///./node_modules/bootstrap-vue/esm/components/image/img.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-title.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-body.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-footer.js","webpack:///./node_modules/bootstrap-vue/esm/components/media/media-aside.js","webpack:///./node_modules/bootstrap-vue/esm/components/media/media-body.js","webpack:///./node_modules/bootstrap-vue/esm/components/layout/row.js","webpack:///./node_modules/core-js/modules/es.array.join.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/pagination.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-size.js","webpack:///./src/@core/layouts/components/content-with-sidebar/ContentWithSidebar.vue?b048","webpack:///src/@core/layouts/components/content-with-sidebar/ContentWithSidebar.vue","webpack:///./src/@core/layouts/components/content-with-sidebar/ContentWithSidebar.vue?c77e","webpack:///./src/@core/layouts/components/content-with-sidebar/ContentWithSidebar.vue","webpack:///./src/views/pages/blog/BlogList.vue?87e3","webpack:///./node_modules/core-js/modules/es.number.to-fixed.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-header.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-sub-title.js","webpack:///./src/@core/layouts/components/content-with-sidebar/ContentWithSidebar.vue?25eb","webpack:///./src/@core/utils/utils.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group-append.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group-text.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/card.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-text.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-control.js","webpack:///./src/views/pages/blog/BlogList.vue?647a","webpack:///src/views/pages/blog/BlogList.vue","webpack:///./src/views/pages/blog/BlogList.vue?f912","webpack:///./src/views/pages/blog/BlogList.vue","webpack:///./node_modules/bootstrap-vue/esm/components/avatar/avatar.js","webpack:///./node_modules/bootstrap-vue/esm/components/badge/badge.js"],"names":["formSelectionMixin","extend","computed","selectionStart","cache","get","this","$refs","input","set","val","selectionEnd","selectionDirection","methods","select","_this$$refs$input","apply","arguments","setSelectionRange","_this$$refs$input2","setRangeText","_this$$refs$input3","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","target","i","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","configurable","writable","findIconComponent","ctx","iconName","components","$options","iconComponent","$parent","props","icon","stacked","BIcon","name","functional","render","h","_ref","data","parent","replace","concat","kFormatter","num","toFixed","title","replacer","str","toString","arr","split","capitalizedArray","word","capitalized","charAt","toUpperCase","slice","join","avatarText","nameArray","map","formatDate","formatting","month","day","year","Intl","DateTimeFormat","format","Date","formatDateToMonthShort","toTimeForCurrentDay","date","isToday","hour","minute","filterTags","formValidityMixin","validity","validationMessage","willValidate","setCustomValidity","checkValidity","reportValidity","bottom","end","start","top","BCardImg","src","alt","width","height","baseClass","right","left","class","attrs","cardImgProps","bind","imgSrc","required","card","align","noBody","BCard","_class","slots","scopedSlots","imgLeft","imgRight","imgStart","imgEnd","imgBottom","header","headerHtml","footer","footerHtml","textVariant","bgVariant","borderVariant","$scopedSlots","$slots","slotScope","$imgFirst","$imgLast","$img","$header","hasHeaderSlot","domProps","html","$content","overlay","staticClass","$footer","hasFooterSlot","tag","DEFAULT_PER_PAGE","DEFAULT_TOTAL_ROWS","sanitizePerPage","sanitizeTotalRows","ariaControls","perPage","totalRows","BPagination","mixins","numberOfPages","result","pageSizeNumberOfPages","watch","newValue","oldValue","currentPage","localNumberOfPages","created","_this","$nextTick","onClick","event","pageNumber","_this2","clickEvt","cancelable","vueTarget","$emit","type","defaultPrevented","$el","contains","focusCurrent","makePage","pageNum","linkProps","rightAlign","verticalAlign","BMedia","children","$children","$aside","BInputGroupPrepend","append","classof","module","exports","TypeError","_makeModelMixin","defaultValue","modelMixin","mixin","modelProps","MODEL_PROP_NAME","prop","MODEL_EVENT_NAME","ariaInvalid","autocomplete","debounce","formatter","lazy","lazyFormatter","number","placeholder","plaintext","readonly","trim","formTextMixin","localValue","vModelValue","modifyValue","computedClass","isRange","isColor","sizeFormClass","stateClass","computedDebounce","hasFormatter","stringifyValue","modifiedValue","clearDebounce","$_inputDebounceTimer","mounted","$on","beforeDestroy","clearTimeout","formatValue","force","undefined","updateValue","doUpdate","$input","setTimeout","onInput","composing","formattedValue","propagation","onChange","onBlur","focus","disabled","blur","id","isText","BInputGroupAddon","TYPES","list","max","min","noWheel","step","BFormInput","localType","computedAttrs","form","safeId","computedAriaInvalid","computedListeners","bvListeners","change","setWheelStopper","deactivated","activated","on","onWheelFocus","onWheelBlur","document","stopWheel","ref","BLANK_TEMPLATE","makeBlankImgSrc","color","encodeURIComponent","blank","blankColor","block","center","fluid","fluidGrow","rounded","sizes","srcset","thumbnail","BImg","titleTag","BCardTitle","appendHtml","prepend","prependHtml","size","BInputGroup","$prepend","hasPrependSlot","$append","hasAppendSlot","role","bodyClass","BCardBody","_ref2","bodyBgVariant","bodyBorderVariant","bodyTextVariant","$title","$subTitle","subTitle","bodyTag","footerClass","BCardFooter","footerBgVariant","footerBorderVariant","footerTextVariant","footerTag","BMediaAside","BMediaBody","COMMON_ALIGNMENT","computeRowColsClass","breakpoint","cols","computeRowColsBreakpoint","rowColsPropList","generateProps","rowColsProps","reduce","alignContent","alignH","alignV","noGutters","BRow","_classList$push","classList","c","$","IndexedObject","toIndexedObject","arrayMethodIsStrict","nativeJoin","ES3_STRINGS","STRICT_METHOD","proto","forced","separator","call","_watch","validator","ELLIPSIS_THRESHOLD","DEFAULT_LIMIT","makePageArray","startNumber","_","classes","sanitizeLimit","limit","sanitizeCurrentPage","page","onSpaceKey","keyCode","immediatePropagation","currentTarget","click","ariaLabel","ellipsisClass","ellipsisText","firstClass","firstNumber","firstText","hideEllipsis","hideGotoEndButtons","labelFirstPage","labelLastPage","labelNextPage","labelPage","labelPrevPage","lastClass","lastNumber","lastText","nextClass","nextText","pageClass","pills","prevClass","prevText","paginationMixin","localLimit","btnSize","alignment","styleClass","computedCurrentPage","paginationParams","showFirstDots","showLastDots","numberOfLinks","lastPageNumber","pageList","_this$paginationParam","pages","idx","_i","_i2","_i3","handleKeyNav","shiftKey","isNav","focusFirst","focusPrev","focusLast","focusNext","getButtons","btn","find","el","_this3","_this4","reverse","_this5","buttons","index","indexOf","_this6","_this7","pageNumbers","p","_this$paginationParam2","fill","$buttons","isActivePage","noCurrentPage","makeEndBtn","linkTo","btnSlot","btnText","btnClass","pageTest","isDisabled","scope","$btnContent","normalizeSlot","$inner","tabindex","keydown","makeEllipsis","isLast","makePageButton","active","tabIndex","btnContent","content","$firstPageBtn","offset","$lastPageBtn","$pagination","formSizeMixin","_vm","_h","$createElement","_c","_self","_t","staticRenderFns","component","toInteger","thisNumberValue","repeat","fails","nativeToFixed","floor","Math","pow","x","n","acc","log","x2","FORCED","fractionDigits","e","z","j","k","fractDigits","sign","multiply","c2","divide","dataToString","s","t","String","RangeError","headerClass","BCardHeader","headerBgVariant","headerBorderVariant","headerTextVariant","headerTag","subTitleTag","subTitleTextVariant","BCardSubTitle","isObject","today","getDate","getMonth","getFullYear","isDynamicRouteActive","route","router","resolve","resolvedRoute","path","currentRoute","useRouter","vm","getCurrentInstance","proxy","state","reactive","$route","r","toRefs","$router","BInputGroupAppend","BInputGroupText","textTag","BCardText","SELECTOR","autofocus","formControlMixin","handleAutofocus","_l","blog","img","params","_v","_s","avatar","userFullName","blogPosted","tagsColor","excerpt","comment","rows","_u","fn","model","callback","$$v","expression","slot","search_query","blogSidebar","recentpost","createdTime","category","BCol","BAvatar","BLink","BBadge","BFormGroup","ContentWithSidebar","blogList","$http","then","CLASS_NAME","SIZES","FONT_SIZE_SCALE","BADGE_FONT_SIZE_SCALE","computeSize","badge","badgeLeft","badgeOffset","badgeTop","badgeVariant","button","buttonType","square","text","variant","inject","bvAvatarGroup","default","localSrc","computedSize","computedVariant","computedRounded","fontStyle","fontSize","marginStyle","overlapScale","marginLeft","marginRight","badgeStyle","onImgError","_class2","link","hasNormalizedSlot","style","error","$badge","hasBadgeSlot","badgeText","componentData","href","to","pill"],"mappings":"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","file":"js/chunk-7cae555b.cb1b25d6.js","sourcesContent":["import { Vue } from '../vue'; // @vue/component\n\nexport var formSelectionMixin = Vue.extend({\n computed: {\n selectionStart: {\n // Expose selectionStart for formatters, etc\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.selectionStart;\n },\n\n /* istanbul ignore next */\n set: function set(val) {\n this.$refs.input.selectionStart = val;\n }\n },\n selectionEnd: {\n // Expose selectionEnd for formatters, etc\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.selectionEnd;\n },\n\n /* istanbul ignore next */\n set: function set(val) {\n this.$refs.input.selectionEnd = val;\n }\n },\n selectionDirection: {\n // Expose selectionDirection for formatters, etc\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.selectionDirection;\n },\n\n /* istanbul ignore next */\n set: function set(val) {\n this.$refs.input.selectionDirection = val;\n }\n }\n },\n methods: {\n /* istanbul ignore next */\n select: function select() {\n var _this$$refs$input;\n\n // For external handler that may want a select() method\n (_this$$refs$input = this.$refs.input).select.apply(_this$$refs$input, arguments);\n },\n\n /* istanbul ignore next */\n setSelectionRange: function setSelectionRange() {\n var _this$$refs$input2;\n\n // For external handler that may want a setSelectionRange(a,b,c) method\n (_this$$refs$input2 = this.$refs.input).setSelectionRange.apply(_this$$refs$input2, arguments);\n },\n\n /* istanbul ignore next */\n setRangeText: function setRangeText() {\n var _this$$refs$input3;\n\n // For external handler that may want a setRangeText(a,b,c) method\n (_this$$refs$input3 = this.$refs.input).setRangeText.apply(_this$$refs$input3, arguments);\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../vue';\nimport { NAME_ICON } from '../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../constants/props';\nimport { RX_ICON_PREFIX } from '../constants/regex';\nimport { omit, sortKeys } from '../utils/object';\nimport { makeProp, makePropsConfigurable } from '../utils/props';\nimport { pascalCase, trim } from '../utils/string';\nimport { BIconBlank } from './icons';\nimport { props as BVIconBaseProps } from './helpers/icon-base'; // --- Helper methods ---\n\nvar findIconComponent = function findIconComponent(ctx, iconName) {\n if (!ctx) {\n return null;\n }\n\n var components = (ctx.$options || {}).components;\n var iconComponent = components[iconName];\n return iconComponent || findIconComponent(ctx.$parent, iconName);\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, omit(BVIconBaseProps, ['content', 'stacked'])), {}, {\n icon: makeProp(PROP_TYPE_STRING),\n stacked: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_ICON); // --- Main component ---\n// Helper BIcon component\n// Requires the requested icon component to be installed\n// @vue/component\n\nexport var BIcon = /*#__PURE__*/Vue.extend({\n name: NAME_ICON,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var data = _ref.data,\n props = _ref.props,\n parent = _ref.parent;\n var icon = pascalCase(trim(props.icon || '')).replace(RX_ICON_PREFIX, ''); // If parent context exists, we check to see if the icon has been registered\n // either locally in the parent component, or globally at the `$root` level\n // If not registered, we render a blank icon\n\n return h(icon ? findIconComponent(parent, \"BIcon\".concat(icon)) || BIconBlank : BIconBlank, mergeData(data, {\n props: _objectSpread(_objectSpread({}, props), {}, {\n icon: null\n })\n }));\n }\n});","import { isToday } from './utils'\r\n\r\nexport const kFormatter = num => (num > 999 ? `${(num / 1000).toFixed(1)}k` : num)\r\n\r\nexport const title = (value, replacer = ' ') => {\r\n if (!value) return ''\r\n const str = value.toString()\r\n\r\n const arr = str.split(replacer)\r\n const capitalizedArray = []\r\n arr.forEach(word => {\r\n const capitalized = word.charAt(0).toUpperCase() + word.slice(1)\r\n capitalizedArray.push(capitalized)\r\n })\r\n return capitalizedArray.join(' ')\r\n}\r\n\r\nexport const avatarText = value => {\r\n if (!value) return ''\r\n const nameArray = value.split(' ')\r\n return nameArray.map(word => word.charAt(0).toUpperCase()).join('')\r\n}\r\n\r\n/**\r\n * Format and return date in Humanize format\r\n * Intl docs: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/format\r\n * Intl Constructor: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/DateTimeFormat\r\n * @param {String} value date to format\r\n * @param {Object} formatting Intl object to format with\r\n */\r\nexport const formatDate = (value, formatting = { month: 'short', day: 'numeric', year: 'numeric' }) => {\r\n if (!value) return value\r\n return new Intl.DateTimeFormat('en-US', formatting).format(new Date(value))\r\n}\r\n\r\n/**\r\n * Return short human friendly month representation of date\r\n * Can also convert date to only time if date is of today (Better UX)\r\n * @param {String} value date to format\r\n * @param {Boolean} toTimeForCurrentDay Shall convert to time if day is today/current\r\n */\r\nexport const formatDateToMonthShort = (value, toTimeForCurrentDay = true) => {\r\n const date = new Date(value)\r\n let formatting = { month: 'short', day: 'numeric' }\r\n\r\n if (toTimeForCurrentDay && isToday(date)) {\r\n formatting = { hour: 'numeric', minute: 'numeric' }\r\n }\r\n\r\n return new Intl.DateTimeFormat('en-US', formatting).format(new Date(value))\r\n}\r\n\r\n// Strip all the tags from markup and return plain text\r\nexport const filterTags = value => value.replace(/<\\/?[^>]+(>|$)/g, '')\r\n","import { Vue } from '../vue'; // @vue/component\n\nexport var formValidityMixin = Vue.extend({\n computed: {\n validity: {\n // Expose validity property\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.validity;\n }\n },\n validationMessage: {\n // Expose validationMessage property\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.validationMessage;\n }\n },\n willValidate: {\n // Expose willValidate property\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.willValidate;\n }\n }\n },\n methods: {\n /* istanbul ignore next */\n setCustomValidity: function setCustomValidity() {\n var _this$$refs$input;\n\n // For external handler that may want a setCustomValidity(...) method\n return (_this$$refs$input = this.$refs.input).setCustomValidity.apply(_this$$refs$input, arguments);\n },\n\n /* istanbul ignore next */\n checkValidity: function checkValidity() {\n var _this$$refs$input2;\n\n // For external handler that may want a checkValidity(...) method\n return (_this$$refs$input2 = this.$refs.input).checkValidity.apply(_this$$refs$input2, arguments);\n },\n\n /* istanbul ignore next */\n reportValidity: function reportValidity() {\n var _this$$refs$input3;\n\n // For external handler that may want a reportValidity(...) method\n return (_this$$refs$input3 = this.$refs.input).reportValidity.apply(_this$$refs$input3, arguments);\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_IMG } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN } from '../../constants/props';\nimport { pick, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { props as BImgProps } from '../image/img'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, pick(BImgProps, ['src', 'alt', 'width', 'height', 'left', 'right'])), {}, {\n bottom: makeProp(PROP_TYPE_BOOLEAN, false),\n end: makeProp(PROP_TYPE_BOOLEAN, false),\n start: makeProp(PROP_TYPE_BOOLEAN, false),\n top: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_CARD_IMG); // --- Main component ---\n// @vue/component\n\nexport var BCardImg = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_IMG,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data;\n var src = props.src,\n alt = props.alt,\n width = props.width,\n height = props.height;\n var baseClass = 'card-img';\n\n if (props.top) {\n baseClass += '-top';\n } else if (props.right || props.end) {\n baseClass += '-right';\n } else if (props.bottom) {\n baseClass += '-bottom';\n } else if (props.left || props.start) {\n baseClass += '-left';\n }\n\n return h('img', mergeData(data, {\n class: baseClass,\n attrs: {\n src: src,\n alt: alt,\n width: width,\n height: height\n }\n }));\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_CARD } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_DEFAULT, SLOT_NAME_FOOTER, SLOT_NAME_HEADER } from '../../constants/slots';\nimport { htmlOrText } from '../../utils/html';\nimport { hasNormalizedSlot, normalizeSlot } from '../../utils/normalize-slot';\nimport { sortKeys } from '../../utils/object';\nimport { copyProps, makeProp, makePropsConfigurable, pluckProps, prefixPropName, unprefixPropName } from '../../utils/props';\nimport { props as cardProps } from '../../mixins/card';\nimport { BCardBody, props as BCardBodyProps } from './card-body';\nimport { BCardHeader, props as BCardHeaderProps } from './card-header';\nimport { BCardFooter, props as BCardFooterProps } from './card-footer';\nimport { BCardImg, props as BCardImgProps } from './card-img'; // --- Props ---\n\nvar cardImgProps = copyProps(BCardImgProps, prefixPropName.bind(null, 'img'));\ncardImgProps.imgSrc.required = false;\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, BCardBodyProps), BCardHeaderProps), BCardFooterProps), cardImgProps), cardProps), {}, {\n align: makeProp(PROP_TYPE_STRING),\n noBody: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_CARD); // --- Main component ---\n// @vue/component\n\nexport var BCard = /*#__PURE__*/Vue.extend({\n name: NAME_CARD,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots,\n scopedSlots = _ref.scopedSlots;\n var imgSrc = props.imgSrc,\n imgLeft = props.imgLeft,\n imgRight = props.imgRight,\n imgStart = props.imgStart,\n imgEnd = props.imgEnd,\n imgBottom = props.imgBottom,\n header = props.header,\n headerHtml = props.headerHtml,\n footer = props.footer,\n footerHtml = props.footerHtml,\n align = props.align,\n textVariant = props.textVariant,\n bgVariant = props.bgVariant,\n borderVariant = props.borderVariant;\n var $scopedSlots = scopedSlots || {};\n var $slots = slots();\n var slotScope = {};\n var $imgFirst = h();\n var $imgLast = h();\n\n if (imgSrc) {\n var $img = h(BCardImg, {\n props: pluckProps(cardImgProps, props, unprefixPropName.bind(null, 'img'))\n });\n\n if (imgBottom) {\n $imgLast = $img;\n } else {\n $imgFirst = $img;\n }\n }\n\n var $header = h();\n var hasHeaderSlot = hasNormalizedSlot(SLOT_NAME_HEADER, $scopedSlots, $slots);\n\n if (hasHeaderSlot || header || headerHtml) {\n $header = h(BCardHeader, {\n props: pluckProps(BCardHeaderProps, props),\n domProps: hasHeaderSlot ? {} : htmlOrText(headerHtml, header)\n }, normalizeSlot(SLOT_NAME_HEADER, slotScope, $scopedSlots, $slots));\n }\n\n var $content = normalizeSlot(SLOT_NAME_DEFAULT, slotScope, $scopedSlots, $slots); // Wrap content in `` when `noBody` prop set\n\n if (!props.noBody) {\n $content = h(BCardBody, {\n props: pluckProps(BCardBodyProps, props)\n }, $content); // When the `overlap` prop is set we need to wrap the `` and ``\n // into a relative positioned wrapper to don't distract a potential header or footer\n\n if (props.overlay && imgSrc) {\n $content = h('div', {\n staticClass: 'position-relative'\n }, [$imgFirst, $content, $imgLast]); // Reset image variables since they are already in the wrapper\n\n $imgFirst = h();\n $imgLast = h();\n }\n }\n\n var $footer = h();\n var hasFooterSlot = hasNormalizedSlot(SLOT_NAME_FOOTER, $scopedSlots, $slots);\n\n if (hasFooterSlot || footer || footerHtml) {\n $footer = h(BCardFooter, {\n props: pluckProps(BCardFooterProps, props),\n domProps: hasHeaderSlot ? {} : htmlOrText(footerHtml, footer)\n }, normalizeSlot(SLOT_NAME_FOOTER, slotScope, $scopedSlots, $slots));\n }\n\n return h(props.tag, mergeData(data, {\n staticClass: 'card',\n class: (_class = {\n 'flex-row': imgLeft || imgStart,\n 'flex-row-reverse': (imgRight || imgEnd) && !(imgLeft || imgStart)\n }, _defineProperty(_class, \"text-\".concat(align), align), _defineProperty(_class, \"bg-\".concat(bgVariant), bgVariant), _defineProperty(_class, \"border-\".concat(borderVariant), borderVariant), _defineProperty(_class, \"text-\".concat(textVariant), textVariant), _class)\n }), [$imgFirst, $header, $content, $footer, $imgLast]);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_PAGINATION } from '../../constants/components';\nimport { EVENT_NAME_CHANGE, EVENT_NAME_PAGE_CLICK } from '../../constants/events';\nimport { PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { BvEvent } from '../../utils/bv-event.class';\nimport { attemptFocus, isVisible } from '../../utils/dom';\nimport { isUndefinedOrNull } from '../../utils/inspect';\nimport { mathCeil, mathMax } from '../../utils/math';\nimport { toInteger } from '../../utils/number';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { MODEL_PROP_NAME, paginationMixin, props as paginationProps } from '../../mixins/pagination'; // --- Constants ---\n\nvar DEFAULT_PER_PAGE = 20;\nvar DEFAULT_TOTAL_ROWS = 0; // --- Helper methods ---\n// Sanitize the provided per page number (converting to a number)\n\nvar sanitizePerPage = function sanitizePerPage(value) {\n return mathMax(toInteger(value) || DEFAULT_PER_PAGE, 1);\n}; // Sanitize the provided total rows number (converting to a number)\n\n\nvar sanitizeTotalRows = function sanitizeTotalRows(value) {\n return mathMax(toInteger(value) || DEFAULT_TOTAL_ROWS, 0);\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, paginationProps), {}, {\n ariaControls: makeProp(PROP_TYPE_STRING),\n perPage: makeProp(PROP_TYPE_NUMBER_STRING, DEFAULT_PER_PAGE),\n totalRows: makeProp(PROP_TYPE_NUMBER_STRING, DEFAULT_TOTAL_ROWS)\n})), NAME_PAGINATION); // --- Main component ---\n// @vue/component\n\nexport var BPagination = /*#__PURE__*/Vue.extend({\n name: NAME_PAGINATION,\n // The render function is brought in via the `paginationMixin`\n mixins: [paginationMixin],\n props: props,\n computed: {\n numberOfPages: function numberOfPages() {\n var result = mathCeil(sanitizeTotalRows(this.totalRows) / sanitizePerPage(this.perPage));\n return result < 1 ? 1 : result;\n },\n // Used for watching changes to `perPage` and `numberOfPages`\n pageSizeNumberOfPages: function pageSizeNumberOfPages() {\n return {\n perPage: sanitizePerPage(this.perPage),\n totalRows: sanitizeTotalRows(this.totalRows),\n numberOfPages: this.numberOfPages\n };\n }\n },\n watch: {\n pageSizeNumberOfPages: function pageSizeNumberOfPages(newValue, oldValue) {\n if (!isUndefinedOrNull(oldValue)) {\n if (newValue.perPage !== oldValue.perPage && newValue.totalRows === oldValue.totalRows) {\n // If the page size changes, reset to page 1\n this.currentPage = 1;\n } else if (newValue.numberOfPages !== oldValue.numberOfPages && this.currentPage > newValue.numberOfPages) {\n // If `numberOfPages` changes and is less than\n // the `currentPage` number, reset to page 1\n this.currentPage = 1;\n }\n }\n\n this.localNumberOfPages = newValue.numberOfPages;\n }\n },\n created: function created() {\n var _this = this;\n\n // Set the initial page count\n this.localNumberOfPages = this.numberOfPages; // Set the initial page value\n\n var currentPage = toInteger(this[MODEL_PROP_NAME], 0);\n\n if (currentPage > 0) {\n this.currentPage = currentPage;\n } else {\n this.$nextTick(function () {\n // If this value parses to `NaN` or a value less than `1`\n // trigger an initial emit of `null` if no page specified\n _this.currentPage = 0;\n });\n }\n },\n methods: {\n // These methods are used by the render function\n onClick: function onClick(event, pageNumber) {\n var _this2 = this;\n\n // Dont do anything if clicking the current active page\n if (pageNumber === this.currentPage) {\n return;\n }\n\n var target = event.target; // Emit a user-cancelable `page-click` event\n\n var clickEvt = new BvEvent(EVENT_NAME_PAGE_CLICK, {\n cancelable: true,\n vueTarget: this,\n target: target\n });\n this.$emit(clickEvt.type, clickEvt, pageNumber);\n\n if (clickEvt.defaultPrevented) {\n return;\n } // Update the `v-model`\n\n\n this.currentPage = pageNumber; // Emit event triggered by user interaction\n\n this.$emit(EVENT_NAME_CHANGE, this.currentPage); // Keep the current button focused if possible\n\n this.$nextTick(function () {\n if (isVisible(target) && _this2.$el.contains(target)) {\n attemptFocus(target);\n } else {\n _this2.focusCurrent();\n }\n });\n },\n makePage: function makePage(pageNum) {\n return pageNum;\n },\n\n /* istanbul ignore next */\n linkProps: function linkProps() {\n // No props, since we render a plain button\n return {};\n }\n }\n});","import { Vue, mergeData } from '../../vue';\nimport { NAME_MEDIA } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_ASIDE, SLOT_NAME_DEFAULT } from '../../constants/slots';\nimport { normalizeSlot } from '../../utils/normalize-slot';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { BMediaAside } from './media-aside';\nimport { BMediaBody } from './media-body'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n noBody: makeProp(PROP_TYPE_BOOLEAN, false),\n rightAlign: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n verticalAlign: makeProp(PROP_TYPE_STRING, 'top')\n}, NAME_MEDIA); // --- Main component ---\n// @vue/component\n\nexport var BMedia = /*#__PURE__*/Vue.extend({\n name: NAME_MEDIA,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots,\n scopedSlots = _ref.scopedSlots,\n children = _ref.children;\n var noBody = props.noBody,\n rightAlign = props.rightAlign,\n verticalAlign = props.verticalAlign;\n var $children = noBody ? children : [];\n\n if (!noBody) {\n var slotScope = {};\n var $slots = slots();\n var $scopedSlots = scopedSlots || {};\n $children.push(h(BMediaBody, normalizeSlot(SLOT_NAME_DEFAULT, slotScope, $scopedSlots, $slots)));\n var $aside = normalizeSlot(SLOT_NAME_ASIDE, slotScope, $scopedSlots, $slots);\n\n if ($aside) {\n $children[rightAlign ? 'push' : 'unshift'](h(BMediaAside, {\n props: {\n right: rightAlign,\n verticalAlign: verticalAlign\n }\n }, $aside));\n }\n }\n\n return h(props.tag, mergeData(data, {\n staticClass: 'media'\n }), $children);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_INPUT_GROUP_PREPEND } from '../../constants/components';\nimport { omit } from '../../utils/object';\nimport { makePropsConfigurable } from '../../utils/props';\nimport { BInputGroupAddon, props as BInputGroupAddonProps } from './input-group-addon'; // --- Props ---\n\nexport var props = makePropsConfigurable(omit(BInputGroupAddonProps, ['append']), NAME_INPUT_GROUP_PREPEND); // --- Main component ---\n// @vue/component\n\nexport var BInputGroupPrepend = /*#__PURE__*/Vue.extend({\n name: NAME_INPUT_GROUP_PREPEND,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n // Pass all our data down to child, and set `append` to `true`\n return h(BInputGroupAddon, mergeData(data, {\n props: _objectSpread(_objectSpread({}, props), {}, {\n append: false\n })\n }), children);\n }\n});","var classof = require('../internals/classof-raw');\n\n// `thisNumberValue` abstract operation\n// https://tc39.github.io/ecma262/#sec-thisnumbervalue\nmodule.exports = function (value) {\n if (typeof value != 'number' && classof(value) != 'Number') {\n throw TypeError('Incorrect invocation');\n }\n return +value;\n};\n","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../vue';\nimport { EVENT_NAME_BLUR, EVENT_NAME_CHANGE, EVENT_NAME_INPUT, EVENT_NAME_UPDATE, HOOK_EVENT_NAME_BEFORE_DESTROY } from '../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_STRING, PROP_TYPE_FUNCTION, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../constants/props';\nimport { attemptBlur, attemptFocus } from '../utils/dom';\nimport { stopEvent } from '../utils/events';\nimport { mathMax } from '../utils/math';\nimport { makeModelMixin } from '../utils/model';\nimport { toInteger, toFloat } from '../utils/number';\nimport { sortKeys } from '../utils/object';\nimport { hasPropFunction, makeProp, makePropsConfigurable } from '../utils/props';\nimport { toString } from '../utils/string'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('value', {\n type: PROP_TYPE_NUMBER_STRING,\n defaultValue: '',\n event: EVENT_NAME_UPDATE\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event;\n\nexport { MODEL_PROP_NAME, MODEL_EVENT_NAME }; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, modelProps), {}, {\n ariaInvalid: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n autocomplete: makeProp(PROP_TYPE_STRING),\n // Debounce timeout (in ms). Not applicable with `lazy` prop\n debounce: makeProp(PROP_TYPE_NUMBER_STRING, 0),\n formatter: makeProp(PROP_TYPE_FUNCTION),\n // Only update the `v-model` on blur/change events\n lazy: makeProp(PROP_TYPE_BOOLEAN, false),\n lazyFormatter: makeProp(PROP_TYPE_BOOLEAN, false),\n number: makeProp(PROP_TYPE_BOOLEAN, false),\n placeholder: makeProp(PROP_TYPE_STRING),\n plaintext: makeProp(PROP_TYPE_BOOLEAN, false),\n readonly: makeProp(PROP_TYPE_BOOLEAN, false),\n trim: makeProp(PROP_TYPE_BOOLEAN, false)\n})), 'formTextControls'); // --- Mixin ---\n// @vue/component\n\nexport var formTextMixin = Vue.extend({\n mixins: [modelMixin],\n props: props,\n data: function data() {\n var value = this[MODEL_PROP_NAME];\n return {\n localValue: toString(value),\n vModelValue: this.modifyValue(value)\n };\n },\n computed: {\n computedClass: function computedClass() {\n var plaintext = this.plaintext,\n type = this.type;\n var isRange = type === 'range';\n var isColor = type === 'color';\n return [{\n // Range input needs class `custom-range`\n 'custom-range': isRange,\n // `plaintext` not supported by `type=\"range\"` or `type=\"color\"`\n 'form-control-plaintext': plaintext && !isRange && !isColor,\n // `form-control` not used by `type=\"range\"` or `plaintext`\n // Always used by `type=\"color\"`\n 'form-control': isColor || !plaintext && !isRange\n }, this.sizeFormClass, this.stateClass];\n },\n computedDebounce: function computedDebounce() {\n // Ensure we have a positive number equal to or greater than 0\n return mathMax(toInteger(this.debounce, 0), 0);\n },\n hasFormatter: function hasFormatter() {\n return hasPropFunction(this.formatter);\n }\n },\n watch: _defineProperty({}, MODEL_PROP_NAME, function (newValue) {\n var stringifyValue = toString(newValue);\n var modifiedValue = this.modifyValue(newValue);\n\n if (stringifyValue !== this.localValue || modifiedValue !== this.vModelValue) {\n // Clear any pending debounce timeout, as we are overwriting the user input\n this.clearDebounce(); // Update the local values\n\n this.localValue = stringifyValue;\n this.vModelValue = modifiedValue;\n }\n }),\n created: function created() {\n // Create private non-reactive props\n this.$_inputDebounceTimer = null;\n },\n mounted: function mounted() {\n // Set up destroy handler\n this.$on(HOOK_EVENT_NAME_BEFORE_DESTROY, this.clearDebounce);\n },\n beforeDestroy: function beforeDestroy() {\n this.clearDebounce();\n },\n methods: {\n clearDebounce: function clearDebounce() {\n clearTimeout(this.$_inputDebounceTimer);\n this.$_inputDebounceTimer = null;\n },\n formatValue: function formatValue(value, event) {\n var force = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n value = toString(value);\n\n if (this.hasFormatter && (!this.lazyFormatter || force)) {\n value = this.formatter(value, event);\n }\n\n return value;\n },\n modifyValue: function modifyValue(value) {\n value = toString(value); // Emulate `.trim` modifier behaviour\n\n if (this.trim) {\n value = value.trim();\n } // Emulate `.number` modifier behaviour\n\n\n if (this.number) {\n value = toFloat(value, value);\n }\n\n return value;\n },\n updateValue: function updateValue(value) {\n var _this = this;\n\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var lazy = this.lazy;\n\n if (lazy && !force) {\n return;\n } // Make sure to always clear the debounce when `updateValue()`\n // is called, even when the v-model hasn't changed\n\n\n this.clearDebounce(); // Define the shared update logic in a method to be able to use\n // it for immediate and debounced value changes\n\n var doUpdate = function doUpdate() {\n value = _this.modifyValue(value);\n\n if (value !== _this.vModelValue) {\n _this.vModelValue = value;\n\n _this.$emit(MODEL_EVENT_NAME, value);\n } else if (_this.hasFormatter) {\n // When the `vModelValue` hasn't changed but the actual input value\n // is out of sync, make sure to change it to the given one\n // Usually caused by browser autocomplete and how it triggers the\n // change or input event, or depending on the formatter function\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/2657\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/3498\n\n /* istanbul ignore next: hard to test */\n var $input = _this.$refs.input;\n /* istanbul ignore if: hard to test out of sync value */\n\n if ($input && value !== $input.value) {\n $input.value = value;\n }\n }\n }; // Only debounce the value update when a value greater than `0`\n // is set and we are not in lazy mode or this is a forced update\n\n\n var debounce = this.computedDebounce;\n\n if (debounce > 0 && !lazy && !force) {\n this.$_inputDebounceTimer = setTimeout(doUpdate, debounce);\n } else {\n // Immediately update the v-model\n doUpdate();\n }\n },\n onInput: function onInput(event) {\n // `event.target.composing` is set by Vue\n // https://github.com/vuejs/vue/blob/dev/src/platforms/web/runtime/directives/model.js\n // TODO: Is this needed now with the latest Vue?\n\n /* istanbul ignore if: hard to test composition events */\n if (event.target.composing) {\n return;\n }\n\n var value = event.target.value;\n var formattedValue = this.formatValue(value, event); // Exit when the `formatter` function strictly returned `false`\n // or prevented the input event\n\n /* istanbul ignore next */\n\n if (formattedValue === false || event.defaultPrevented) {\n stopEvent(event, {\n propagation: false\n });\n return;\n }\n\n this.localValue = formattedValue;\n this.updateValue(formattedValue);\n this.$emit(EVENT_NAME_INPUT, formattedValue);\n },\n onChange: function onChange(event) {\n var value = event.target.value;\n var formattedValue = this.formatValue(value, event); // Exit when the `formatter` function strictly returned `false`\n // or prevented the input event\n\n /* istanbul ignore next */\n\n if (formattedValue === false || event.defaultPrevented) {\n stopEvent(event, {\n propagation: false\n });\n return;\n }\n\n this.localValue = formattedValue;\n this.updateValue(formattedValue, true);\n this.$emit(EVENT_NAME_CHANGE, formattedValue);\n },\n onBlur: function onBlur(event) {\n // Apply the `localValue` on blur to prevent cursor jumps\n // on mobile browsers (e.g. caused by autocomplete)\n var value = event.target.value;\n var formattedValue = this.formatValue(value, event, true);\n\n if (formattedValue !== false) {\n // We need to use the modified value here to apply the\n // `.trim` and `.number` modifiers properly\n this.localValue = toString(this.modifyValue(formattedValue)); // We pass the formatted value here since the `updateValue` method\n // handles the modifiers itself\n\n this.updateValue(formattedValue, true);\n } // Emit native blur event\n\n\n this.$emit(EVENT_NAME_BLUR, event);\n },\n focus: function focus() {\n // For external handler that may want a focus method\n if (!this.disabled) {\n attemptFocus(this.$el);\n }\n },\n blur: function blur() {\n // For external handler that may want a blur method\n if (!this.disabled) {\n attemptBlur(this.$el);\n }\n }\n }\n});","import { Vue, mergeData } from '../../vue';\nimport { NAME_INPUT_GROUP_ADDON } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { BInputGroupText } from './input-group-text'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n append: makeProp(PROP_TYPE_BOOLEAN, false),\n id: makeProp(PROP_TYPE_STRING),\n isText: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n}, NAME_INPUT_GROUP_ADDON); // --- Main component ---\n// @vue/component\n\nexport var BInputGroupAddon = /*#__PURE__*/Vue.extend({\n name: NAME_INPUT_GROUP_ADDON,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var append = props.append;\n return h(props.tag, mergeData(data, {\n class: {\n 'input-group-append': append,\n 'input-group-prepend': !append\n },\n attrs: {\n id: props.id\n }\n }), props.isText ? [h(BInputGroupText, children)] : children);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_FORM_INPUT } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { arrayIncludes } from '../../utils/array';\nimport { attemptBlur } from '../../utils/dom';\nimport { eventOn, eventOff, eventOnOff, stopEvent } from '../../utils/events';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { formControlMixin, props as formControlProps } from '../../mixins/form-control';\nimport { formSelectionMixin } from '../../mixins/form-selection';\nimport { formSizeMixin, props as formSizeProps } from '../../mixins/form-size';\nimport { formStateMixin, props as formStateProps } from '../../mixins/form-state';\nimport { formTextMixin, props as formTextProps } from '../../mixins/form-text';\nimport { formValidityMixin } from '../../mixins/form-validity';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { listenersMixin } from '../../mixins/listeners'; // --- Constants ---\n// Valid supported input types\n\nvar TYPES = ['text', 'password', 'email', 'number', 'url', 'tel', 'search', 'range', 'color', 'date', 'time', 'datetime', 'datetime-local', 'month', 'week']; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), formControlProps), formSizeProps), formStateProps), formTextProps), {}, {\n list: makeProp(PROP_TYPE_STRING),\n max: makeProp(PROP_TYPE_NUMBER_STRING),\n min: makeProp(PROP_TYPE_NUMBER_STRING),\n // Disable mousewheel to prevent wheel from changing values (i.e. number/date)\n noWheel: makeProp(PROP_TYPE_BOOLEAN, false),\n step: makeProp(PROP_TYPE_NUMBER_STRING),\n type: makeProp(PROP_TYPE_STRING, 'text', function (type) {\n return arrayIncludes(TYPES, type);\n })\n})), NAME_FORM_INPUT); // --- Main component ---\n// @vue/component\n\nexport var BFormInput = /*#__PURE__*/Vue.extend({\n name: NAME_FORM_INPUT,\n // Mixin order is important!\n mixins: [listenersMixin, idMixin, formControlMixin, formSizeMixin, formStateMixin, formTextMixin, formSelectionMixin, formValidityMixin],\n props: props,\n computed: {\n localType: function localType() {\n // We only allow certain types\n var type = this.type;\n return arrayIncludes(TYPES, type) ? type : 'text';\n },\n computedAttrs: function computedAttrs() {\n var type = this.localType,\n name = this.name,\n form = this.form,\n disabled = this.disabled,\n placeholder = this.placeholder,\n required = this.required,\n min = this.min,\n max = this.max,\n step = this.step;\n return {\n id: this.safeId(),\n name: name,\n form: form,\n type: type,\n disabled: disabled,\n placeholder: placeholder,\n required: required,\n autocomplete: this.autocomplete || null,\n readonly: this.readonly || this.plaintext,\n min: min,\n max: max,\n step: step,\n list: type !== 'password' ? this.list : null,\n 'aria-required': required ? 'true' : null,\n 'aria-invalid': this.computedAriaInvalid\n };\n },\n computedListeners: function computedListeners() {\n return _objectSpread(_objectSpread({}, this.bvListeners), {}, {\n input: this.onInput,\n change: this.onChange,\n blur: this.onBlur\n });\n }\n },\n watch: {\n noWheel: function noWheel(newValue) {\n this.setWheelStopper(newValue);\n }\n },\n mounted: function mounted() {\n this.setWheelStopper(this.noWheel);\n },\n\n /* istanbul ignore next */\n deactivated: function deactivated() {\n // Turn off listeners when keep-alive component deactivated\n\n /* istanbul ignore next */\n this.setWheelStopper(false);\n },\n\n /* istanbul ignore next */\n activated: function activated() {\n // Turn on listeners (if no-wheel) when keep-alive component activated\n\n /* istanbul ignore next */\n this.setWheelStopper(this.noWheel);\n },\n beforeDestroy: function beforeDestroy() {\n /* istanbul ignore next */\n this.setWheelStopper(false);\n },\n methods: {\n setWheelStopper: function setWheelStopper(on) {\n var input = this.$el; // We use native events, so that we don't interfere with propagation\n\n eventOnOff(on, input, 'focus', this.onWheelFocus);\n eventOnOff(on, input, 'blur', this.onWheelBlur);\n\n if (!on) {\n eventOff(document, 'wheel', this.stopWheel);\n }\n },\n onWheelFocus: function onWheelFocus() {\n eventOn(document, 'wheel', this.stopWheel);\n },\n onWheelBlur: function onWheelBlur() {\n eventOff(document, 'wheel', this.stopWheel);\n },\n stopWheel: function stopWheel(event) {\n stopEvent(event, {\n propagation: false\n });\n attemptBlur(this.$el);\n }\n },\n render: function render(h) {\n return h('input', {\n class: this.computedClass,\n attrs: this.computedAttrs,\n domProps: {\n value: this.localValue\n },\n on: this.computedListeners,\n ref: 'input'\n });\n }\n});","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_IMG } from '../../constants/components';\nimport { PROP_TYPE_ARRAY_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_STRING, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { concat } from '../../utils/array';\nimport { identity } from '../../utils/identity';\nimport { isString } from '../../utils/inspect';\nimport { toInteger } from '../../utils/number';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { toString } from '../../utils/string'; // --- Constants --\n// Blank image with fill template\n\nvar BLANK_TEMPLATE = '' + '' + ''; // --- Helper methods ---\n\nvar makeBlankImgSrc = function makeBlankImgSrc(width, height, color) {\n var src = encodeURIComponent(BLANK_TEMPLATE.replace('%{w}', toString(width)).replace('%{h}', toString(height)).replace('%{f}', color));\n return \"data:image/svg+xml;charset=UTF-8,\".concat(src);\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable({\n alt: makeProp(PROP_TYPE_STRING),\n blank: makeProp(PROP_TYPE_BOOLEAN, false),\n blankColor: makeProp(PROP_TYPE_STRING, 'transparent'),\n block: makeProp(PROP_TYPE_BOOLEAN, false),\n center: makeProp(PROP_TYPE_BOOLEAN, false),\n fluid: makeProp(PROP_TYPE_BOOLEAN, false),\n // Gives fluid images class `w-100` to make them grow to fit container\n fluidGrow: makeProp(PROP_TYPE_BOOLEAN, false),\n height: makeProp(PROP_TYPE_NUMBER_STRING),\n left: makeProp(PROP_TYPE_BOOLEAN, false),\n right: makeProp(PROP_TYPE_BOOLEAN, false),\n // Possible values:\n // `false`: no rounding of corners\n // `true`: slightly rounded corners\n // 'top': top corners rounded\n // 'right': right corners rounded\n // 'bottom': bottom corners rounded\n // 'left': left corners rounded\n // 'circle': circle/oval\n // '0': force rounding off\n rounded: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n sizes: makeProp(PROP_TYPE_ARRAY_STRING),\n src: makeProp(PROP_TYPE_STRING),\n srcset: makeProp(PROP_TYPE_ARRAY_STRING),\n thumbnail: makeProp(PROP_TYPE_BOOLEAN, false),\n width: makeProp(PROP_TYPE_NUMBER_STRING)\n}, NAME_IMG); // --- Main component ---\n// @vue/component\n\nexport var BImg = /*#__PURE__*/Vue.extend({\n name: NAME_IMG,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data;\n var alt = props.alt,\n src = props.src,\n block = props.block,\n fluidGrow = props.fluidGrow,\n rounded = props.rounded;\n var width = toInteger(props.width) || null;\n var height = toInteger(props.height) || null;\n var align = null;\n var srcset = concat(props.srcset).filter(identity).join(',');\n var sizes = concat(props.sizes).filter(identity).join(',');\n\n if (props.blank) {\n if (!height && width) {\n height = width;\n } else if (!width && height) {\n width = height;\n }\n\n if (!width && !height) {\n width = 1;\n height = 1;\n } // Make a blank SVG image\n\n\n src = makeBlankImgSrc(width, height, props.blankColor || 'transparent'); // Disable srcset and sizes\n\n srcset = null;\n sizes = null;\n }\n\n if (props.left) {\n align = 'float-left';\n } else if (props.right) {\n align = 'float-right';\n } else if (props.center) {\n align = 'mx-auto';\n block = true;\n }\n\n return h('img', mergeData(data, {\n attrs: {\n src: src,\n alt: alt,\n width: width ? toString(width) : null,\n height: height ? toString(height) : null,\n srcset: srcset || null,\n sizes: sizes || null\n },\n class: (_class = {\n 'img-thumbnail': props.thumbnail,\n 'img-fluid': props.fluid || fluidGrow,\n 'w-100': fluidGrow,\n rounded: rounded === '' || rounded === true\n }, _defineProperty(_class, \"rounded-\".concat(rounded), isString(rounded) && rounded !== ''), _defineProperty(_class, align, align), _defineProperty(_class, 'd-block', block), _class)\n }));\n }\n});","import { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_TITLE } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { toString } from '../../utils/string'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n title: makeProp(PROP_TYPE_STRING),\n titleTag: makeProp(PROP_TYPE_STRING, 'h4')\n}, NAME_CARD_TITLE); // --- Main component ---\n// @vue/component\n\nexport var BCardTitle = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_TITLE,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.titleTag, mergeData(data, {\n staticClass: 'card-title'\n }), children || toString(props.title));\n }\n});","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_INPUT_GROUP } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_APPEND, SLOT_NAME_DEFAULT, SLOT_NAME_PREPEND } from '../../constants/slots';\nimport { htmlOrText } from '../../utils/html';\nimport { hasNormalizedSlot, normalizeSlot } from '../../utils/normalize-slot';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { BInputGroupAppend } from './input-group-append';\nimport { BInputGroupPrepend } from './input-group-prepend';\nimport { BInputGroupText } from './input-group-text'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n append: makeProp(PROP_TYPE_STRING),\n appendHtml: makeProp(PROP_TYPE_STRING),\n id: makeProp(PROP_TYPE_STRING),\n prepend: makeProp(PROP_TYPE_STRING),\n prependHtml: makeProp(PROP_TYPE_STRING),\n size: makeProp(PROP_TYPE_STRING),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n}, NAME_INPUT_GROUP); // --- Main component ---\n// @vue/component\n\nexport var BInputGroup = /*#__PURE__*/Vue.extend({\n name: NAME_INPUT_GROUP,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots,\n scopedSlots = _ref.scopedSlots;\n var prepend = props.prepend,\n prependHtml = props.prependHtml,\n append = props.append,\n appendHtml = props.appendHtml,\n size = props.size;\n var $scopedSlots = scopedSlots || {};\n var $slots = slots();\n var slotScope = {};\n var $prepend = h();\n var hasPrependSlot = hasNormalizedSlot(SLOT_NAME_PREPEND, $scopedSlots, $slots);\n\n if (hasPrependSlot || prepend || prependHtml) {\n $prepend = h(BInputGroupPrepend, [hasPrependSlot ? normalizeSlot(SLOT_NAME_PREPEND, slotScope, $scopedSlots, $slots) : h(BInputGroupText, {\n domProps: htmlOrText(prependHtml, prepend)\n })]);\n }\n\n var $append = h();\n var hasAppendSlot = hasNormalizedSlot(SLOT_NAME_APPEND, $scopedSlots, $slots);\n\n if (hasAppendSlot || append || appendHtml) {\n $append = h(BInputGroupAppend, [hasAppendSlot ? normalizeSlot(SLOT_NAME_APPEND, slotScope, $scopedSlots, $slots) : h(BInputGroupText, {\n domProps: htmlOrText(appendHtml, append)\n })]);\n }\n\n return h(props.tag, mergeData(data, {\n staticClass: 'input-group',\n class: _defineProperty({}, \"input-group-\".concat(size), size),\n attrs: {\n id: props.id || null,\n role: 'group'\n }\n }), [$prepend, normalizeSlot(SLOT_NAME_DEFAULT, slotScope, $scopedSlots, $slots), $append]);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_BODY } from '../../constants/components';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN } from '../../constants/props';\nimport { sortKeys } from '../../utils/object';\nimport { copyProps, makeProp, makePropsConfigurable, pluckProps, prefixPropName } from '../../utils/props';\nimport { props as cardProps } from '../../mixins/card';\nimport { BCardTitle, props as titleProps } from './card-title';\nimport { BCardSubTitle, props as subTitleProps } from './card-sub-title'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, titleProps), subTitleProps), copyProps(cardProps, prefixPropName.bind(null, 'body'))), {}, {\n bodyClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n overlay: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_CARD_BODY); // --- Main component ---\n// @vue/component\n\nexport var BCardBody = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_BODY,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _ref2;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var bodyBgVariant = props.bodyBgVariant,\n bodyBorderVariant = props.bodyBorderVariant,\n bodyTextVariant = props.bodyTextVariant;\n var $title = h();\n\n if (props.title) {\n $title = h(BCardTitle, {\n props: pluckProps(titleProps, props)\n });\n }\n\n var $subTitle = h();\n\n if (props.subTitle) {\n $subTitle = h(BCardSubTitle, {\n props: pluckProps(subTitleProps, props),\n class: ['mb-2']\n });\n }\n\n return h(props.bodyTag, mergeData(data, {\n staticClass: 'card-body',\n class: [(_ref2 = {\n 'card-img-overlay': props.overlay\n }, _defineProperty(_ref2, \"bg-\".concat(bodyBgVariant), bodyBgVariant), _defineProperty(_ref2, \"border-\".concat(bodyBorderVariant), bodyBorderVariant), _defineProperty(_ref2, \"text-\".concat(bodyTextVariant), bodyTextVariant), _ref2), props.bodyClass]\n }), [$title, $subTitle, children]);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_FOOTER } from '../../constants/components';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { htmlOrText } from '../../utils/html';\nimport { sortKeys } from '../../utils/object';\nimport { copyProps, makeProp, makePropsConfigurable, prefixPropName } from '../../utils/props';\nimport { props as BCardProps } from '../../mixins/card'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, copyProps(BCardProps, prefixPropName.bind(null, 'footer'))), {}, {\n footer: makeProp(PROP_TYPE_STRING),\n footerClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n footerHtml: makeProp(PROP_TYPE_STRING)\n})), NAME_CARD_FOOTER); // --- Main component ---\n// @vue/component\n\nexport var BCardFooter = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_FOOTER,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _ref2;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var footerBgVariant = props.footerBgVariant,\n footerBorderVariant = props.footerBorderVariant,\n footerTextVariant = props.footerTextVariant;\n return h(props.footerTag, mergeData(data, {\n staticClass: 'card-footer',\n class: [props.footerClass, (_ref2 = {}, _defineProperty(_ref2, \"bg-\".concat(footerBgVariant), footerBgVariant), _defineProperty(_ref2, \"border-\".concat(footerBorderVariant), footerBorderVariant), _defineProperty(_ref2, \"text-\".concat(footerTextVariant), footerTextVariant), _ref2)],\n domProps: children ? {} : htmlOrText(props.footerHtml, props.footer)\n }), children);\n }\n});","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_MEDIA_ASIDE } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n right: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n verticalAlign: makeProp(PROP_TYPE_STRING, 'top')\n}, NAME_MEDIA_ASIDE); // --- Main component ---\n// @vue/component\n\nexport var BMediaAside = /*#__PURE__*/Vue.extend({\n name: NAME_MEDIA_ASIDE,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var verticalAlign = props.verticalAlign;\n var align = verticalAlign === 'top' ? 'start' : verticalAlign === 'bottom' ? 'end' :\n /* istanbul ignore next */\n verticalAlign;\n return h(props.tag, mergeData(data, {\n staticClass: 'media-aside',\n class: _defineProperty({\n 'media-aside-right': props.right\n }, \"align-self-\".concat(align), align)\n }), children);\n }\n});","import { Vue, mergeData } from '../../vue';\nimport { NAME_MEDIA_BODY } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n tag: makeProp(PROP_TYPE_STRING, 'div')\n}, NAME_MEDIA_BODY); // --- Main component ---\n// @vue/component\n\nexport var BMediaBody = /*#__PURE__*/Vue.extend({\n name: NAME_MEDIA_BODY,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.tag, mergeData(data, {\n staticClass: 'media-body'\n }), children);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { mergeData } from '../../vue';\nimport { NAME_ROW } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { arrayIncludes, concat } from '../../utils/array';\nimport { getBreakpointsUpCached } from '../../utils/config';\nimport { identity } from '../../utils/identity';\nimport { memoize } from '../../utils/memoize';\nimport { create, keys, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, suffixPropName } from '../../utils/props';\nimport { lowerCase, toString, trim } from '../../utils/string'; // --- Constants ---\n\nvar COMMON_ALIGNMENT = ['start', 'end', 'center']; // --- Helper methods ---\n// Compute a `row-cols-{breakpoint}-{cols}` class name\n// Memoized function for better performance on generating class names\n\nvar computeRowColsClass = memoize(function (breakpoint, cols) {\n cols = trim(toString(cols));\n return cols ? lowerCase(['row-cols', breakpoint, cols].filter(identity).join('-')) : null;\n}); // Get the breakpoint name from the `rowCols` prop name\n// Memoized function for better performance on extracting breakpoint names\n\nvar computeRowColsBreakpoint = memoize(function (prop) {\n return lowerCase(prop.replace('cols', ''));\n}); // Cached copy of the `row-cols` breakpoint prop names\n// Will be populated when the props are generated\n\nvar rowColsPropList = []; // --- Props ---\n// Prop generator for lazy generation of props\n\nexport var generateProps = function generateProps() {\n // i.e. 'row-cols-2', 'row-cols-md-4', 'row-cols-xl-6', ...\n var rowColsProps = getBreakpointsUpCached().reduce(function (props, breakpoint) {\n props[suffixPropName(breakpoint, 'cols')] = makeProp(PROP_TYPE_NUMBER_STRING);\n return props;\n }, create(null)); // Cache the row-cols prop names\n\n rowColsPropList = keys(rowColsProps); // Return the generated props\n\n return makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, rowColsProps), {}, {\n alignContent: makeProp(PROP_TYPE_STRING, null, function (value) {\n return arrayIncludes(concat(COMMON_ALIGNMENT, 'between', 'around', 'stretch'), value);\n }),\n alignH: makeProp(PROP_TYPE_STRING, null, function (value) {\n return arrayIncludes(concat(COMMON_ALIGNMENT, 'between', 'around'), value);\n }),\n alignV: makeProp(PROP_TYPE_STRING, null, function (value) {\n return arrayIncludes(concat(COMMON_ALIGNMENT, 'baseline', 'stretch'), value);\n }),\n noGutters: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n })), NAME_ROW);\n}; // --- Main component ---\n// We do not use `Vue.extend()` here as that would evaluate the props\n// immediately, which we do not want to happen\n// @vue/component\n\nexport var BRow = {\n name: NAME_ROW,\n functional: true,\n\n get props() {\n // Allow props to be lazy evaled on first access and\n // then they become a non-getter afterwards\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get#Smart_self-overwriting_lazy_getters\n delete this.props;\n this.props = generateProps();\n return this.props;\n },\n\n render: function render(h, _ref) {\n var _classList$push;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var alignV = props.alignV,\n alignH = props.alignH,\n alignContent = props.alignContent; // Loop through row-cols breakpoint props and generate the classes\n\n var classList = [];\n rowColsPropList.forEach(function (prop) {\n var c = computeRowColsClass(computeRowColsBreakpoint(prop), props[prop]); // If a class is returned, push it onto the array\n\n if (c) {\n classList.push(c);\n }\n });\n classList.push((_classList$push = {\n 'no-gutters': props.noGutters\n }, _defineProperty(_classList$push, \"align-items-\".concat(alignV), alignV), _defineProperty(_classList$push, \"justify-content-\".concat(alignH), alignH), _defineProperty(_classList$push, \"align-content-\".concat(alignContent), alignContent), _classList$push));\n return h(props.tag, mergeData(data, {\n staticClass: 'row',\n class: classList\n }), children);\n }\n};","'use strict';\nvar $ = require('../internals/export');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeJoin = [].join;\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar STRICT_METHOD = arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, {\n join: function join(separator) {\n return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","var _watch;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../vue';\nimport { NAME_PAGINATION } from '../constants/components';\nimport { CODE_DOWN, CODE_LEFT, CODE_RIGHT, CODE_SPACE, CODE_UP } from '../constants/key-codes';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_NUMBER_STRING, PROP_TYPE_FUNCTION_STRING, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../constants/props';\nimport { SLOT_NAME_ELLIPSIS_TEXT, SLOT_NAME_FIRST_TEXT, SLOT_NAME_LAST_TEXT, SLOT_NAME_NEXT_TEXT, SLOT_NAME_PAGE, SLOT_NAME_PREV_TEXT } from '../constants/slots';\nimport { createArray } from '../utils/array';\nimport { attemptFocus, getActiveElement, getAttr, isDisabled, isVisible, selectAll } from '../utils/dom';\nimport { stopEvent } from '../utils/events';\nimport { isFunction, isNull } from '../utils/inspect';\nimport { mathFloor, mathMax, mathMin } from '../utils/math';\nimport { makeModelMixin } from '../utils/model';\nimport { toInteger } from '../utils/number';\nimport { sortKeys } from '../utils/object';\nimport { hasPropFunction, makeProp, makePropsConfigurable } from '../utils/props';\nimport { toString } from '../utils/string';\nimport { warn } from '../utils/warn';\nimport { normalizeSlotMixin } from '../mixins/normalize-slot';\nimport { BLink } from '../components/link/link'; // Common props, computed, data, render function, and methods\n// for `` and ``\n// --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('value', {\n type: PROP_TYPE_BOOLEAN_NUMBER_STRING,\n defaultValue: null,\n\n /* istanbul ignore next */\n validator: function validator(value) {\n if (!isNull(value) && toInteger(value, 0) < 1) {\n warn('\"v-model\" value must be a number greater than \"0\"', NAME_PAGINATION);\n return false;\n }\n\n return true;\n }\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event;\n\nexport { MODEL_PROP_NAME, MODEL_EVENT_NAME }; // Threshold of limit size when we start/stop showing ellipsis\n\nvar ELLIPSIS_THRESHOLD = 3; // Default # of buttons limit\n\nvar DEFAULT_LIMIT = 5; // --- Helper methods ---\n// Make an array of N to N+X\n\nvar makePageArray = function makePageArray(startNumber, numberOfPages) {\n return createArray(numberOfPages, function (_, i) {\n return {\n number: startNumber + i,\n classes: null\n };\n });\n}; // Sanitize the provided limit value (converting to a number)\n\n\nvar sanitizeLimit = function sanitizeLimit(value) {\n var limit = toInteger(value) || 1;\n return limit < 1 ? DEFAULT_LIMIT : limit;\n}; // Sanitize the provided current page number (converting to a number)\n\n\nvar sanitizeCurrentPage = function sanitizeCurrentPage(val, numberOfPages) {\n var page = toInteger(val) || 1;\n return page > numberOfPages ? numberOfPages : page < 1 ? 1 : page;\n}; // Links don't normally respond to SPACE, so we add that\n// functionality via this handler\n\n\nvar onSpaceKey = function onSpaceKey(event) {\n if (event.keyCode === CODE_SPACE) {\n // Stop page from scrolling\n stopEvent(event, {\n immediatePropagation: true\n }); // Trigger the click event on the link\n\n event.currentTarget.click();\n return false;\n }\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, modelProps), {}, {\n align: makeProp(PROP_TYPE_STRING, 'left'),\n ariaLabel: makeProp(PROP_TYPE_STRING, 'Pagination'),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n ellipsisClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n ellipsisText: makeProp(PROP_TYPE_STRING, \"\\u2026\"),\n // '…'\n firstClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n firstNumber: makeProp(PROP_TYPE_BOOLEAN, false),\n firstText: makeProp(PROP_TYPE_STRING, \"\\xAB\"),\n // '«'\n hideEllipsis: makeProp(PROP_TYPE_BOOLEAN, false),\n hideGotoEndButtons: makeProp(PROP_TYPE_BOOLEAN, false),\n labelFirstPage: makeProp(PROP_TYPE_STRING, 'Go to first page'),\n labelLastPage: makeProp(PROP_TYPE_STRING, 'Go to last page'),\n labelNextPage: makeProp(PROP_TYPE_STRING, 'Go to next page'),\n labelPage: makeProp(PROP_TYPE_FUNCTION_STRING, 'Go to page'),\n labelPrevPage: makeProp(PROP_TYPE_STRING, 'Go to previous page'),\n lastClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n lastNumber: makeProp(PROP_TYPE_BOOLEAN, false),\n lastText: makeProp(PROP_TYPE_STRING, \"\\xBB\"),\n // '»'\n limit: makeProp(PROP_TYPE_NUMBER_STRING, DEFAULT_LIMIT,\n /* istanbul ignore next */\n function (value) {\n if (toInteger(value, 0) < 1) {\n warn('Prop \"limit\" must be a number greater than \"0\"', NAME_PAGINATION);\n return false;\n }\n\n return true;\n }),\n nextClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n nextText: makeProp(PROP_TYPE_STRING, \"\\u203A\"),\n // '›'\n pageClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n pills: makeProp(PROP_TYPE_BOOLEAN, false),\n prevClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n prevText: makeProp(PROP_TYPE_STRING, \"\\u2039\"),\n // '‹'\n size: makeProp(PROP_TYPE_STRING)\n})), 'pagination'); // --- Mixin ---\n// @vue/component\n\nexport var paginationMixin = Vue.extend({\n mixins: [modelMixin, normalizeSlotMixin],\n props: props,\n data: function data() {\n // `-1` signifies no page initially selected\n var currentPage = toInteger(this[MODEL_PROP_NAME], 0);\n currentPage = currentPage > 0 ? currentPage : -1;\n return {\n currentPage: currentPage,\n localNumberOfPages: 1,\n localLimit: DEFAULT_LIMIT\n };\n },\n computed: {\n btnSize: function btnSize() {\n var size = this.size;\n return size ? \"pagination-\".concat(size) : '';\n },\n alignment: function alignment() {\n var align = this.align;\n\n if (align === 'center') {\n return 'justify-content-center';\n } else if (align === 'end' || align === 'right') {\n return 'justify-content-end';\n } else if (align === 'fill') {\n // The page-items will also have 'flex-fill' added\n // We add text centering to make the button appearance better in fill mode\n return 'text-center';\n }\n\n return '';\n },\n styleClass: function styleClass() {\n return this.pills ? 'b-pagination-pills' : '';\n },\n computedCurrentPage: function computedCurrentPage() {\n return sanitizeCurrentPage(this.currentPage, this.localNumberOfPages);\n },\n paginationParams: function paginationParams() {\n // Determine if we should show the the ellipsis\n var limit = this.localLimit,\n numberOfPages = this.localNumberOfPages,\n currentPage = this.computedCurrentPage,\n hideEllipsis = this.hideEllipsis,\n firstNumber = this.firstNumber,\n lastNumber = this.lastNumber;\n var showFirstDots = false;\n var showLastDots = false;\n var numberOfLinks = limit;\n var startNumber = 1;\n\n if (numberOfPages <= limit) {\n // Special case: Less pages available than the limit of displayed pages\n numberOfLinks = numberOfPages;\n } else if (currentPage < limit - 1 && limit > ELLIPSIS_THRESHOLD) {\n if (!hideEllipsis || lastNumber) {\n showLastDots = true;\n numberOfLinks = limit - (firstNumber ? 0 : 1);\n }\n\n numberOfLinks = mathMin(numberOfLinks, limit);\n } else if (numberOfPages - currentPage + 2 < limit && limit > ELLIPSIS_THRESHOLD) {\n if (!hideEllipsis || firstNumber) {\n showFirstDots = true;\n numberOfLinks = limit - (lastNumber ? 0 : 1);\n }\n\n startNumber = numberOfPages - numberOfLinks + 1;\n } else {\n // We are somewhere in the middle of the page list\n if (limit > ELLIPSIS_THRESHOLD) {\n numberOfLinks = limit - (hideEllipsis ? 0 : 2);\n showFirstDots = !!(!hideEllipsis || firstNumber);\n showLastDots = !!(!hideEllipsis || lastNumber);\n }\n\n startNumber = currentPage - mathFloor(numberOfLinks / 2);\n } // Sanity checks\n\n /* istanbul ignore if */\n\n\n if (startNumber < 1) {\n startNumber = 1;\n showFirstDots = false;\n } else if (startNumber > numberOfPages - numberOfLinks) {\n startNumber = numberOfPages - numberOfLinks + 1;\n showLastDots = false;\n }\n\n if (showFirstDots && firstNumber && startNumber < 4) {\n numberOfLinks = numberOfLinks + 2;\n startNumber = 1;\n showFirstDots = false;\n }\n\n var lastPageNumber = startNumber + numberOfLinks - 1;\n\n if (showLastDots && lastNumber && lastPageNumber > numberOfPages - 3) {\n numberOfLinks = numberOfLinks + (lastPageNumber === numberOfPages - 2 ? 2 : 3);\n showLastDots = false;\n } // Special handling for lower limits (where ellipsis are never shown)\n\n\n if (limit <= ELLIPSIS_THRESHOLD) {\n if (firstNumber && startNumber === 1) {\n numberOfLinks = mathMin(numberOfLinks + 1, numberOfPages, limit + 1);\n } else if (lastNumber && numberOfPages === startNumber + numberOfLinks - 1) {\n startNumber = mathMax(startNumber - 1, 1);\n numberOfLinks = mathMin(numberOfPages - startNumber + 1, numberOfPages, limit + 1);\n }\n }\n\n numberOfLinks = mathMin(numberOfLinks, numberOfPages - startNumber + 1);\n return {\n showFirstDots: showFirstDots,\n showLastDots: showLastDots,\n numberOfLinks: numberOfLinks,\n startNumber: startNumber\n };\n },\n pageList: function pageList() {\n // Generates the pageList array\n var _this$paginationParam = this.paginationParams,\n numberOfLinks = _this$paginationParam.numberOfLinks,\n startNumber = _this$paginationParam.startNumber;\n var currentPage = this.computedCurrentPage; // Generate list of page numbers\n\n var pages = makePageArray(startNumber, numberOfLinks); // We limit to a total of 3 page buttons on XS screens\n // So add classes to page links to hide them for XS breakpoint\n // Note: Ellipsis will also be hidden on XS screens\n // TODO: Make this visual limit configurable based on breakpoint(s)\n\n if (pages.length > 3) {\n var idx = currentPage - startNumber; // THe following is a bootstrap-vue custom utility class\n\n var classes = 'bv-d-xs-down-none';\n\n if (idx === 0) {\n // Keep leftmost 3 buttons visible when current page is first page\n for (var i = 3; i < pages.length; i++) {\n pages[i].classes = classes;\n }\n } else if (idx === pages.length - 1) {\n // Keep rightmost 3 buttons visible when current page is last page\n for (var _i = 0; _i < pages.length - 3; _i++) {\n pages[_i].classes = classes;\n }\n } else {\n // Hide all except current page, current page - 1 and current page + 1\n for (var _i2 = 0; _i2 < idx - 1; _i2++) {\n // hide some left button(s)\n pages[_i2].classes = classes;\n }\n\n for (var _i3 = pages.length - 1; _i3 > idx + 1; _i3--) {\n // hide some right button(s)\n pages[_i3].classes = classes;\n }\n }\n }\n\n return pages;\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function (newValue, oldValue) {\n if (newValue !== oldValue) {\n this.currentPage = sanitizeCurrentPage(newValue, this.localNumberOfPages);\n }\n }), _defineProperty(_watch, \"currentPage\", function currentPage(newValue, oldValue) {\n if (newValue !== oldValue) {\n // Emit `null` if no page selected\n this.$emit(MODEL_EVENT_NAME, newValue > 0 ? newValue : null);\n }\n }), _defineProperty(_watch, \"limit\", function limit(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.localLimit = sanitizeLimit(newValue);\n }\n }), _watch),\n created: function created() {\n var _this = this;\n\n // Set our default values in data\n this.localLimit = sanitizeLimit(this.limit);\n this.$nextTick(function () {\n // Sanity check\n _this.currentPage = _this.currentPage > _this.localNumberOfPages ? _this.localNumberOfPages : _this.currentPage;\n });\n },\n methods: {\n handleKeyNav: function handleKeyNav(event) {\n var keyCode = event.keyCode,\n shiftKey = event.shiftKey;\n /* istanbul ignore if */\n\n if (this.isNav) {\n // We disable left/right keyboard navigation in ``\n return;\n }\n\n if (keyCode === CODE_LEFT || keyCode === CODE_UP) {\n stopEvent(event, {\n propagation: false\n });\n shiftKey ? this.focusFirst() : this.focusPrev();\n } else if (keyCode === CODE_RIGHT || keyCode === CODE_DOWN) {\n stopEvent(event, {\n propagation: false\n });\n shiftKey ? this.focusLast() : this.focusNext();\n }\n },\n getButtons: function getButtons() {\n // Return only buttons that are visible\n return selectAll('button.page-link, a.page-link', this.$el).filter(function (btn) {\n return isVisible(btn);\n });\n },\n focusCurrent: function focusCurrent() {\n var _this2 = this;\n\n // We do this in `$nextTick()` to ensure buttons have finished rendering\n this.$nextTick(function () {\n var btn = _this2.getButtons().find(function (el) {\n return toInteger(getAttr(el, 'aria-posinset'), 0) === _this2.computedCurrentPage;\n });\n\n if (!attemptFocus(btn)) {\n // Fallback if current page is not in button list\n _this2.focusFirst();\n }\n });\n },\n focusFirst: function focusFirst() {\n var _this3 = this;\n\n // We do this in `$nextTick()` to ensure buttons have finished rendering\n this.$nextTick(function () {\n var btn = _this3.getButtons().find(function (el) {\n return !isDisabled(el);\n });\n\n attemptFocus(btn);\n });\n },\n focusLast: function focusLast() {\n var _this4 = this;\n\n // We do this in `$nextTick()` to ensure buttons have finished rendering\n this.$nextTick(function () {\n var btn = _this4.getButtons().reverse().find(function (el) {\n return !isDisabled(el);\n });\n\n attemptFocus(btn);\n });\n },\n focusPrev: function focusPrev() {\n var _this5 = this;\n\n // We do this in `$nextTick()` to ensure buttons have finished rendering\n this.$nextTick(function () {\n var buttons = _this5.getButtons();\n\n var index = buttons.indexOf(getActiveElement());\n\n if (index > 0 && !isDisabled(buttons[index - 1])) {\n attemptFocus(buttons[index - 1]);\n }\n });\n },\n focusNext: function focusNext() {\n var _this6 = this;\n\n // We do this in `$nextTick()` to ensure buttons have finished rendering\n this.$nextTick(function () {\n var buttons = _this6.getButtons();\n\n var index = buttons.indexOf(getActiveElement());\n\n if (index < buttons.length - 1 && !isDisabled(buttons[index + 1])) {\n attemptFocus(buttons[index + 1]);\n }\n });\n }\n },\n render: function render(h) {\n var _this7 = this;\n\n var disabled = this.disabled,\n labelPage = this.labelPage,\n ariaLabel = this.ariaLabel,\n isNav = this.isNav,\n numberOfPages = this.localNumberOfPages,\n currentPage = this.computedCurrentPage;\n var pageNumbers = this.pageList.map(function (p) {\n return p.number;\n });\n var _this$paginationParam2 = this.paginationParams,\n showFirstDots = _this$paginationParam2.showFirstDots,\n showLastDots = _this$paginationParam2.showLastDots;\n var fill = this.align === 'fill';\n var $buttons = []; // Helper function and flag\n\n var isActivePage = function isActivePage(pageNumber) {\n return pageNumber === currentPage;\n };\n\n var noCurrentPage = this.currentPage < 1; // Factory function for prev/next/first/last buttons\n\n var makeEndBtn = function makeEndBtn(linkTo, ariaLabel, btnSlot, btnText, btnClass, pageTest, key) {\n var isDisabled = disabled || isActivePage(pageTest) || noCurrentPage || linkTo < 1 || linkTo > numberOfPages;\n var pageNumber = linkTo < 1 ? 1 : linkTo > numberOfPages ? numberOfPages : linkTo;\n var scope = {\n disabled: isDisabled,\n page: pageNumber,\n index: pageNumber - 1\n };\n var $btnContent = _this7.normalizeSlot(btnSlot, scope) || toString(btnText) || h();\n var $inner = h(isDisabled ? 'span' : isNav ? BLink : 'button', {\n staticClass: 'page-link',\n class: {\n 'flex-grow-1': !isNav && !isDisabled && fill\n },\n props: isDisabled || !isNav ? {} : _this7.linkProps(linkTo),\n attrs: {\n role: isNav ? null : 'menuitem',\n type: isNav || isDisabled ? null : 'button',\n tabindex: isDisabled || isNav ? null : '-1',\n 'aria-label': ariaLabel,\n 'aria-controls': _this7.ariaControls || null,\n 'aria-disabled': isDisabled ? 'true' : null\n },\n on: isDisabled ? {} : {\n '!click': function click(event) {\n _this7.onClick(event, linkTo);\n },\n keydown: onSpaceKey\n }\n }, [$btnContent]);\n return h('li', {\n key: key,\n staticClass: 'page-item',\n class: [{\n disabled: isDisabled,\n 'flex-fill': fill,\n 'd-flex': fill && !isNav && !isDisabled\n }, btnClass],\n attrs: {\n role: isNav ? null : 'presentation',\n 'aria-hidden': isDisabled ? 'true' : null\n }\n }, [$inner]);\n }; // Ellipsis factory\n\n\n var makeEllipsis = function makeEllipsis(isLast) {\n return h('li', {\n staticClass: 'page-item',\n class: ['disabled', 'bv-d-xs-down-none', fill ? 'flex-fill' : '', _this7.ellipsisClass],\n attrs: {\n role: 'separator'\n },\n key: \"ellipsis-\".concat(isLast ? 'last' : 'first')\n }, [h('span', {\n staticClass: 'page-link'\n }, [_this7.normalizeSlot(SLOT_NAME_ELLIPSIS_TEXT) || toString(_this7.ellipsisText) || h()])]);\n }; // Page button factory\n\n\n var makePageButton = function makePageButton(page, idx) {\n var pageNumber = page.number;\n var active = isActivePage(pageNumber) && !noCurrentPage; // Active page will have tabindex of 0, or if no current page and first page button\n\n var tabIndex = disabled ? null : active || noCurrentPage && idx === 0 ? '0' : '-1';\n var attrs = {\n role: isNav ? null : 'menuitemradio',\n type: isNav || disabled ? null : 'button',\n 'aria-disabled': disabled ? 'true' : null,\n 'aria-controls': _this7.ariaControls || null,\n 'aria-label': hasPropFunction(labelPage) ?\n /* istanbul ignore next */\n labelPage(pageNumber) : \"\".concat(isFunction(labelPage) ? labelPage() : labelPage, \" \").concat(pageNumber),\n 'aria-checked': isNav ? null : active ? 'true' : 'false',\n 'aria-current': isNav && active ? 'page' : null,\n 'aria-posinset': isNav ? null : pageNumber,\n 'aria-setsize': isNav ? null : numberOfPages,\n // ARIA \"roving tabindex\" method (except in `isNav` mode)\n tabindex: isNav ? null : tabIndex\n };\n var btnContent = toString(_this7.makePage(pageNumber));\n var scope = {\n page: pageNumber,\n index: pageNumber - 1,\n content: btnContent,\n active: active,\n disabled: disabled\n };\n var $inner = h(disabled ? 'span' : isNav ? BLink : 'button', {\n props: disabled || !isNav ? {} : _this7.linkProps(pageNumber),\n staticClass: 'page-link',\n class: {\n 'flex-grow-1': !isNav && !disabled && fill\n },\n attrs: attrs,\n on: disabled ? {} : {\n '!click': function click(event) {\n _this7.onClick(event, pageNumber);\n },\n keydown: onSpaceKey\n }\n }, [_this7.normalizeSlot(SLOT_NAME_PAGE, scope) || btnContent]);\n return h('li', {\n staticClass: 'page-item',\n class: [{\n disabled: disabled,\n active: active,\n 'flex-fill': fill,\n 'd-flex': fill && !isNav && !disabled\n }, page.classes, _this7.pageClass],\n attrs: {\n role: isNav ? null : 'presentation'\n },\n key: \"page-\".concat(pageNumber)\n }, [$inner]);\n }; // Goto first page button\n // Don't render button when `hideGotoEndButtons` or `firstNumber` is set\n\n\n var $firstPageBtn = h();\n\n if (!this.firstNumber && !this.hideGotoEndButtons) {\n $firstPageBtn = makeEndBtn(1, this.labelFirstPage, SLOT_NAME_FIRST_TEXT, this.firstText, this.firstClass, 1, 'pagination-goto-first');\n }\n\n $buttons.push($firstPageBtn); // Goto previous page button\n\n $buttons.push(makeEndBtn(currentPage - 1, this.labelPrevPage, SLOT_NAME_PREV_TEXT, this.prevText, this.prevClass, 1, 'pagination-goto-prev')); // Show first (1) button?\n\n $buttons.push(this.firstNumber && pageNumbers[0] !== 1 ? makePageButton({\n number: 1\n }, 0) : h()); // First ellipsis\n\n $buttons.push(showFirstDots ? makeEllipsis(false) : h()); // Individual page links\n\n this.pageList.forEach(function (page, idx) {\n var offset = showFirstDots && _this7.firstNumber && pageNumbers[0] !== 1 ? 1 : 0;\n $buttons.push(makePageButton(page, idx + offset));\n }); // Last ellipsis\n\n $buttons.push(showLastDots ? makeEllipsis(true) : h()); // Show last page button?\n\n $buttons.push(this.lastNumber && pageNumbers[pageNumbers.length - 1] !== numberOfPages ? makePageButton({\n number: numberOfPages\n }, -1) : h()); // Goto next page button\n\n $buttons.push(makeEndBtn(currentPage + 1, this.labelNextPage, SLOT_NAME_NEXT_TEXT, this.nextText, this.nextClass, numberOfPages, 'pagination-goto-next')); // Goto last page button\n // Don't render button when `hideGotoEndButtons` or `lastNumber` is set\n\n var $lastPageBtn = h();\n\n if (!this.lastNumber && !this.hideGotoEndButtons) {\n $lastPageBtn = makeEndBtn(numberOfPages, this.labelLastPage, SLOT_NAME_LAST_TEXT, this.lastText, this.lastClass, numberOfPages, 'pagination-goto-last');\n }\n\n $buttons.push($lastPageBtn); // Assemble the pagination buttons\n\n var $pagination = h('ul', {\n staticClass: 'pagination',\n class: ['b-pagination', this.btnSize, this.alignment, this.styleClass],\n attrs: {\n role: isNav ? null : 'menubar',\n 'aria-disabled': disabled ? 'true' : 'false',\n 'aria-label': isNav ? null : ariaLabel || null\n },\n // We disable keyboard left/right nav when ``\n on: isNav ? {} : {\n keydown: this.handleKeyNav\n },\n ref: 'ul'\n }, $buttons); // If we are ``, wrap in `