{"version":3,"sources":["webpack:///./src/views/Orders/Orders.vue?8e34","webpack:///./src/views/Orders/OrderList/OrderList.vue?5035","webpack:///./src/views/Orders/OrderList/useOrderList.js","webpack:///src/views/Orders/OrderList/OrderList.vue","webpack:///./src/views/Orders/OrderList/OrderList.vue?a707","webpack:///./src/views/Orders/OrderList/OrderList.vue","webpack:///src/views/Orders/Orders.vue","webpack:///./src/views/Orders/Orders.vue?a3b8","webpack:///./src/views/Orders/Orders.vue","webpack:///./src/@core/utils/filter.js","webpack:///./node_modules/core-js/modules/es.string.split.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/pagination.js","webpack:///./node_modules/bootstrap-vue/esm/components/pagination/pagination.js","webpack:///./src/views/Orders/OrderList/OrderList.vue?04c2","webpack:///./src/views/Orders/OrderList/OrderList.vue?ca96","webpack:///./node_modules/bootstrap-vue/esm/components/tooltip/helpers/bv-tooltip.js","webpack:///./node_modules/bootstrap-vue/esm/components/layout/col.js","webpack:///./node_modules/bootstrap-vue/esm/components/tooltip/tooltip.js","webpack:///./src/@core/utils/utils.js","webpack:///./node_modules/bootstrap-vue/esm/components/tooltip/helpers/bv-popper.js","webpack:///./node_modules/bootstrap-vue/esm/components/tooltip/helpers/bv-tooltip-template.js","webpack:///./src/views/components/OrderList.vue?a67c","webpack:///src/views/components/OrderList.vue","webpack:///./src/views/components/OrderList.vue?7c28","webpack:///./src/views/components/OrderList.vue"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticRenderFns","attrs","staticClass","fetchOrders","tableColumns","sortBy","isSortDirDesc","_v","_s","dataMeta","from","to","of","totalOrders","perPage","scopedSlots","_u","key","fn","proxy","model","value","callback","$$v","currentPage","expression","useOrdersList","toast","useToast","refInvoiceListTable","ref","label","VueI18n","t","sortable","formatter","val","concat","dayjs","locale","format","perPageOptions","searchQuery","statusFilter","computed","localItemsCount","localItems","length","refetchData","refresh","watch","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","ctx","orders","wrap","_context","prev","next","store","dispatch","catch","component","ToastificationContent","props","title","icon","variant","sent","abrupt","stop","_x","_x2","apply","arguments","resolveInvoiceStatusVariantAndIcon","status","resolveClientAvatarVariant","components","BCard","BRow","BCol","BPagination","OrderList","setup","_useOrdersList","refOrderListTable","avatarText","data","mounted","kFormatter","num","toFixed","replacer","undefined","str","toString","arr","split","capitalizedArray","forEach","word","capitalized","charAt","toUpperCase","slice","push","join","nameArray","map","call","uncurryThis","fixRegExpWellKnownSymbolLogic","anObject","isNullOrUndefined","isRegExp","requireObjectCoercible","speciesConstructor","advanceStringIndex","toLength","getMethod","arraySlice","callRegExpExec","regexpExec","stickyHelpers","fails","UNSUPPORTED_Y","MAX_UINT32","min","Math","$push","exec","stringSlice","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","re","originalExec","result","SPLIT","nativeSplit","maybeCallNative","internalSplit","separator","limit","string","lim","match","lastIndex","lastLength","output","flags","ignoreCase","multiline","unicode","sticky","lastLastIndex","separatorCopy","RegExp","source","index","O","splitter","rx","S","res","done","C","unicodeMatching","p","q","A","e","z","i","_watch","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","_objectSpread","target","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","configurable","writable","_makeModelMixin","type","defaultValue","validator","warn","modelMixin","mixin","modelProps","MODEL_PROP_NAME","prop","MODEL_EVENT_NAME","event","ELLIPSIS_THRESHOLD","DEFAULT_LIMIT","startNumber","numberOfPages","_","number","classes","page","keyCode","immediatePropagation","currentTarget","click","align","ariaLabel","disabled","ellipsisClass","ellipsisText","firstClass","firstNumber","firstText","hideEllipsis","hideGotoEndButtons","labelFirstPage","labelLastPage","labelNextPage","labelPage","labelPrevPage","lastClass","lastNumber","lastText","nextClass","nextText","pageClass","pills","prevClass","prevText","size","paginationMixin","extend","mixins","localNumberOfPages","localLimit","btnSize","alignment","styleClass","computedCurrentPage","paginationParams","showFirstDots","showLastDots","numberOfLinks","math","lastPageNumber","pageList","_this$paginationParam","pages","idx","_i","_i2","_i3","newValue","oldValue","$emit","created","_this","$nextTick","methods","handleKeyNav","shiftKey","isNav","propagation","focusFirst","focusPrev","focusLast","focusNext","getButtons","$el","btn","focusCurrent","_this2","find","el","_this3","_this4","reverse","_this5","buttons","indexOf","_this6","h","_this7","pageNumbers","_this$paginationParam2","fill","$buttons","isActivePage","pageNumber","noCurrentPage","makeEndBtn","linkTo","btnSlot","btnText","btnClass","pageTest","isDisabled","scope","$btnContent","normalizeSlot","$inner","class","linkProps","role","tabindex","ariaControls","on","onClick","keydown","makeEllipsis","isLast","makePageButton","active","tabIndex","btnContent","makePage","content","$firstPageBtn","offset","$lastPageBtn","$pagination","DEFAULT_PER_PAGE","DEFAULT_TOTAL_ROWS","totalRows","name","pageSizeNumberOfPages","clickEvt","cancelable","vueTarget","defaultPrevented","contains","pageNum","MODAL_SELECTOR","ROOT_EVENT_NAME_MODAL_HIDDEN","SIDEBAR_SELECTOR","CONTAINER_SELECTOR","DROPDOWN_CLASS","DROPDOWN_OPEN_SELECTOR","DATA_TITLE_ATTR","templateData","customClass","triggers","placement","fallbackPlacement","container","noFade","boundary","boundaryPadding","delay","arrowPadding","interactive","id","html","BVTooltip","activeTrigger","hover","focus","localShow","templateType","computedId","computedDelay","show","hide","computedTriggers","trim","toLowerCase","sort","isWithActiveTrigger","trigger","computedTemplateData","newTriggers","oldTriggers","unListen","listen","handleTemplateUpdate","disable","enable","$_tip","$_hoverTimeout","$_hoverState","$_visibleInterval","$_enabled","$_noop","bind","$parent","$once","$destroy","getTarget","document","body","scopeId","updated","deactivated","forceHide","beforeDestroy","setWhileOpenListeners","clearHoverTimeout","clearVisibilityInterval","destroyTemplate","getTemplate","updateData","titleUpdated","fixTitle","createTemplateAndShow","getContainer","Template","$tip","parent","propsData","getPlacementTarget","getBoundary","onTemplateShow","onTemplateShown","onTemplateHide","onTemplateHidden","$on","handleEvent","$mount","appendChild","createElement","hideTemplate","clearActiveTriggers","localPlacementTarget","_unused","removeAriaDescribedby","restoreTitle","getTemplateElement","dropdownOpen","showEvt","buildEvent","emitEvent","addAriaDescribedby","force","tip","hideEvt","prevHoverState","leave","replace","getTargetId","isInModal","isDropdown","clearTimeout","clearInterval","desc","d","options","relatedTarget","componentId","bvEvent","emitOnRoot","setRootListener","events","$root","method","doHide","doShow","doDisable","doEnable","setModalListener","setDropdownListener","visibleCheck","setOnTouchStartListener","_this8","setInterval","parentNode","_this9","documentElement","children","__vue__","enter","eventTarget","toggle","_this10","setTimeout","_this11","ALIGN_SELF_VALUES","computeBreakpoint","breakpoint","className","computeBreakpointClass","breakpointPropMap","generateProps","breakpoints","breakpointCol","reduce","breakpointOffset","breakpointOrder","col","order","alignSelf","cols","tag","functional","_classList$push","classList","_keys","c","hasColClasses","some","test","_makePropsConfigurabl","MODEL_PROP_NAME_ENABLED","MODEL_EVENT_NAME_ENABLED","MODEL_PROP_NAME_SHOW","MODEL_EVENT_NAME_SHOW","BTooltip","inheritAttrs","localTitle","localContent","noninteractive","$props","templateTitleContent","$_toolpop","updateContent","$off","doOpen","doClose","Component","getComponent","$toolpop","_scopeId","onShow","onShown","onHide","onHidden","onDisabled","onEnabled","setTitle","setContent","isObject","_typeof","isToday","date","today","Date","getDate","getMonth","getFullYear","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","TOPLEFT","TOPRIGHT","RIGHTTOP","RIGHTBOTTOM","BOTTOMLEFT","BOTTOMRIGHT","LEFTTOP","LEFTBOTTOM","OffsetMap","BVPopper","attachment","getAttachment","popperConfig","modifiers","getOffset","flip","behavior","arrow","element","preventOverflow","padding","boundariesElement","onCreate","originalPlacement","popperPlacementChange","onUpdate","$_popper","popperCreate","handleDestroy","beforeMount","updatePopper","destroyPopper","destroyed","removeChild","String","$refs","arrowOffset","width","destroy","scheduleUpdate","renderTemplate","appear","beforeEnter","afterEnter","beforeLeave","afterLeave","BVTooltipTemplate","extends","templateClasses","templateAttributes","$attrs","scopedStyleAttrs","templateListeners","mouseenter","mouseleave","focusin","focusout","$title","domProps","innerHTML","$t","sortDesc","$event","item","invoiceStatus","balance","dueDate","$router","toRouteName","params","plantid","BTable","BLink","Array","required","default"],"mappings":"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","file":"js/chunk-47d5a189.302c9387.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('order-list')}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',{attrs:{\"no-body\":\"\"}},[_c('div',{staticClass:\"m-2\"}),_c('order-list',{attrs:{\"orders\":_vm.fetchOrders,\"table-columns\":_vm.tableColumns,\"to-route-name\":'OrderDetail',\"sort-by\":_vm.sortBy,\"sort-desc\":_vm.isSortDirDesc}}),_c('div',{staticClass:\"mx-2 mb-2\"},[_c('b-row',[_c('b-col',{staticClass:\"d-flex align-items-center justify-content-center justify-content-sm-start\",attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('span',{staticClass:\"text-muted\"},[_vm._v(\"Showing \"+_vm._s(_vm.dataMeta.from)+\" to \"+_vm._s(_vm.dataMeta.to)+\" of \"+_vm._s(_vm.dataMeta.of)+\" entries\")])]),_c('b-col',{staticClass:\"d-flex align-items-center justify-content-center justify-content-sm-end\",attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('b-pagination',{staticClass:\"mb-0 mt-1 mt-sm-0\",attrs:{\"total-rows\":_vm.totalOrders,\"per-page\":_vm.perPage,\"first-number\":\"\",\"last-number\":\"\",\"prev-class\":\"prev-item\",\"next-class\":\"next-item\"},scopedSlots:_vm._u([{key:\"prev-text\",fn:function(){return [_c('feather-icon',{attrs:{\"icon\":\"ChevronLeftIcon\",\"size\":\"18\"}})]},proxy:true},{key:\"next-text\",fn:function(){return [_c('feather-icon',{attrs:{\"icon\":\"ChevronRightIcon\",\"size\":\"18\"}})]},proxy:true}]),model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}})],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { ref, watch, computed } from \"@vue/composition-api\";\nimport store from \"@/store\";\nimport VueI18n from \"@/libs/i18n\";\n\nimport dayjs from \"dayjs\";\n\n// Notification\nimport { useToast } from \"vue-toastification/composition\";\nimport ToastificationContent from \"@core/components/toastification/ToastificationContent.vue\";\n\nexport default function useOrdersList() {\n // Use toast\n const toast = useToast();\n\n const refInvoiceListTable = ref(null);\n\n // Table Handlers\n const tableColumns = [\n { key: \"plantname\", label: VueI18n.t(\"plantName\"), sortable: false },\n { key: \"adduser\", label: VueI18n.t(\"addUser\"), sortable: false },\n {\n key: \"duedate\",\n label: VueI18n.t(\"dueDate\"),\n sortable: false,\n formatter: (val) =>\n `${dayjs(val).locale(`${VueI18n.locale}`).format(\"DD MMMM YYYY\")}`,\n },\n {\n key: \"orderdate\",\n label: VueI18n.t(\"orderDate\"),\n sortable: false,\n formatter: (val) =>\n `${dayjs(val).locale(`${VueI18n.locale}`).format(\"DD MMMM YYYY\")}`,\n },\n { key: \"actions\", label: VueI18n.t(\"actions\") },\n ];\n const perPage = ref(10);\n const totalOrders = ref(0);\n const currentPage = ref(1);\n const perPageOptions = [10, 25, 50, 100];\n const searchQuery = ref(\"\");\n const sortBy = ref(\"id\");\n const isSortDirDesc = ref(true);\n const statusFilter = ref(null);\n\n const dataMeta = computed(() => {\n const localItemsCount = refInvoiceListTable.value\n ? refInvoiceListTable.value.localItems.length\n : 0;\n return {\n from: perPage.value * (currentPage.value - 1) + (localItemsCount ? 1 : 0),\n to: perPage.value * (currentPage.value - 1) + localItemsCount,\n of: totalOrders.value,\n };\n });\n\n const refetchData = () => {\n refInvoiceListTable.value.refresh();\n };\n\n watch([currentPage, perPage, searchQuery, statusFilter], () => {\n refetchData();\n });\n\n const fetchOrders = async (ctx, callback) => {\n var orders = await store\n .dispatch(\"ordersModule/fetchOrders\")\n\n .catch(() => {\n toast({\n component: ToastificationContent,\n props: {\n title: VueI18n.t(\"xFetchError\", { value: VueI18n.t(\"orders\") }),\n icon: \"AlertTriangleIcon\",\n variant: \"danger\",\n },\n });\n });\n return orders;\n };\n\n // *===============================================---*\n // *--------- UI ---------------------------------------*\n // *===============================================---*\n\n const resolveInvoiceStatusVariantAndIcon = (status) => {\n if (status === \"Partial Payment\")\n return { variant: \"warning\", icon: \"PieChartIcon\" };\n if (status === \"Paid\")\n return { variant: \"success\", icon: \"CheckCircleIcon\" };\n if (status === \"Downloaded\")\n return { variant: \"info\", icon: \"ArrowDownCircleIcon\" };\n if (status === \"Draft\") return { variant: \"primary\", icon: \"SaveIcon\" };\n if (status === \"Sent\") return { variant: \"secondary\", icon: \"SendIcon\" };\n if (status === \"Past Due\") return { variant: \"danger\", icon: \"InfoIcon\" };\n return { variant: \"secondary\", icon: \"XIcon\" };\n };\n\n const resolveClientAvatarVariant = (status) => {\n if (status === \"Partial Payment\") return \"primary\";\n if (status === \"Paid\") return \"danger\";\n if (status === \"Downloaded\") return \"secondary\";\n if (status === \"Draft\") return \"warning\";\n if (status === \"Sent\") return \"info\";\n if (status === \"Past Due\") return \"success\";\n return \"primary\";\n };\n\n return {\n fetchOrders,\n tableColumns,\n perPage,\n currentPage,\n totalOrders,\n dataMeta,\n perPageOptions,\n searchQuery,\n sortBy,\n isSortDirDesc,\n refInvoiceListTable,\n\n statusFilter,\n\n resolveInvoiceStatusVariantAndIcon,\n resolveClientAvatarVariant,\n\n refetchData,\n };\n}\n","\n \n \n \n \n \n \n \n \n Showing {{ dataMeta.from }} to {{ dataMeta.to }} of\n {{ dataMeta.of }} entries\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrderList.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrderList.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./OrderList.vue?vue&type=template&id=28cf1fdd&scoped=true\"\nimport script from \"./OrderList.vue?vue&type=script&lang=js\"\nexport * from \"./OrderList.vue?vue&type=script&lang=js\"\nimport style0 from \"./OrderList.vue?vue&type=style&index=0&id=28cf1fdd&prod&lang=scss&scoped=true\"\nimport style1 from \"./OrderList.vue?vue&type=style&index=1&id=28cf1fdd&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"28cf1fdd\",\n null\n \n)\n\nexport default component.exports","\n \n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Orders.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Orders.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Orders.vue?vue&type=template&id=9fb1c698\"\nimport script from \"./Orders.vue?vue&type=script&lang=js\"\nexport * from \"./Orders.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { isToday } from \"./utils\";\n\nexport const kFormatter = (num) =>\n num > 999 ? `${(num / 1000).toFixed(1)}k` : num;\n\nexport const title = (value, replacer = \" \") => {\n if (!value) return \"\";\n const str = value.toString();\n\n const arr = str.split(replacer);\n const capitalizedArray = [];\n arr.forEach((word) => {\n const capitalized = word.charAt(0).toUpperCase() + word.slice(1);\n capitalizedArray.push(capitalized);\n });\n return capitalizedArray.join(\" \");\n};\n\nexport const avatarText = (value) => {\n if (!value) return \"\";\n const nameArray = value.split(\" \");\n return nameArray.map((word) => word.charAt(0).toUpperCase()).join(\"\");\n};\n\n/**\n * Format and return date in Humanize format\n * Intl docs: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/format\n * Intl Constructor: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/DateTimeFormat\n * @param {String} value date to format\n * @param {Object} formatting Intl object to format with\n */\nexport const formatDate = (\n value,\n formatting = { month: \"short\", day: \"numeric\", year: \"numeric\" }\n) => {\n if (!value) return value;\n return new Intl.DateTimeFormat(\"en-US\", formatting).format(new Date(value));\n};\n\n/**\n * Return short human friendly month representation of date\n * Can also convert date to only time if date is of today (Better UX)\n * @param {String} value date to format\n * @param {Boolean} toTimeForCurrentDay Shall convert to time if day is today/current\n */\nexport const formatDateToMonthShort = (value, toTimeForCurrentDay = true) => {\n const date = new Date(value);\n let formatting = { month: \"short\", day: \"numeric\" };\n\n if (toTimeForCurrentDay && isToday(date)) {\n formatting = { hour: \"numeric\", minute: \"numeric\" };\n }\n\n return new Intl.DateTimeFormat(\"en-US\", formatting).format(new Date(value));\n};\n\n// Strip all the tags from markup and return plain text\nexport const filterTags = (value) => value.replace(/<\\/?[^>]+(>|$)/g, \"\");\n","'use strict';\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar isRegExp = require('../internals/is-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar speciesConstructor = require('../internals/species-constructor');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar arraySlice = require('../internals/array-slice-simple');\nvar callRegExpExec = require('../internals/regexp-exec-abstract');\nvar regexpExec = require('../internals/regexp-exec');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar fails = require('../internals/fails');\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\nvar MAX_UINT32 = 0xFFFFFFFF;\nvar min = Math.min;\nvar $push = [].push;\nvar exec = uncurryThis(/./.exec);\nvar push = uncurryThis($push);\nvar stringSlice = uncurryThis(''.slice);\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n // eslint-disable-next-line regexp/no-empty-group -- required for testing\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';\n});\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', function (SPLIT, nativeSplit, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'.split(/(b)*/)[1] === 'c' ||\n // eslint-disable-next-line regexp/no-empty-group -- required for testing\n 'test'.split(/(?:)/, -1).length !== 4 ||\n 'ab'.split(/(?:ab)*/).length !== 2 ||\n '.'.split(/(.?)(.?)/).length !== 4 ||\n // eslint-disable-next-line regexp/no-empty-capturing-group, regexp/no-empty-group -- required for testing\n '.'.split(/()()/).length > 1 ||\n ''.split(/.?/).length\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = toString(requireObjectCoercible(this));\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (separator === undefined) return [string];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) {\n return call(nativeSplit, string, separator, lim);\n }\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = call(regexpExec, separatorCopy, string)) {\n lastIndex = separatorCopy.lastIndex;\n if (lastIndex > lastLastIndex) {\n push(output, stringSlice(string, lastLastIndex, match.index));\n if (match.length > 1 && match.index < string.length) apply($push, output, arraySlice(match, 1));\n lastLength = match[0].length;\n lastLastIndex = lastIndex;\n if (output.length >= lim) break;\n }\n if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop\n }\n if (lastLastIndex === string.length) {\n if (lastLength || !exec(separatorCopy, '')) push(output, '');\n } else push(output, stringSlice(string, lastLastIndex));\n return output.length > lim ? arraySlice(output, 0, lim) : output;\n };\n // Chakra, V8\n } else if ('0'.split(undefined, 0).length) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : call(nativeSplit, this, separator, limit);\n };\n } else internalSplit = nativeSplit;\n\n return [\n // `String.prototype.split` method\n // https://tc39.es/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = requireObjectCoercible(this);\n var splitter = isNullOrUndefined(separator) ? undefined : getMethod(separator, SPLIT);\n return splitter\n ? call(splitter, separator, O, limit)\n : call(internalSplit, toString(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (string, limit) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(internalSplit, rx, S, limit, internalSplit !== nativeSplit);\n\n if (res.done) return res.value;\n\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (UNSUPPORTED_Y ? 'g' : 'y');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(UNSUPPORTED_Y ? '^(?:' + rx.source + ')' : rx, flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = UNSUPPORTED_Y ? 0 : q;\n var z = callRegExpExec(splitter, UNSUPPORTED_Y ? stringSlice(S, q) : S);\n var e;\n if (\n z === null ||\n (e = min(toLength(splitter.lastIndex + (UNSUPPORTED_Y ? q : 0)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n push(A, stringSlice(S, p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n push(A, z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n push(A, stringSlice(S, p));\n return A;\n }\n ];\n}, !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC, UNSUPPORTED_Y);\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 `` wrapper\n\n if (isNav) {\n return h('nav', {\n attrs: {\n 'aria-disabled': disabled ? 'true' : null,\n 'aria-hidden': disabled ? 'true' : 'false',\n 'aria-label': isNav ? ariaLabel || null : null\n }\n }, [$pagination]);\n }\n\n return $pagination;\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});","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrderList.vue?vue&type=style&index=0&id=28cf1fdd&prod&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrderList.vue?vue&type=style&index=1&id=28cf1fdd&prod&lang=scss\"","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\n// Tooltip \"Class\" (Built as a renderless Vue instance)\n//\n// Handles trigger events, etc.\n// Instantiates template on demand\nimport { COMPONENT_UID_KEY, Vue } from '../../../vue';\nimport { NAME_MODAL, NAME_TOOLTIP_HELPER } from '../../../constants/components';\nimport { EVENT_NAME_DISABLE, EVENT_NAME_DISABLED, EVENT_NAME_ENABLE, EVENT_NAME_ENABLED, EVENT_NAME_FOCUSIN, EVENT_NAME_FOCUSOUT, EVENT_NAME_HIDDEN, EVENT_NAME_HIDE, EVENT_NAME_MOUSEENTER, EVENT_NAME_MOUSELEAVE, EVENT_NAME_SHOW, EVENT_NAME_SHOWN, EVENT_OPTIONS_NO_CAPTURE, HOOK_EVENT_NAME_BEFORE_DESTROY, HOOK_EVENT_NAME_DESTROYED } from '../../../constants/events';\nimport { arrayIncludes, concat, from as arrayFrom } from '../../../utils/array';\nimport { attemptFocus, closest, contains, getAttr, getById, hasAttr, hasClass, isDisabled, isElement, isVisible, removeAttr, requestAF, select, setAttr } from '../../../utils/dom';\nimport { eventOff, eventOn, eventOnOff, getRootActionEventName, getRootEventName } from '../../../utils/events';\nimport { getScopeId } from '../../../utils/get-scope-id';\nimport { identity } from '../../../utils/identity';\nimport { isFunction, isNumber, isPlainObject, isString, isUndefined, isUndefinedOrNull } from '../../../utils/inspect';\nimport { looseEqual } from '../../../utils/loose-equal';\nimport { mathMax } from '../../../utils/math';\nimport { noop } from '../../../utils/noop';\nimport { toInteger } from '../../../utils/number';\nimport { keys } from '../../../utils/object';\nimport { warn } from '../../../utils/warn';\nimport { BvEvent } from '../../../utils/bv-event.class';\nimport { listenOnRootMixin } from '../../../mixins/listen-on-root';\nimport { BVTooltipTemplate } from './bv-tooltip-template'; // --- Constants ---\n// Modal container selector for appending tooltip/popover\n\nvar MODAL_SELECTOR = '.modal-content'; // Modal `$root` hidden event\n\nvar ROOT_EVENT_NAME_MODAL_HIDDEN = getRootEventName(NAME_MODAL, EVENT_NAME_HIDDEN); // Sidebar container selector for appending tooltip/popover\n\nvar SIDEBAR_SELECTOR = '.b-sidebar'; // For finding the container to append to\n\nvar CONTAINER_SELECTOR = [MODAL_SELECTOR, SIDEBAR_SELECTOR].join(', '); // For dropdown sniffing\n\nvar DROPDOWN_CLASS = 'dropdown';\nvar DROPDOWN_OPEN_SELECTOR = '.dropdown-menu.show'; // Data attribute to temporary store the `title` attribute's value\n\nvar DATA_TITLE_ATTR = 'data-original-title'; // Data specific to popper and template\n// We don't use props, as we need reactivity (we can't pass reactive props)\n\nvar templateData = {\n // Text string or Scoped slot function\n title: '',\n // Text string or Scoped slot function\n content: '',\n // String\n variant: null,\n // String, Array, Object\n customClass: null,\n // String or array of Strings (overwritten by BVPopper)\n triggers: '',\n // String (overwritten by BVPopper)\n placement: 'auto',\n // String or array of strings\n fallbackPlacement: 'flip',\n // Element or Component reference (or function that returns element) of\n // the element that will have the trigger events bound, and is also\n // default element for positioning\n target: null,\n // HTML ID, Element or Component reference\n container: null,\n // 'body'\n // Boolean\n noFade: false,\n // 'scrollParent', 'viewport', 'window', Element, or Component reference\n boundary: 'scrollParent',\n // Tooltip/popover will try and stay away from\n // boundary edge by this many pixels (Number)\n boundaryPadding: 5,\n // Arrow offset (Number)\n offset: 0,\n // Hover/focus delay (Number or Object)\n delay: 0,\n // Arrow of Tooltip/popover will try and stay away from\n // the edge of tooltip/popover edge by this many pixels\n arrowPadding: 6,\n // Interactive state (Boolean)\n interactive: true,\n // Disabled state (Boolean)\n disabled: false,\n // ID to use for tooltip/popover\n id: null,\n // Flag used by directives only, for HTML content\n html: false\n}; // --- Main component ---\n// @vue/component\n\nexport var BVTooltip = /*#__PURE__*/Vue.extend({\n name: NAME_TOOLTIP_HELPER,\n mixins: [listenOnRootMixin],\n data: function data() {\n return _objectSpread(_objectSpread({}, templateData), {}, {\n // State management data\n activeTrigger: {\n // manual: false,\n hover: false,\n click: false,\n focus: false\n },\n localShow: false\n });\n },\n computed: {\n templateType: function templateType() {\n // Overwritten by BVPopover\n return 'tooltip';\n },\n computedId: function computedId() {\n return this.id || \"__bv_\".concat(this.templateType, \"_\").concat(this[COMPONENT_UID_KEY], \"__\");\n },\n computedDelay: function computedDelay() {\n // Normalizes delay into object form\n var delay = {\n show: 0,\n hide: 0\n };\n\n if (isPlainObject(this.delay)) {\n delay.show = mathMax(toInteger(this.delay.show, 0), 0);\n delay.hide = mathMax(toInteger(this.delay.hide, 0), 0);\n } else if (isNumber(this.delay) || isString(this.delay)) {\n delay.show = delay.hide = mathMax(toInteger(this.delay, 0), 0);\n }\n\n return delay;\n },\n computedTriggers: function computedTriggers() {\n // Returns the triggers in sorted array form\n // TODO: Switch this to object form for easier lookup\n return concat(this.triggers).filter(identity).join(' ').trim().toLowerCase().split(/\\s+/).sort();\n },\n isWithActiveTrigger: function isWithActiveTrigger() {\n for (var trigger in this.activeTrigger) {\n if (this.activeTrigger[trigger]) {\n return true;\n }\n }\n\n return false;\n },\n computedTemplateData: function computedTemplateData() {\n var title = this.title,\n content = this.content,\n variant = this.variant,\n customClass = this.customClass,\n noFade = this.noFade,\n interactive = this.interactive;\n return {\n title: title,\n content: content,\n variant: variant,\n customClass: customClass,\n noFade: noFade,\n interactive: interactive\n };\n }\n },\n watch: {\n computedTriggers: function computedTriggers(newTriggers, oldTriggers) {\n var _this = this;\n\n // Triggers have changed, so re-register them\n\n /* istanbul ignore next */\n if (!looseEqual(newTriggers, oldTriggers)) {\n this.$nextTick(function () {\n // Disable trigger listeners\n _this.unListen(); // Clear any active triggers that are no longer in the list of triggers\n\n\n oldTriggers.forEach(function (trigger) {\n if (!arrayIncludes(newTriggers, trigger)) {\n if (_this.activeTrigger[trigger]) {\n _this.activeTrigger[trigger] = false;\n }\n }\n }); // Re-enable the trigger listeners\n\n _this.listen();\n });\n }\n },\n computedTemplateData: function computedTemplateData() {\n // If any of the while open reactive \"props\" change,\n // ensure that the template updates accordingly\n this.handleTemplateUpdate();\n },\n title: function title(newValue, oldValue) {\n // Make sure to hide the tooltip when the title is set empty\n if (newValue !== oldValue && !newValue) {\n this.hide();\n }\n },\n disabled: function disabled(newValue) {\n if (newValue) {\n this.disable();\n } else {\n this.enable();\n }\n }\n },\n created: function created() {\n var _this2 = this;\n\n // Create non-reactive properties\n this.$_tip = null;\n this.$_hoverTimeout = null;\n this.$_hoverState = '';\n this.$_visibleInterval = null;\n this.$_enabled = !this.disabled;\n this.$_noop = noop.bind(this); // Destroy ourselves when the parent is destroyed\n\n if (this.$parent) {\n this.$parent.$once(HOOK_EVENT_NAME_BEFORE_DESTROY, function () {\n _this2.$nextTick(function () {\n // In a `requestAF()` to release control back to application\n requestAF(function () {\n _this2.$destroy();\n });\n });\n });\n }\n\n this.$nextTick(function () {\n var target = _this2.getTarget();\n\n if (target && contains(document.body, target)) {\n // Copy the parent's scoped style attribute\n _this2.scopeId = getScopeId(_this2.$parent); // Set up all trigger handlers and listeners\n\n _this2.listen();\n } else {\n /* istanbul ignore next */\n warn(isString(_this2.target) ? \"Unable to find target element by ID \\\"#\".concat(_this2.target, \"\\\" in document.\") : 'The provided target is no valid HTML element.', _this2.templateType);\n }\n });\n },\n\n /* istanbul ignore next */\n updated: function updated() {\n // Usually called when the slots/data changes\n this.$nextTick(this.handleTemplateUpdate);\n },\n\n /* istanbul ignore next */\n deactivated: function deactivated() {\n // In a keepalive that has been deactivated, so hide\n // the tooltip/popover if it is showing\n this.forceHide();\n },\n beforeDestroy: function beforeDestroy() {\n // Remove all handler/listeners\n this.unListen();\n this.setWhileOpenListeners(false); // Clear any timeouts/intervals\n\n this.clearHoverTimeout();\n this.clearVisibilityInterval(); // Destroy the template\n\n this.destroyTemplate(); // Remove any other private properties created during create\n\n this.$_noop = null;\n },\n methods: {\n // --- Methods for creating and destroying the template ---\n getTemplate: function getTemplate() {\n // Overridden by BVPopover\n return BVTooltipTemplate;\n },\n updateData: function updateData() {\n var _this3 = this;\n\n var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n // Method for updating popper/template data\n // We only update data if it exists, and has not changed\n var titleUpdated = false;\n keys(templateData).forEach(function (prop) {\n if (!isUndefined(data[prop]) && _this3[prop] !== data[prop]) {\n _this3[prop] = data[prop];\n\n if (prop === 'title') {\n titleUpdated = true;\n }\n }\n }); // If the title has updated, we may need to handle the `title`\n // attribute on the trigger target\n // We only do this while the template is open\n\n if (titleUpdated && this.localShow) {\n this.fixTitle();\n }\n },\n createTemplateAndShow: function createTemplateAndShow() {\n // Creates the template instance and show it\n var container = this.getContainer();\n var Template = this.getTemplate();\n var $tip = this.$_tip = new Template({\n parent: this,\n // The following is not reactive to changes in the props data\n propsData: {\n // These values cannot be changed while template is showing\n id: this.computedId,\n html: this.html,\n placement: this.placement,\n fallbackPlacement: this.fallbackPlacement,\n target: this.getPlacementTarget(),\n boundary: this.getBoundary(),\n // Ensure the following are integers\n offset: toInteger(this.offset, 0),\n arrowPadding: toInteger(this.arrowPadding, 0),\n boundaryPadding: toInteger(this.boundaryPadding, 0)\n }\n }); // We set the initial reactive data (values that can be changed while open)\n\n this.handleTemplateUpdate(); // Template transition phase events (handled once only)\n // When the template has mounted, but not visibly shown yet\n\n $tip.$once(EVENT_NAME_SHOW, this.onTemplateShow); // When the template has completed showing\n\n $tip.$once(EVENT_NAME_SHOWN, this.onTemplateShown); // When the template has started to hide\n\n $tip.$once(EVENT_NAME_HIDE, this.onTemplateHide); // When the template has completed hiding\n\n $tip.$once(EVENT_NAME_HIDDEN, this.onTemplateHidden); // When the template gets destroyed for any reason\n\n $tip.$once(HOOK_EVENT_NAME_DESTROYED, this.destroyTemplate); // Convenience events from template\n // To save us from manually adding/removing DOM\n // listeners to tip element when it is open\n\n $tip.$on(EVENT_NAME_FOCUSIN, this.handleEvent);\n $tip.$on(EVENT_NAME_FOCUSOUT, this.handleEvent);\n $tip.$on(EVENT_NAME_MOUSEENTER, this.handleEvent);\n $tip.$on(EVENT_NAME_MOUSELEAVE, this.handleEvent); // Mount (which triggers the `show`)\n\n $tip.$mount(container.appendChild(document.createElement('div'))); // Template will automatically remove its markup from DOM when hidden\n },\n hideTemplate: function hideTemplate() {\n // Trigger the template to start hiding\n // The template will emit the `hide` event after this and\n // then emit the `hidden` event once it is fully hidden\n // The `hook:destroyed` will also be called (safety measure)\n this.$_tip && this.$_tip.hide(); // Clear out any stragging active triggers\n\n this.clearActiveTriggers(); // Reset the hover state\n\n this.$_hoverState = '';\n },\n // Destroy the template instance and reset state\n destroyTemplate: function destroyTemplate() {\n this.setWhileOpenListeners(false);\n this.clearHoverTimeout();\n this.$_hoverState = '';\n this.clearActiveTriggers();\n this.localPlacementTarget = null;\n\n try {\n this.$_tip.$destroy();\n } catch (_unused) {}\n\n this.$_tip = null;\n this.removeAriaDescribedby();\n this.restoreTitle();\n this.localShow = false;\n },\n getTemplateElement: function getTemplateElement() {\n return this.$_tip ? this.$_tip.$el : null;\n },\n handleTemplateUpdate: function handleTemplateUpdate() {\n var _this4 = this;\n\n // Update our template title/content \"props\"\n // So that the template updates accordingly\n var $tip = this.$_tip;\n\n if ($tip) {\n var props = ['title', 'content', 'variant', 'customClass', 'noFade', 'interactive']; // Only update the values if they have changed\n\n props.forEach(function (prop) {\n if ($tip[prop] !== _this4[prop]) {\n $tip[prop] = _this4[prop];\n }\n });\n }\n },\n // --- Show/Hide handlers ---\n // Show the tooltip\n show: function show() {\n var target = this.getTarget();\n\n if (!target || !contains(document.body, target) || !isVisible(target) || this.dropdownOpen() || (isUndefinedOrNull(this.title) || this.title === '') && (isUndefinedOrNull(this.content) || this.content === '')) {\n // If trigger element isn't in the DOM or is not visible, or\n // is on an open dropdown toggle, or has no content, then\n // we exit without showing\n return;\n } // If tip already exists, exit early\n\n\n if (this.$_tip || this.localShow) {\n /* istanbul ignore next */\n return;\n } // In the process of showing\n\n\n this.localShow = true; // Create a cancelable BvEvent\n\n var showEvt = this.buildEvent(EVENT_NAME_SHOW, {\n cancelable: true\n });\n this.emitEvent(showEvt); // Don't show if event cancelled\n\n /* istanbul ignore if */\n\n if (showEvt.defaultPrevented) {\n // Destroy the template (if for some reason it was created)\n this.destroyTemplate();\n return;\n } // Fix the title attribute on target\n\n\n this.fixTitle(); // Set aria-describedby on target\n\n this.addAriaDescribedby(); // Create and show the tooltip\n\n this.createTemplateAndShow();\n },\n hide: function hide() {\n var force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n // Hide the tooltip\n var tip = this.getTemplateElement();\n /* istanbul ignore if */\n\n if (!tip || !this.localShow) {\n this.restoreTitle();\n return;\n } // Emit cancelable BvEvent 'hide'\n // We disable cancelling if `force` is true\n\n\n var hideEvt = this.buildEvent(EVENT_NAME_HIDE, {\n cancelable: !force\n });\n this.emitEvent(hideEvt);\n /* istanbul ignore if: ignore for now */\n\n if (hideEvt.defaultPrevented) {\n // Don't hide if event cancelled\n return;\n } // Tell the template to hide\n\n\n this.hideTemplate();\n },\n forceHide: function forceHide() {\n // Forcefully hides/destroys the template, regardless of any active triggers\n var tip = this.getTemplateElement();\n\n if (!tip || !this.localShow) {\n /* istanbul ignore next */\n return;\n } // Disable while open listeners/watchers\n // This is also done in the template `hide` event handler\n\n\n this.setWhileOpenListeners(false); // Clear any hover enter/leave event\n\n this.clearHoverTimeout();\n this.$_hoverState = '';\n this.clearActiveTriggers(); // Disable the fade animation on the template\n\n if (this.$_tip) {\n this.$_tip.noFade = true;\n } // Hide the tip (with force = true)\n\n\n this.hide(true);\n },\n enable: function enable() {\n this.$_enabled = true; // Create a non-cancelable BvEvent\n\n this.emitEvent(this.buildEvent(EVENT_NAME_ENABLED));\n },\n disable: function disable() {\n this.$_enabled = false; // Create a non-cancelable BvEvent\n\n this.emitEvent(this.buildEvent(EVENT_NAME_DISABLED));\n },\n // --- Handlers for template events ---\n // When template is inserted into DOM, but not yet shown\n onTemplateShow: function onTemplateShow() {\n // Enable while open listeners/watchers\n this.setWhileOpenListeners(true);\n },\n // When template show transition completes\n onTemplateShown: function onTemplateShown() {\n var prevHoverState = this.$_hoverState;\n this.$_hoverState = '';\n /* istanbul ignore next: occasional Node 10 coverage error */\n\n if (prevHoverState === 'out') {\n this.leave(null);\n } // Emit a non-cancelable BvEvent 'shown'\n\n\n this.emitEvent(this.buildEvent(EVENT_NAME_SHOWN));\n },\n // When template is starting to hide\n onTemplateHide: function onTemplateHide() {\n // Disable while open listeners/watchers\n this.setWhileOpenListeners(false);\n },\n // When template has completed closing (just before it self destructs)\n onTemplateHidden: function onTemplateHidden() {\n // Destroy the template\n this.destroyTemplate(); // Emit a non-cancelable BvEvent 'shown'\n\n this.emitEvent(this.buildEvent(EVENT_NAME_HIDDEN));\n },\n // --- Helper methods ---\n getTarget: function getTarget() {\n var target = this.target;\n\n if (isString(target)) {\n target = getById(target.replace(/^#/, ''));\n } else if (isFunction(target)) {\n target = target();\n } else if (target) {\n target = target.$el || target;\n }\n\n return isElement(target) ? target : null;\n },\n getPlacementTarget: function getPlacementTarget() {\n // This is the target that the tooltip will be placed on, which may not\n // necessarily be the same element that has the trigger event listeners\n // For now, this is the same as target\n // TODO:\n // Add in child selector support\n // Add in visibility checks for this element\n // Fallback to target if not found\n return this.getTarget();\n },\n getTargetId: function getTargetId() {\n // Returns the ID of the trigger element\n var target = this.getTarget();\n return target && target.id ? target.id : null;\n },\n getContainer: function getContainer() {\n // Handle case where container may be a component ref\n var container = this.container ? this.container.$el || this.container : false;\n var body = document.body;\n var target = this.getTarget(); // If we are in a modal, we append to the modal, If we\n // are in a sidebar, we append to the sidebar, else append\n // to body, unless a container is specified\n // TODO:\n // Template should periodically check to see if it is in dom\n // And if not, self destruct (if container got v-if'ed out of DOM)\n // Or this could possibly be part of the visibility check\n\n return container === false ? closest(CONTAINER_SELECTOR, target) || body :\n /*istanbul ignore next */\n isString(container) ?\n /*istanbul ignore next */\n getById(container.replace(/^#/, '')) || body :\n /*istanbul ignore next */\n body;\n },\n getBoundary: function getBoundary() {\n return this.boundary ? this.boundary.$el || this.boundary : 'scrollParent';\n },\n isInModal: function isInModal() {\n var target = this.getTarget();\n return target && closest(MODAL_SELECTOR, target);\n },\n isDropdown: function isDropdown() {\n // Returns true if trigger is a dropdown\n var target = this.getTarget();\n return target && hasClass(target, DROPDOWN_CLASS);\n },\n dropdownOpen: function dropdownOpen() {\n // Returns true if trigger is a dropdown and the dropdown menu is open\n var target = this.getTarget();\n return this.isDropdown() && target && select(DROPDOWN_OPEN_SELECTOR, target);\n },\n clearHoverTimeout: function clearHoverTimeout() {\n clearTimeout(this.$_hoverTimeout);\n this.$_hoverTimeout = null;\n },\n clearVisibilityInterval: function clearVisibilityInterval() {\n clearInterval(this.$_visibleInterval);\n this.$_visibleInterval = null;\n },\n clearActiveTriggers: function clearActiveTriggers() {\n for (var trigger in this.activeTrigger) {\n this.activeTrigger[trigger] = false;\n }\n },\n addAriaDescribedby: function addAriaDescribedby() {\n // Add aria-describedby on trigger element, without removing any other IDs\n var target = this.getTarget();\n var desc = getAttr(target, 'aria-describedby') || '';\n desc = desc.split(/\\s+/).concat(this.computedId).join(' ').trim(); // Update/add aria-described by\n\n setAttr(target, 'aria-describedby', desc);\n },\n removeAriaDescribedby: function removeAriaDescribedby() {\n var _this5 = this;\n\n // Remove aria-describedby on trigger element, without removing any other IDs\n var target = this.getTarget();\n var desc = getAttr(target, 'aria-describedby') || '';\n desc = desc.split(/\\s+/).filter(function (d) {\n return d !== _this5.computedId;\n }).join(' ').trim(); // Update or remove aria-describedby\n\n if (desc) {\n /* istanbul ignore next */\n setAttr(target, 'aria-describedby', desc);\n } else {\n removeAttr(target, 'aria-describedby');\n }\n },\n fixTitle: function fixTitle() {\n // If the target has a `title` attribute,\n // remove it and store it on a data attribute\n var target = this.getTarget();\n\n if (hasAttr(target, 'title')) {\n // Get `title` attribute value and remove it from target\n var title = getAttr(target, 'title');\n setAttr(target, 'title', ''); // Only set the data attribute when the value is truthy\n\n if (title) {\n setAttr(target, DATA_TITLE_ATTR, title);\n }\n }\n },\n restoreTitle: function restoreTitle() {\n // If the target had a `title` attribute,\n // restore it and remove the data attribute\n var target = this.getTarget();\n\n if (hasAttr(target, DATA_TITLE_ATTR)) {\n // Get data attribute value and remove it from target\n var title = getAttr(target, DATA_TITLE_ATTR);\n removeAttr(target, DATA_TITLE_ATTR); // Only restore the `title` attribute when the value is truthy\n\n if (title) {\n setAttr(target, 'title', title);\n }\n }\n },\n // --- BvEvent helpers ---\n buildEvent: function buildEvent(type) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n // Defaults to a non-cancellable event\n return new BvEvent(type, _objectSpread({\n cancelable: false,\n target: this.getTarget(),\n relatedTarget: this.getTemplateElement() || null,\n componentId: this.computedId,\n vueTarget: this\n }, options));\n },\n emitEvent: function emitEvent(bvEvent) {\n var type = bvEvent.type;\n this.emitOnRoot(getRootEventName(this.templateType, type), bvEvent);\n this.$emit(type, bvEvent);\n },\n // --- Event handler setup methods ---\n listen: function listen() {\n var _this6 = this;\n\n // Enable trigger event handlers\n var el = this.getTarget();\n\n if (!el) {\n /* istanbul ignore next */\n return;\n } // Listen for global show/hide events\n\n\n this.setRootListener(true); // Set up our listeners on the target trigger element\n\n this.computedTriggers.forEach(function (trigger) {\n if (trigger === 'click') {\n eventOn(el, 'click', _this6.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n } else if (trigger === 'focus') {\n eventOn(el, 'focusin', _this6.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n eventOn(el, 'focusout', _this6.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n } else if (trigger === 'blur') {\n // Used to close $tip when element looses focus\n\n /* istanbul ignore next */\n eventOn(el, 'focusout', _this6.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n } else if (trigger === 'hover') {\n eventOn(el, 'mouseenter', _this6.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n eventOn(el, 'mouseleave', _this6.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n }\n }, this);\n },\n\n /* istanbul ignore next */\n unListen: function unListen() {\n var _this7 = this;\n\n // Remove trigger event handlers\n var events = ['click', 'focusin', 'focusout', 'mouseenter', 'mouseleave'];\n var target = this.getTarget(); // Stop listening for global show/hide/enable/disable events\n\n this.setRootListener(false); // Clear out any active target listeners\n\n events.forEach(function (event) {\n target && eventOff(target, event, _this7.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n }, this);\n },\n setRootListener: function setRootListener(on) {\n // Listen for global `bv::{hide|show}::{tooltip|popover}` hide request event\n var $root = this.$root;\n\n if ($root) {\n var method = on ? '$on' : '$off';\n var type = this.templateType;\n $root[method](getRootActionEventName(type, EVENT_NAME_HIDE), this.doHide);\n $root[method](getRootActionEventName(type, EVENT_NAME_SHOW), this.doShow);\n $root[method](getRootActionEventName(type, EVENT_NAME_DISABLE), this.doDisable);\n $root[method](getRootActionEventName(type, EVENT_NAME_ENABLE), this.doEnable);\n }\n },\n setWhileOpenListeners: function setWhileOpenListeners(on) {\n // Events that are only registered when the template is showing\n // Modal close events\n this.setModalListener(on); // Dropdown open events (if we are attached to a dropdown)\n\n this.setDropdownListener(on); // Periodic $element visibility check\n // For handling when tip target is in , tabs, carousel, etc\n\n this.visibleCheck(on); // On-touch start listeners\n\n this.setOnTouchStartListener(on);\n },\n // Handler for periodic visibility check\n visibleCheck: function visibleCheck(on) {\n var _this8 = this;\n\n this.clearVisibilityInterval();\n var target = this.getTarget();\n var tip = this.getTemplateElement();\n\n if (on) {\n this.$_visibleInterval = setInterval(function () {\n if (tip && _this8.localShow && (!target.parentNode || !isVisible(target))) {\n // Target element is no longer visible or not in DOM, so force-hide the tooltip\n _this8.forceHide();\n }\n }, 100);\n }\n },\n setModalListener: function setModalListener(on) {\n // Handle case where tooltip/target is in a modal\n if (this.isInModal()) {\n // We can listen for modal hidden events on `$root`\n this.$root[on ? '$on' : '$off'](ROOT_EVENT_NAME_MODAL_HIDDEN, this.forceHide);\n }\n },\n\n /* istanbul ignore next: JSDOM doesn't support `ontouchstart` */\n setOnTouchStartListener: function setOnTouchStartListener(on) {\n var _this9 = this;\n\n // If this is a touch-enabled device we add extra empty\n // `mouseover` listeners to the body's immediate children\n // Only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n arrayFrom(document.body.children).forEach(function (el) {\n eventOnOff(on, el, 'mouseover', _this9.$_noop);\n });\n }\n },\n setDropdownListener: function setDropdownListener(on) {\n var target = this.getTarget();\n\n if (!target || !this.$root || !this.isDropdown) {\n return;\n } // We can listen for dropdown shown events on its instance\n // TODO:\n // We could grab the ID from the dropdown, and listen for\n // $root events for that particular dropdown id\n // Dropdown shown and hidden events will need to emit\n // Note: Dropdown auto-ID happens in a `$nextTick()` after mount\n // So the ID lookup would need to be done in a `$nextTick()`\n\n\n if (target.__vue__) {\n target.__vue__[on ? '$on' : '$off'](EVENT_NAME_SHOWN, this.forceHide);\n }\n },\n // --- Event handlers ---\n handleEvent: function handleEvent(event) {\n // General trigger event handler\n // target is the trigger element\n var target = this.getTarget();\n\n if (!target || isDisabled(target) || !this.$_enabled || this.dropdownOpen()) {\n // If disabled or not enabled, or if a dropdown that is open, don't do anything\n // If tip is shown before element gets disabled, then tip will not\n // close until no longer disabled or forcefully closed\n return;\n }\n\n var type = event.type;\n var triggers = this.computedTriggers;\n\n if (type === 'click' && arrayIncludes(triggers, 'click')) {\n this.click(event);\n } else if (type === 'mouseenter' && arrayIncludes(triggers, 'hover')) {\n // `mouseenter` is a non-bubbling event\n this.enter(event);\n } else if (type === 'focusin' && arrayIncludes(triggers, 'focus')) {\n // `focusin` is a bubbling event\n // `event` includes `relatedTarget` (element losing focus)\n this.enter(event);\n } else if (type === 'focusout' && (arrayIncludes(triggers, 'focus') || arrayIncludes(triggers, 'blur')) || type === 'mouseleave' && arrayIncludes(triggers, 'hover')) {\n // `focusout` is a bubbling event\n // `mouseleave` is a non-bubbling event\n // `tip` is the template (will be null if not open)\n var tip = this.getTemplateElement(); // `eventTarget` is the element which is losing focus/hover and\n\n var eventTarget = event.target; // `relatedTarget` is the element gaining focus/hover\n\n var relatedTarget = event.relatedTarget;\n /* istanbul ignore next */\n\n if ( // From tip to target\n tip && contains(tip, eventTarget) && contains(target, relatedTarget) || // From target to tip\n tip && contains(target, eventTarget) && contains(tip, relatedTarget) || // Within tip\n tip && contains(tip, eventTarget) && contains(tip, relatedTarget) || // Within target\n contains(target, eventTarget) && contains(target, relatedTarget)) {\n // If focus/hover moves within `tip` and `target`, don't trigger a leave\n return;\n } // Otherwise trigger a leave\n\n\n this.leave(event);\n }\n },\n doHide: function doHide(id) {\n // Programmatically hide tooltip or popover\n if (!id || this.getTargetId() === id || this.computedId === id) {\n // Close all tooltips or popovers, or this specific tip (with ID)\n this.forceHide();\n }\n },\n doShow: function doShow(id) {\n // Programmatically show tooltip or popover\n if (!id || this.getTargetId() === id || this.computedId === id) {\n // Open all tooltips or popovers, or this specific tip (with ID)\n this.show();\n }\n },\n\n /*istanbul ignore next: ignore for now */\n doDisable: function doDisable(id)\n /*istanbul ignore next: ignore for now */\n {\n // Programmatically disable tooltip or popover\n if (!id || this.getTargetId() === id || this.computedId === id) {\n // Disable all tooltips or popovers (no ID), or this specific tip (with ID)\n this.disable();\n }\n },\n\n /*istanbul ignore next: ignore for now */\n doEnable: function doEnable(id)\n /*istanbul ignore next: ignore for now */\n {\n // Programmatically enable tooltip or popover\n if (!id || this.getTargetId() === id || this.computedId === id) {\n // Enable all tooltips or popovers (no ID), or this specific tip (with ID)\n this.enable();\n }\n },\n click: function click(event) {\n if (!this.$_enabled || this.dropdownOpen()) {\n /* istanbul ignore next */\n return;\n } // Get around a WebKit bug where `click` does not trigger focus events\n // On most browsers, `click` triggers a `focusin`/`focus` event first\n // Needed so that trigger 'click blur' works on iOS\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/5099\n // We use `currentTarget` rather than `target` to trigger on the\n // element, not the inner content\n\n\n attemptFocus(event.currentTarget);\n this.activeTrigger.click = !this.activeTrigger.click;\n\n if (this.isWithActiveTrigger) {\n this.enter(null);\n } else {\n /* istanbul ignore next */\n this.leave(null);\n }\n },\n\n /* istanbul ignore next */\n toggle: function toggle() {\n // Manual toggle handler\n if (!this.$_enabled || this.dropdownOpen()) {\n /* istanbul ignore next */\n return;\n } // Should we register as an active trigger?\n // this.activeTrigger.manual = !this.activeTrigger.manual\n\n\n if (this.localShow) {\n this.leave(null);\n } else {\n this.enter(null);\n }\n },\n enter: function enter() {\n var _this10 = this;\n\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n // Opening trigger handler\n // Note: Click events are sent with event === null\n if (event) {\n this.activeTrigger[event.type === 'focusin' ? 'focus' : 'hover'] = true;\n }\n /* istanbul ignore next */\n\n\n if (this.localShow || this.$_hoverState === 'in') {\n this.$_hoverState = 'in';\n return;\n }\n\n this.clearHoverTimeout();\n this.$_hoverState = 'in';\n\n if (!this.computedDelay.show) {\n this.show();\n } else {\n // Hide any title attribute while enter delay is active\n this.fixTitle();\n this.$_hoverTimeout = setTimeout(function () {\n /* istanbul ignore else */\n if (_this10.$_hoverState === 'in') {\n _this10.show();\n } else if (!_this10.localShow) {\n _this10.restoreTitle();\n }\n }, this.computedDelay.show);\n }\n },\n leave: function leave() {\n var _this11 = this;\n\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n // Closing trigger handler\n // Note: Click events are sent with event === null\n if (event) {\n this.activeTrigger[event.type === 'focusout' ? 'focus' : 'hover'] = false;\n /* istanbul ignore next */\n\n if (event.type === 'focusout' && arrayIncludes(this.computedTriggers, 'blur')) {\n // Special case for `blur`: we clear out the other triggers\n this.activeTrigger.click = false;\n this.activeTrigger.hover = false;\n }\n }\n /* istanbul ignore next: ignore for now */\n\n\n if (this.isWithActiveTrigger) {\n return;\n }\n\n this.clearHoverTimeout();\n this.$_hoverState = 'out';\n\n if (!this.computedDelay.hide) {\n this.hide();\n } else {\n this.$_hoverTimeout = setTimeout(function () {\n if (_this11.$_hoverState === 'out') {\n _this11.hide();\n }\n }, this.computedDelay.hide);\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 { mergeData } from '../../vue';\nimport { NAME_COL } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_NUMBER_STRING, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { RX_COL_CLASS } from '../../constants/regex';\nimport { arrayIncludes } from '../../utils/array';\nimport { getBreakpointsUpCached } from '../../utils/config';\nimport { identity } from '../../utils/identity';\nimport { isUndefinedOrNull } from '../../utils/inspect';\nimport { memoize } from '../../utils/memoize';\nimport { assign, create, keys, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, suffixPropName } from '../../utils/props';\nimport { lowerCase } from '../../utils/string'; // --- Constants ---\n\nvar ALIGN_SELF_VALUES = ['auto', 'start', 'end', 'center', 'baseline', 'stretch']; // --- Helper methods ---\n// Compute a breakpoint class name\n\nvar computeBreakpoint = function computeBreakpoint(type, breakpoint, value) {\n var className = type;\n\n if (isUndefinedOrNull(value) || value === false) {\n return undefined;\n }\n\n if (breakpoint) {\n className += \"-\".concat(breakpoint);\n } // Handling the boolean style prop when accepting `[Boolean, String, Number]`\n // means Vue will not convert `` to `sm: true` for us\n // Since the default is `false`, '' indicates the prop's presence\n\n\n if (type === 'col' && (value === '' || value === true)) {\n // .col-md\n return lowerCase(className);\n } // .order-md-6\n\n\n className += \"-\".concat(value);\n return lowerCase(className);\n}; // Memoized function for better performance on generating class names\n\n\nvar computeBreakpointClass = memoize(computeBreakpoint); // Cached copy of the breakpoint prop names\n\nvar breakpointPropMap = create(null); // --- Props ---\n// Prop generator for lazy generation of props\n\nexport var generateProps = function generateProps() {\n // Grab the breakpoints from the cached config (exclude the '' (xs) breakpoint)\n var breakpoints = getBreakpointsUpCached().filter(identity); // i.e. 'col-sm', 'col-md-6', 'col-lg-auto', ...\n\n var breakpointCol = breakpoints.reduce(function (props, breakpoint) {\n props[breakpoint] = makeProp(PROP_TYPE_BOOLEAN_NUMBER_STRING);\n return props;\n }, create(null)); // i.e. 'offset-md-1', 'offset-lg-12', ...\n\n var breakpointOffset = breakpoints.reduce(function (props, breakpoint) {\n props[suffixPropName(breakpoint, 'offset')] = makeProp(PROP_TYPE_NUMBER_STRING);\n return props;\n }, create(null)); // i.e. 'order-md-1', 'order-lg-12', ...\n\n var breakpointOrder = breakpoints.reduce(function (props, breakpoint) {\n props[suffixPropName(breakpoint, 'order')] = makeProp(PROP_TYPE_NUMBER_STRING);\n return props;\n }, create(null)); // For loop doesn't need to check `.hasOwnProperty()`\n // when using an object created from `null`\n\n breakpointPropMap = assign(create(null), {\n col: keys(breakpointCol),\n offset: keys(breakpointOffset),\n order: keys(breakpointOrder)\n }); // Return the generated props\n\n return makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, breakpointCol), breakpointOffset), breakpointOrder), {}, {\n // Flex alignment\n alignSelf: makeProp(PROP_TYPE_STRING, null, function (value) {\n return arrayIncludes(ALIGN_SELF_VALUES, value);\n }),\n // Generic flexbox 'col' (xs)\n col: makeProp(PROP_TYPE_BOOLEAN, false),\n // i.e. 'col-1', 'col-2', 'col-auto', ...\n cols: makeProp(PROP_TYPE_NUMBER_STRING),\n offset: makeProp(PROP_TYPE_NUMBER_STRING),\n order: makeProp(PROP_TYPE_NUMBER_STRING),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n })), NAME_COL);\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 BCol = {\n name: NAME_COL,\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; // eslint-disable-next-line no-return-assign\n\n return this.props = generateProps();\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 cols = props.cols,\n offset = props.offset,\n order = props.order,\n alignSelf = props.alignSelf;\n var classList = []; // Loop through `col`, `offset`, `order` breakpoint props\n\n for (var type in breakpointPropMap) {\n // Returns colSm, offset, offsetSm, orderMd, etc.\n var _keys = breakpointPropMap[type];\n\n for (var i = 0; i < _keys.length; i++) {\n // computeBreakpoint(col, colSm => Sm, value=[String, Number, Boolean])\n var c = computeBreakpointClass(type, _keys[i].replace(type, ''), props[_keys[i]]); // If a class is returned, push it onto the array.\n\n if (c) {\n classList.push(c);\n }\n }\n }\n\n var hasColClasses = classList.some(function (className) {\n return RX_COL_CLASS.test(className);\n });\n classList.push((_classList$push = {\n // Default to .col if no other col-{bp}-* classes generated nor `cols` specified.\n col: props.col || !hasColClasses && !cols\n }, _defineProperty(_classList$push, \"col-\".concat(cols), cols), _defineProperty(_classList$push, \"offset-\".concat(offset), offset), _defineProperty(_classList$push, \"order-\".concat(order), order), _defineProperty(_classList$push, \"align-self-\".concat(alignSelf), alignSelf), _classList$push));\n return h(props.tag, mergeData(data, {\n class: classList\n }), children);\n }\n};","var _makePropsConfigurabl, _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_TOOLTIP } from '../../constants/components';\nimport { EVENT_NAME_CLOSE, EVENT_NAME_DISABLE, EVENT_NAME_DISABLED, EVENT_NAME_ENABLE, EVENT_NAME_ENABLED, EVENT_NAME_HIDDEN, EVENT_NAME_HIDE, EVENT_NAME_OPEN, EVENT_NAME_SHOW, EVENT_NAME_SHOWN, MODEL_EVENT_NAME_PREFIX } from '../../constants/events';\nimport { PROP_TYPE_ARRAY_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_FUNCTION, PROP_TYPE_NUMBER_OBJECT_STRING, PROP_TYPE_NUMBER_STRING, PROP_TYPE_OBJECT, PROP_TYPE_STRING } from '../../constants/props';\nimport { HTMLElement, SVGElement } from '../../constants/safe-types';\nimport { getScopeId } from '../../utils/get-scope-id';\nimport { isUndefinedOrNull } from '../../utils/inspect';\nimport { pick } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BVTooltip } from './helpers/bv-tooltip'; // --- Constants ---\n\nvar MODEL_PROP_NAME_ENABLED = 'disabled';\nvar MODEL_EVENT_NAME_ENABLED = MODEL_EVENT_NAME_PREFIX + MODEL_PROP_NAME_ENABLED;\nvar MODEL_PROP_NAME_SHOW = 'show';\nvar MODEL_EVENT_NAME_SHOW = MODEL_EVENT_NAME_PREFIX + MODEL_PROP_NAME_SHOW; // --- Props ---\n\nexport var props = makePropsConfigurable((_makePropsConfigurabl = {\n // String: scrollParent, window, or viewport\n // Element: element reference\n // Object: Vue component\n boundary: makeProp([HTMLElement, PROP_TYPE_OBJECT, PROP_TYPE_STRING], 'scrollParent'),\n boundaryPadding: makeProp(PROP_TYPE_NUMBER_STRING, 50),\n // String: HTML ID of container, if null body is used (default)\n // HTMLElement: element reference reference\n // Object: Vue Component\n container: makeProp([HTMLElement, PROP_TYPE_OBJECT, PROP_TYPE_STRING]),\n customClass: makeProp(PROP_TYPE_STRING),\n delay: makeProp(PROP_TYPE_NUMBER_OBJECT_STRING, 50)\n}, _defineProperty(_makePropsConfigurabl, MODEL_PROP_NAME_ENABLED, makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_makePropsConfigurabl, \"fallbackPlacement\", makeProp(PROP_TYPE_ARRAY_STRING, 'flip')), _defineProperty(_makePropsConfigurabl, \"id\", makeProp(PROP_TYPE_STRING)), _defineProperty(_makePropsConfigurabl, \"noFade\", makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_makePropsConfigurabl, \"noninteractive\", makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_makePropsConfigurabl, \"offset\", makeProp(PROP_TYPE_NUMBER_STRING, 0)), _defineProperty(_makePropsConfigurabl, \"placement\", makeProp(PROP_TYPE_STRING, 'top')), _defineProperty(_makePropsConfigurabl, MODEL_PROP_NAME_SHOW, makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_makePropsConfigurabl, \"target\", makeProp([HTMLElement, SVGElement, PROP_TYPE_FUNCTION, PROP_TYPE_OBJECT, PROP_TYPE_STRING], undefined, true)), _defineProperty(_makePropsConfigurabl, \"title\", makeProp(PROP_TYPE_STRING)), _defineProperty(_makePropsConfigurabl, \"triggers\", makeProp(PROP_TYPE_ARRAY_STRING, 'hover focus')), _defineProperty(_makePropsConfigurabl, \"variant\", makeProp(PROP_TYPE_STRING)), _makePropsConfigurabl), NAME_TOOLTIP); // --- Main component ---\n// @vue/component\n\nexport var BTooltip = /*#__PURE__*/Vue.extend({\n name: NAME_TOOLTIP,\n mixins: [normalizeSlotMixin],\n inheritAttrs: false,\n props: props,\n data: function data() {\n return {\n localShow: this[MODEL_PROP_NAME_SHOW],\n localTitle: '',\n localContent: ''\n };\n },\n computed: {\n // Data that will be passed to the template and popper\n templateData: function templateData() {\n return _objectSpread({\n title: this.localTitle,\n content: this.localContent,\n interactive: !this.noninteractive\n }, pick(this.$props, ['boundary', 'boundaryPadding', 'container', 'customClass', 'delay', 'fallbackPlacement', 'id', 'noFade', 'offset', 'placement', 'target', 'target', 'triggers', 'variant', MODEL_PROP_NAME_ENABLED]));\n },\n // Used to watch for changes to the title and content props\n templateTitleContent: function templateTitleContent() {\n var title = this.title,\n content = this.content;\n return {\n title: title,\n content: content\n };\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME_SHOW, function (newValue, oldValue) {\n if (newValue !== oldValue && newValue !== this.localShow && this.$_toolpop) {\n if (newValue) {\n this.$_toolpop.show();\n } else {\n // We use `forceHide()` to override any active triggers\n this.$_toolpop.forceHide();\n }\n }\n }), _defineProperty(_watch, MODEL_PROP_NAME_ENABLED, function (newValue) {\n if (newValue) {\n this.doDisable();\n } else {\n this.doEnable();\n }\n }), _defineProperty(_watch, \"localShow\", function localShow(newValue) {\n // TODO: May need to be done in a `$nextTick()`\n this.$emit(MODEL_EVENT_NAME_SHOW, newValue);\n }), _defineProperty(_watch, \"templateData\", function templateData() {\n var _this = this;\n\n this.$nextTick(function () {\n if (_this.$_toolpop) {\n _this.$_toolpop.updateData(_this.templateData);\n }\n });\n }), _defineProperty(_watch, \"templateTitleContent\", function templateTitleContent() {\n this.$nextTick(this.updateContent);\n }), _watch),\n created: function created() {\n // Create private non-reactive props\n this.$_toolpop = null;\n },\n updated: function updated() {\n // Update the `propData` object\n // Done in a `$nextTick()` to ensure slot(s) have updated\n this.$nextTick(this.updateContent);\n },\n beforeDestroy: function beforeDestroy() {\n // Shutdown our local event listeners\n this.$off(EVENT_NAME_OPEN, this.doOpen);\n this.$off(EVENT_NAME_CLOSE, this.doClose);\n this.$off(EVENT_NAME_DISABLE, this.doDisable);\n this.$off(EVENT_NAME_ENABLE, this.doEnable); // Destroy the tip instance\n\n if (this.$_toolpop) {\n this.$_toolpop.$destroy();\n this.$_toolpop = null;\n }\n },\n mounted: function mounted() {\n var _this2 = this;\n\n // Instantiate a new BVTooltip instance\n // Done in a `$nextTick()` to ensure DOM has completed rendering\n // so that target can be found\n this.$nextTick(function () {\n // Load the on demand child instance\n var Component = _this2.getComponent(); // Ensure we have initial content\n\n\n _this2.updateContent(); // Pass down the scoped style attribute if available\n\n\n var scopeId = getScopeId(_this2) || getScopeId(_this2.$parent); // Create the instance\n\n var $toolpop = _this2.$_toolpop = new Component({\n parent: _this2,\n // Pass down the scoped style ID\n _scopeId: scopeId || undefined\n }); // Set the initial data\n\n $toolpop.updateData(_this2.templateData); // Set listeners\n\n $toolpop.$on(EVENT_NAME_SHOW, _this2.onShow);\n $toolpop.$on(EVENT_NAME_SHOWN, _this2.onShown);\n $toolpop.$on(EVENT_NAME_HIDE, _this2.onHide);\n $toolpop.$on(EVENT_NAME_HIDDEN, _this2.onHidden);\n $toolpop.$on(EVENT_NAME_DISABLED, _this2.onDisabled);\n $toolpop.$on(EVENT_NAME_ENABLED, _this2.onEnabled); // Initially disabled?\n\n if (_this2[MODEL_PROP_NAME_ENABLED]) {\n // Initially disabled\n _this2.doDisable();\n } // Listen to open signals from others\n\n\n _this2.$on(EVENT_NAME_OPEN, _this2.doOpen); // Listen to close signals from others\n\n\n _this2.$on(EVENT_NAME_CLOSE, _this2.doClose); // Listen to disable signals from others\n\n\n _this2.$on(EVENT_NAME_DISABLE, _this2.doDisable); // Listen to enable signals from others\n\n\n _this2.$on(EVENT_NAME_ENABLE, _this2.doEnable); // Initially show tooltip?\n\n\n if (_this2.localShow) {\n $toolpop.show();\n }\n });\n },\n methods: {\n getComponent: function getComponent() {\n // Overridden by BPopover\n return BVTooltip;\n },\n updateContent: function updateContent() {\n // Overridden by BPopover\n // Tooltip: Default slot is `title`\n // Popover: Default slot is `content`, `title` slot is title\n // We pass a scoped slot function reference by default (Vue v2.6x)\n // And pass the title prop as a fallback\n this.setTitle(this.normalizeSlot() || this.title);\n },\n // Helper methods for `updateContent()`\n setTitle: function setTitle(value) {\n value = isUndefinedOrNull(value) ? '' : value; // We only update the value if it has changed\n\n if (this.localTitle !== value) {\n this.localTitle = value;\n }\n },\n setContent: function setContent(value) {\n value = isUndefinedOrNull(value) ? '' : value; // We only update the value if it has changed\n\n if (this.localContent !== value) {\n this.localContent = value;\n }\n },\n // --- Template event handlers ---\n onShow: function onShow(bvEvent) {\n // Placeholder\n this.$emit(EVENT_NAME_SHOW, bvEvent);\n\n if (bvEvent) {\n this.localShow = !bvEvent.defaultPrevented;\n }\n },\n onShown: function onShown(bvEvent) {\n // Tip is now showing\n this.localShow = true;\n this.$emit(EVENT_NAME_SHOWN, bvEvent);\n },\n onHide: function onHide(bvEvent) {\n this.$emit(EVENT_NAME_HIDE, bvEvent);\n },\n onHidden: function onHidden(bvEvent) {\n // Tip is no longer showing\n this.$emit(EVENT_NAME_HIDDEN, bvEvent);\n this.localShow = false;\n },\n onDisabled: function onDisabled(bvEvent) {\n // Prevent possible endless loop if user mistakenly\n // fires `disabled` instead of `disable`\n if (bvEvent && bvEvent.type === EVENT_NAME_DISABLED) {\n this.$emit(MODEL_EVENT_NAME_ENABLED, true);\n this.$emit(EVENT_NAME_DISABLED, bvEvent);\n }\n },\n onEnabled: function onEnabled(bvEvent) {\n // Prevent possible endless loop if user mistakenly\n // fires `enabled` instead of `enable`\n if (bvEvent && bvEvent.type === EVENT_NAME_ENABLED) {\n this.$emit(MODEL_EVENT_NAME_ENABLED, false);\n this.$emit(EVENT_NAME_ENABLED, bvEvent);\n }\n },\n // --- Local event listeners ---\n doOpen: function doOpen() {\n !this.localShow && this.$_toolpop && this.$_toolpop.show();\n },\n doClose: function doClose() {\n this.localShow && this.$_toolpop && this.$_toolpop.hide();\n },\n doDisable: function doDisable() {\n this.$_toolpop && this.$_toolpop.disable();\n },\n doEnable: function doEnable() {\n this.$_toolpop && this.$_toolpop.enable();\n }\n },\n render: function render(h) {\n // Always renders a comment node\n // TODO:\n // Future: Possibly render a target slot (single root element)\n // which we can apply the listeners to (pass `this.$el` to BVTooltip)\n return h();\n }\n});","import router from \"@/router\";\n// eslint-disable-next-line object-curly-newline\nimport {\n reactive,\n getCurrentInstance,\n watch,\n toRefs,\n} from \"@vue/composition-api\";\n\nexport const isObject = (obj) => typeof obj === \"object\" && obj !== null;\n\nexport const isToday = (date) => {\n const today = new Date();\n return (\n /* eslint-disable operator-linebreak */\n date.getDate() === today.getDate() &&\n date.getMonth() === today.getMonth() &&\n date.getFullYear() === today.getFullYear()\n /* eslint-enable */\n );\n};\n\nconst getRandomFromArray = (array) =>\n array[Math.floor(Math.random() * array.length)];\n\n// ? Light and Dark variant is not included\n// prettier-ignore\nexport const getRandomBsVariant = () => getRandomFromArray(['primary', 'secondary', 'success', 'warning', 'danger', 'info'])\n\nexport const isDynamicRouteActive = (route) => {\n const { route: resolvedRoute } = router.resolve(route);\n return resolvedRoute.path === router.currentRoute.path;\n};\n\n// Thanks: https://medium.com/better-programming/reactive-vue-routes-with-the-composition-api-18c1abd878d1\nexport const useRouter = () => {\n const vm = getCurrentInstance().proxy;\n const state = reactive({\n route: vm.$route,\n });\n\n watch(\n () => vm.$route,\n (r) => {\n state.route = r;\n }\n );\n\n return { ...toRefs(state), router: vm.$router };\n};\n\n/**\n * This is just enhancement over Object.extend [Gives deep extend]\n * @param {target} a Object which contains values to be overridden\n * @param {source} b Object which contains values to override\n */\n// export const objectExtend = (a, b) => {\n// // Don't touch 'null' or 'undefined' objects.\n// if (a == null || b == null) {\n// return a\n// }\n\n// Object.keys(b).forEach(key => {\n// if (Object.prototype.toString.call(b[key]) === '[object Object]') {\n// if (Object.prototype.toString.call(a[key]) !== '[object Object]') {\n// // eslint-disable-next-line no-param-reassign\n// a[key] = b[key]\n// } else {\n// // eslint-disable-next-line no-param-reassign\n// a[key] = objectExtend(a[key], b[key])\n// }\n// } else {\n// // eslint-disable-next-line no-param-reassign\n// a[key] = b[key]\n// }\n// })\n\n// return a\n// }\n","// Base on-demand component for tooltip / popover templates\n//\n// Currently:\n// Responsible for positioning and transitioning the template\n// Templates are only instantiated when shown, and destroyed when hidden\n//\nimport Popper from 'popper.js';\nimport { Vue } from '../../../vue';\nimport { NAME_POPPER } from '../../../constants/components';\nimport { EVENT_NAME_HIDDEN, EVENT_NAME_HIDE, EVENT_NAME_SHOW, EVENT_NAME_SHOWN, HOOK_EVENT_NAME_DESTROYED } from '../../../constants/events';\nimport { PROP_TYPE_ARRAY_STRING, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../../constants/props';\nimport { HTMLElement, SVGElement } from '../../../constants/safe-types';\nimport { getCS, requestAF, select } from '../../../utils/dom';\nimport { toFloat } from '../../../utils/number';\nimport { makeProp } from '../../../utils/props';\nimport { BVTransition } from '../../transition/bv-transition'; // --- Constants ---\n\nvar AttachmentMap = {\n AUTO: 'auto',\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left',\n TOPLEFT: 'top',\n TOPRIGHT: 'top',\n RIGHTTOP: 'right',\n RIGHTBOTTOM: 'right',\n BOTTOMLEFT: 'bottom',\n BOTTOMRIGHT: 'bottom',\n LEFTTOP: 'left',\n LEFTBOTTOM: 'left'\n};\nvar OffsetMap = {\n AUTO: 0,\n TOPLEFT: -1,\n TOP: 0,\n TOPRIGHT: +1,\n RIGHTTOP: -1,\n RIGHT: 0,\n RIGHTBOTTOM: +1,\n BOTTOMLEFT: -1,\n BOTTOM: 0,\n BOTTOMRIGHT: +1,\n LEFTTOP: -1,\n LEFT: 0,\n LEFTBOTTOM: +1\n}; // --- Props ---\n\nexport var props = {\n // The minimum distance (in `px`) from the edge of the\n // tooltip/popover that the arrow can be positioned\n arrowPadding: makeProp(PROP_TYPE_NUMBER_STRING, 6),\n // 'scrollParent', 'viewport', 'window', or `Element`\n boundary: makeProp([HTMLElement, PROP_TYPE_STRING], 'scrollParent'),\n // Tooltip/popover will try and stay away from\n // boundary edge by this many pixels\n boundaryPadding: makeProp(PROP_TYPE_NUMBER_STRING, 5),\n fallbackPlacement: makeProp(PROP_TYPE_ARRAY_STRING, 'flip'),\n offset: makeProp(PROP_TYPE_NUMBER_STRING, 0),\n placement: makeProp(PROP_TYPE_STRING, 'top'),\n // Element that the tooltip/popover is positioned relative to\n target: makeProp([HTMLElement, SVGElement])\n}; // --- Main component ---\n// @vue/component\n\nexport var BVPopper = /*#__PURE__*/Vue.extend({\n name: NAME_POPPER,\n props: props,\n data: function data() {\n return {\n // reactive props set by parent\n noFade: false,\n // State related data\n localShow: true,\n attachment: this.getAttachment(this.placement)\n };\n },\n computed: {\n /* istanbul ignore next */\n templateType: function templateType() {\n // Overridden by template component\n return 'unknown';\n },\n popperConfig: function popperConfig() {\n var _this = this;\n\n var placement = this.placement;\n return {\n placement: this.getAttachment(placement),\n modifiers: {\n offset: {\n offset: this.getOffset(placement)\n },\n flip: {\n behavior: this.fallbackPlacement\n },\n // `arrow.element` can also be a reference to an HTML Element\n // maybe we should make this a `$ref` in the templates?\n arrow: {\n element: '.arrow'\n },\n preventOverflow: {\n padding: this.boundaryPadding,\n boundariesElement: this.boundary\n }\n },\n onCreate: function onCreate(data) {\n // Handle flipping arrow classes\n if (data.originalPlacement !== data.placement) {\n /* istanbul ignore next: can't test in JSDOM */\n _this.popperPlacementChange(data);\n }\n },\n onUpdate: function onUpdate(data) {\n // Handle flipping arrow classes\n _this.popperPlacementChange(data);\n }\n };\n }\n },\n created: function created() {\n var _this2 = this;\n\n // Note: We are created on-demand, and should be guaranteed that\n // DOM is rendered/ready by the time the created hook runs\n this.$_popper = null; // Ensure we show as we mount\n\n this.localShow = true; // Create popper instance before shown\n\n this.$on(EVENT_NAME_SHOW, function (el) {\n _this2.popperCreate(el);\n }); // Self destruct handler\n\n var handleDestroy = function handleDestroy() {\n _this2.$nextTick(function () {\n // In a `requestAF()` to release control back to application\n requestAF(function () {\n _this2.$destroy();\n });\n });\n }; // Self destruct if parent destroyed\n\n\n this.$parent.$once(HOOK_EVENT_NAME_DESTROYED, handleDestroy); // Self destruct after hidden\n\n this.$once(EVENT_NAME_HIDDEN, handleDestroy);\n },\n beforeMount: function beforeMount() {\n // Ensure that the attachment position is correct before mounting\n // as our propsData is added after `new Template({...})`\n this.attachment = this.getAttachment(this.placement);\n },\n updated: function updated() {\n // Update popper if needed\n // TODO: Should this be a watcher on `this.popperConfig` instead?\n this.updatePopper();\n },\n beforeDestroy: function beforeDestroy() {\n this.destroyPopper();\n },\n destroyed: function destroyed() {\n // Make sure template is removed from DOM\n var el = this.$el;\n el && el.parentNode && el.parentNode.removeChild(el);\n },\n methods: {\n // \"Public\" method to trigger hide template\n hide: function hide() {\n this.localShow = false;\n },\n // Private\n getAttachment: function getAttachment(placement) {\n return AttachmentMap[String(placement).toUpperCase()] || 'auto';\n },\n getOffset: function getOffset(placement) {\n if (!this.offset) {\n // Could set a ref for the arrow element\n var arrow = this.$refs.arrow || select('.arrow', this.$el);\n var arrowOffset = toFloat(getCS(arrow).width, 0) + toFloat(this.arrowPadding, 0);\n\n switch (OffsetMap[String(placement).toUpperCase()] || 0) {\n /* istanbul ignore next: can't test in JSDOM */\n case +1:\n /* istanbul ignore next: can't test in JSDOM */\n return \"+50%p - \".concat(arrowOffset, \"px\");\n\n /* istanbul ignore next: can't test in JSDOM */\n\n case -1:\n /* istanbul ignore next: can't test in JSDOM */\n return \"-50%p + \".concat(arrowOffset, \"px\");\n\n default:\n return 0;\n }\n }\n /* istanbul ignore next */\n\n\n return this.offset;\n },\n popperCreate: function popperCreate(el) {\n this.destroyPopper(); // We use `el` rather than `this.$el` just in case the original\n // mountpoint root element type was changed by the template\n\n this.$_popper = new Popper(this.target, el, this.popperConfig);\n },\n destroyPopper: function destroyPopper() {\n this.$_popper && this.$_popper.destroy();\n this.$_popper = null;\n },\n updatePopper: function updatePopper() {\n this.$_popper && this.$_popper.scheduleUpdate();\n },\n popperPlacementChange: function popperPlacementChange(data) {\n // Callback used by popper to adjust the arrow placement\n this.attachment = this.getAttachment(data.placement);\n },\n\n /* istanbul ignore next */\n renderTemplate: function renderTemplate(h) {\n // Will be overridden by templates\n return h('div');\n }\n },\n render: function render(h) {\n var _this3 = this;\n\n var noFade = this.noFade; // Note: 'show' and 'fade' classes are only appled during transition\n\n return h(BVTransition, {\n // Transitions as soon as mounted\n props: {\n appear: true,\n noFade: noFade\n },\n on: {\n // Events used by parent component/instance\n beforeEnter: function beforeEnter(el) {\n return _this3.$emit(EVENT_NAME_SHOW, el);\n },\n afterEnter: function afterEnter(el) {\n return _this3.$emit(EVENT_NAME_SHOWN, el);\n },\n beforeLeave: function beforeLeave(el) {\n return _this3.$emit(EVENT_NAME_HIDE, el);\n },\n afterLeave: function afterLeave(el) {\n return _this3.$emit(EVENT_NAME_HIDDEN, el);\n }\n }\n }, [this.localShow ? this.renderTemplate(h) : h()]);\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_TOOLTIP_TEMPLATE } from '../../../constants/components';\nimport { EVENT_NAME_FOCUSIN, EVENT_NAME_FOCUSOUT, EVENT_NAME_MOUSEENTER, EVENT_NAME_MOUSELEAVE } from '../../../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../../constants/props';\nimport { isFunction } from '../../../utils/inspect';\nimport { makeProp } from '../../../utils/props';\nimport { scopedStyleMixin } from '../../../mixins/scoped-style';\nimport { BVPopper } from './bv-popper'; // --- Props ---\n\nexport var props = {\n // Used only by the directive versions\n html: makeProp(PROP_TYPE_BOOLEAN, false),\n // Other non-reactive (while open) props are pulled in from BVPopper\n id: makeProp(PROP_TYPE_STRING)\n}; // --- Main component ---\n// @vue/component\n\nexport var BVTooltipTemplate = /*#__PURE__*/Vue.extend({\n name: NAME_TOOLTIP_TEMPLATE,\n extends: BVPopper,\n mixins: [scopedStyleMixin],\n props: props,\n data: function data() {\n // We use data, rather than props to ensure reactivity\n // Parent component will directly set this data\n return {\n title: '',\n content: '',\n variant: null,\n customClass: null,\n interactive: true\n };\n },\n computed: {\n templateType: function templateType() {\n return 'tooltip';\n },\n templateClasses: function templateClasses() {\n var _ref;\n\n var variant = this.variant,\n attachment = this.attachment,\n templateType = this.templateType;\n return [(_ref = {\n // Disables pointer events to hide the tooltip when the user\n // hovers over its content\n noninteractive: !this.interactive\n }, _defineProperty(_ref, \"b-\".concat(templateType, \"-\").concat(variant), variant), _defineProperty(_ref, \"bs-\".concat(templateType, \"-\").concat(attachment), attachment), _ref), this.customClass];\n },\n templateAttributes: function templateAttributes() {\n var id = this.id;\n return _objectSpread(_objectSpread({}, this.$parent.$parent.$attrs), {}, {\n id: id,\n role: 'tooltip',\n tabindex: '-1'\n }, this.scopedStyleAttrs);\n },\n templateListeners: function templateListeners() {\n var _this = this;\n\n // Used for hover/focus trigger listeners\n return {\n mouseenter:\n /* istanbul ignore next */\n function mouseenter(event) {\n _this.$emit(EVENT_NAME_MOUSEENTER, event);\n },\n mouseleave:\n /* istanbul ignore next */\n function mouseleave(event) {\n _this.$emit(EVENT_NAME_MOUSELEAVE, event);\n },\n focusin:\n /* istanbul ignore next */\n function focusin(event) {\n _this.$emit(EVENT_NAME_FOCUSIN, event);\n },\n focusout:\n /* istanbul ignore next */\n function focusout(event) {\n _this.$emit(EVENT_NAME_FOCUSOUT, event);\n }\n };\n }\n },\n methods: {\n renderTemplate: function renderTemplate(h) {\n var title = this.title; // Title can be a scoped slot function\n\n var $title = isFunction(title) ? title({}) : title; // Directive versions only\n\n var domProps = this.html && !isFunction(title) ? {\n innerHTML: title\n } : {};\n return h('div', {\n staticClass: 'tooltip b-tooltip',\n class: this.templateClasses,\n attrs: this.templateAttributes,\n on: this.templateListeners\n }, [h('div', {\n staticClass: 'arrow',\n ref: 'arrow'\n }), h('div', {\n staticClass: 'tooltip-inner',\n domProps: domProps\n }, [$title])]);\n }\n }\n});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-table',{ref:\"refOrderListTable\",staticClass:\"position-relative\",attrs:{\"items\":_vm.orders,\"responsive\":\"\",\"fields\":_vm.tableColumns,\"primary-key\":\"id\",\"sort-by\":_vm.sortBy,\"show-empty\":\"\",\"empty-text\":_vm.$t('noRecords'),\"sort-desc\":_vm.sortDesc},on:{\"update:sortBy\":function($event){_vm.sortBy=$event},\"update:sort-by\":function($event){_vm.sortBy=$event},\"update:sortDesc\":function($event){_vm.sortDesc=$event},\"update:sort-desc\":function($event){_vm.sortDesc=$event}},scopedSlots:_vm._u([{key:\"head(invoiceStatus)\",fn:function(){return [_c('feather-icon',{staticClass:\"mx-auto\",attrs:{\"icon\":\"TrendingUpIcon\"}})]},proxy:true},{key:\"cell(invoiceStatus)\",fn:function(data){return [_c('b-tooltip',{attrs:{\"target\":(\"invoice-row-\" + (data.item.id)),\"placement\":\"top\"}},[_c('p',{staticClass:\"mb-0\"},[_vm._v(\" \"+_vm._s(data.item.invoiceStatus)+\" \")]),_c('p',{staticClass:\"mb-0\"},[_vm._v(\"Balance: \"+_vm._s(data.item.balance))]),_c('p',{staticClass:\"mb-0\"},[_vm._v(\"Due Date: \"+_vm._s(data.item.dueDate))])])]}},{key:\"cell(actions)\",fn:function(data){return [_c('b-link',{staticClass:\"text-nowrap\",on:{\"click\":function($event){return _vm.$router.push({\n name: _vm.toRouteName,\n params: { id: data.item.id, plantid: _vm.plantid },\n })}}},[_c('span',{staticClass:\"text-dark\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"view\")))]),_c('feather-icon',{staticClass:\"mx-1\",attrs:{\"id\":(\"invoice-row-\" + (data.item.id) + \"-preview-icon\"),\"icon\":\"EyeIcon\",\"size\":\"16\"}})],1)]}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n \n \n\n \n\n \n \n \n \n {{ data.item.invoiceStatus }}\n \n Balance: {{ data.item.balance }}\n Due Date: {{ data.item.dueDate }}\n \n \n\n \n \n\n \n \n\n \n \n\n \n \n \n {{ $t(\"view\") }}\n \n \n \n \n \n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrderList.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrderList.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./OrderList.vue?vue&type=template&id=04cc89ce\"\nimport script from \"./OrderList.vue?vue&type=script&lang=js\"\nexport * from \"./OrderList.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}
\n {{ data.item.invoiceStatus }}\n
Balance: {{ data.item.balance }}
Due Date: {{ data.item.dueDate }}