{"version":3,"sources":["webpack:///./src/@core/utils/filter.js","webpack:///./node_modules/core-js/internals/string-repeat.js","webpack:///./node_modules/core-js/modules/es.string.split.js","webpack:///./src/@core/components/app-timeline/AppTimelineItem.vue?f5e0","webpack:///src/@core/components/app-timeline/AppTimelineItem.vue","webpack:///./src/@core/components/app-timeline/AppTimelineItem.vue?f657","webpack:///./src/@core/components/app-timeline/AppTimelineItem.vue","webpack:///./src/@core/components/toastification/ToastificationContent.vue?6a28","webpack:///src/@core/components/toastification/ToastificationContent.vue","webpack:///./src/@core/components/toastification/ToastificationContent.vue?512b","webpack:///./src/@core/components/toastification/ToastificationContent.vue","webpack:///./node_modules/bootstrap-vue/esm/directives/tooltip/tooltip.js","webpack:///./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack:///./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack:///./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack:///./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/has-listener.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/tr.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-bottom-row.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/td.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-busy.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-caption.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-colgroup.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-empty.js","webpack:///./node_modules/bootstrap-vue/esm/utils/stringify-object-values.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/constants.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/sanitize-row.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/stringify-record-values.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-filtering.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/normalize-fields.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-items.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-pagination.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-provider.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-selectable.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-sorting.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/default-sort-compare.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-stacked.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-table-renderer.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/tbody.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/filter-event.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/text-selection-active.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/th.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-tbody-row.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-tbody.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/tfoot.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-tfoot.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/thead.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-thead.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-top-row.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/table.js","webpack:///./src/@core/components/toastification/ToastificationContent.vue?bb93","webpack:///./node_modules/bootstrap-vue/esm/components/media/media.js","webpack:///./node_modules/core-js/internals/this-number-value.js","webpack:///./node_modules/core-js/modules/es.string.replace.js","webpack:///./node_modules/bootstrap-vue/esm/components/alert/alert.js","webpack:///./src/@core/components/app-timeline/AppTimelineItem.vue?26d3","webpack:///./node_modules/bootstrap-vue/esm/components/media/media-aside.js","webpack:///./node_modules/bootstrap-vue/esm/components/media/media-body.js","webpack:///./src/views/user-management/userStoreModule.js","webpack:///./node_modules/bootstrap-vue/esm/utils/stable-sort.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-spinbutton/form-spinbutton.js","webpack:///./node_modules/bootstrap-vue/esm/utils/locale.js","webpack:///./node_modules/bootstrap-vue/esm/constants/popper.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/click-out.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/focus-in.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/dropdown.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-item.js","webpack:///./node_modules/core-js/modules/es.array.join.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-custom.js","webpack:///./node_modules/core-js/modules/es.number.to-fixed.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-checkbox/form-checkbox.js","webpack:///./node_modules/bootstrap-vue/esm/utils/loose-index-of.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-radio-check.js","webpack:///./src/views/user-management/users-list/useUsersList.js","webpack:///./src/views/user-management/users-view/UserViewUserChildrenCard.vue?229d","webpack:///src/views/user-management/users-view/UserViewUserChildrenCard.vue","webpack:///./src/views/user-management/users-view/UserViewUserChildrenCard.vue?02d9","webpack:///./src/views/user-management/users-view/UserViewUserChildrenCard.vue","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown.js","webpack:///./src/@core/components/app-timeline/AppTimeline.vue?e99d","webpack:///./src/@core/components/app-timeline/AppTimeline.vue?a9d3","webpack:///src/@core/components/app-timeline/AppTimeline.vue","webpack:///./src/@core/components/app-timeline/AppTimeline.vue?7188","webpack:///./src/@core/components/app-timeline/AppTimeline.vue","webpack:///./node_modules/bootstrap-vue/esm/components/badge/badge.js","webpack:///./src/views/user-management/users-view/UsersView.vue?e224","webpack:///./src/views/user-management/users-view/UserViewUserInfoCard.vue?1da9","webpack:///src/views/user-management/users-view/UserViewUserInfoCard.vue","webpack:///./src/views/user-management/users-view/UserViewUserInfoCard.vue?6805","webpack:///./src/views/user-management/users-view/UserViewUserInfoCard.vue","webpack:///./src/views/user-management/users-view/UserViewUserPlanCard.vue?814e","webpack:///src/views/user-management/users-view/UserViewUserPlanCard.vue","webpack:///./src/views/user-management/users-view/UserViewUserPlanCard.vue?2363","webpack:///./src/views/user-management/users-view/UserViewUserPlanCard.vue","webpack:///./src/views/user-management/users-view/UserViewUserTimelineCard.vue?86c7","webpack:///src/views/user-management/users-view/UserViewUserTimelineCard.vue","webpack:///./src/views/user-management/users-view/UserViewUserTimelineCard.vue?bed8","webpack:///./src/views/user-management/users-view/UserViewUserTimelineCard.vue","webpack:///./src/views/user-management/users-view/UserViewUserPermissionsCard.vue?18b8","webpack:///src/views/user-management/users-view/UserViewUserPermissionsCard.vue","webpack:///./src/views/user-management/users-view/UserViewUserPermissionsCard.vue?b635","webpack:///./src/views/user-management/users-view/UserViewUserPermissionsCard.vue","webpack:///src/views/user-management/users-view/UsersView.vue","webpack:///./src/views/user-management/users-view/UsersView.vue?5a1b","webpack:///./src/views/user-management/users-view/UsersView.vue","webpack:///./src/assets/images/icons/pdf.png"],"names":["kFormatter","num","concat","toFixed","title","value","replacer","arguments","length","undefined","str","toString","arr","split","capitalizedArray","forEach","word","capitalized","charAt","toUpperCase","slice","push","join","avatarText","nameArray","map","formatDate","formatting","month","day","year","Intl","DateTimeFormat","format","Date","formatCurrency","NumberFormat","toInteger","requireObjectCoercible","module","exports","repeat","count","String","this","result","n","Infinity","RangeError","fixRegExpWellKnownSymbolLogic","isRegExp","anObject","speciesConstructor","advanceStringIndex","toLength","callRegExpExec","regexpExec","fails","arrayPush","min","Math","MAX_UINT32","SUPPORTS_Y","RegExp","SPLIT","nativeSplit","maybeCallNative","internalSplit","separator","limit","string","lim","call","match","lastIndex","lastLength","output","flags","ignoreCase","multiline","unicode","sticky","lastLastIndex","separatorCopy","source","index","apply","test","O","splitter","regexp","res","done","rx","S","C","unicodeMatching","p","q","A","e","z","i","render","_vm","_h","$createElement","_c","_self","_g","_b","staticClass","class","variant","fillBorder","$attrs","$listeners","icon","attrs","_t","domProps","_s","time","subtitle","staticRenderFns","props","type","default","Boolean","component","_e","text","on","$event","$emit","hideClose","components","BAvatar","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","_objectSpread","target","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","configurable","writable","BV_TOOLTIP","DefaultTrigger","validTriggers","focus","hover","click","blur","manual","htmlRE","noninteractiveRE","noFadeRE","placementRE","boundaryRE","delayRE","delayShowRE","delayHideRE","offsetRE","variantRE","spacesRE","parseBindings","bindings","vnode","config","trigger","placement","fallbackPlacement","container","animation","offset","id","html","interactive","disabled","delay","boundary","boundaryPadding","customClass","data","show","hide","arg","modifiers","mod","selectedTriggers","trim","toLowerCase","applyTooltip","el","$parent","context","parent","_scopeId","__bv_prev_data__","$on","updateData","triggers","noFade","oldData","newData","prop","removeTooltip","$destroy","VBTooltip","bind","componentUpdated","$nextTick","unbind","_arrayWithoutHoles","r","Array","isArray","arrayLikeToArray","_iterableToArray","Symbol","iterator","from","_nonIterableSpread","TypeError","_toConsumableArray","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","hasListenerMixin","extend","methods","hasListener","name","$events","_events","LIGHT","DARK","BTr","mixins","listeners","provide","bvTableTr","inject","bvTableRowGroup","inheritAttrs","computed","inTbody","isTbody","inThead","isThead","inTfoot","isTfoot","isDark","isStacked","isResponsive","isStickyHeader","hasStickyHeader","tableVariant","headVariant","footVariant","isRowDark","trClasses","trAttrs","role","bvAttrs","h","bvListeners","normalizeSlot","bottomRowMixin","renderBottomRow","fields","computedFields","stacked","tbodyTrClass","tbodyTrAttr","hasNormalizedSlot","columns","colspan","rowspan","stackedHeading","stickyColumn","BTd","tag","isStackedCell","isStickyColumn","rowVariant","computedColspan","computedRowspan","cellClasses","cellAttrs","headOrFoot","scope","$content","MODEL_PROP_NAME_BUSY","MODEL_EVENT_NAME_BUSY","busyMixin","localBusy","computedBusy","watch","newValue","oldValue","stopIfBusy","event","renderBusy","caption","captionHtml","captionMixin","captionId","safeId","renderCaption","$caption","hasCaptionSlot","colgroupMixin","renderColgroup","$colgroup","emptyFilteredHtml","emptyFilteredText","emptyHtml","emptyText","showEmpty","emptyMixin","renderEmpty","items","computedItems","$empty","isFiltered","stringifyObjectValues","sort","k","v","FIELD_KEY_CELL_VARIANT","FIELD_KEY_ROW_VARIANT","FIELD_KEY_SHOW_DETAILS","IGNORED_FIELD_KEYS","reduce","EVENT_FILTER","row","ignoreFields","includeFields","fieldsObj","formattedRow","field","filterByFormatted","formatter","allowedKeys","array","_unsupportedIterableToArray","o","minLen","_arrayLikeToArray","prototype","constructor","iter","len","arr2","DEBOUNCE_DEPRECATED_MSG","filterDebounce","filterFunction","filterIgnoredFields","filterIncludedFields","filteringMixin","localFilter","filterSanitize","computedFilterIgnored","identity","computedFilterIncluded","computedFilterDebounce","ms","warn","localFiltering","hasProvider","noProviderFiltering","filteredCheck","filteredItems","localItems","localFilterFn","criteria","filterFn","filterFnFactory","defaultFilterFnFactory","$_filterTimer","clearFilterTimer","deep","handler","newCriteria","_this","timeout","setTimeout","_ref","created","_this2","beforeDestroy","clearTimeout","fn","item","_this3","regExp","pattern","replace","computedFieldsObj","label","origFields","f","sample","memo","_makeModelMixin","defaultValue","modelMixin","mixin","modelProps","MODEL_PROP_NAME","MODEL_EVENT_NAME","primaryKey","itemsMixin","paginatedItems","sortedItems","sortBy","localSortBy","sortDesc","localSortDesc","perPage","math","currentPage","apiUrl","mounted","getFieldFormatter","paginationMixin","localPaging","noProviderPaging","ROOT_EVENT_NAME_REFRESHED","ROOT_ACTION_EVENT_NAME_REFRESH","noProviderSorting","providerMixin","providerTriggerContext","ctx","_providerUpdate","listenOnRoot","refresh","$off","clearSelected","_providerSetLocal","emitOnRoot","then","message","_props","_watch","SELECT_MODES","noSelectOnClick","selectMode","selectable","selectedVariant","selectableMixin","selectedRows","selectedLastRow","isSelectable","hasSelectableRowClick","supportsSelectableRows","selectableHasSelection","some","selectableIsMultiSelect","selectableTableClasses","selectableTableAttrs","equal","setSelectionHandlers","_selectedRows","idx","beforeMount","selectRow","isRowSelected","selectedLastClicked","unselectRow","selectAllRows","selectableRowClasses","dark","selectableRowAttrs","method","selectionHandler","selected","shiftKey","ctrlKey","metaKey","a","b","_ref$sortBy","_ref$formatter","_ref$locale","locale","_ref$localeOptions","localeOptions","_ref$nullLast","nullLast","aa","get","bb","localeCompare","MODEL_PROP_NAME_SORT_BY","MODEL_EVENT_NAME_SORT_BY","MODEL_PROP_NAME_SORT_DESC","MODEL_EVENT_NAME_SORT_DESC","SORT_DIRECTION_ASC","SORT_DIRECTION_DESC","SORT_DIRECTION_LAST","SORT_DIRECTIONS","labelSortAsc","labelSortClear","labelSortDesc","noFooterSorting","noLocalSorting","noSortReset","numeric","sortingMixin","localSorting","isSortable","sortable","sortCompareLocale","sortNullLast","sortCompare","sortCompareOptions","usage","sortByFormatted","handleSort","isFoot","sortChanged","toggleLocalSortDesc","sortDirection","sortKey","sortTheadThClasses","sortIconLeft","sortTheadThAttrs","ariaSort","sortTheadThLabel","labelSorting","stackedMixin","isStackedAlways","stackedTableClasses","bordered","borderless","captionTop","fixed","noBorderCollapse","outlined","responsive","small","stickyHeader","striped","tableClass","tableRendererMixin","bvTable","wrapperClasses","wrapperStyles","maxHeight","tableClasses","isTableSimple","border","tableAttrs","adb","ariaAttrs","rowCount","renderThead","renderTbody","renderTfoot","$table","style","tbodyTransitionHandlers","tbodyTransitionProps","BTbody","isTransitionGroup","tbodyAttrs","tbodyProps","nativeOn","TABLE_TAG_NAMES","indexOf","tagName","labelFor","input","document","sel","containsNode","BTh","extends","detailsTdClass","tbodyRowMixin","getTdValues","tdValue","getThValues","thValue","getFormattedValue","toggleDetailsFactory","hasDetailsSlot","$set","rowHovered","tbodyRowEvtStopped","emitTbodyRowEvent","rowUnhovered","renderTbodyRowCell","colIndex","rowIndex","isRowHeader","formatted","cellTag","cellVariant","tdClass","thAttr","tdAttr","slotScope","unformatted","toggleDetails","detailsShowing","rowSelected","slotName","$_bodyFieldSlotNameCache","$childNodes","renderTbodyRow","rowShowDetails","hasRowClickHandler","$rows","detailsId","$tds","ariaRowIndex","primaryKeyValue","rowKey","rowId","selectableClasses","selectableAttrs","userTrClasses","userTrAttrs","tabindex","mouseenter","mouseleave","ref","refInFor","detailsScope","$details","userDetailsTrClasses","userDetailsTrAttrs","getCellSlotName","tbodyClass","tbodyMixin","getTbodyTrs","$refs","tbody","$el","trs","tr","children","getTbodyTrIndex","onTbodyRowKeydown","keyCode","tabIndex","onTBodyRowClicked","shift","onTbodyRowMiddleMouseRowClicked","which","onTbodyRowContextmenu","onTbodyRowDblClicked","renderTopRow","$busy","cache","defaultSlotName","lowercaseSlotName","handlers","auxclick","contextmenu","dblclick","keydown","$tbody","$props","BTfoot","tfootClasses","tfootAttrs","footClone","footRowVariant","tfootClass","tfootTrClass","tfootMixin","renderTFootCustom","BThead","theadClasses","theadAttrs","getHeadSlotName","getFootSlotName","headRowVariant","theadClass","theadTrClass","theadMixin","fieldClasses","thClass","headClicked","hasHeadClickListener","noop","makeCell","labelHtml","ariaLabel","headerTitle","sortAttrs","sortClass","sortLabel","thStyle","abbr","headerAbbr","slotNames","column","$srLabel","$cells","$trs","topRowMixin","BTable","noBody","rightAlign","verticalAlign","BMedia","functional","slots","scopedSlots","$children","$slots","$scopedSlots","$aside","right","classof","toObject","regExpExec","max","floor","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","maybeToString","it","REPLACE","nativeReplace","reason","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","REPLACE_KEEPS_$0","UNSAFE_SUBSTITUTE","searchValue","replaceValue","functionalReplace","global","fullUnicode","results","matchStr","accumulatedResult","nextSourcePosition","matched","position","captures","j","namedCaptures","groups","replacerArgs","replacement","getSubstitution","tailPos","m","ch","capture","parseCountDown","parseShow","dismissLabel","dismissible","fade","BAlert","countDown","localShow","clearCountDownInterval","$_countDownTimeout","dismiss","$alert","$dismissButton","BMediaAside","align","BMediaBody","TICKET_API_SERVICE_PATH","baseConfig","namespaced","state","getters","mutations","actions","fetchUsers","queryParams","Promise","resolve","reject","axios","post","response","catch","error","fetchUser","username","fetchUserProfile","_ref2","addUser","userData","editUser","editChildren","childData","changeUserStatus","resetPasswordUser","fetchOrganizations","params","fetchRoles","fetchTeamsByFilter","teamData","stableSort","compareFn","RTL_LANGS","parts","locale1","locale2","DEFAULT_MIN","DEFAULT_MAX","DEFAULT_STEP","DEFAULT_REPEAT_DELAY","DEFAULT_REPEAT_INTERVAL","DEFAULT_REPEAT_THRESHOLD","DEFAULT_REPEAT_MULTIPLIER","KEY_CODES","ariaControls","formatterFn","inline","labelDecrement","labelIncrement","placeholder","readonly","repeatDelay","repeatInterval","repeatStepMultiplier","repeatThreshold","step","vertical","wrap","BFormSpinbutton","localValue","hasFocus","spinId","computedInline","computedReadonly","computedRequired","required","computedStep","computedMin","computedMax","computedDelay","computedInterval","interval","computedThreshold","computedStepMultiplier","computedPrecision","computedMultiplier","valueAsFixed","computedLocale","locales","nf","resolvedOptions","computedRTL","defaultFormatter","precision","useGrouping","minimumIntegerDigits","minimumFractionDigits","maximumFractionDigits","notation","computedFormatter","computedAttrs","lang","computedSpinAttrs","hasValue","dir","_disabled","clearRepeat","_readonly","$_autoDelayTimer","$_autoRepeatTimer","$_keyIsDown","deactivated","spinner","emitChange","stepValue","direction","multiplier","onFocusBlur","stepUp","stepDown","onKeydown","altKey","propagation","resetTimers","handleStepRepeat","onKeyup","stepper","button","threshold","setInterval","onMouseup","setMouseup","body","_unused","clearInterval","makeButton","IconCmp","keyRef","shortcut","btnDisabled","$icon","scale","currentTarget","mousedown","touchstart","$increment","$decrement","$hidden","form","$spin","sizeFormClass","stateClass","keyup","PLACEMENT_TOP_START","PLACEMENT_TOP_END","PLACEMENT_BOTTOM_START","PLACEMENT_BOTTOM_END","PLACEMENT_RIGHT_START","PLACEMENT_LEFT_START","clickOutMixin","listenForClickOut","clickOutElement","clickOutEventName","_clickOutHandler","beforeCreate","isClickOut","clickOutHandler","focusInMixin","listenForFocusIn","focusInElement","_focusInHandler","focusInHandler","ROOT_EVENT_NAME_SHOWN","ROOT_EVENT_NAME_HIDDEN","SELECTOR_FORM_CHILD","SELECTOR_ITEM","selector","els","dropleft","dropright","dropup","noFlip","popperOpts","dropdownMixin","bvDropdown","bvNavbar","visible","visibleChangePrevented","inNavbar","toggler","toggle","directionClass","boundaryClass","eventName","bvEvent","cancelable","vueTarget","menu","relatedTarget","componentId","emitEvent","defaultPrevented","focusToggler","showMenu","hideMenu","$_popper","$_hideTimeout","whileOpenListen","destroyPopper","clearHideTimeout","createPopper","focusMenu","element","getPopperConfig","destroy","updatePopper","scheduleUpdate","popperConfig","flip","enabled","boundariesElement","preventOverflow","isOpen","$root","rootCloseListener","vm","refocus","$once","_event","onMousedown","onEsc","focusNext","onSplitClick","hideHandler","up","_this4","getItems","focusItem","find","_this5","linkClass","BDropdownItem","closeDropdown","onClick","active","$","IndexedObject","toIndexedObject","arrayMethodIsStrict","nativeJoin","ES3_STRINGS","STRICT_METHOD","proto","forced","plain","formCustomMixin","custom","thisNumberValue","nativeToFixed","pow","x","acc","log","x2","FORCED","fractionDigits","number","fractDigits","sign","multiply","c","c2","divide","dataToString","s","t","_objectSpread2","MODEL_PROP_NAME_INDETERMINATE","MODEL_EVENT_NAME_INDETERMINATE","BFormCheckbox","bvGroup","isChecked","checked","computedLocalChecked","isRadio","setIndeterminate","computedLocalCheckedWatcher","$input","indeterminate","handleChange","_ref$target","uncheckedValue","localChecked","isGroup","_methods","ariaLabelledby","buttonVariant","formRadioCheckMixin","set","isBtnMode","buttons","isPlain","isCustom","isSwitch","switches","switch","isInline","isDisabled","isRequired","computedName","groupName","computedForm","computedSize","size","computedState","computedButtonVariant","buttonClasses","directives","change","handleFocus","$button","$label","for","useUsersList","toast","useToast","refUserListTable","tableColumns","totalUsers","perPageOptions","searchQuery","isSortDirDesc","roleFilter","planFilter","statusFilter","userOptions","dataMeta","localItemsCount","to","of","refetchData","callback","store","dispatch","per_page","page","plan","status","users","total","ToastificationContent","resolveUserRoleVariant","resolveUserRoleIcon","resolveUserStatusVariant","_v","rawName","expression","_u","is_active","resetModal","handleOk","childrenIds","$store","appConfig","isRTL","val","model","$$v","BCard","BCardBody","BCardTitle","BCardSubTitle","BButton","BModal","BForm","BFormInput","BFormGroup","BDropdown","BBadge","BLink","vSelect","action","VBModal","Ripple","console","addChildrens","param","block","lazy","menuClass","noCaret","splitButtonType","splitClass","splitHref","splitTo","splitVariant","toggleClass","toggleTag","toggleText","dropdownClasses","menuClasses","toggleClasses","commonProps","$buttonChildren","buttonContentDomProps","$split","btnProps","href","$toggle","$menu","linkProps","pill","link","avatar","fullName","email","BRow","BCol","setup","_useUsersList","BCardHeader","proxy","BImg","AppTimeline","AppTimelineItem","permissionsData","read","write","create","delete","UserViewUserInfoCard","UserViewUserPlanCard","UserViewUserChildrenCard","UserViewUserTimelineCard","UserViewUserPermissionsCard","USER_APP_STORE_MODULE_NAME","hasModule","registerModule","userStoreModule","onUnmounted","unregisterModule","router","currentRoute"],"mappings":"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","file":"js/chunk-060750de.ee564275.js","sourcesContent":["import { isToday } from './utils'\n\nexport const kFormatter = num => (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 = (value, formatting = { month: 'short', day: 'numeric', year: 'numeric' }) => {\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\nexport const formatCurrency = (value) =>{\n return new Intl.NumberFormat().format(value)\n} \n","'use strict';\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.repeat` method implementation\n// https://tc39.github.io/ecma262/#sec-string.prototype.repeat\nmodule.exports = ''.repeat || function repeat(count) {\n var str = String(requireObjectCoercible(this));\n var result = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions');\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;\n return result;\n};\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar isRegExp = require('../internals/is-regexp');\nvar anObject = require('../internals/an-object');\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 callRegExpExec = require('../internals/regexp-exec-abstract');\nvar regexpExec = require('../internals/regexp-exec');\nvar fails = require('../internals/fails');\n\nvar arrayPush = [].push;\nvar min = Math.min;\nvar MAX_UINT32 = 0xFFFFFFFF;\n\n// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError\nvar SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); });\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'.split(/(b)*/)[1] == 'c' ||\n 'test'.split(/(?:)/, -1).length != 4 ||\n 'ab'.split(/(?:ab)*/).length != 2 ||\n '.'.split(/(.?)(.?)/).length != 4 ||\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 = String(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 nativeSplit.call(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 = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy.lastIndex;\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(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 || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output.length > lim ? output.slice(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 ? [] : nativeSplit.call(this, separator, limit);\n };\n } else internalSplit = nativeSplit;\n\n return [\n // `String.prototype.split` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = requireObjectCoercible(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.github.io/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 (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\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 (SUPPORTS_Y ? 'y' : 'g');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', 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 = SUPPORTS_Y ? q : 0;\n var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n var e;\n if (\n z === null ||\n (e = min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n}, !SUPPORTS_Y);\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',_vm._g(_vm._b({staticClass:\"timeline-item\",class:[(\"timeline-variant-\" + _vm.variant), _vm.fillBorder ? (\"timeline-item-fill-border-\" + _vm.variant) : null]},'li',_vm.$attrs,false),_vm.$listeners),[(!_vm.icon)?_c('div',{staticClass:\"timeline-item-point\"}):_c('div',{staticClass:\"timeline-item-icon d-flex align-items-center justify-content-center rounded-circle\"},[_c('feather-icon',{attrs:{\"icon\":_vm.icon}})],1),_vm._t(\"default\",[_c('div',{staticClass:\"d-flex flex-sm-row flex-column flex-wrap justify-content-between mb-1 mb-sm-0\"},[_c('h6',{domProps:{\"textContent\":_vm._s(_vm.title)}}),_c('small',{staticClass:\"timeline-item-time text-nowrap text-muted\",domProps:{\"textContent\":_vm._s(_vm.time)}})]),_c('p',{staticClass:\"mb-0\",domProps:{\"textContent\":_vm._s(_vm.subtitle)}})])],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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!./AppTimelineItem.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!./AppTimelineItem.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AppTimelineItem.vue?vue&type=template&id=4bbac430&scoped=true\"\nimport script from \"./AppTimelineItem.vue?vue&type=script&lang=js\"\nexport * from \"./AppTimelineItem.vue?vue&type=script&lang=js\"\nimport style0 from \"./AppTimelineItem.vue?vue&type=style&index=0&id=4bbac430&prod&lang=scss&scoped=true\"\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 \"4bbac430\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"toastification\"},[_c('div',{staticClass:\"d-flex align-items-start\"},[_c('b-avatar',{staticClass:\"mr-75 flex-shrink-0\",attrs:{\"variant\":_vm.variant,\"size\":\"1.8rem\"}},[_c('feather-icon',{attrs:{\"icon\":_vm.icon,\"size\":\"15\"}})],1),_c('div',{staticClass:\"d-flex flex-grow-1\"},[_c('div',[(_vm.title)?_c('h5',{staticClass:\"mb-0 font-weight-bolder toastification-title\",class:(\"text-\" + _vm.variant),domProps:{\"textContent\":_vm._s(_vm.title)}}):_vm._e(),(_vm.text)?_c('small',{staticClass:\"d-inline-block text-body\",domProps:{\"textContent\":_vm._s(_vm.text)}}):_vm._e()]),_c('span',{staticClass:\"cursor-pointer toastification-close-icon ml-auto \",on:{\"click\":function($event){return _vm.$emit('close-toast')}}},[(!_vm.hideClose)?_c('feather-icon',{staticClass:\"text-body\",attrs:{\"icon\":\"XIcon\"}}):_vm._e()],1)])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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!./ToastificationContent.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!./ToastificationContent.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ToastificationContent.vue?vue&type=template&id=55dd3057&scoped=true\"\nimport script from \"./ToastificationContent.vue?vue&type=script&lang=js\"\nexport * from \"./ToastificationContent.vue?vue&type=script&lang=js\"\nimport style0 from \"./ToastificationContent.vue?vue&type=style&index=0&id=55dd3057&prod&lang=scss&scoped=true\"\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 \"55dd3057\",\n null\n \n)\n\nexport default component.exports","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 { NAME_TOOLTIP } from '../../constants/components';\nimport { IS_BROWSER } from '../../constants/env';\nimport { EVENT_NAME_SHOW } from '../../constants/events';\nimport { concat } from '../../utils/array';\nimport { getComponentConfig } from '../../utils/config';\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 { toInteger } from '../../utils/number';\nimport { keys } from '../../utils/object';\nimport { BVTooltip } from '../../components/tooltip/helpers/bv-tooltip'; // Key which we use to store tooltip object on element\n\nvar BV_TOOLTIP = '__BV_Tooltip__'; // Default trigger\n\nvar DefaultTrigger = 'hover focus'; // Valid event triggers\n\nvar validTriggers = {\n focus: true,\n hover: true,\n click: true,\n blur: true,\n manual: true\n}; // Directive modifier test regular expressions. Pre-compile for performance\n\nvar htmlRE = /^html$/i;\nvar noninteractiveRE = /^noninteractive$/i;\nvar noFadeRE = /^nofade$/i;\nvar placementRE = /^(auto|top(left|right)?|bottom(left|right)?|left(top|bottom)?|right(top|bottom)?)$/i;\nvar boundaryRE = /^(window|viewport|scrollParent)$/i;\nvar delayRE = /^d\\d+$/i;\nvar delayShowRE = /^ds\\d+$/i;\nvar delayHideRE = /^dh\\d+$/i;\nvar offsetRE = /^o-?\\d+$/i;\nvar variantRE = /^v-.+$/i;\nvar spacesRE = /\\s+/; // Build a Tooltip config based on bindings (if any)\n// Arguments and modifiers take precedence over passed value config object\n\nvar parseBindings = function parseBindings(bindings, vnode)\n/* istanbul ignore next: not easy to test */\n{\n // We start out with a basic config\n var config = {\n title: undefined,\n trigger: '',\n // Default set below if needed\n placement: 'top',\n fallbackPlacement: 'flip',\n container: false,\n // Default of body\n animation: true,\n offset: 0,\n id: null,\n html: false,\n interactive: true,\n disabled: false,\n delay: getComponentConfig(NAME_TOOLTIP, 'delay', 50),\n boundary: String(getComponentConfig(NAME_TOOLTIP, 'boundary', 'scrollParent')),\n boundaryPadding: toInteger(getComponentConfig(NAME_TOOLTIP, 'boundaryPadding', 5), 0),\n variant: getComponentConfig(NAME_TOOLTIP, 'variant'),\n customClass: getComponentConfig(NAME_TOOLTIP, 'customClass')\n }; // Process `bindings.value`\n\n if (isString(bindings.value) || isNumber(bindings.value)) {\n // Value is tooltip content (HTML optionally supported)\n config.title = bindings.value;\n } else if (isFunction(bindings.value)) {\n // Title generator function\n config.title = bindings.value;\n } else if (isPlainObject(bindings.value)) {\n // Value is config object, so merge\n config = _objectSpread(_objectSpread({}, config), bindings.value);\n } // If title is not provided, try title attribute\n\n\n if (isUndefined(config.title)) {\n // Try attribute\n var data = vnode.data || {};\n config.title = data.attrs && !isUndefinedOrNull(data.attrs.title) ? data.attrs.title : undefined;\n } // Normalize delay\n\n\n if (!isPlainObject(config.delay)) {\n config.delay = {\n show: toInteger(config.delay, 0),\n hide: toInteger(config.delay, 0)\n };\n } // If argument, assume element ID of container element\n\n\n if (bindings.arg) {\n // Element ID specified as arg\n // We must prepend '#' to become a CSS selector\n config.container = \"#\".concat(bindings.arg);\n } // Process modifiers\n\n\n keys(bindings.modifiers).forEach(function (mod) {\n if (htmlRE.test(mod)) {\n // Title allows HTML\n config.html = true;\n } else if (noninteractiveRE.test(mod)) {\n // Noninteractive\n config.interactive = false;\n } else if (noFadeRE.test(mod)) {\n // No animation\n config.animation = false;\n } else if (placementRE.test(mod)) {\n // Placement of tooltip\n config.placement = mod;\n } else if (boundaryRE.test(mod)) {\n // Boundary of tooltip\n mod = mod === 'scrollparent' ? 'scrollParent' : mod;\n config.boundary = mod;\n } else if (delayRE.test(mod)) {\n // Delay value\n var delay = toInteger(mod.slice(1), 0);\n config.delay.show = delay;\n config.delay.hide = delay;\n } else if (delayShowRE.test(mod)) {\n // Delay show value\n config.delay.show = toInteger(mod.slice(2), 0);\n } else if (delayHideRE.test(mod)) {\n // Delay hide value\n config.delay.hide = toInteger(mod.slice(2), 0);\n } else if (offsetRE.test(mod)) {\n // Offset value, negative allowed\n config.offset = toInteger(mod.slice(1), 0);\n } else if (variantRE.test(mod)) {\n // Variant\n config.variant = mod.slice(2) || null;\n }\n }); // Special handling of event trigger modifiers trigger is\n // a space separated list\n\n var selectedTriggers = {}; // Parse current config object trigger\n\n concat(config.trigger || '').filter(identity).join(' ').trim().toLowerCase().split(spacesRE).forEach(function (trigger) {\n if (validTriggers[trigger]) {\n selectedTriggers[trigger] = true;\n }\n }); // Parse modifiers for triggers\n\n keys(bindings.modifiers).forEach(function (mod) {\n mod = mod.toLowerCase();\n\n if (validTriggers[mod]) {\n // If modifier is a valid trigger\n selectedTriggers[mod] = true;\n }\n }); // Sanitize triggers\n\n config.trigger = keys(selectedTriggers).join(' ');\n\n if (config.trigger === 'blur') {\n // Blur by itself is useless, so convert it to 'focus'\n config.trigger = 'focus';\n }\n\n if (!config.trigger) {\n // Use default trigger\n config.trigger = DefaultTrigger;\n } // Return the config\n\n\n return config;\n}; // Add/update Tooltip on our element\n\n\nvar applyTooltip = function applyTooltip(el, bindings, vnode) {\n if (!IS_BROWSER) {\n /* istanbul ignore next */\n return;\n }\n\n var config = parseBindings(bindings, vnode);\n\n if (!el[BV_TOOLTIP]) {\n var $parent = vnode.context;\n el[BV_TOOLTIP] = new BVTooltip({\n parent: $parent,\n // Add the parent's scoped style attribute data\n _scopeId: getScopeId($parent, undefined)\n });\n el[BV_TOOLTIP].__bv_prev_data__ = {};\n el[BV_TOOLTIP].$on(EVENT_NAME_SHOW, function ()\n /* istanbul ignore next: for now */\n {\n // Before showing the tooltip, we update the title if it is a function\n if (isFunction(config.title)) {\n el[BV_TOOLTIP].updateData({\n title: config.title(el)\n });\n }\n });\n }\n\n var data = {\n title: config.title,\n triggers: config.trigger,\n placement: config.placement,\n fallbackPlacement: config.fallbackPlacement,\n variant: config.variant,\n customClass: config.customClass,\n container: config.container,\n boundary: config.boundary,\n delay: config.delay,\n offset: config.offset,\n noFade: !config.animation,\n id: config.id,\n interactive: config.interactive,\n disabled: config.disabled,\n html: config.html\n };\n var oldData = el[BV_TOOLTIP].__bv_prev_data__;\n el[BV_TOOLTIP].__bv_prev_data__ = data;\n\n if (!looseEqual(data, oldData)) {\n // We only update the instance if data has changed\n var newData = {\n target: el\n };\n keys(data).forEach(function (prop) {\n // We only pass data properties that have changed\n if (data[prop] !== oldData[prop]) {\n // if title is a function, we execute it here\n newData[prop] = prop === 'title' && isFunction(data[prop]) ? data[prop](el) : data[prop];\n }\n });\n el[BV_TOOLTIP].updateData(newData);\n }\n}; // Remove Tooltip on our element\n\n\nvar removeTooltip = function removeTooltip(el) {\n if (el[BV_TOOLTIP]) {\n el[BV_TOOLTIP].$destroy();\n el[BV_TOOLTIP] = null;\n }\n\n delete el[BV_TOOLTIP];\n}; // Export our directive\n\n\nexport var VBTooltip = {\n bind: function bind(el, bindings, vnode) {\n applyTooltip(el, bindings, vnode);\n },\n // We use `componentUpdated` here instead of `update`, as the former\n // waits until the containing component and children have finished updating\n componentUpdated: function componentUpdated(el, bindings, vnode) {\n // Performed in a `$nextTick()` to prevent render update loops\n vnode.context.$nextTick(function () {\n applyTooltip(el, bindings, vnode);\n });\n },\n unbind: function unbind(el) {\n removeTooltip(el);\n }\n};","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nexport { _arrayWithoutHoles as default };","function _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nexport { _iterableToArray as default };","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableSpread as default };","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nfunction _toConsumableArray(r) {\n return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nexport { _toConsumableArray as default };","// Mixin to determine if an event listener has been registered\n// either via `v-on:name` (in the parent) or programmatically\n// via `vm.$on('name', ...)`\n// See: https://github.com/vuejs/vue/issues/10825\nimport { Vue } from '../vue';\nimport { isArray, isUndefined } from '../utils/inspect'; // @vue/component\n\nexport var hasListenerMixin = Vue.extend({\n methods: {\n hasListener: function hasListener(name) {\n // Only includes listeners registered via `v-on:name`\n var $listeners = this.$listeners || {}; // Includes `v-on:name` and `this.$on('name')` registered listeners\n // Note this property is not part of the public Vue API, but it is\n // the only way to determine if a listener was added via `vm.$on`\n\n var $events = this._events || {}; // Registered listeners in `this._events` are always an array,\n // but might be zero length\n\n return !isUndefined($listeners[name]) || isArray($events[name]) && $events[name].length > 0;\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_TR } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { listenersMixin } from '../../mixins/listeners';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Constants ---\n\nvar LIGHT = 'light';\nvar DARK = 'dark'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n variant: makeProp(PROP_TYPE_STRING)\n}, NAME_TR); // --- Main component ---\n// TODO:\n// In Bootstrap v5, we won't need \"sniffing\" as table element variants properly inherit\n// to the child elements, so this can be converted to a functional component\n// @vue/component\n\nexport var BTr = /*#__PURE__*/Vue.extend({\n name: NAME_TR,\n mixins: [attrsMixin, listenersMixin, normalizeSlotMixin],\n provide: function provide() {\n return {\n bvTableTr: this\n };\n },\n inject: {\n bvTableRowGroup: {\n default:\n /* istanbul ignore next */\n function _default() {\n return {};\n }\n }\n },\n inheritAttrs: false,\n props: props,\n computed: {\n // Sniffed by `` / ``\n inTbody: function inTbody() {\n return this.bvTableRowGroup.isTbody;\n },\n // Sniffed by `` / ``\n inThead: function inThead() {\n return this.bvTableRowGroup.isThead;\n },\n // Sniffed by `` / ``\n inTfoot: function inTfoot() {\n return this.bvTableRowGroup.isTfoot;\n },\n // Sniffed by `` / ``\n isDark: function isDark() {\n return this.bvTableRowGroup.isDark;\n },\n // Sniffed by `` / ``\n isStacked: function isStacked() {\n return this.bvTableRowGroup.isStacked;\n },\n // Sniffed by `` / ``\n isResponsive: function isResponsive() {\n return this.bvTableRowGroup.isResponsive;\n },\n // Sniffed by `` / ``\n // Sticky headers are only supported in thead\n isStickyHeader: function isStickyHeader() {\n return this.bvTableRowGroup.isStickyHeader;\n },\n // Sniffed by / `` / ``\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n hasStickyHeader: function hasStickyHeader() {\n return !this.isStacked && this.bvTableRowGroup.hasStickyHeader;\n },\n // Sniffed by `` / ``\n tableVariant: function tableVariant() {\n return this.bvTableRowGroup.tableVariant;\n },\n // Sniffed by `` / ``\n headVariant: function headVariant() {\n return this.inThead ? this.bvTableRowGroup.headVariant : null;\n },\n // Sniffed by `` / ``\n footVariant: function footVariant() {\n return this.inTfoot ? this.bvTableRowGroup.footVariant : null;\n },\n isRowDark: function isRowDark() {\n return this.headVariant === LIGHT || this.footVariant === LIGHT ?\n /* istanbul ignore next */\n false : this.headVariant === DARK || this.footVariant === DARK ?\n /* istanbul ignore next */\n true : this.isDark;\n },\n trClasses: function trClasses() {\n var variant = this.variant;\n return [variant ? \"\".concat(this.isRowDark ? 'bg' : 'table', \"-\").concat(variant) : null];\n },\n trAttrs: function trAttrs() {\n return _objectSpread({\n role: 'row'\n }, this.bvAttrs);\n }\n },\n render: function render(h) {\n return h('tr', {\n class: this.trClasses,\n attrs: this.trAttrs,\n // Pass native listeners to child\n on: this.bvListeners\n }, this.normalizeSlot());\n }\n});","import { Vue } from '../../../vue';\nimport { SLOT_NAME_BOTTOM_ROW } from '../../../constants/slots';\nimport { isFunction } from '../../../utils/inspect';\nimport { BTr } from '../tr'; // --- Props ---\n\nexport var props = {}; // --- Mixin ---\n// @vue/component\n\nexport var bottomRowMixin = Vue.extend({\n props: props,\n methods: {\n renderBottomRow: function renderBottomRow() {\n var fields = this.computedFields,\n stacked = this.stacked,\n tbodyTrClass = this.tbodyTrClass,\n tbodyTrAttr = this.tbodyTrAttr;\n var h = this.$createElement; // Static bottom row slot (hidden in visibly stacked mode as we can't control the data-label)\n // If in *always* stacked mode, we don't bother rendering the row\n\n if (!this.hasNormalizedSlot(SLOT_NAME_BOTTOM_ROW) || stacked === true || stacked === '') {\n return h();\n }\n\n return h(BTr, {\n staticClass: 'b-table-bottom-row',\n class: [isFunction(tbodyTrClass) ?\n /* istanbul ignore next */\n tbodyTrClass(null, 'row-bottom') : tbodyTrClass],\n attrs: isFunction(tbodyTrAttr) ?\n /* istanbul ignore next */\n tbodyTrAttr(null, 'row-bottom') : tbodyTrAttr,\n key: 'b-bottom-row'\n }, this.normalizeSlot(SLOT_NAME_BOTTOM_ROW, {\n columns: fields.length,\n fields: fields\n }));\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_TABLE_CELL } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { isTag } from '../../utils/dom';\nimport { isUndefinedOrNull } from '../../utils/inspect';\nimport { toInteger } from '../../utils/number';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { toString } from '../../utils/string';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { listenersMixin } from '../../mixins/listeners';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Helper methods ---\n// Parse a rowspan or colspan into a digit (or `null` if < `1` )\n\nvar parseSpan = function parseSpan(value) {\n value = toInteger(value, 0);\n return value > 0 ? value : null;\n};\n/* istanbul ignore next */\n\n\nvar spanValidator = function spanValidator(value) {\n return isUndefinedOrNull(value) || parseSpan(value) > 0;\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable({\n colspan: makeProp(PROP_TYPE_NUMBER_STRING, null, spanValidator),\n rowspan: makeProp(PROP_TYPE_NUMBER_STRING, null, spanValidator),\n stackedHeading: makeProp(PROP_TYPE_STRING),\n stickyColumn: makeProp(PROP_TYPE_BOOLEAN, false),\n variant: makeProp(PROP_TYPE_STRING)\n}, NAME_TABLE_CELL); // --- Main component ---\n// TODO:\n// In Bootstrap v5, we won't need \"sniffing\" as table element variants properly inherit\n// to the child elements, so this can be converted to a functional component\n// @vue/component\n\nexport var BTd = /*#__PURE__*/Vue.extend({\n name: NAME_TABLE_CELL,\n // Mixin order is important!\n mixins: [attrsMixin, listenersMixin, normalizeSlotMixin],\n inject: {\n bvTableTr: {\n default:\n /* istanbul ignore next */\n function _default() {\n return {};\n }\n }\n },\n inheritAttrs: false,\n props: props,\n computed: {\n // Overridden by ``\n tag: function tag() {\n return 'td';\n },\n inTbody: function inTbody() {\n return this.bvTableTr.inTbody;\n },\n inThead: function inThead() {\n return this.bvTableTr.inThead;\n },\n inTfoot: function inTfoot() {\n return this.bvTableTr.inTfoot;\n },\n isDark: function isDark() {\n return this.bvTableTr.isDark;\n },\n isStacked: function isStacked() {\n return this.bvTableTr.isStacked;\n },\n // We only support stacked-heading in tbody in stacked mode\n isStackedCell: function isStackedCell() {\n return this.inTbody && this.isStacked;\n },\n isResponsive: function isResponsive() {\n return this.bvTableTr.isResponsive;\n },\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n // Sticky headers only apply to cells in table `thead`\n isStickyHeader: function isStickyHeader() {\n return this.bvTableTr.isStickyHeader;\n },\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n hasStickyHeader: function hasStickyHeader() {\n return this.bvTableTr.hasStickyHeader;\n },\n // Needed to handle background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n // Sticky column cells are only available in responsive\n // mode (horizontal scrolling) or when sticky header mode\n // Applies to cells in `thead`, `tbody` and `tfoot`\n isStickyColumn: function isStickyColumn() {\n return !this.isStacked && (this.isResponsive || this.hasStickyHeader) && this.stickyColumn;\n },\n rowVariant: function rowVariant() {\n return this.bvTableTr.variant;\n },\n headVariant: function headVariant() {\n return this.bvTableTr.headVariant;\n },\n footVariant: function footVariant() {\n return this.bvTableTr.footVariant;\n },\n tableVariant: function tableVariant() {\n return this.bvTableTr.tableVariant;\n },\n computedColspan: function computedColspan() {\n return parseSpan(this.colspan);\n },\n computedRowspan: function computedRowspan() {\n return parseSpan(this.rowspan);\n },\n // We use computed props here for improved performance by caching\n // the results of the string interpolation\n cellClasses: function cellClasses() {\n var variant = this.variant,\n headVariant = this.headVariant,\n isStickyColumn = this.isStickyColumn;\n\n if (!variant && this.isStickyHeader && !headVariant || !variant && isStickyColumn && this.inTfoot && !this.footVariant || !variant && isStickyColumn && this.inThead && !headVariant || !variant && isStickyColumn && this.inTbody) {\n // Needed for sticky-header mode as Bootstrap v4 table cells do\n // not inherit parent's `background-color`\n variant = this.rowVariant || this.tableVariant || 'b-table-default';\n }\n\n return [variant ? \"\".concat(this.isDark ? 'bg' : 'table', \"-\").concat(variant) : null, isStickyColumn ? 'b-table-sticky-column' : null];\n },\n cellAttrs: function cellAttrs() {\n var stackedHeading = this.stackedHeading; // We use computed props here for improved performance by caching\n // the results of the object spread (Object.assign)\n\n var headOrFoot = this.inThead || this.inTfoot; // Make sure col/rowspan's are > 0 or null\n\n var colspan = this.computedColspan;\n var rowspan = this.computedRowspan; // Default role and scope\n\n var role = 'cell';\n var scope = null; // Compute role and scope\n // We only add scopes with an explicit span of 1 or greater\n\n if (headOrFoot) {\n // Header or footer cells\n role = 'columnheader';\n scope = colspan > 0 ? 'colspan' : 'col';\n } else if (isTag(this.tag, 'th')) {\n // th's in tbody\n role = 'rowheader';\n scope = rowspan > 0 ? 'rowgroup' : 'row';\n }\n\n return _objectSpread(_objectSpread({\n colspan: colspan,\n rowspan: rowspan,\n role: role,\n scope: scope\n }, this.bvAttrs), {}, {\n // Add in the stacked cell label data-attribute if in\n // stacked mode (if a stacked heading label is provided)\n 'data-label': this.isStackedCell && !isUndefinedOrNull(stackedHeading) ?\n /* istanbul ignore next */\n toString(stackedHeading) : null\n });\n }\n },\n render: function render(h) {\n var $content = [this.normalizeSlot()];\n return h(this.tag, {\n class: this.cellClasses,\n attrs: this.cellAttrs,\n // Transfer any native listeners\n on: this.bvListeners\n }, [this.isStackedCell ? h('div', [$content]) : $content]);\n }\n});","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../../vue';\nimport { MODEL_EVENT_NAME_PREFIX } from '../../../constants/events';\nimport { PROP_TYPE_BOOLEAN } from '../../../constants/props';\nimport { SLOT_NAME_TABLE_BUSY } from '../../../constants/slots';\nimport { stopEvent } from '../../../utils/events';\nimport { isFunction } from '../../../utils/inspect';\nimport { makeProp } from '../../../utils/props';\nimport { BTr } from '../tr';\nimport { BTd } from '../td'; // --- Constants ---\n\nvar MODEL_PROP_NAME_BUSY = 'busy';\nvar MODEL_EVENT_NAME_BUSY = MODEL_EVENT_NAME_PREFIX + MODEL_PROP_NAME_BUSY; // --- Props ---\n\nexport var props = _defineProperty({}, MODEL_PROP_NAME_BUSY, makeProp(PROP_TYPE_BOOLEAN, false)); // --- Mixin ---\n// @vue/component\n\nexport var busyMixin = Vue.extend({\n props: props,\n data: function data() {\n return {\n localBusy: false\n };\n },\n computed: {\n computedBusy: function computedBusy() {\n return this[MODEL_PROP_NAME_BUSY] || this.localBusy;\n }\n },\n watch: {\n localBusy: function localBusy(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.$emit(MODEL_EVENT_NAME_BUSY, newValue);\n }\n }\n },\n methods: {\n // Event handler helper\n stopIfBusy: function stopIfBusy(event) {\n // If table is busy (via provider) then don't propagate\n if (this.computedBusy) {\n stopEvent(event);\n return true;\n }\n\n return false;\n },\n // Render the busy indicator or return `null` if not busy\n renderBusy: function renderBusy() {\n var tbodyTrClass = this.tbodyTrClass,\n tbodyTrAttr = this.tbodyTrAttr;\n var h = this.$createElement; // Return a busy indicator row, or `null` if not busy\n\n if (this.computedBusy && this.hasNormalizedSlot(SLOT_NAME_TABLE_BUSY)) {\n return h(BTr, {\n staticClass: 'b-table-busy-slot',\n class: [isFunction(tbodyTrClass) ?\n /* istanbul ignore next */\n tbodyTrClass(null, SLOT_NAME_TABLE_BUSY) : tbodyTrClass],\n attrs: isFunction(tbodyTrAttr) ?\n /* istanbul ignore next */\n tbodyTrAttr(null, SLOT_NAME_TABLE_BUSY) : tbodyTrAttr,\n key: 'table-busy-slot'\n }, [h(BTd, {\n props: {\n colspan: this.computedFields.length || null\n }\n }, [this.normalizeSlot(SLOT_NAME_TABLE_BUSY)])]);\n } // We return `null` here so that we can determine if we need to\n // render the table items rows or not\n\n\n return null;\n }\n }\n});","import { Vue } from '../../../vue';\nimport { PROP_TYPE_STRING } from '../../../constants/props';\nimport { SLOT_NAME_TABLE_CAPTION } from '../../../constants/slots';\nimport { htmlOrText } from '../../../utils/html';\nimport { makeProp } from '../../../utils/props'; // --- Props ---\n\nexport var props = {\n caption: makeProp(PROP_TYPE_STRING),\n captionHtml: makeProp(PROP_TYPE_STRING) // `caption-top` is part of table-render mixin (styling)\n // captionTop: makeProp(PROP_TYPE_BOOLEAN, false)\n\n}; // --- Mixin ---\n// @vue/component\n\nexport var captionMixin = Vue.extend({\n props: props,\n computed: {\n captionId: function captionId() {\n // Even though `this.safeId` looks like a method, it is a computed prop\n // that returns a new function if the underlying ID changes\n return this.isStacked ? this.safeId('_caption_') : null;\n }\n },\n methods: {\n renderCaption: function renderCaption() {\n var caption = this.caption,\n captionHtml = this.captionHtml;\n var h = this.$createElement;\n var $caption = h();\n var hasCaptionSlot = this.hasNormalizedSlot(SLOT_NAME_TABLE_CAPTION);\n\n if (hasCaptionSlot || caption || captionHtml) {\n $caption = h('caption', {\n attrs: {\n id: this.captionId\n },\n domProps: hasCaptionSlot ? {} : htmlOrText(captionHtml, caption),\n key: 'caption'\n }, this.normalizeSlot(SLOT_NAME_TABLE_CAPTION));\n }\n\n return $caption;\n }\n }\n});","import { Vue } from '../../../vue';\nimport { SLOT_NAME_TABLE_COLGROUP } from '../../../constants/slots'; // --- Props ---\n\nexport var props = {}; // --- Mixin ---\n// @vue/component\n\nexport var colgroupMixin = Vue.extend({\n methods: {\n renderColgroup: function renderColgroup() {\n var fields = this.computedFields;\n var h = this.$createElement;\n var $colgroup = h();\n\n if (this.hasNormalizedSlot(SLOT_NAME_TABLE_COLGROUP)) {\n $colgroup = h('colgroup', {\n key: 'colgroup'\n }, [this.normalizeSlot(SLOT_NAME_TABLE_COLGROUP, {\n columns: fields.length,\n fields: fields\n })]);\n }\n\n return $colgroup;\n }\n }\n});","import { Vue } from '../../../vue';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../../constants/props';\nimport { SLOT_NAME_EMPTY, SLOT_NAME_EMPTYFILTERED, SLOT_NAME_TABLE_BUSY } from '../../../constants/slots';\nimport { htmlOrText } from '../../../utils/html';\nimport { isFunction } from '../../../utils/inspect';\nimport { makeProp } from '../../../utils/props';\nimport { BTr } from '../tr';\nimport { BTd } from '../td'; // --- Props ---\n\nexport var props = {\n emptyFilteredHtml: makeProp(PROP_TYPE_STRING),\n emptyFilteredText: makeProp(PROP_TYPE_STRING, 'There are no records matching your request'),\n emptyHtml: makeProp(PROP_TYPE_STRING),\n emptyText: makeProp(PROP_TYPE_STRING, 'There are no records to show'),\n showEmpty: makeProp(PROP_TYPE_BOOLEAN, false)\n}; // --- Mixin ---\n// @vue/component\n\nexport var emptyMixin = Vue.extend({\n props: props,\n methods: {\n renderEmpty: function renderEmpty() {\n var items = this.computedItems;\n var h = this.$createElement;\n var $empty = h();\n\n if (this.showEmpty && (!items || items.length === 0) && !(this.computedBusy && this.hasNormalizedSlot(SLOT_NAME_TABLE_BUSY))) {\n var fields = this.computedFields,\n isFiltered = this.isFiltered,\n emptyText = this.emptyText,\n emptyHtml = this.emptyHtml,\n emptyFilteredText = this.emptyFilteredText,\n emptyFilteredHtml = this.emptyFilteredHtml,\n tbodyTrClass = this.tbodyTrClass,\n tbodyTrAttr = this.tbodyTrAttr;\n $empty = this.normalizeSlot(isFiltered ? SLOT_NAME_EMPTYFILTERED : SLOT_NAME_EMPTY, {\n emptyFilteredHtml: emptyFilteredHtml,\n emptyFilteredText: emptyFilteredText,\n emptyHtml: emptyHtml,\n emptyText: emptyText,\n fields: fields,\n // Not sure why this is included, as it will always be an empty array\n items: items\n });\n\n if (!$empty) {\n $empty = h('div', {\n class: ['text-center', 'my-2'],\n domProps: isFiltered ? htmlOrText(emptyFilteredHtml, emptyFilteredText) : htmlOrText(emptyHtml, emptyText)\n });\n }\n\n $empty = h(BTd, {\n props: {\n colspan: fields.length || null\n }\n }, [h('div', {\n attrs: {\n role: 'alert',\n 'aria-live': 'polite'\n }\n }, [$empty])]);\n $empty = h(BTr, {\n staticClass: 'b-table-empty-row',\n class: [isFunction(tbodyTrClass) ?\n /* istanbul ignore next */\n tbodyTrClass(null, 'row-empty') : tbodyTrClass],\n attrs: isFunction(tbodyTrAttr) ?\n /* istanbul ignore next */\n tbodyTrAttr(null, 'row-empty') : tbodyTrAttr,\n key: isFiltered ? 'b-empty-filtered-row' : 'b-empty-row'\n }, [$empty]);\n }\n\n return $empty;\n }\n }\n});","import { isDate, isObject, isUndefinedOrNull } from './inspect';\nimport { keys } from './object';\nimport { toString } from './string'; // Recursively stringifies the values of an object, space separated, in an\n// SSR safe deterministic way (keys are sorted before stringification)\n//\n// ex:\n// { b: 3, c: { z: 'zzz', d: null, e: 2 }, d: [10, 12, 11], a: 'one' }\n// becomes\n// 'one 3 2 zzz 10 12 11'\n//\n// Strings are returned as-is\n// Numbers get converted to string\n// `null` and `undefined` values are filtered out\n// Dates are converted to their native string format\n\nexport var stringifyObjectValues = function stringifyObjectValues(value) {\n if (isUndefinedOrNull(value)) {\n return '';\n } // Arrays are also object, and keys just returns the array indexes\n // Date objects we convert to strings\n\n\n if (isObject(value) && !isDate(value)) {\n return keys(value).sort() // Sort to prevent SSR issues on pre-rendered sorted tables\n .map(function (k) {\n return stringifyObjectValues(value[k]);\n }).filter(function (v) {\n return !!v;\n }) // Ignore empty strings\n .join(' ');\n }\n\n return toString(value);\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\n// Constants used by table helpers\nexport var FIELD_KEY_CELL_VARIANT = '_cellVariants';\nexport var FIELD_KEY_ROW_VARIANT = '_rowVariant';\nexport var FIELD_KEY_SHOW_DETAILS = '_showDetails'; // Object of item keys that should be ignored for headers and\n// stringification and filter events\n\nexport var IGNORED_FIELD_KEYS = [FIELD_KEY_CELL_VARIANT, FIELD_KEY_ROW_VARIANT, FIELD_KEY_SHOW_DETAILS].reduce(function (result, key) {\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, key, true));\n}, {}); // Filter CSS selector for click/dblclick/etc. events\n// If any of these selectors match the clicked element, we ignore the event\n\nexport var EVENT_FILTER = ['a', 'a *', // Include content inside links\n'button', 'button *', // Include content inside buttons\n'input:not(.disabled):not([disabled])', 'select:not(.disabled):not([disabled])', 'textarea:not(.disabled):not([disabled])', '[role=\"link\"]', '[role=\"link\"] *', '[role=\"button\"]', '[role=\"button\"] *', '[tabindex]:not(.disabled):not([disabled])'].join(',');","import { arrayIncludes } from '../../../utils/array';\nimport { isArray, isFunction } from '../../../utils/inspect';\nimport { clone, keys, pick } from '../../../utils/object';\nimport { IGNORED_FIELD_KEYS } from './constants'; // Return a copy of a row after all reserved fields have been filtered out\n\nexport var sanitizeRow = function sanitizeRow(row, ignoreFields, includeFields) {\n var fieldsObj = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n // We first need to format the row based on the field configurations\n // This ensures that we add formatted values for keys that may not\n // exist in the row itself\n var formattedRow = keys(fieldsObj).reduce(function (result, key) {\n var field = fieldsObj[key];\n var filterByFormatted = field.filterByFormatted;\n var formatter = isFunction(filterByFormatted) ?\n /* istanbul ignore next */\n filterByFormatted : filterByFormatted ?\n /* istanbul ignore next */\n field.formatter : null;\n\n if (isFunction(formatter)) {\n result[key] = formatter(row[key], key, row);\n }\n\n return result;\n }, clone(row)); // Determine the allowed keys:\n // - Ignore special fields that start with `_`\n // - Ignore fields in the `ignoreFields` array\n // - Include only fields in the `includeFields` array\n\n var allowedKeys = keys(formattedRow).filter(function (key) {\n return !IGNORED_FIELD_KEYS[key] && !(isArray(ignoreFields) && ignoreFields.length > 0 && arrayIncludes(ignoreFields, key)) && !(isArray(includeFields) && includeFields.length > 0 && !arrayIncludes(includeFields, key));\n });\n return pick(formattedRow, allowedKeys);\n};","import { isObject } from '../../../utils/inspect';\nimport { stringifyObjectValues } from '../../../utils/stringify-object-values';\nimport { sanitizeRow } from './sanitize-row'; // Stringifies the values of a record, ignoring any special top level field keys\n// TODO: Add option to stringify `scopedSlot` items\n\nexport var stringifyRecordValues = function stringifyRecordValues(row, ignoreFields, includeFields, fieldsObj) {\n return isObject(row) ? stringifyObjectValues(sanitizeRow(row, ignoreFields, includeFields, fieldsObj)) :\n /* istanbul ignore next */\n '';\n};","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport { Vue } from '../../../vue';\nimport { NAME_TABLE } from '../../../constants/components';\nimport { EVENT_NAME_FILTERED } from '../../../constants/events';\nimport { PROP_TYPE_REG_EXP, PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_FUNCTION, PROP_TYPE_ARRAY, PROP_TYPE_NUMBER_STRING } from '../../../constants/props';\nimport { RX_DIGITS, RX_SPACES } from '../../../constants/regex';\nimport { concat } from '../../../utils/array';\nimport { cloneDeep } from '../../../utils/clone-deep';\nimport { identity } from '../../../utils/identity';\nimport { isFunction, isString, isRegExp } from '../../../utils/inspect';\nimport { looseEqual } from '../../../utils/loose-equal';\nimport { toInteger } from '../../../utils/number';\nimport { hasPropFunction, makeProp } from '../../../utils/props';\nimport { escapeRegExp } from '../../../utils/string';\nimport { warn } from '../../../utils/warn';\nimport { stringifyRecordValues } from './stringify-record-values'; // --- Constants ---\n\nvar DEBOUNCE_DEPRECATED_MSG = 'Prop \"filter-debounce\" is deprecated. Use the debounce feature of \"\" instead.'; // --- Props ---\n\nexport var props = {\n filter: makeProp([].concat(_toConsumableArray(PROP_TYPE_ARRAY_OBJECT_STRING), [PROP_TYPE_REG_EXP])),\n filterDebounce: makeProp(PROP_TYPE_NUMBER_STRING, 0, function (value) {\n return RX_DIGITS.test(String(value));\n }),\n filterFunction: makeProp(PROP_TYPE_FUNCTION),\n filterIgnoredFields: makeProp(PROP_TYPE_ARRAY, []),\n filterIncludedFields: makeProp(PROP_TYPE_ARRAY, [])\n}; // --- Mixin ---\n// @vue/component\n\nexport var filteringMixin = Vue.extend({\n props: props,\n data: function data() {\n return {\n // Flag for displaying which empty slot to show and some event triggering\n isFiltered: false,\n // Where we store the copy of the filter criteria after debouncing\n // We pre-set it with the sanitized filter value\n localFilter: this.filterSanitize(this.filter)\n };\n },\n computed: {\n computedFilterIgnored: function computedFilterIgnored() {\n return concat(this.filterIgnoredFields || []).filter(identity);\n },\n computedFilterIncluded: function computedFilterIncluded() {\n return concat(this.filterIncludedFields || []).filter(identity);\n },\n computedFilterDebounce: function computedFilterDebounce() {\n var ms = toInteger(this.filterDebounce, 0);\n /* istanbul ignore next */\n\n if (ms > 0) {\n warn(DEBOUNCE_DEPRECATED_MSG, NAME_TABLE);\n }\n\n return ms;\n },\n localFiltering: function localFiltering() {\n return this.hasProvider ? !!this.noProviderFiltering : true;\n },\n // For watching changes to `filteredItems` vs `localItems`\n filteredCheck: function filteredCheck() {\n var filteredItems = this.filteredItems,\n localItems = this.localItems,\n localFilter = this.localFilter;\n return {\n filteredItems: filteredItems,\n localItems: localItems,\n localFilter: localFilter\n };\n },\n // Sanitized/normalize filter-function prop\n localFilterFn: function localFilterFn() {\n // Return `null` to signal to use internal filter function\n var filterFunction = this.filterFunction;\n return hasPropFunction(filterFunction) ? filterFunction : null;\n },\n // Returns the records in `localItems` that match the filter criteria\n // Returns the original `localItems` array if not sorting\n filteredItems: function filteredItems() {\n // Note the criteria is debounced and sanitized\n var items = this.localItems,\n criteria = this.localFilter; // Resolve the filtering function, when requested\n // We prefer the provided filtering function and fallback to the internal one\n // When no filtering criteria is specified the filtering factories will return `null`\n\n var filterFn = this.localFiltering ? this.filterFnFactory(this.localFilterFn, criteria) || this.defaultFilterFnFactory(criteria) : null; // We only do local filtering when requested and there are records to filter\n\n return filterFn && items.length > 0 ? items.filter(filterFn) : items;\n }\n },\n watch: {\n // Watch for debounce being set to 0\n computedFilterDebounce: function computedFilterDebounce(newValue) {\n if (!newValue && this.$_filterTimer) {\n this.clearFilterTimer();\n this.localFilter = this.filterSanitize(this.filter);\n }\n },\n // Watch for changes to the filter criteria, and debounce if necessary\n filter: {\n // We need a deep watcher in case the user passes\n // an object when using `filter-function`\n deep: true,\n handler: function handler(newCriteria) {\n var _this = this;\n\n var timeout = this.computedFilterDebounce;\n this.clearFilterTimer();\n\n if (timeout && timeout > 0) {\n // If we have a debounce time, delay the update of `localFilter`\n this.$_filterTimer = setTimeout(function () {\n _this.localFilter = _this.filterSanitize(newCriteria);\n }, timeout);\n } else {\n // Otherwise, immediately update `localFilter` with `newFilter` value\n this.localFilter = this.filterSanitize(newCriteria);\n }\n }\n },\n // Watch for changes to the filter criteria and filtered items vs `localItems`\n // Set visual state and emit events as required\n filteredCheck: function filteredCheck(_ref) {\n var filteredItems = _ref.filteredItems,\n localFilter = _ref.localFilter;\n // Determine if the dataset is filtered or not\n var isFiltered = false;\n\n if (!localFilter) {\n // If filter criteria is falsey\n isFiltered = false;\n } else if (looseEqual(localFilter, []) || looseEqual(localFilter, {})) {\n // If filter criteria is an empty array or object\n isFiltered = false;\n } else if (localFilter) {\n // If filter criteria is truthy\n isFiltered = true;\n }\n\n if (isFiltered) {\n this.$emit(EVENT_NAME_FILTERED, filteredItems, filteredItems.length);\n }\n\n this.isFiltered = isFiltered;\n },\n isFiltered: function isFiltered(newValue, oldValue) {\n if (newValue === false && oldValue === true) {\n // We need to emit a filtered event if `isFiltered` transitions from `true` to\n // `false` so that users can update their pagination controls\n var localItems = this.localItems;\n this.$emit(EVENT_NAME_FILTERED, localItems, localItems.length);\n }\n }\n },\n created: function created() {\n var _this2 = this;\n\n // Create private non-reactive props\n this.$_filterTimer = null; // If filter is \"pre-set\", set the criteria\n // This will trigger any watchers/dependents\n // this.localFilter = this.filterSanitize(this.filter)\n // Set the initial filtered state in a `$nextTick()` so that\n // we trigger a filtered event if needed\n\n this.$nextTick(function () {\n _this2.isFiltered = Boolean(_this2.localFilter);\n });\n },\n beforeDestroy: function beforeDestroy() {\n this.clearFilterTimer();\n },\n methods: {\n clearFilterTimer: function clearFilterTimer() {\n clearTimeout(this.$_filterTimer);\n this.$_filterTimer = null;\n },\n filterSanitize: function filterSanitize(criteria) {\n // Sanitizes filter criteria based on internal or external filtering\n if (this.localFiltering && !this.localFilterFn && !(isString(criteria) || isRegExp(criteria))) {\n // If using internal filter function, which only accepts string or RegExp,\n // return '' to signify no filter\n return '';\n } // Could be a string, object or array, as needed by external filter function\n // We use `cloneDeep` to ensure we have a new copy of an object or array\n // without Vue's reactive observers\n\n\n return cloneDeep(criteria);\n },\n // Filter Function factories\n filterFnFactory: function filterFnFactory(filterFn, criteria) {\n // Wrapper factory for external filter functions\n // Wrap the provided filter-function and return a new function\n // Returns `null` if no filter-function defined or if criteria is falsey\n // Rather than directly grabbing `this.computedLocalFilterFn` or `this.filterFunction`\n // we have it passed, so that the caller computed prop will be reactive to changes\n // in the original filter-function (as this routine is a method)\n if (!filterFn || !isFunction(filterFn) || !criteria || looseEqual(criteria, []) || looseEqual(criteria, {})) {\n return null;\n } // Build the wrapped filter test function, passing the criteria to the provided function\n\n\n var fn = function fn(item) {\n // Generated function returns true if the criteria matches part\n // of the serialized data, otherwise false\n return filterFn(item, criteria);\n }; // Return the wrapped function\n\n\n return fn;\n },\n defaultFilterFnFactory: function defaultFilterFnFactory(criteria) {\n var _this3 = this;\n\n // Generates the default filter function, using the given filter criteria\n // Returns `null` if no criteria or criteria format not supported\n if (!criteria || !(isString(criteria) || isRegExp(criteria))) {\n // Built in filter can only support strings or RegExp criteria (at the moment)\n return null;\n } // Build the RegExp needed for filtering\n\n\n var regExp = criteria;\n\n if (isString(regExp)) {\n // Escape special RegExp characters in the string and convert contiguous\n // whitespace to \\s+ matches\n var pattern = escapeRegExp(criteria).replace(RX_SPACES, '\\\\s+'); // Build the RegExp (no need for global flag, as we only need\n // to find the value once in the string)\n\n regExp = new RegExp(\".*\".concat(pattern, \".*\"), 'i');\n } // Generate the wrapped filter test function to use\n\n\n var fn = function fn(item) {\n // This searches all row values (and sub property values) in the entire (excluding\n // special `_` prefixed keys), because we convert the record to a space-separated\n // string containing all the value properties (recursively), even ones that are\n // not visible (not specified in this.fields)\n // Users can ignore filtering on specific fields, or on only certain fields,\n // and can optionall specify searching results of fields with formatter\n //\n // TODO: Enable searching on scoped slots (optional, as it will be SLOW)\n //\n // Generated function returns true if the criteria matches part of\n // the serialized data, otherwise false\n //\n // We set `lastIndex = 0` on the `RegExp` in case someone specifies the `/g` global flag\n regExp.lastIndex = 0;\n return regExp.test(stringifyRecordValues(item, _this3.computedFilterIgnored, _this3.computedFilterIncluded, _this3.computedFieldsObj));\n }; // Return the generated function\n\n\n return fn;\n }\n }\n});","import { identity } from '../../../utils/identity';\nimport { isArray, isFunction, isObject, isString } from '../../../utils/inspect';\nimport { clone, keys } from '../../../utils/object';\nimport { startCase } from '../../../utils/string';\nimport { IGNORED_FIELD_KEYS } from './constants'; // Private function to massage field entry into common object format\n\nvar processField = function processField(key, value) {\n var field = null;\n\n if (isString(value)) {\n // Label shortcut\n field = {\n key: key,\n label: value\n };\n } else if (isFunction(value)) {\n // Formatter shortcut\n field = {\n key: key,\n formatter: value\n };\n } else if (isObject(value)) {\n field = clone(value);\n field.key = field.key || key;\n } else if (value !== false) {\n // Fallback to just key\n\n /* istanbul ignore next */\n field = {\n key: key\n };\n }\n\n return field;\n}; // We normalize fields into an array of objects\n// [ { key:..., label:..., ...}, {...}, ..., {..}]\n\n\nexport var normalizeFields = function normalizeFields(origFields, items) {\n var fields = [];\n\n if (isArray(origFields)) {\n // Normalize array Form\n origFields.filter(identity).forEach(function (f) {\n if (isString(f)) {\n fields.push({\n key: f,\n label: startCase(f)\n });\n } else if (isObject(f) && f.key && isString(f.key)) {\n // Full object definition. We use assign so that we don't mutate the original\n fields.push(clone(f));\n } else if (isObject(f) && keys(f).length === 1) {\n // Shortcut object (i.e. { 'foo_bar': 'This is Foo Bar' }\n var key = keys(f)[0];\n var field = processField(key, f[key]);\n\n if (field) {\n fields.push(field);\n }\n }\n });\n } // If no field provided, take a sample from first record (if exits)\n\n\n if (fields.length === 0 && isArray(items) && items.length > 0) {\n var sample = items[0];\n keys(sample).forEach(function (k) {\n if (!IGNORED_FIELD_KEYS[k]) {\n fields.push({\n key: k,\n label: startCase(k)\n });\n }\n });\n } // Ensure we have a unique array of fields and that they have String labels\n\n\n var memo = {};\n return fields.filter(function (f) {\n if (!memo[f.key]) {\n memo[f.key] = true;\n f.label = isString(f.label) ? f.label : startCase(f.key);\n return true;\n }\n\n return false;\n });\n};","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../../vue';\nimport { EVENT_NAME_CONTEXT_CHANGED } from '../../../constants/events';\nimport { PROP_TYPE_ARRAY, PROP_TYPE_STRING } from '../../../constants/props';\nimport { isArray, isFunction, isString } from '../../../utils/inspect';\nimport { looseEqual } from '../../../utils/loose-equal';\nimport { mathMax } from '../../../utils/math';\nimport { makeModelMixin } from '../../../utils/model';\nimport { toInteger } from '../../../utils/number';\nimport { clone, sortKeys } from '../../../utils/object';\nimport { makeProp } from '../../../utils/props';\nimport { normalizeFields } from './normalize-fields'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('value', {\n type: PROP_TYPE_ARRAY,\n defaultValue: []\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event;\n\nexport { MODEL_PROP_NAME, MODEL_EVENT_NAME }; // --- Props ---\n\nexport var props = sortKeys(_objectSpread(_objectSpread({}, modelProps), {}, _defineProperty({\n fields: makeProp(PROP_TYPE_ARRAY, null),\n // Provider mixin adds in `Function` type\n items: makeProp(PROP_TYPE_ARRAY, []),\n // Primary key for record\n // If provided the value in each row must be unique!\n primaryKey: makeProp(PROP_TYPE_STRING)\n}, MODEL_PROP_NAME, makeProp(PROP_TYPE_ARRAY, [])))); // --- Mixin ---\n// @vue/component\n\nexport var itemsMixin = Vue.extend({\n mixins: [modelMixin],\n props: props,\n data: function data() {\n var items = this.items;\n return {\n // Our local copy of the items\n // Must be an array\n localItems: isArray(items) ? items.slice() : []\n };\n },\n computed: {\n computedFields: function computedFields() {\n // We normalize fields into an array of objects\n // `[ { key:..., label:..., ...}, {...}, ..., {..}]`\n return normalizeFields(this.fields, this.localItems);\n },\n computedFieldsObj: function computedFieldsObj() {\n // Fields as a simple lookup hash object\n // Mainly for formatter lookup and use in `scopedSlots` for convenience\n // If the field has a formatter, it normalizes formatter to a\n // function ref or `undefined` if no formatter\n var $parent = this.$parent;\n return this.computedFields.reduce(function (obj, f) {\n // We use object spread here so we don't mutate the original field object\n obj[f.key] = clone(f);\n\n if (f.formatter) {\n // Normalize formatter to a function ref or `undefined`\n var formatter = f.formatter;\n\n if (isString(formatter) && isFunction($parent[formatter])) {\n formatter = $parent[formatter];\n } else if (!isFunction(formatter)) {\n /* istanbul ignore next */\n formatter = undefined;\n } // Return formatter function or `undefined` if none\n\n\n obj[f.key].formatter = formatter;\n }\n\n return obj;\n }, {});\n },\n computedItems: function computedItems() {\n // Fallback if various mixins not provided\n return (this.paginatedItems || this.sortedItems || this.filteredItems || this.localItems ||\n /* istanbul ignore next */\n []).slice();\n },\n context: function context() {\n // Current state of sorting, filtering and pagination props/values\n return {\n filter: this.localFilter,\n sortBy: this.localSortBy,\n sortDesc: this.localSortDesc,\n perPage: mathMax(toInteger(this.perPage, 0), 0),\n currentPage: mathMax(toInteger(this.currentPage, 0), 1),\n apiUrl: this.apiUrl\n };\n }\n },\n watch: {\n items: function items(newValue) {\n // Set `localItems`/`filteredItems` to a copy of the provided array\n this.localItems = isArray(newValue) ? newValue.slice() : [];\n },\n // Watch for changes on `computedItems` and update the `v-model`\n computedItems: function computedItems(newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.$emit(MODEL_EVENT_NAME, newValue);\n }\n },\n // Watch for context changes\n context: function context(newValue, oldValue) {\n // Emit context information for external paging/filtering/sorting handling\n if (!looseEqual(newValue, oldValue)) {\n this.$emit(EVENT_NAME_CONTEXT_CHANGED, newValue);\n }\n }\n },\n mounted: function mounted() {\n // Initially update the `v-model` of displayed items\n this.$emit(MODEL_EVENT_NAME, this.computedItems);\n },\n methods: {\n // Method to get the formatter method for a given field key\n getFieldFormatter: function getFieldFormatter(key) {\n var field = this.computedFieldsObj[key]; // `this.computedFieldsObj` has pre-normalized the formatter to a\n // function ref if present, otherwise `undefined`\n\n return field ? field.formatter : undefined;\n }\n }\n});","import { Vue } from '../../../vue';\nimport { PROP_TYPE_NUMBER_STRING } from '../../../constants/props';\nimport { mathMax } from '../../../utils/math';\nimport { toInteger } from '../../../utils/number';\nimport { makeProp } from '../../../utils/props'; // --- Props ---\n\nexport var props = {\n currentPage: makeProp(PROP_TYPE_NUMBER_STRING, 1),\n perPage: makeProp(PROP_TYPE_NUMBER_STRING, 0)\n}; // --- Mixin ---\n// @vue/component\n\nexport var paginationMixin = Vue.extend({\n props: props,\n computed: {\n localPaging: function localPaging() {\n return this.hasProvider ? !!this.noProviderPaging : true;\n },\n paginatedItems: function paginatedItems() {\n var items = this.sortedItems || this.filteredItems || this.localItems || [];\n var currentPage = mathMax(toInteger(this.currentPage, 1), 1);\n var perPage = mathMax(toInteger(this.perPage, 0), 0); // Apply local pagination\n\n if (this.localPaging && perPage) {\n // Grab the current page of data (which may be past filtered items limit)\n items = items.slice((currentPage - 1) * perPage, currentPage * perPage);\n } // Return the items to display in the table\n\n\n return items;\n }\n }\n});","import { Vue } from '../../../vue';\nimport { NAME_TABLE } from '../../../constants/components';\nimport { EVENT_NAME_REFRESH, EVENT_NAME_REFRESHED } from '../../../constants/events';\nimport { PROP_TYPE_ARRAY_FUNCTION, PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../../constants/props';\nimport { getRootActionEventName, getRootEventName } from '../../../utils/events';\nimport { isArray, isFunction, isPromise } from '../../../utils/inspect';\nimport { looseEqual } from '../../../utils/loose-equal';\nimport { clone } from '../../../utils/object';\nimport { makeProp } from '../../../utils/props';\nimport { warn } from '../../../utils/warn';\nimport { listenOnRootMixin } from '../../../mixins/listen-on-root'; // --- Constants ---\n\nvar ROOT_EVENT_NAME_REFRESHED = getRootEventName(NAME_TABLE, EVENT_NAME_REFRESHED);\nvar ROOT_ACTION_EVENT_NAME_REFRESH = getRootActionEventName(NAME_TABLE, EVENT_NAME_REFRESH); // --- Props ---\n\nexport var props = {\n // Passed to the context object\n // Not used by `` directly\n apiUrl: makeProp(PROP_TYPE_STRING),\n // Adds in 'Function' support\n items: makeProp(PROP_TYPE_ARRAY_FUNCTION, []),\n noProviderFiltering: makeProp(PROP_TYPE_BOOLEAN, false),\n noProviderPaging: makeProp(PROP_TYPE_BOOLEAN, false),\n noProviderSorting: makeProp(PROP_TYPE_BOOLEAN, false)\n}; // --- Mixin ---\n// @vue/component\n\nexport var providerMixin = Vue.extend({\n mixins: [listenOnRootMixin],\n props: props,\n computed: {\n hasProvider: function hasProvider() {\n return isFunction(this.items);\n },\n providerTriggerContext: function providerTriggerContext() {\n // Used to trigger the provider function via a watcher. Only the fields that\n // are needed for triggering a provider update are included. Note that the\n // regular this.context is sent to the provider during fetches though, as they\n // may need all the prop info.\n var ctx = {\n apiUrl: this.apiUrl,\n filter: null,\n sortBy: null,\n sortDesc: null,\n perPage: null,\n currentPage: null\n };\n\n if (!this.noProviderFiltering) {\n // Either a string, or could be an object or array.\n ctx.filter = this.localFilter;\n }\n\n if (!this.noProviderSorting) {\n ctx.sortBy = this.localSortBy;\n ctx.sortDesc = this.localSortDesc;\n }\n\n if (!this.noProviderPaging) {\n ctx.perPage = this.perPage;\n ctx.currentPage = this.currentPage;\n }\n\n return clone(ctx);\n }\n },\n watch: {\n // Provider update triggering\n items: function items(newValue) {\n // If a new provider has been specified, trigger an update\n if (this.hasProvider || isFunction(newValue)) {\n this.$nextTick(this._providerUpdate);\n }\n },\n providerTriggerContext: function providerTriggerContext(newValue, oldValue) {\n // Trigger the provider to update as the relevant context values have changed.\n if (!looseEqual(newValue, oldValue)) {\n this.$nextTick(this._providerUpdate);\n }\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n // Call the items provider if necessary\n if (this.hasProvider && (!this.localItems || this.localItems.length === 0)) {\n // Fetch on mount if localItems is empty\n this._providerUpdate();\n } // Listen for global messages to tell us to force refresh the table\n\n\n this.listenOnRoot(ROOT_ACTION_EVENT_NAME_REFRESH, function (id) {\n if (id === _this.id || id === _this) {\n _this.refresh();\n }\n });\n },\n methods: {\n refresh: function refresh() {\n var items = this.items,\n refresh = this.refresh; // Public Method: Force a refresh of the provider function\n\n this.$off(EVENT_NAME_REFRESHED, refresh);\n\n if (this.computedBusy) {\n // Can't force an update when forced busy by user (busy prop === true)\n if (this.localBusy && this.hasProvider) {\n // But if provider running (localBusy), re-schedule refresh once `refreshed` emitted\n this.$on(EVENT_NAME_REFRESHED, refresh);\n }\n } else {\n this.clearSelected();\n\n if (this.hasProvider) {\n this.$nextTick(this._providerUpdate);\n } else {\n /* istanbul ignore next */\n this.localItems = isArray(items) ? items.slice() : [];\n }\n }\n },\n // Provider related methods\n _providerSetLocal: function _providerSetLocal(items) {\n this.localItems = isArray(items) ? items.slice() : [];\n this.localBusy = false;\n this.$emit(EVENT_NAME_REFRESHED); // New root emit\n\n if (this.id) {\n this.emitOnRoot(ROOT_EVENT_NAME_REFRESHED, this.id);\n }\n },\n _providerUpdate: function _providerUpdate() {\n var _this2 = this;\n\n // Refresh the provider function items.\n if (!this.hasProvider) {\n // Do nothing if no provider\n return;\n } // If table is busy, wait until refreshed before calling again\n\n\n if (this.computedBusy) {\n // Schedule a new refresh once `refreshed` is emitted\n this.$nextTick(this.refresh);\n return;\n } // Set internal busy state\n\n\n this.localBusy = true; // Call provider function with context and optional callback after DOM is fully updated\n\n this.$nextTick(function () {\n try {\n // Call provider function passing it the context and optional callback\n var data = _this2.items(_this2.context, _this2._providerSetLocal);\n\n if (isPromise(data)) {\n // Provider returned Promise\n data.then(function (items) {\n // Provider resolved with items\n _this2._providerSetLocal(items);\n });\n } else if (isArray(data)) {\n // Provider returned Array data\n _this2._providerSetLocal(data);\n } else {\n /* istanbul ignore if */\n if (_this2.items.length !== 2) {\n // Check number of arguments provider function requested\n // Provider not using callback (didn't request second argument), so we clear\n // busy state as most likely there was an error in the provider function\n\n /* istanbul ignore next */\n warn(\"Provider function didn't request callback and did not return a promise or data.\", NAME_TABLE);\n _this2.localBusy = false;\n }\n }\n } catch (e)\n /* istanbul ignore next */\n {\n // Provider function borked on us, so we spew out a warning\n // and clear the busy state\n warn(\"Provider function error [\".concat(e.name, \"] \").concat(e.message, \".\"), NAME_TABLE);\n _this2.localBusy = false;\n\n _this2.$off(EVENT_NAME_REFRESHED, _this2.refresh);\n }\n });\n }\n }\n});","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../../vue';\nimport { EVENT_NAME_CONTEXT_CHANGED, EVENT_NAME_FILTERED, EVENT_NAME_ROW_CLICKED, EVENT_NAME_ROW_SELECTED } from '../../../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../../constants/props';\nimport { arrayIncludes, createArray } from '../../../utils/array';\nimport { identity } from '../../../utils/identity';\nimport { isArray, isNumber } from '../../../utils/inspect';\nimport { looseEqual } from '../../../utils/loose-equal';\nimport { mathMax, mathMin } from '../../../utils/math';\nimport { makeProp } from '../../../utils/props';\nimport { sanitizeRow } from './sanitize-row'; // --- Constants ---\n\nvar SELECT_MODES = ['range', 'multi', 'single']; // --- Props ---\n\nexport var props = {\n // Disable use of click handlers for row selection\n noSelectOnClick: makeProp(PROP_TYPE_BOOLEAN, false),\n selectMode: makeProp(PROP_TYPE_STRING, 'multi', function (value) {\n return arrayIncludes(SELECT_MODES, value);\n }),\n selectable: makeProp(PROP_TYPE_BOOLEAN, false),\n selectedVariant: makeProp(PROP_TYPE_STRING, 'active')\n}; // --- Mixin ---\n// @vue/component\n\nexport var selectableMixin = Vue.extend({\n props: props,\n data: function data() {\n return {\n selectedRows: [],\n selectedLastRow: -1\n };\n },\n computed: {\n isSelectable: function isSelectable() {\n return this.selectable && this.selectMode;\n },\n hasSelectableRowClick: function hasSelectableRowClick() {\n return this.isSelectable && !this.noSelectOnClick;\n },\n supportsSelectableRows: function supportsSelectableRows() {\n return true;\n },\n selectableHasSelection: function selectableHasSelection() {\n var selectedRows = this.selectedRows;\n return this.isSelectable && selectedRows && selectedRows.length > 0 && selectedRows.some(identity);\n },\n selectableIsMultiSelect: function selectableIsMultiSelect() {\n return this.isSelectable && arrayIncludes(['range', 'multi'], this.selectMode);\n },\n selectableTableClasses: function selectableTableClasses() {\n var _ref;\n\n var isSelectable = this.isSelectable;\n return _ref = {\n 'b-table-selectable': isSelectable\n }, _defineProperty(_ref, \"b-table-select-\".concat(this.selectMode), isSelectable), _defineProperty(_ref, 'b-table-selecting', this.selectableHasSelection), _defineProperty(_ref, 'b-table-selectable-no-click', isSelectable && !this.hasSelectableRowClick), _ref;\n },\n selectableTableAttrs: function selectableTableAttrs() {\n return {\n // TODO:\n // Should this attribute not be included when no-select-on-click is set\n // since this attribute implies keyboard navigation?\n 'aria-multiselectable': !this.isSelectable ? null : this.selectableIsMultiSelect ? 'true' : 'false'\n };\n }\n },\n watch: {\n computedItems: function computedItems(newValue, oldValue) {\n // Reset for selectable\n var equal = false;\n\n if (this.isSelectable && this.selectedRows.length > 0) {\n // Quick check against array length\n equal = isArray(newValue) && isArray(oldValue) && newValue.length === oldValue.length;\n\n for (var i = 0; equal && i < newValue.length; i++) {\n // Look for the first non-loosely equal row, after ignoring reserved fields\n equal = looseEqual(sanitizeRow(newValue[i]), sanitizeRow(oldValue[i]));\n }\n }\n\n if (!equal) {\n this.clearSelected();\n }\n },\n selectable: function selectable(newValue) {\n this.clearSelected();\n this.setSelectionHandlers(newValue);\n },\n selectMode: function selectMode() {\n this.clearSelected();\n },\n hasSelectableRowClick: function hasSelectableRowClick(newValue) {\n this.clearSelected();\n this.setSelectionHandlers(!newValue);\n },\n selectedRows: function selectedRows(_selectedRows, oldValue) {\n var _this = this;\n\n if (this.isSelectable && !looseEqual(_selectedRows, oldValue)) {\n var items = []; // `.forEach()` skips over non-existent indices (on sparse arrays)\n\n _selectedRows.forEach(function (v, idx) {\n if (v) {\n items.push(_this.computedItems[idx]);\n }\n });\n\n this.$emit(EVENT_NAME_ROW_SELECTED, items);\n }\n }\n },\n beforeMount: function beforeMount() {\n // Set up handlers if needed\n if (this.isSelectable) {\n this.setSelectionHandlers(true);\n }\n },\n methods: {\n // Public methods\n selectRow: function selectRow(index) {\n // Select a particular row (indexed based on computedItems)\n if (this.isSelectable && isNumber(index) && index >= 0 && index < this.computedItems.length && !this.isRowSelected(index)) {\n var selectedRows = this.selectableIsMultiSelect ? this.selectedRows.slice() : [];\n selectedRows[index] = true;\n this.selectedLastClicked = -1;\n this.selectedRows = selectedRows;\n }\n },\n unselectRow: function unselectRow(index) {\n // Un-select a particular row (indexed based on `computedItems`)\n if (this.isSelectable && isNumber(index) && this.isRowSelected(index)) {\n var selectedRows = this.selectedRows.slice();\n selectedRows[index] = false;\n this.selectedLastClicked = -1;\n this.selectedRows = selectedRows;\n }\n },\n selectAllRows: function selectAllRows() {\n var length = this.computedItems.length;\n\n if (this.isSelectable && length > 0) {\n this.selectedLastClicked = -1;\n this.selectedRows = this.selectableIsMultiSelect ? createArray(length, true) : [true];\n }\n },\n isRowSelected: function isRowSelected(index) {\n // Determine if a row is selected (indexed based on `computedItems`)\n return !!(isNumber(index) && this.selectedRows[index]);\n },\n clearSelected: function clearSelected() {\n // Clear any active selected row(s)\n this.selectedLastClicked = -1;\n this.selectedRows = [];\n },\n // Internal private methods\n selectableRowClasses: function selectableRowClasses(index) {\n if (this.isSelectable && this.isRowSelected(index)) {\n var variant = this.selectedVariant;\n return _defineProperty({\n 'b-table-row-selected': true\n }, \"\".concat(this.dark ? 'bg' : 'table', \"-\").concat(variant), variant);\n }\n\n return {};\n },\n selectableRowAttrs: function selectableRowAttrs(index) {\n return {\n 'aria-selected': !this.isSelectable ? null : this.isRowSelected(index) ? 'true' : 'false'\n };\n },\n setSelectionHandlers: function setSelectionHandlers(on) {\n var method = on && !this.noSelectOnClick ? '$on' : '$off'; // Handle row-clicked event\n\n this[method](EVENT_NAME_ROW_CLICKED, this.selectionHandler); // Clear selection on filter, pagination, and sort changes\n\n this[method](EVENT_NAME_FILTERED, this.clearSelected);\n this[method](EVENT_NAME_CONTEXT_CHANGED, this.clearSelected);\n },\n selectionHandler: function selectionHandler(item, index, event) {\n /* istanbul ignore if: should never happen */\n if (!this.isSelectable || this.noSelectOnClick) {\n // Don't do anything if table is not in selectable mode\n this.clearSelected();\n return;\n }\n\n var selectMode = this.selectMode,\n selectedLastRow = this.selectedLastRow;\n var selectedRows = this.selectedRows.slice();\n var selected = !selectedRows[index]; // Note 'multi' mode needs no special event handling\n\n if (selectMode === 'single') {\n selectedRows = [];\n } else if (selectMode === 'range') {\n if (selectedLastRow > -1 && event.shiftKey) {\n // range\n for (var idx = mathMin(selectedLastRow, index); idx <= mathMax(selectedLastRow, index); idx++) {\n selectedRows[idx] = true;\n }\n\n selected = true;\n } else {\n if (!(event.ctrlKey || event.metaKey)) {\n // Clear range selection if any\n selectedRows = [];\n selected = true;\n }\n\n this.selectedLastRow = selected ? index : -1;\n }\n }\n\n selectedRows[index] = selected;\n this.selectedRows = selectedRows;\n }\n }\n});","var _props, _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 { EVENT_NAME_HEAD_CLICKED, EVENT_NAME_SORT_CHANGED, MODEL_EVENT_NAME_PREFIX } from '../../../constants/events';\nimport { PROP_TYPE_ARRAY_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_FUNCTION, PROP_TYPE_OBJECT, PROP_TYPE_STRING } from '../../../constants/props';\nimport { arrayIncludes } from '../../../utils/array';\nimport { isFunction, isUndefinedOrNull } from '../../../utils/inspect';\nimport { makeProp } from '../../../utils/props';\nimport { stableSort } from '../../../utils/stable-sort';\nimport { trim } from '../../../utils/string';\nimport { defaultSortCompare } from './default-sort-compare'; // --- Constants ---\n\nvar MODEL_PROP_NAME_SORT_BY = 'sortBy';\nvar MODEL_EVENT_NAME_SORT_BY = MODEL_EVENT_NAME_PREFIX + MODEL_PROP_NAME_SORT_BY;\nvar MODEL_PROP_NAME_SORT_DESC = 'sortDesc';\nvar MODEL_EVENT_NAME_SORT_DESC = MODEL_EVENT_NAME_PREFIX + MODEL_PROP_NAME_SORT_DESC;\nvar SORT_DIRECTION_ASC = 'asc';\nvar SORT_DIRECTION_DESC = 'desc';\nvar SORT_DIRECTION_LAST = 'last';\nvar SORT_DIRECTIONS = [SORT_DIRECTION_ASC, SORT_DIRECTION_DESC, SORT_DIRECTION_LAST]; // --- Props ---\n\nexport var props = (_props = {\n labelSortAsc: makeProp(PROP_TYPE_STRING, 'Click to sort Ascending'),\n labelSortClear: makeProp(PROP_TYPE_STRING, 'Click to clear sorting'),\n labelSortDesc: makeProp(PROP_TYPE_STRING, 'Click to sort Descending'),\n noFooterSorting: makeProp(PROP_TYPE_BOOLEAN, false),\n noLocalSorting: makeProp(PROP_TYPE_BOOLEAN, false),\n // Another prop that should have had a better name\n // It should be `noSortClear` (on non-sortable headers)\n // We will need to make sure the documentation is clear on what\n // this prop does (as well as in the code for future reference)\n noSortReset: makeProp(PROP_TYPE_BOOLEAN, false)\n}, _defineProperty(_props, MODEL_PROP_NAME_SORT_BY, makeProp(PROP_TYPE_STRING)), _defineProperty(_props, \"sortCompare\", makeProp(PROP_TYPE_FUNCTION)), _defineProperty(_props, \"sortCompareLocale\", makeProp(PROP_TYPE_ARRAY_STRING)), _defineProperty(_props, \"sortCompareOptions\", makeProp(PROP_TYPE_OBJECT, {\n numeric: true\n})), _defineProperty(_props, MODEL_PROP_NAME_SORT_DESC, makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_props, \"sortDirection\", makeProp(PROP_TYPE_STRING, SORT_DIRECTION_ASC, function (value) {\n return arrayIncludes(SORT_DIRECTIONS, value);\n})), _defineProperty(_props, \"sortIconLeft\", makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_props, \"sortNullLast\", makeProp(PROP_TYPE_BOOLEAN, false)), _props); // --- Mixin ---\n// @vue/component\n\nexport var sortingMixin = Vue.extend({\n props: props,\n data: function data() {\n return {\n localSortBy: this[MODEL_PROP_NAME_SORT_BY] || '',\n localSortDesc: this[MODEL_PROP_NAME_SORT_DESC] || false\n };\n },\n computed: {\n localSorting: function localSorting() {\n return this.hasProvider ? !!this.noProviderSorting : !this.noLocalSorting;\n },\n isSortable: function isSortable() {\n return this.computedFields.some(function (f) {\n return f.sortable;\n });\n },\n // Sorts the filtered items and returns a new array of the sorted items\n // When not sorted, the original items array will be returned\n sortedItems: function sortedItems() {\n var sortBy = this.localSortBy,\n sortDesc = this.localSortDesc,\n locale = this.sortCompareLocale,\n nullLast = this.sortNullLast,\n sortCompare = this.sortCompare,\n localSorting = this.localSorting;\n var items = (this.filteredItems || this.localItems || []).slice();\n\n var localeOptions = _objectSpread(_objectSpread({}, this.sortCompareOptions), {}, {\n usage: 'sort'\n });\n\n if (sortBy && localSorting) {\n var field = this.computedFieldsObj[sortBy] || {};\n var sortByFormatted = field.sortByFormatted;\n var formatter = isFunction(sortByFormatted) ?\n /* istanbul ignore next */\n sortByFormatted : sortByFormatted ? this.getFieldFormatter(sortBy) : undefined; // `stableSort` returns a new array, and leaves the original array intact\n\n return stableSort(items, function (a, b) {\n var result = null; // Call user provided `sortCompare` routine first\n\n if (isFunction(sortCompare)) {\n // TODO:\n // Change the `sortCompare` signature to the one of `defaultSortCompare`\n // with the next major version bump\n result = sortCompare(a, b, sortBy, sortDesc, formatter, localeOptions, locale);\n } // Fallback to built-in `defaultSortCompare` if `sortCompare`\n // is not defined or returns `null`/`false`\n\n\n if (isUndefinedOrNull(result) || result === false) {\n result = defaultSortCompare(a, b, {\n sortBy: sortBy,\n formatter: formatter,\n locale: locale,\n localeOptions: localeOptions,\n nullLast: nullLast\n });\n } // Negate result if sorting in descending order\n\n\n return (result || 0) * (sortDesc ? -1 : 1);\n });\n }\n\n return items;\n }\n },\n watch: (_watch = {\n /* istanbul ignore next: pain in the butt to test */\n isSortable: function isSortable(newValue) {\n if (newValue) {\n if (this.isSortable) {\n this.$on(EVENT_NAME_HEAD_CLICKED, this.handleSort);\n }\n } else {\n this.$off(EVENT_NAME_HEAD_CLICKED, this.handleSort);\n }\n }\n }, _defineProperty(_watch, MODEL_PROP_NAME_SORT_DESC, function (newValue) {\n /* istanbul ignore next */\n if (newValue === this.localSortDesc) {\n return;\n }\n\n this.localSortDesc = newValue || false;\n }), _defineProperty(_watch, MODEL_PROP_NAME_SORT_BY, function (newValue) {\n /* istanbul ignore next */\n if (newValue === this.localSortBy) {\n return;\n }\n\n this.localSortBy = newValue || '';\n }), _defineProperty(_watch, \"localSortDesc\", function localSortDesc(newValue, oldValue) {\n // Emit update to sort-desc.sync\n if (newValue !== oldValue) {\n this.$emit(MODEL_EVENT_NAME_SORT_DESC, newValue);\n }\n }), _defineProperty(_watch, \"localSortBy\", function localSortBy(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.$emit(MODEL_EVENT_NAME_SORT_BY, newValue);\n }\n }), _watch),\n created: function created() {\n if (this.isSortable) {\n this.$on(EVENT_NAME_HEAD_CLICKED, this.handleSort);\n }\n },\n methods: {\n // Handlers\n // Need to move from thead-mixin\n handleSort: function handleSort(key, field, event, isFoot) {\n var _this = this;\n\n if (!this.isSortable) {\n /* istanbul ignore next */\n return;\n }\n\n if (isFoot && this.noFooterSorting) {\n return;\n } // TODO: make this tri-state sorting\n // cycle desc => asc => none => desc => ...\n\n\n var sortChanged = false;\n\n var toggleLocalSortDesc = function toggleLocalSortDesc() {\n var sortDirection = field.sortDirection || _this.sortDirection;\n\n if (sortDirection === SORT_DIRECTION_ASC) {\n _this.localSortDesc = false;\n } else if (sortDirection === SORT_DIRECTION_DESC) {\n _this.localSortDesc = true;\n } else {// sortDirection === 'last'\n // Leave at last sort direction from previous column\n }\n };\n\n if (field.sortable) {\n var sortKey = !this.localSorting && field.sortKey ? field.sortKey : key;\n\n if (this.localSortBy === sortKey) {\n // Change sorting direction on current column\n this.localSortDesc = !this.localSortDesc;\n } else {\n // Start sorting this column ascending\n this.localSortBy = sortKey; // this.localSortDesc = false\n\n toggleLocalSortDesc();\n }\n\n sortChanged = true;\n } else if (this.localSortBy && !this.noSortReset) {\n this.localSortBy = '';\n toggleLocalSortDesc();\n sortChanged = true;\n }\n\n if (sortChanged) {\n // Sorting parameters changed\n this.$emit(EVENT_NAME_SORT_CHANGED, this.context);\n }\n },\n // methods to compute classes and attrs for thead>th cells\n sortTheadThClasses: function sortTheadThClasses(key, field, isFoot) {\n return {\n // If sortable and sortIconLeft are true, then place sort icon on the left\n 'b-table-sort-icon-left': field.sortable && this.sortIconLeft && !(isFoot && this.noFooterSorting)\n };\n },\n sortTheadThAttrs: function sortTheadThAttrs(key, field, isFoot) {\n if (!this.isSortable || isFoot && this.noFooterSorting) {\n // No attributes if not a sortable table\n return {};\n }\n\n var sortable = field.sortable; // Assemble the aria-sort attribute value\n\n var ariaSort = sortable && this.localSortBy === key ? this.localSortDesc ? 'descending' : 'ascending' : sortable ? 'none' : null; // Return the attribute\n\n return {\n 'aria-sort': ariaSort\n };\n },\n sortTheadThLabel: function sortTheadThLabel(key, field, isFoot) {\n // A label to be placed in an `.sr-only` element in the header cell\n if (!this.isSortable || isFoot && this.noFooterSorting) {\n // No label if not a sortable table\n return null;\n }\n\n var sortable = field.sortable; // The correctness of these labels is very important for screen-reader users.\n\n var labelSorting = '';\n\n if (sortable) {\n if (this.localSortBy === key) {\n // currently sorted sortable column.\n labelSorting = this.localSortDesc ? this.labelSortAsc : this.labelSortDesc;\n } else {\n // Not currently sorted sortable column.\n // Not using nested ternary's here for clarity/readability\n // Default for ariaLabel\n labelSorting = this.localSortDesc ? this.labelSortDesc : this.labelSortAsc; // Handle sortDirection setting\n\n var sortDirection = this.sortDirection || field.sortDirection;\n\n if (sortDirection === SORT_DIRECTION_ASC) {\n labelSorting = this.labelSortAsc;\n } else if (sortDirection === SORT_DIRECTION_DESC) {\n labelSorting = this.labelSortDesc;\n }\n }\n } else if (!this.noSortReset) {\n // Non sortable column\n labelSorting = this.localSortBy ? this.labelSortClear : '';\n } // Return the sr-only sort label or null if no label\n\n\n return trim(labelSorting) || null;\n }\n }\n});","import { get } from '../../../utils/get';\nimport { isDate, isFunction, isNumber, isNumeric, isUndefinedOrNull } from '../../../utils/inspect';\nimport { toFloat } from '../../../utils/number';\nimport { stringifyObjectValues } from '../../../utils/stringify-object-values';\n\nvar normalizeValue = function normalizeValue(value) {\n if (isUndefinedOrNull(value)) {\n return '';\n }\n\n if (isNumeric(value)) {\n return toFloat(value, value);\n }\n\n return value;\n}; // Default sort compare routine\n//\n// TODO:\n// Add option to sort by multiple columns (tri-state per column,\n// plus order of columns in sort) where `sortBy` could be an array\n// of objects `[ {key: 'foo', sortDir: 'asc'}, {key:'bar', sortDir: 'desc'} ...]`\n// or an array of arrays `[ ['foo','asc'], ['bar','desc'] ]`\n// Multisort will most likely be handled in `mixin-sort.js` by\n// calling this method for each sortBy\n\n\nexport var defaultSortCompare = function defaultSortCompare(a, b) {\n var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n _ref$sortBy = _ref.sortBy,\n sortBy = _ref$sortBy === void 0 ? null : _ref$sortBy,\n _ref$formatter = _ref.formatter,\n formatter = _ref$formatter === void 0 ? null : _ref$formatter,\n _ref$locale = _ref.locale,\n locale = _ref$locale === void 0 ? undefined : _ref$locale,\n _ref$localeOptions = _ref.localeOptions,\n localeOptions = _ref$localeOptions === void 0 ? {} : _ref$localeOptions,\n _ref$nullLast = _ref.nullLast,\n nullLast = _ref$nullLast === void 0 ? false : _ref$nullLast;\n\n // Get the value by `sortBy`\n var aa = get(a, sortBy, null);\n var bb = get(b, sortBy, null); // Apply user-provided formatter\n\n if (isFunction(formatter)) {\n aa = formatter(aa, sortBy, a);\n bb = formatter(bb, sortBy, b);\n } // Internally normalize value\n // `null` / `undefined` => ''\n // `'0'` => `0`\n\n\n aa = normalizeValue(aa);\n bb = normalizeValue(bb);\n\n if (isDate(aa) && isDate(bb) || isNumber(aa) && isNumber(bb)) {\n // Special case for comparing dates and numbers\n // Internally dates are compared via their epoch number values\n return aa < bb ? -1 : aa > bb ? 1 : 0;\n } else if (nullLast && aa === '' && bb !== '') {\n // Special case when sorting `null` / `undefined` / '' last\n return 1;\n } else if (nullLast && aa !== '' && bb === '') {\n // Special case when sorting `null` / `undefined` / '' last\n return -1;\n } // Do localized string comparison\n\n\n return stringifyObjectValues(aa).localeCompare(stringifyObjectValues(bb), locale, localeOptions);\n};","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../../vue';\nimport { PROP_TYPE_BOOLEAN_STRING } from '../../../constants/props';\nimport { makeProp } from '../../../utils/props'; // --- Props ---\n\nexport var props = {\n stacked: makeProp(PROP_TYPE_BOOLEAN_STRING, false)\n}; // --- Mixin ---\n// @vue/component\n\nexport var stackedMixin = Vue.extend({\n props: props,\n computed: {\n isStacked: function isStacked() {\n var stacked = this.stacked; // `true` when always stacked, or returns breakpoint specified\n\n return stacked === '' ? true : stacked;\n },\n isStackedAlways: function isStackedAlways() {\n return this.isStacked === true;\n },\n stackedTableClasses: function stackedTableClasses() {\n var isStackedAlways = this.isStackedAlways;\n return _defineProperty({\n 'b-table-stacked': isStackedAlways\n }, \"b-table-stacked-\".concat(this.stacked), !isStackedAlways && this.isStacked);\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../../vue';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_STRING, PROP_TYPE_STRING } from '../../../constants/props';\nimport { identity } from '../../../utils/identity';\nimport { isBoolean } from '../../../utils/inspect';\nimport { makeProp } from '../../../utils/props';\nimport { toString } from '../../../utils/string';\nimport { attrsMixin } from '../../../mixins/attrs'; // Main `
` render mixin\n// Includes all main table styling options\n// --- Props ---\n\nexport var props = {\n bordered: makeProp(PROP_TYPE_BOOLEAN, false),\n borderless: makeProp(PROP_TYPE_BOOLEAN, false),\n captionTop: makeProp(PROP_TYPE_BOOLEAN, false),\n dark: makeProp(PROP_TYPE_BOOLEAN, false),\n fixed: makeProp(PROP_TYPE_BOOLEAN, false),\n hover: makeProp(PROP_TYPE_BOOLEAN, false),\n noBorderCollapse: makeProp(PROP_TYPE_BOOLEAN, false),\n outlined: makeProp(PROP_TYPE_BOOLEAN, false),\n responsive: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n small: makeProp(PROP_TYPE_BOOLEAN, false),\n // If a string, it is assumed to be the table `max-height` value\n stickyHeader: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n striped: makeProp(PROP_TYPE_BOOLEAN, false),\n tableClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n tableVariant: makeProp(PROP_TYPE_STRING)\n}; // --- Mixin ---\n// @vue/component\n\nexport var tableRendererMixin = Vue.extend({\n mixins: [attrsMixin],\n provide: function provide() {\n return {\n bvTable: this\n };\n },\n // Don't place attributes on root element automatically,\n // as table could be wrapped in responsive `
`\n inheritAttrs: false,\n props: props,\n computed: {\n // Layout related computed props\n isResponsive: function isResponsive() {\n var responsive = this.responsive;\n responsive = responsive === '' ? true : responsive;\n return this.isStacked ? false : responsive;\n },\n isStickyHeader: function isStickyHeader() {\n var stickyHeader = this.stickyHeader;\n stickyHeader = stickyHeader === '' ? true : stickyHeader;\n return this.isStacked ? false : stickyHeader;\n },\n wrapperClasses: function wrapperClasses() {\n var isResponsive = this.isResponsive;\n return [this.isStickyHeader ? 'b-table-sticky-header' : '', isResponsive === true ? 'table-responsive' : isResponsive ? \"table-responsive-\".concat(this.responsive) : ''].filter(identity);\n },\n wrapperStyles: function wrapperStyles() {\n var isStickyHeader = this.isStickyHeader;\n return isStickyHeader && !isBoolean(isStickyHeader) ? {\n maxHeight: isStickyHeader\n } : {};\n },\n tableClasses: function tableClasses() {\n var hover = this.hover,\n tableVariant = this.tableVariant;\n hover = this.isTableSimple ? hover : hover && this.computedItems.length > 0 && !this.computedBusy;\n return [// User supplied classes\n this.tableClass, // Styling classes\n {\n 'table-striped': this.striped,\n 'table-hover': hover,\n 'table-dark': this.dark,\n 'table-bordered': this.bordered,\n 'table-borderless': this.borderless,\n 'table-sm': this.small,\n // The following are b-table custom styles\n border: this.outlined,\n 'b-table-fixed': this.fixed,\n 'b-table-caption-top': this.captionTop,\n 'b-table-no-border-collapse': this.noBorderCollapse\n }, tableVariant ? \"\".concat(this.dark ? 'bg' : 'table', \"-\").concat(tableVariant) : '', // Stacked table classes\n this.stackedTableClasses, // Selectable classes\n this.selectableTableClasses];\n },\n tableAttrs: function tableAttrs() {\n var items = this.computedItems,\n filteredItems = this.filteredItems,\n fields = this.computedFields,\n selectableTableAttrs = this.selectableTableAttrs; // Preserve user supplied aria-describedby, if provided in `$attrs`\n\n var adb = [(this.bvAttrs || {})['aria-describedby'], this.captionId].filter(identity).join(' ') || null;\n var ariaAttrs = this.isTableSimple ? {} : {\n 'aria-busy': this.computedBusy ? 'true' : 'false',\n 'aria-colcount': toString(fields.length),\n 'aria-describedby': adb\n };\n var rowCount = items && filteredItems && filteredItems.length > items.length ? toString(filteredItems.length) : null;\n return _objectSpread(_objectSpread(_objectSpread({\n // We set `aria-rowcount` before merging in `$attrs`,\n // in case user has supplied their own\n 'aria-rowcount': rowCount\n }, this.bvAttrs), {}, {\n // Now we can override any `$attrs` here\n id: this.safeId(),\n role: 'table'\n }, ariaAttrs), selectableTableAttrs);\n }\n },\n render: function render(h) {\n var wrapperClasses = this.wrapperClasses,\n renderCaption = this.renderCaption,\n renderColgroup = this.renderColgroup,\n renderThead = this.renderThead,\n renderTbody = this.renderTbody,\n renderTfoot = this.renderTfoot;\n var $content = [];\n\n if (this.isTableSimple) {\n $content.push(this.normalizeSlot());\n } else {\n // Build the `
`\n\n\n var $table = h('table', {\n staticClass: 'table b-table',\n class: this.tableClasses,\n attrs: this.tableAttrs,\n key: 'b-table'\n }, $content.filter(identity)); // Add responsive/sticky wrapper if needed and return table\n\n return wrapperClasses.length > 0 ? h('div', {\n class: wrapperClasses,\n style: this.wrapperStyles,\n key: 'wrap'\n }, [$table]) : $table;\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_TBODY } from '../../constants/components';\nimport { PROP_TYPE_OBJECT } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { listenersMixin } from '../../mixins/listeners';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n tbodyTransitionHandlers: makeProp(PROP_TYPE_OBJECT),\n tbodyTransitionProps: makeProp(PROP_TYPE_OBJECT)\n}, NAME_TBODY); // --- Main component ---\n// TODO:\n// In Bootstrap v5, we won't need \"sniffing\" as table element variants properly inherit\n// to the child elements, so this can be converted to a functional component\n// @vue/component\n\nexport var BTbody = /*#__PURE__*/Vue.extend({\n name: NAME_TBODY,\n mixins: [attrsMixin, listenersMixin, normalizeSlotMixin],\n provide: function provide() {\n return {\n bvTableRowGroup: this\n };\n },\n inject: {\n // Sniffed by `` / `` / ``\n bvTable: {\n default:\n /* istanbul ignore next */\n function _default() {\n return {};\n }\n }\n },\n inheritAttrs: false,\n props: props,\n computed: {\n // Sniffed by `` / `` / ``\n isTbody: function isTbody() {\n return true;\n },\n // Sniffed by `` / `` / ``\n isDark: function isDark() {\n return this.bvTable.dark;\n },\n // Sniffed by `` / `` / ``\n isStacked: function isStacked() {\n return this.bvTable.isStacked;\n },\n // Sniffed by `` / `` / ``\n isResponsive: function isResponsive() {\n return this.bvTable.isResponsive;\n },\n // Sniffed by `` / `` / ``\n // Sticky headers are only supported in thead\n isStickyHeader: function isStickyHeader() {\n return false;\n },\n // Sniffed by `` / `` / ``\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n hasStickyHeader: function hasStickyHeader() {\n return !this.isStacked && this.bvTable.stickyHeader;\n },\n // Sniffed by `` / `` / ``\n tableVariant: function tableVariant() {\n return this.bvTable.tableVariant;\n },\n isTransitionGroup: function isTransitionGroup() {\n return this.tbodyTransitionProps || this.tbodyTransitionHandlers;\n },\n tbodyAttrs: function tbodyAttrs() {\n return _objectSpread({\n role: 'rowgroup'\n }, this.bvAttrs);\n },\n tbodyProps: function tbodyProps() {\n var tbodyTransitionProps = this.tbodyTransitionProps;\n return tbodyTransitionProps ? _objectSpread(_objectSpread({}, tbodyTransitionProps), {}, {\n tag: 'tbody'\n }) : {};\n }\n },\n render: function render(h) {\n var data = {\n props: this.tbodyProps,\n attrs: this.tbodyAttrs\n };\n\n if (this.isTransitionGroup) {\n // We use native listeners if a transition group for any delegated events\n data.on = this.tbodyTransitionHandlers || {};\n data.nativeOn = this.bvListeners;\n } else {\n // Otherwise we place any listeners on the tbody element\n data.on = this.bvListeners;\n }\n\n return h(this.isTransitionGroup ? 'transition-group' : 'tbody', data, this.normalizeSlot());\n }\n});","import { closest, getAttr, getById, matches, select } from '../../../utils/dom';\nimport { EVENT_FILTER } from './constants';\nvar TABLE_TAG_NAMES = ['TD', 'TH', 'TR']; // Returns `true` if we should ignore the click/double-click/keypress event\n// Avoids having the user need to use `@click.stop` on the form control\n\nexport var filterEvent = function filterEvent(event) {\n // Exit early when we don't have a target element\n if (!event || !event.target) {\n /* istanbul ignore next */\n return false;\n }\n\n var el = event.target; // Exit early when element is disabled or a table element\n\n if (el.disabled || TABLE_TAG_NAMES.indexOf(el.tagName) !== -1) {\n return false;\n } // Ignore the click when it was inside a dropdown menu\n\n\n if (closest('.dropdown-menu', el)) {\n return true;\n }\n\n var label = el.tagName === 'LABEL' ? el : closest('label', el); // If the label's form control is not disabled then we don't propagate event\n // Modern browsers have `label.control` that references the associated input, but IE 11\n // does not have this property on the label element, so we resort to DOM lookups\n\n if (label) {\n var labelFor = getAttr(label, 'for');\n var input = labelFor ? getById(labelFor) : select('input, select, textarea', label);\n\n if (input && !input.disabled) {\n return true;\n }\n } // Otherwise check if the event target matches one of the selectors in the\n // event filter (i.e. anchors, non disabled inputs, etc.)\n // Return `true` if we should ignore the event\n\n\n return matches(el, EVENT_FILTER);\n};","import { getSel, isElement } from '../../../utils/dom'; // Helper to determine if a there is an active text selection on the document page\n// Used to filter out click events caused by the mouse up at end of selection\n//\n// Accepts an element as only argument to test to see if selection overlaps or is\n// contained within the element\n\nexport var textSelectionActive = function textSelectionActive() {\n var el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document;\n var sel = getSel();\n return sel && sel.toString().trim() !== '' && sel.containsNode && isElement(el) ?\n /* istanbul ignore next */\n sel.containsNode(el, true) : false;\n};","import { Vue } from '../../vue';\nimport { NAME_TH } from '../../constants/components';\nimport { makePropsConfigurable } from '../../utils/props';\nimport { BTd, props as BTdProps } from './td'; // --- Props ---\n\nexport var props = makePropsConfigurable(BTdProps, NAME_TH); // --- Main component ---\n// TODO:\n// In Bootstrap v5, we won't need \"sniffing\" as table element variants properly inherit\n// to the child elements, so this can be converted to a functional component\n// @vue/component\n\nexport var BTh = /*#__PURE__*/Vue.extend({\n name: NAME_TH,\n extends: BTd,\n props: props,\n computed: {\n tag: function tag() {\n return 'th';\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\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport { Vue } from '../../../vue';\nimport { EVENT_NAME_ROW_CLICKED, EVENT_NAME_ROW_HOVERED, EVENT_NAME_ROW_UNHOVERED } from '../../../constants/events';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_FUNCTION, PROP_TYPE_OBJECT_FUNCTION } from '../../../constants/props';\nimport { SLOT_NAME_ROW_DETAILS } from '../../../constants/slots';\nimport { get } from '../../../utils/get';\nimport { isFunction, isString, isUndefinedOrNull } from '../../../utils/inspect';\nimport { makeProp } from '../../../utils/props';\nimport { toString } from '../../../utils/string';\nimport { BTr } from '../tr';\nimport { BTd } from '../td';\nimport { BTh } from '../th';\nimport { FIELD_KEY_CELL_VARIANT, FIELD_KEY_ROW_VARIANT, FIELD_KEY_SHOW_DETAILS } from './constants'; // --- Props ---\n\nexport var props = {\n detailsTdClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n tbodyTrAttr: makeProp(PROP_TYPE_OBJECT_FUNCTION),\n tbodyTrClass: makeProp([].concat(_toConsumableArray(PROP_TYPE_ARRAY_OBJECT_STRING), [PROP_TYPE_FUNCTION]))\n}; // --- Mixin ---\n// @vue/component\n\nexport var tbodyRowMixin = Vue.extend({\n props: props,\n methods: {\n // Methods for computing classes, attributes and styles for table cells\n getTdValues: function getTdValues(item, key, tdValue, defaultValue) {\n var $parent = this.$parent;\n\n if (tdValue) {\n var value = get(item, key, '');\n\n if (isFunction(tdValue)) {\n return tdValue(value, key, item);\n } else if (isString(tdValue) && isFunction($parent[tdValue])) {\n return $parent[tdValue](value, key, item);\n }\n\n return tdValue;\n }\n\n return defaultValue;\n },\n getThValues: function getThValues(item, key, thValue, type, defaultValue) {\n var $parent = this.$parent;\n\n if (thValue) {\n var value = get(item, key, '');\n\n if (isFunction(thValue)) {\n return thValue(value, key, item, type);\n } else if (isString(thValue) && isFunction($parent[thValue])) {\n return $parent[thValue](value, key, item, type);\n }\n\n return thValue;\n }\n\n return defaultValue;\n },\n // Method to get the value for a field\n getFormattedValue: function getFormattedValue(item, field) {\n var key = field.key;\n var formatter = this.getFieldFormatter(key);\n var value = get(item, key, null);\n\n if (isFunction(formatter)) {\n value = formatter(value, key, item);\n }\n\n return isUndefinedOrNull(value) ? '' : value;\n },\n // Factory function methods\n toggleDetailsFactory: function toggleDetailsFactory(hasDetailsSlot, item) {\n var _this = this;\n\n // Returns a function to toggle a row's details slot\n return function () {\n if (hasDetailsSlot) {\n _this.$set(item, FIELD_KEY_SHOW_DETAILS, !item[FIELD_KEY_SHOW_DETAILS]);\n }\n };\n },\n // Row event handlers\n rowHovered: function rowHovered(event) {\n // `mouseenter` handler (non-bubbling)\n // `this.tbodyRowEvtStopped` from tbody mixin\n if (!this.tbodyRowEvtStopped(event)) {\n // `this.emitTbodyRowEvent` from tbody mixin\n this.emitTbodyRowEvent(EVENT_NAME_ROW_HOVERED, event);\n }\n },\n rowUnhovered: function rowUnhovered(event) {\n // `mouseleave` handler (non-bubbling)\n // `this.tbodyRowEvtStopped` from tbody mixin\n if (!this.tbodyRowEvtStopped(event)) {\n // `this.emitTbodyRowEvent` from tbody mixin\n this.emitTbodyRowEvent(EVENT_NAME_ROW_UNHOVERED, event);\n }\n },\n // Renders a TD or TH for a row's field\n renderTbodyRowCell: function renderTbodyRowCell(field, colIndex, item, rowIndex) {\n var _this2 = this;\n\n var isStacked = this.isStacked;\n var key = field.key,\n label = field.label,\n isRowHeader = field.isRowHeader;\n var h = this.$createElement;\n var hasDetailsSlot = this.hasNormalizedSlot(SLOT_NAME_ROW_DETAILS);\n var formatted = this.getFormattedValue(item, field);\n var stickyColumn = !isStacked && (this.isResponsive || this.stickyHeader) && field.stickyColumn; // We only uses the helper components for sticky columns to\n // improve performance of BTable/BTableLite by reducing the\n // total number of vue instances created during render\n\n var cellTag = stickyColumn ? isRowHeader ? BTh : BTd : isRowHeader ? 'th' : 'td';\n var cellVariant = item[FIELD_KEY_CELL_VARIANT] && item[FIELD_KEY_CELL_VARIANT][key] ? item[FIELD_KEY_CELL_VARIANT][key] : field.variant || null;\n var data = {\n // For the Vue key, we concatenate the column index and\n // field key (as field keys could be duplicated)\n // TODO: Although we do prevent duplicate field keys...\n // So we could change this to: `row-${rowIndex}-cell-${key}`\n class: [field.class ? field.class : '', this.getTdValues(item, key, field.tdClass, '')],\n props: {},\n attrs: _objectSpread({\n 'aria-colindex': String(colIndex + 1)\n }, isRowHeader ? this.getThValues(item, key, field.thAttr, 'row', {}) : this.getTdValues(item, key, field.tdAttr, {})),\n key: \"row-\".concat(rowIndex, \"-cell-\").concat(colIndex, \"-\").concat(key)\n };\n\n if (stickyColumn) {\n // We are using the helper BTd or BTh\n data.props = {\n stackedHeading: isStacked ? label : null,\n stickyColumn: true,\n variant: cellVariant\n };\n } else {\n // Using native TD or TH element, so we need to\n // add in the attributes and variant class\n data.attrs['data-label'] = isStacked && !isUndefinedOrNull(label) ? toString(label) : null;\n data.attrs.role = isRowHeader ? 'rowheader' : 'cell';\n data.attrs.scope = isRowHeader ? 'row' : null; // Add in the variant class\n\n if (cellVariant) {\n data.class.push(\"\".concat(this.dark ? 'bg' : 'table', \"-\").concat(cellVariant));\n }\n }\n\n var slotScope = {\n item: item,\n index: rowIndex,\n field: field,\n unformatted: get(item, key, ''),\n value: formatted,\n toggleDetails: this.toggleDetailsFactory(hasDetailsSlot, item),\n detailsShowing: Boolean(item[FIELD_KEY_SHOW_DETAILS])\n }; // If table supports selectable mode, then add in the following scope\n // this.supportsSelectableRows will be undefined if mixin isn't loaded\n\n if (this.supportsSelectableRows) {\n slotScope.rowSelected = this.isRowSelected(rowIndex);\n\n slotScope.selectRow = function () {\n return _this2.selectRow(rowIndex);\n };\n\n slotScope.unselectRow = function () {\n return _this2.unselectRow(rowIndex);\n };\n } // The new `v-slot` syntax doesn't like a slot name starting with\n // a square bracket and if using in-document HTML templates, the\n // v-slot attributes are lower-cased by the browser.\n // Switched to round bracket syntax to prevent confusion with\n // dynamic slot name syntax.\n // We look for slots in this order: `cell(${key})`, `cell(${key.toLowerCase()})`, 'cell()'\n // Slot names are now cached by mixin tbody in `this.$_bodyFieldSlotNameCache`\n // Will be `null` if no slot (or fallback slot) exists\n\n\n var slotName = this.$_bodyFieldSlotNameCache[key];\n var $childNodes = slotName ? this.normalizeSlot(slotName, slotScope) : toString(formatted);\n\n if (this.isStacked) {\n // We wrap in a DIV to ensure rendered as a single cell when visually stacked!\n $childNodes = [h('div', [$childNodes])];\n } // Render either a td or th cell\n\n\n return h(cellTag, data, [$childNodes]);\n },\n // Renders an item's row (or rows if details supported)\n renderTbodyRow: function renderTbodyRow(item, rowIndex) {\n var _this3 = this;\n\n var fields = this.computedFields,\n striped = this.striped,\n primaryKey = this.primaryKey,\n currentPage = this.currentPage,\n perPage = this.perPage,\n tbodyTrClass = this.tbodyTrClass,\n tbodyTrAttr = this.tbodyTrAttr;\n var h = this.$createElement;\n var hasDetailsSlot = this.hasNormalizedSlot(SLOT_NAME_ROW_DETAILS);\n var rowShowDetails = item[FIELD_KEY_SHOW_DETAILS] && hasDetailsSlot;\n var hasRowClickHandler = this.$listeners[EVENT_NAME_ROW_CLICKED] || this.hasSelectableRowClick; // We can return more than one TR if rowDetails enabled\n\n var $rows = []; // Details ID needed for `aria-details` when details showing\n // We set it to `null` when not showing so that attribute\n // does not appear on the element\n\n var detailsId = rowShowDetails ? this.safeId(\"_details_\".concat(rowIndex, \"_\")) : null; // For each item data field in row\n\n var $tds = fields.map(function (field, colIndex) {\n return _this3.renderTbodyRowCell(field, colIndex, item, rowIndex);\n }); // Calculate the row number in the dataset (indexed from 1)\n\n var ariaRowIndex = null;\n\n if (currentPage && perPage && perPage > 0) {\n ariaRowIndex = String((currentPage - 1) * perPage + rowIndex + 1);\n } // Create a unique :key to help ensure that sub components are re-rendered rather than\n // re-used, which can cause issues. If a primary key is not provided we use the rendered\n // rows index within the tbody.\n // See: https://github.com/bootstrap-vue/bootstrap-vue/issues/2410\n\n\n var primaryKeyValue = toString(get(item, primaryKey)) || null;\n var rowKey = primaryKeyValue || toString(rowIndex); // If primary key is provided, use it to generate a unique ID on each tbody > tr\n // In the format of '{tableId}__row_{primaryKeyValue}'\n\n var rowId = primaryKeyValue ? this.safeId(\"_row_\".concat(primaryKeyValue)) : null; // Selectable classes and attributes\n\n var selectableClasses = this.selectableRowClasses ? this.selectableRowClasses(rowIndex) : {};\n var selectableAttrs = this.selectableRowAttrs ? this.selectableRowAttrs(rowIndex) : {}; // Additional classes and attributes\n\n var userTrClasses = isFunction(tbodyTrClass) ? tbodyTrClass(item, 'row') : tbodyTrClass;\n var userTrAttrs = isFunction(tbodyTrAttr) ?\n /* istanbul ignore next */\n tbodyTrAttr(item, 'row') : tbodyTrAttr; // Add the item row\n\n $rows.push(h(BTr, {\n class: [userTrClasses, selectableClasses, rowShowDetails ? 'b-table-has-details' : ''],\n props: {\n variant: item[FIELD_KEY_ROW_VARIANT] || null\n },\n attrs: _objectSpread(_objectSpread({\n id: rowId\n }, userTrAttrs), {}, {\n // Users cannot override the following attributes\n tabindex: hasRowClickHandler ? '0' : null,\n 'data-pk': primaryKeyValue || null,\n 'aria-details': detailsId,\n 'aria-owns': detailsId,\n 'aria-rowindex': ariaRowIndex\n }, selectableAttrs),\n on: {\n // Note: These events are not A11Y friendly!\n mouseenter: this.rowHovered,\n mouseleave: this.rowUnhovered\n },\n key: \"__b-table-row-\".concat(rowKey, \"__\"),\n ref: 'item-rows',\n refInFor: true\n }, $tds)); // Row Details slot\n\n if (rowShowDetails) {\n var detailsScope = {\n item: item,\n index: rowIndex,\n fields: fields,\n toggleDetails: this.toggleDetailsFactory(hasDetailsSlot, item)\n }; // If table supports selectable mode, then add in the following scope\n // this.supportsSelectableRows will be undefined if mixin isn't loaded\n\n if (this.supportsSelectableRows) {\n detailsScope.rowSelected = this.isRowSelected(rowIndex);\n\n detailsScope.selectRow = function () {\n return _this3.selectRow(rowIndex);\n };\n\n detailsScope.unselectRow = function () {\n return _this3.unselectRow(rowIndex);\n };\n } // Render the details slot in a TD\n\n\n var $details = h(BTd, {\n props: {\n colspan: fields.length\n },\n class: this.detailsTdClass\n }, [this.normalizeSlot(SLOT_NAME_ROW_DETAILS, detailsScope)]); // Add a hidden row to keep table row striping consistent when details showing\n // Only added if the table is striped\n\n if (striped) {\n $rows.push( // We don't use `BTr` here as we don't need the extra functionality\n h('tr', {\n staticClass: 'd-none',\n attrs: {\n 'aria-hidden': 'true',\n role: 'presentation'\n },\n key: \"__b-table-details-stripe__\".concat(rowKey)\n }));\n } // Add the actual details row\n\n\n var userDetailsTrClasses = isFunction(this.tbodyTrClass) ?\n /* istanbul ignore next */\n this.tbodyTrClass(item, SLOT_NAME_ROW_DETAILS) : this.tbodyTrClass;\n var userDetailsTrAttrs = isFunction(this.tbodyTrAttr) ?\n /* istanbul ignore next */\n this.tbodyTrAttr(item, SLOT_NAME_ROW_DETAILS) : this.tbodyTrAttr;\n $rows.push(h(BTr, {\n staticClass: 'b-table-details',\n class: [userDetailsTrClasses],\n props: {\n variant: item[FIELD_KEY_ROW_VARIANT] || null\n },\n attrs: _objectSpread(_objectSpread({}, userDetailsTrAttrs), {}, {\n // Users cannot override the following attributes\n id: detailsId,\n tabindex: '-1'\n }),\n key: \"__b-table-details__\".concat(rowKey)\n }, [$details]));\n } else if (hasDetailsSlot) {\n // Only add the placeholder if a the table has a row-details slot defined (but not shown)\n $rows.push(h());\n\n if (striped) {\n // Add extra placeholder if table is striped\n $rows.push(h());\n }\n } // Return the row(s)\n\n\n return $rows;\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../../vue';\nimport { EVENT_NAME_ROW_CLICKED, EVENT_NAME_ROW_CONTEXTMENU, EVENT_NAME_ROW_DBLCLICKED, EVENT_NAME_ROW_MIDDLE_CLICKED } from '../../../constants/events';\nimport { CODE_DOWN, CODE_END, CODE_ENTER, CODE_HOME, CODE_SPACE, CODE_UP } from '../../../constants/key-codes';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING } from '../../../constants/props';\nimport { arrayIncludes, from as arrayFrom } from '../../../utils/array';\nimport { attemptFocus, closest, isActiveElement, isElement } from '../../../utils/dom';\nimport { stopEvent } from '../../../utils/events';\nimport { sortKeys } from '../../../utils/object';\nimport { makeProp, pluckProps } from '../../../utils/props';\nimport { BTbody, props as BTbodyProps } from '../tbody';\nimport { filterEvent } from './filter-event';\nimport { textSelectionActive } from './text-selection-active';\nimport { tbodyRowMixin, props as tbodyRowProps } from './mixin-tbody-row'; // --- Helper methods ---\n\nvar getCellSlotName = function getCellSlotName(value) {\n return \"cell(\".concat(value || '', \")\");\n}; // --- Props ---\n\n\nexport var props = sortKeys(_objectSpread(_objectSpread(_objectSpread({}, BTbodyProps), tbodyRowProps), {}, {\n tbodyClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)\n})); // --- Mixin ---\n// @vue/component\n\nexport var tbodyMixin = Vue.extend({\n mixins: [tbodyRowMixin],\n props: props,\n beforeDestroy: function beforeDestroy() {\n this.$_bodyFieldSlotNameCache = null;\n },\n methods: {\n // Returns all the item TR elements (excludes detail and spacer rows)\n // `this.$refs['item-rows']` is an array of item TR components/elements\n // Rows should all be `` components, but we map to TR elements\n // Also note that `this.$refs['item-rows']` may not always be in document order\n getTbodyTrs: function getTbodyTrs() {\n var $refs = this.$refs;\n var tbody = $refs.tbody ? $refs.tbody.$el || $refs.tbody : null;\n var trs = ($refs['item-rows'] || []).map(function (tr) {\n return tr.$el || tr;\n });\n return tbody && tbody.children && tbody.children.length > 0 && trs && trs.length > 0 ? arrayFrom(tbody.children).filter(function (tr) {\n return arrayIncludes(trs, tr);\n }) :\n /* istanbul ignore next */\n [];\n },\n // Returns index of a particular TBODY item TR\n // We set `true` on closest to include self in result\n getTbodyTrIndex: function getTbodyTrIndex(el) {\n /* istanbul ignore next: should not normally happen */\n if (!isElement(el)) {\n return -1;\n }\n\n var tr = el.tagName === 'TR' ? el : closest('tr', el, true);\n return tr ? this.getTbodyTrs().indexOf(tr) : -1;\n },\n // Emits a row event, with the item object, row index and original event\n emitTbodyRowEvent: function emitTbodyRowEvent(type, event) {\n if (type && this.hasListener(type) && event && event.target) {\n var rowIndex = this.getTbodyTrIndex(event.target);\n\n if (rowIndex > -1) {\n // The array of TRs correlate to the `computedItems` array\n var item = this.computedItems[rowIndex];\n this.$emit(type, item, rowIndex, event);\n }\n }\n },\n tbodyRowEvtStopped: function tbodyRowEvtStopped(event) {\n return this.stopIfBusy && this.stopIfBusy(event);\n },\n // Delegated row event handlers\n onTbodyRowKeydown: function onTbodyRowKeydown(event) {\n // Keyboard navigation and row click emulation\n var target = event.target,\n keyCode = event.keyCode;\n\n if (this.tbodyRowEvtStopped(event) || target.tagName !== 'TR' || !isActiveElement(target) || target.tabIndex !== 0) {\n // Early exit if not an item row TR\n return;\n }\n\n if (arrayIncludes([CODE_ENTER, CODE_SPACE], keyCode)) {\n // Emulated click for keyboard users, transfer to click handler\n stopEvent(event);\n this.onTBodyRowClicked(event);\n } else if (arrayIncludes([CODE_UP, CODE_DOWN, CODE_HOME, CODE_END], keyCode)) {\n // Keyboard navigation\n var rowIndex = this.getTbodyTrIndex(target);\n\n if (rowIndex > -1) {\n stopEvent(event);\n var trs = this.getTbodyTrs();\n var shift = event.shiftKey;\n\n if (keyCode === CODE_HOME || shift && keyCode === CODE_UP) {\n // Focus first row\n attemptFocus(trs[0]);\n } else if (keyCode === CODE_END || shift && keyCode === CODE_DOWN) {\n // Focus last row\n attemptFocus(trs[trs.length - 1]);\n } else if (keyCode === CODE_UP && rowIndex > 0) {\n // Focus previous row\n attemptFocus(trs[rowIndex - 1]);\n } else if (keyCode === CODE_DOWN && rowIndex < trs.length - 1) {\n // Focus next row\n attemptFocus(trs[rowIndex + 1]);\n }\n }\n }\n },\n onTBodyRowClicked: function onTBodyRowClicked(event) {\n // Don't emit event when the table is busy, the user clicked\n // on a non-disabled control or is selecting text\n if (this.tbodyRowEvtStopped(event) || filterEvent(event) || textSelectionActive(this.$el)) {\n return;\n }\n\n this.emitTbodyRowEvent(EVENT_NAME_ROW_CLICKED, event);\n },\n onTbodyRowMiddleMouseRowClicked: function onTbodyRowMiddleMouseRowClicked(event) {\n if (!this.tbodyRowEvtStopped(event) && event.which === 2) {\n this.emitTbodyRowEvent(EVENT_NAME_ROW_MIDDLE_CLICKED, event);\n }\n },\n onTbodyRowContextmenu: function onTbodyRowContextmenu(event) {\n if (!this.tbodyRowEvtStopped(event)) {\n this.emitTbodyRowEvent(EVENT_NAME_ROW_CONTEXTMENU, event);\n }\n },\n onTbodyRowDblClicked: function onTbodyRowDblClicked(event) {\n if (!this.tbodyRowEvtStopped(event) && !filterEvent(event)) {\n this.emitTbodyRowEvent(EVENT_NAME_ROW_DBLCLICKED, event);\n }\n },\n // Render the tbody element and children\n // Note:\n // Row hover handlers are handled by the tbody-row mixin\n // As mouseenter/mouseleave events do not bubble\n renderTbody: function renderTbody() {\n var _this = this;\n\n var items = this.computedItems,\n renderBusy = this.renderBusy,\n renderTopRow = this.renderTopRow,\n renderEmpty = this.renderEmpty,\n renderBottomRow = this.renderBottomRow;\n var h = this.$createElement;\n var hasRowClickHandler = this.hasListener(EVENT_NAME_ROW_CLICKED) || this.hasSelectableRowClick; // Prepare the tbody rows\n\n var $rows = []; // Add the item data rows or the busy slot\n\n var $busy = renderBusy ? renderBusy() : null;\n\n if ($busy) {\n // If table is busy and a busy slot, then return only the busy \"row\" indicator\n $rows.push($busy);\n } else {\n // Table isn't busy, or we don't have a busy slot\n // Create a slot cache for improved performance when looking up cell slot names\n // Values will be keyed by the field's `key` and will store the slot's name\n // Slots could be dynamic (i.e. `v-if`), so we must compute on each render\n // Used by tbody-row mixin render helper\n var cache = {};\n var defaultSlotName = getCellSlotName();\n defaultSlotName = this.hasNormalizedSlot(defaultSlotName) ? defaultSlotName : null;\n this.computedFields.forEach(function (field) {\n var key = field.key;\n var slotName = getCellSlotName(key);\n var lowercaseSlotName = getCellSlotName(key.toLowerCase());\n cache[key] = _this.hasNormalizedSlot(slotName) ? slotName : _this.hasNormalizedSlot(lowercaseSlotName) ?\n /* istanbul ignore next */\n lowercaseSlotName : defaultSlotName;\n }); // Created as a non-reactive property so to not trigger component updates\n // Must be a fresh object each render\n\n this.$_bodyFieldSlotNameCache = cache; // Add static top row slot (hidden in visibly stacked mode\n // as we can't control `data-label` attr)\n\n $rows.push(renderTopRow ? renderTopRow() : h()); // Render the rows\n\n items.forEach(function (item, rowIndex) {\n // Render the individual item row (rows if details slot)\n $rows.push(_this.renderTbodyRow(item, rowIndex));\n }); // Empty items / empty filtered row slot (only shows if `items.length < 1`)\n\n $rows.push(renderEmpty ? renderEmpty() : h()); // Static bottom row slot (hidden in visibly stacked mode\n // as we can't control `data-label` attr)\n\n $rows.push(renderBottomRow ? renderBottomRow() : h());\n } // Note: these events will only emit if a listener is registered\n\n\n var handlers = {\n auxclick: this.onTbodyRowMiddleMouseRowClicked,\n // TODO:\n // Perhaps we do want to automatically prevent the\n // default context menu from showing if there is a\n // `row-contextmenu` listener registered\n contextmenu: this.onTbodyRowContextmenu,\n // The following event(s) is not considered A11Y friendly\n dblclick: this.onTbodyRowDblClicked // Hover events (`mouseenter`/`mouseleave`) are handled by `tbody-row` mixin\n\n }; // Add in click/keydown listeners if needed\n\n if (hasRowClickHandler) {\n handlers.click = this.onTBodyRowClicked;\n handlers.keydown = this.onTbodyRowKeydown;\n } // Assemble rows into the tbody\n\n\n var $tbody = h(BTbody, {\n class: this.tbodyClass || null,\n props: pluckProps(BTbodyProps, this.$props),\n // BTbody transfers all native event listeners to the root element\n // TODO: Only set the handlers if the table is not busy\n on: handlers,\n ref: 'tbody'\n }, $rows); // Return the assembled tbody\n\n return $tbody;\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_TFOOT } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { listenersMixin } from '../../mixins/listeners';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n // Supported values: 'lite', 'dark', or null\n footVariant: makeProp(PROP_TYPE_STRING)\n}, NAME_TFOOT); // --- Main component ---\n// TODO:\n// In Bootstrap v5, we won't need \"sniffing\" as table element variants properly inherit\n// to the child elements, so this can be converted to a functional component\n// @vue/component\n\nexport var BTfoot = /*#__PURE__*/Vue.extend({\n name: NAME_TFOOT,\n mixins: [attrsMixin, listenersMixin, normalizeSlotMixin],\n provide: function provide() {\n return {\n bvTableRowGroup: this\n };\n },\n inject: {\n // Sniffed by `` / `` / ``\n bvTable: {\n default:\n /* istanbul ignore next */\n function _default() {\n return {};\n }\n }\n },\n inheritAttrs: false,\n props: props,\n computed: {\n // Sniffed by `` / `` / ``\n isTfoot: function isTfoot() {\n return true;\n },\n // Sniffed by `` / `` / ``\n isDark: function isDark() {\n return this.bvTable.dark;\n },\n // Sniffed by `` / `` / ``\n isStacked: function isStacked() {\n return this.bvTable.isStacked;\n },\n // Sniffed by `` / `` / ``\n isResponsive: function isResponsive() {\n return this.bvTable.isResponsive;\n },\n // Sniffed by `` / `` / ``\n // Sticky headers are only supported in thead\n isStickyHeader: function isStickyHeader() {\n return false;\n },\n // Sniffed by `` / `` / ``\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n hasStickyHeader: function hasStickyHeader() {\n return !this.isStacked && this.bvTable.stickyHeader;\n },\n // Sniffed by `` / `` / ``\n tableVariant: function tableVariant() {\n return this.bvTable.tableVariant;\n },\n tfootClasses: function tfootClasses() {\n return [this.footVariant ? \"thead-\".concat(this.footVariant) : null];\n },\n tfootAttrs: function tfootAttrs() {\n return _objectSpread(_objectSpread({}, this.bvAttrs), {}, {\n role: 'rowgroup'\n });\n }\n },\n render: function render(h) {\n return h('tfoot', {\n class: this.tfootClasses,\n attrs: this.tfootAttrs,\n // Pass down any native listeners\n on: this.bvListeners\n }, this.normalizeSlot());\n }\n});","import { Vue } from '../../../vue';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../../constants/props';\nimport { SLOT_NAME_CUSTOM_FOOT } from '../../../constants/slots';\nimport { makeProp } from '../../../utils/props';\nimport { BTfoot } from '../tfoot'; // --- Props ---\n\nexport var props = {\n footClone: makeProp(PROP_TYPE_BOOLEAN, false),\n // Any Bootstrap theme variant (or custom)\n // Falls back to `headRowVariant`\n footRowVariant: makeProp(PROP_TYPE_STRING),\n // 'dark', 'light', or `null` (or custom)\n footVariant: makeProp(PROP_TYPE_STRING),\n tfootClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n tfootTrClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)\n}; // --- Mixin ---\n// @vue/component\n\nexport var tfootMixin = Vue.extend({\n props: props,\n methods: {\n renderTFootCustom: function renderTFootCustom() {\n var h = this.$createElement;\n\n if (this.hasNormalizedSlot(SLOT_NAME_CUSTOM_FOOT)) {\n return h(BTfoot, {\n class: this.tfootClass || null,\n props: {\n footVariant: this.footVariant || this.headVariant || null\n },\n key: 'bv-tfoot-custom'\n }, this.normalizeSlot(SLOT_NAME_CUSTOM_FOOT, {\n items: this.computedItems.slice(),\n fields: this.computedFields.slice(),\n columns: this.computedFields.length\n }));\n }\n\n return h();\n },\n renderTfoot: function renderTfoot() {\n // Passing true to renderThead will make it render a tfoot\n return this.footClone ? this.renderThead(true) : this.renderTFootCustom();\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_THEAD } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { listenersMixin } from '../../mixins/listeners';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n // Also sniffed by `` / `` / ``\n // Supported values: 'lite', 'dark', or `null`\n headVariant: makeProp(PROP_TYPE_STRING)\n}, NAME_THEAD); // --- Main component ---\n// TODO:\n// In Bootstrap v5, we won't need \"sniffing\" as table element variants properly inherit\n// to the child elements, so this can be converted to a functional component\n// @vue/component\n\nexport var BThead = /*#__PURE__*/Vue.extend({\n name: NAME_THEAD,\n mixins: [attrsMixin, listenersMixin, normalizeSlotMixin],\n provide: function provide() {\n return {\n bvTableRowGroup: this\n };\n },\n inject: {\n // Sniffed by `` / `` / ``\n bvTable: {\n default:\n /* istanbul ignore next */\n function _default() {\n return {};\n }\n }\n },\n inheritAttrs: false,\n props: props,\n computed: {\n // Sniffed by `` / `` / ``\n isThead: function isThead() {\n return true;\n },\n // Sniffed by `` / `` / ``\n isDark: function isDark() {\n return this.bvTable.dark;\n },\n // Sniffed by `` / `` / ``\n isStacked: function isStacked() {\n return this.bvTable.isStacked;\n },\n // Sniffed by `` / `` / ``\n isResponsive: function isResponsive() {\n return this.bvTable.isResponsive;\n },\n // Sniffed by `` / `` / ``\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n // Sticky headers only apply to cells in table `thead`\n isStickyHeader: function isStickyHeader() {\n return !this.isStacked && this.bvTable.stickyHeader;\n },\n // Sniffed by `` / `` / ``\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n hasStickyHeader: function hasStickyHeader() {\n return !this.isStacked && this.bvTable.stickyHeader;\n },\n // Sniffed by `` / `` / ``\n tableVariant: function tableVariant() {\n return this.bvTable.tableVariant;\n },\n theadClasses: function theadClasses() {\n return [this.headVariant ? \"thead-\".concat(this.headVariant) : null];\n },\n theadAttrs: function theadAttrs() {\n return _objectSpread({\n role: 'rowgroup'\n }, this.bvAttrs);\n }\n },\n render: function render(h) {\n return h('thead', {\n class: this.theadClasses,\n attrs: this.theadAttrs,\n // Pass down any native listeners\n on: this.bvListeners\n }, this.normalizeSlot());\n }\n});","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../../vue';\nimport { EVENT_NAME_HEAD_CLICKED } from '../../../constants/events';\nimport { CODE_ENTER, CODE_SPACE } from '../../../constants/key-codes';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_STRING } from '../../../constants/props';\nimport { SLOT_NAME_THEAD_TOP } from '../../../constants/slots';\nimport { stopEvent } from '../../../utils/events';\nimport { htmlOrText } from '../../../utils/html';\nimport { identity } from '../../../utils/identity';\nimport { isUndefinedOrNull } from '../../../utils/inspect';\nimport { noop } from '../../../utils/noop';\nimport { makeProp } from '../../../utils/props';\nimport { startCase } from '../../../utils/string';\nimport { BThead } from '../thead';\nimport { BTfoot } from '../tfoot';\nimport { BTr } from '../tr';\nimport { BTh } from '../th';\nimport { filterEvent } from './filter-event';\nimport { textSelectionActive } from './text-selection-active'; // --- Helper methods ---\n\nvar getHeadSlotName = function getHeadSlotName(value) {\n return \"head(\".concat(value || '', \")\");\n};\n\nvar getFootSlotName = function getFootSlotName(value) {\n return \"foot(\".concat(value || '', \")\");\n}; // --- Props ---\n\n\nexport var props = {\n // Any Bootstrap theme variant (or custom)\n headRowVariant: makeProp(PROP_TYPE_STRING),\n // 'light', 'dark' or `null` (or custom)\n headVariant: makeProp(PROP_TYPE_STRING),\n theadClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n theadTrClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)\n}; // --- Mixin ---\n// @vue/component\n\nexport var theadMixin = Vue.extend({\n props: props,\n methods: {\n fieldClasses: function fieldClasses(field) {\n // Header field (
) classes\n return [field.class ? field.class : '', field.thClass ? field.thClass : ''];\n },\n headClicked: function headClicked(event, field, isFoot) {\n if (this.stopIfBusy && this.stopIfBusy(event)) {\n // If table is busy (via provider) then don't propagate\n return;\n } else if (filterEvent(event)) {\n // Clicked on a non-disabled control so ignore\n return;\n } else if (textSelectionActive(this.$el)) {\n // User is selecting text, so ignore\n\n /* istanbul ignore next: JSDOM doesn't support getSelection() */\n return;\n }\n\n stopEvent(event);\n this.$emit(EVENT_NAME_HEAD_CLICKED, field.key, field, event, isFoot);\n },\n renderThead: function renderThead() {\n var _this = this;\n\n var isFoot = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var fields = this.computedFields,\n isSortable = this.isSortable,\n isSelectable = this.isSelectable,\n headVariant = this.headVariant,\n footVariant = this.footVariant,\n headRowVariant = this.headRowVariant,\n footRowVariant = this.footRowVariant;\n var h = this.$createElement; // In always stacked mode, we don't bother rendering the head/foot\n // Or if no field headings (empty table)\n\n if (this.isStackedAlways || fields.length === 0) {\n return h();\n }\n\n var hasHeadClickListener = isSortable || this.hasListener(EVENT_NAME_HEAD_CLICKED); // Reference to `selectAllRows` and `clearSelected()`, if table is selectable\n\n var selectAllRows = isSelectable ? this.selectAllRows : noop;\n var clearSelected = isSelectable ? this.clearSelected : noop; // Helper function to generate a field
cell\n\n var makeCell = function makeCell(field, colIndex) {\n var label = field.label,\n labelHtml = field.labelHtml,\n variant = field.variant,\n stickyColumn = field.stickyColumn,\n key = field.key;\n var ariaLabel = null;\n\n if (!field.label.trim() && !field.headerTitle) {\n // In case field's label and title are empty/blank\n // We need to add a hint about what the column is about for non-sighted users\n\n /* istanbul ignore next */\n ariaLabel = startCase(field.key);\n }\n\n var on = {};\n\n if (hasHeadClickListener) {\n on.click = function (event) {\n _this.headClicked(event, field, isFoot);\n };\n\n on.keydown = function (event) {\n var keyCode = event.keyCode;\n\n if (keyCode === CODE_ENTER || keyCode === CODE_SPACE) {\n _this.headClicked(event, field, isFoot);\n }\n };\n }\n\n var sortAttrs = isSortable ? _this.sortTheadThAttrs(key, field, isFoot) : {};\n var sortClass = isSortable ? _this.sortTheadThClasses(key, field, isFoot) : null;\n var sortLabel = isSortable ? _this.sortTheadThLabel(key, field, isFoot) : null;\n var data = {\n class: [_this.fieldClasses(field), sortClass],\n props: {\n variant: variant,\n stickyColumn: stickyColumn\n },\n style: field.thStyle || {},\n attrs: _objectSpread(_objectSpread({\n // We only add a `tabindex` of `0` if there is a head-clicked listener\n // and the current field is sortable\n tabindex: hasHeadClickListener && field.sortable ? '0' : null,\n abbr: field.headerAbbr || null,\n title: field.headerTitle || null,\n 'aria-colindex': colIndex + 1,\n 'aria-label': ariaLabel\n }, _this.getThValues(null, key, field.thAttr, isFoot ? 'foot' : 'head', {})), sortAttrs),\n on: on,\n key: key\n }; // Handle edge case where in-document templates are used with new\n // `v-slot:name` syntax where the browser lower-cases the v-slot's\n // name (attributes become lower cased when parsed by the browser)\n // We have replaced the square bracket syntax with round brackets\n // to prevent confusion with dynamic slot names\n\n var slotNames = [getHeadSlotName(key), getHeadSlotName(key.toLowerCase()), getHeadSlotName()]; // Footer will fallback to header slot names\n\n if (isFoot) {\n slotNames = [getFootSlotName(key), getFootSlotName(key.toLowerCase()), getFootSlotName()].concat(_toConsumableArray(slotNames));\n }\n\n var scope = {\n label: label,\n column: key,\n field: field,\n isFoot: isFoot,\n // Add in row select methods\n selectAllRows: selectAllRows,\n clearSelected: clearSelected\n };\n var $content = _this.normalizeSlot(slotNames, scope) || h('div', {\n domProps: htmlOrText(labelHtml, label)\n });\n var $srLabel = sortLabel ? h('span', {\n staticClass: 'sr-only'\n }, \" (\".concat(sortLabel, \")\")) : null; // Return the header cell\n\n return h(BTh, data, [$content, $srLabel].filter(identity));\n }; // Generate the array of
cells\n\n\n var $cells = fields.map(makeCell).filter(identity); // Generate the row(s)\n\n var $trs = [];\n\n if (isFoot) {\n $trs.push(h(BTr, {\n class: this.tfootTrClass,\n props: {\n variant: isUndefinedOrNull(footRowVariant) ? headRowVariant :\n /* istanbul ignore next */\n footRowVariant\n }\n }, $cells));\n } else {\n var scope = {\n columns: fields.length,\n fields: fields,\n // Add in row select methods\n selectAllRows: selectAllRows,\n clearSelected: clearSelected\n };\n $trs.push(this.normalizeSlot(SLOT_NAME_THEAD_TOP, scope) || h());\n $trs.push(h(BTr, {\n class: this.theadTrClass,\n props: {\n variant: headRowVariant\n }\n }, $cells));\n }\n\n return h(isFoot ? BTfoot : BThead, {\n class: (isFoot ? this.tfootClass : this.theadClass) || null,\n props: isFoot ? {\n footVariant: footVariant || headVariant || null\n } : {\n headVariant: headVariant || null\n },\n key: isFoot ? 'bv-tfoot' : 'bv-thead'\n }, $trs);\n }\n }\n});","import { Vue } from '../../../vue';\nimport { SLOT_NAME_TOP_ROW } from '../../../constants/slots';\nimport { isFunction } from '../../../utils/inspect';\nimport { BTr } from '../tr'; // --- Props ---\n\nexport var props = {}; // --- Mixin ---\n// @vue/component\n\nexport var topRowMixin = Vue.extend({\n methods: {\n renderTopRow: function renderTopRow() {\n var fields = this.computedFields,\n stacked = this.stacked,\n tbodyTrClass = this.tbodyTrClass,\n tbodyTrAttr = this.tbodyTrAttr;\n var h = this.$createElement; // Add static Top Row slot (hidden in visibly stacked mode as we can't control the data-label)\n // If in *always* stacked mode, we don't bother rendering the row\n\n if (!this.hasNormalizedSlot(SLOT_NAME_TOP_ROW) || stacked === true || stacked === '') {\n return h();\n }\n\n return h(BTr, {\n staticClass: 'b-table-top-row',\n class: [isFunction(tbodyTrClass) ? tbodyTrClass(null, 'row-top') : tbodyTrClass],\n attrs: isFunction(tbodyTrAttr) ? tbodyTrAttr(null, 'row-top') : tbodyTrAttr,\n key: 'b-top-row'\n }, [this.normalizeSlot(SLOT_NAME_TOP_ROW, {\n columns: fields.length,\n fields: fields\n })]);\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_TABLE } from '../../constants/components';\nimport { sortKeys } from '../../utils/object';\nimport { makePropsConfigurable } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { hasListenerMixin } from '../../mixins/has-listener';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { bottomRowMixin, props as bottomRowProps } from './helpers/mixin-bottom-row';\nimport { busyMixin, props as busyProps } from './helpers/mixin-busy';\nimport { captionMixin, props as captionProps } from './helpers/mixin-caption';\nimport { colgroupMixin, props as colgroupProps } from './helpers/mixin-colgroup';\nimport { emptyMixin, props as emptyProps } from './helpers/mixin-empty';\nimport { filteringMixin, props as filteringProps } from './helpers/mixin-filtering';\nimport { itemsMixin, props as itemsProps } from './helpers/mixin-items';\nimport { paginationMixin, props as paginationProps } from './helpers/mixin-pagination';\nimport { providerMixin, props as providerProps } from './helpers/mixin-provider';\nimport { selectableMixin, props as selectableProps } from './helpers/mixin-selectable';\nimport { sortingMixin, props as sortingProps } from './helpers/mixin-sorting';\nimport { stackedMixin, props as stackedProps } from './helpers/mixin-stacked';\nimport { tableRendererMixin, props as tableRendererProps } from './helpers/mixin-table-renderer';\nimport { tbodyMixin, props as tbodyProps } from './helpers/mixin-tbody';\nimport { tfootMixin, props as tfootProps } from './helpers/mixin-tfoot';\nimport { theadMixin, props as theadProps } from './helpers/mixin-thead';\nimport { topRowMixin, props as topRowProps } from './helpers/mixin-top-row'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), bottomRowProps), busyProps), captionProps), colgroupProps), emptyProps), filteringProps), itemsProps), paginationProps), providerProps), selectableProps), sortingProps), stackedProps), tableRendererProps), tbodyProps), tfootProps), theadProps), topRowProps)), NAME_TABLE); // --- Main component ---\n// @vue/component\n\nexport var BTable = /*#__PURE__*/Vue.extend({\n name: NAME_TABLE,\n // Order of mixins is important!\n // They are merged from first to last, followed by this component\n mixins: [// General mixins\n attrsMixin, hasListenerMixin, idMixin, normalizeSlotMixin, // Required table mixins\n itemsMixin, tableRendererMixin, stackedMixin, theadMixin, tfootMixin, tbodyMixin, // Table features mixins\n stackedMixin, filteringMixin, sortingMixin, paginationMixin, captionMixin, colgroupMixin, selectableMixin, emptyMixin, topRowMixin, bottomRowMixin, busyMixin, providerMixin],\n props: props // Render function is provided by `tableRendererMixin`\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!./ToastificationContent.vue?vue&type=style&index=0&id=55dd3057&prod&lang=scss&scoped=true\"","import { Vue, mergeData } from '../../vue';\nimport { NAME_MEDIA } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_ASIDE, SLOT_NAME_DEFAULT } from '../../constants/slots';\nimport { normalizeSlot } from '../../utils/normalize-slot';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { BMediaAside } from './media-aside';\nimport { BMediaBody } from './media-body'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n noBody: makeProp(PROP_TYPE_BOOLEAN, false),\n rightAlign: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n verticalAlign: makeProp(PROP_TYPE_STRING, 'top')\n}, NAME_MEDIA); // --- Main component ---\n// @vue/component\n\nexport var BMedia = /*#__PURE__*/Vue.extend({\n name: NAME_MEDIA,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots,\n scopedSlots = _ref.scopedSlots,\n children = _ref.children;\n var noBody = props.noBody,\n rightAlign = props.rightAlign,\n verticalAlign = props.verticalAlign;\n var $children = noBody ? children : [];\n\n if (!noBody) {\n var slotScope = {};\n var $slots = slots();\n var $scopedSlots = scopedSlots || {};\n $children.push(h(BMediaBody, normalizeSlot(SLOT_NAME_DEFAULT, slotScope, $scopedSlots, $slots)));\n var $aside = normalizeSlot(SLOT_NAME_ASIDE, slotScope, $scopedSlots, $slots);\n\n if ($aside) {\n $children[rightAlign ? 'push' : 'unshift'](h(BMediaAside, {\n props: {\n right: rightAlign,\n verticalAlign: verticalAlign\n }\n }, $aside));\n }\n }\n\n return h(props.tag, mergeData(data, {\n staticClass: 'media'\n }), $children);\n }\n});","var classof = require('../internals/classof-raw');\n\n// `thisNumberValue` abstract operation\n// https://tc39.github.io/ecma262/#sec-thisnumbervalue\nmodule.exports = function (value) {\n if (typeof value != 'number' && classof(value) != 'Number') {\n throw TypeError('Incorrect invocation');\n }\n return +value;\n};\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\nvar max = Math.max;\nvar min = Math.min;\nvar floor = Math.floor;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d\\d?|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d\\d?)/g;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {\n var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;\n var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];\n return replacer !== undefined\n ? replacer.call(searchValue, O, replaceValue)\n : nativeReplace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n if (\n (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) ||\n (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1)\n ) {\n var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);\n if (res.done) return res.value;\n }\n\n var rx = anObject(regexp);\n var S = String(this);\n\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n\n results.push(result);\n if (!global) break;\n\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n\n // https://tc39.github.io/ecma262/#sec-getsubstitution\n function getSubstitution(matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return nativeReplace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n }\n});\n","var _watch;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { COMPONENT_UID_KEY, Vue } from '../../vue';\nimport { NAME_ALERT } from '../../constants/components';\nimport { EVENT_NAME_DISMISSED, EVENT_NAME_DISMISS_COUNT_DOWN } from '../../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_DISMISS } from '../../constants/slots';\nimport { requestAF } from '../../utils/dom';\nimport { isBoolean, isNumeric } from '../../utils/inspect';\nimport { makeModelMixin } from '../../utils/model';\nimport { toInteger } from '../../utils/number';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BButtonClose } from '../button/button-close';\nimport { BVTransition } from '../transition/bv-transition'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('show', {\n type: PROP_TYPE_BOOLEAN_NUMBER_STRING,\n defaultValue: false\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event; // --- Helper methods ---\n// Convert `show` value to a number\n\n\nvar parseCountDown = function parseCountDown(show) {\n if (show === '' || isBoolean(show)) {\n return 0;\n }\n\n show = toInteger(show, 0);\n return show > 0 ? show : 0;\n}; // Convert `show` value to a boolean\n\n\nvar parseShow = function parseShow(show) {\n if (show === '' || show === true) {\n return true;\n }\n\n if (toInteger(show, 0) < 1) {\n // Boolean will always return false for the above comparison\n return false;\n }\n\n return !!show;\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, modelProps), {}, {\n dismissLabel: makeProp(PROP_TYPE_STRING, 'Close'),\n dismissible: makeProp(PROP_TYPE_BOOLEAN, false),\n fade: makeProp(PROP_TYPE_BOOLEAN, false),\n variant: makeProp(PROP_TYPE_STRING, 'info')\n})), NAME_ALERT); // --- Main component ---\n// @vue/component\n\nexport var BAlert = /*#__PURE__*/Vue.extend({\n name: NAME_ALERT,\n mixins: [modelMixin, normalizeSlotMixin],\n props: props,\n data: function data() {\n return {\n countDown: 0,\n // If initially shown, we need to set these for SSR\n localShow: parseShow(this[MODEL_PROP_NAME])\n };\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function (newValue) {\n this.countDown = parseCountDown(newValue);\n this.localShow = parseShow(newValue);\n }), _defineProperty(_watch, \"countDown\", function countDown(newValue) {\n var _this = this;\n\n this.clearCountDownInterval();\n var show = this[MODEL_PROP_NAME]; // Ignore if `show` transitions to a boolean value\n\n if (isNumeric(show)) {\n this.$emit(EVENT_NAME_DISMISS_COUNT_DOWN, newValue); // Update the v-model if needed\n\n if (show !== newValue) {\n this.$emit(MODEL_EVENT_NAME, newValue);\n }\n\n if (newValue > 0) {\n this.localShow = true;\n this.$_countDownTimeout = setTimeout(function () {\n _this.countDown--;\n }, 1000);\n } else {\n // Slightly delay the hide to allow any UI updates\n this.$nextTick(function () {\n requestAF(function () {\n _this.localShow = false;\n });\n });\n }\n }\n }), _defineProperty(_watch, \"localShow\", function localShow(newValue) {\n var show = this[MODEL_PROP_NAME]; // Only emit dismissed events for dismissible or auto-dismissing alerts\n\n if (!newValue && (this.dismissible || isNumeric(show))) {\n this.$emit(EVENT_NAME_DISMISSED);\n } // Only emit booleans if we weren't passed a number via v-model\n\n\n if (!isNumeric(show) && show !== newValue) {\n this.$emit(MODEL_EVENT_NAME, newValue);\n }\n }), _watch),\n created: function created() {\n // Create private non-reactive props\n this.$_filterTimer = null;\n var show = this[MODEL_PROP_NAME];\n this.countDown = parseCountDown(show);\n this.localShow = parseShow(show);\n },\n beforeDestroy: function beforeDestroy() {\n this.clearCountDownInterval();\n },\n methods: {\n dismiss: function dismiss() {\n this.clearCountDownInterval();\n this.countDown = 0;\n this.localShow = false;\n },\n clearCountDownInterval: function clearCountDownInterval() {\n clearTimeout(this.$_countDownTimeout);\n this.$_countDownTimeout = null;\n }\n },\n render: function render(h) {\n var $alert = h();\n\n if (this.localShow) {\n var dismissible = this.dismissible,\n variant = this.variant;\n var $dismissButton = h();\n\n if (dismissible) {\n // Add dismiss button\n $dismissButton = h(BButtonClose, {\n attrs: {\n 'aria-label': this.dismissLabel\n },\n on: {\n click: this.dismiss\n }\n }, [this.normalizeSlot(SLOT_NAME_DISMISS)]);\n }\n\n $alert = h('div', {\n staticClass: 'alert',\n class: _defineProperty({\n 'alert-dismissible': dismissible\n }, \"alert-\".concat(variant), variant),\n attrs: {\n role: 'alert',\n 'aria-live': 'polite',\n 'aria-atomic': true\n },\n key: this[COMPONENT_UID_KEY]\n }, [$dismissButton, this.normalizeSlot()]);\n }\n\n return h(BVTransition, {\n props: {\n noFade: !this.fade\n }\n }, [$alert]);\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!./AppTimelineItem.vue?vue&type=style&index=0&id=4bbac430&prod&lang=scss&scoped=true\"","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_MEDIA_ASIDE } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n right: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n verticalAlign: makeProp(PROP_TYPE_STRING, 'top')\n}, NAME_MEDIA_ASIDE); // --- Main component ---\n// @vue/component\n\nexport var BMediaAside = /*#__PURE__*/Vue.extend({\n name: NAME_MEDIA_ASIDE,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var verticalAlign = props.verticalAlign;\n var align = verticalAlign === 'top' ? 'start' : verticalAlign === 'bottom' ? 'end' :\n /* istanbul ignore next */\n verticalAlign;\n return h(props.tag, mergeData(data, {\n staticClass: 'media-aside',\n class: _defineProperty({\n 'media-aside-right': props.right\n }, \"align-self-\".concat(align), align)\n }), children);\n }\n});","import { Vue, mergeData } from '../../vue';\nimport { NAME_MEDIA_BODY } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n tag: makeProp(PROP_TYPE_STRING, 'div')\n}, NAME_MEDIA_BODY); // --- Main component ---\n// @vue/component\n\nexport var BMediaBody = /*#__PURE__*/Vue.extend({\n name: NAME_MEDIA_BODY,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.tag, mergeData(data, {\n staticClass: 'media-body'\n }), children);\n }\n});","import axios from '@axios'\nimport baseConfig from '@/config/index'\nconst TICKET_API_SERVICE_PATH = baseConfig.TICKET_API_SERVICE_PATH\n\nexport default {\n namespaced: true,\n state: {},\n getters: {},\n mutations: {},\n actions: {\n fetchUsers(ctx, queryParams) {\n return new Promise((resolve, reject) => {\n axios\n .post(TICKET_API_SERVICE_PATH + '/user/listByPaginate', queryParams)\n .then(response => resolve(response))\n .catch(error => reject(error))\n })\n },\n fetchUser(ctx, { id }) {\n return new Promise((resolve, reject) => {\n axios\n .post(TICKET_API_SERVICE_PATH + '/user/detail', { username: id})\n .then(response => resolve(response))\n .catch(error => reject(error))\n })\n },\n fetchUserProfile(ctx, { id }) {\n return new Promise((resolve, reject) => {\n axios\n .post(TICKET_API_SERVICE_PATH + '/user/info', { })\n .then(response => resolve(response))\n .catch(error => reject(error))\n })\n },\n addUser(ctx, userData) {\n return new Promise((resolve, reject) => {\n axios\n .post(TICKET_API_SERVICE_PATH + '/user/create', userData)\n .then(response => resolve(response))\n .catch(error => reject(error))\n })\n },\n editUser(ctx, userData) {\n return new Promise((resolve, reject) => {\n axios\n .post(TICKET_API_SERVICE_PATH + '/user/edit', userData)\n .then(response => resolve(response))\n .catch(error => reject(error))\n })\n },\n editChildren(ctx, childData) {\n return new Promise((resolve, reject) => {\n axios\n .post(TICKET_API_SERVICE_PATH + '/user/editChildren', childData)\n .then(response => resolve(response))\n .catch(error => reject(error))\n })\n },\n changeUserStatus(ctx, userData) {\n return new Promise((resolve, reject) => {\n axios\n .post(TICKET_API_SERVICE_PATH + '/user/changeStatus', userData )\n .then(response => resolve(response))\n .catch(error => reject(error))\n })\n },\n resetPasswordUser(ctx, userData) {\n return new Promise((resolve, reject) => {\n axios\n .post(TICKET_API_SERVICE_PATH + '/user/resetPassword', userData)\n .then(response => resolve(response))\n .catch(error => reject(error))\n })\n },\n fetchOrganizations(ctx, queryParams) {\n return new Promise((resolve, reject) => {\n axios\n .post(TICKET_API_SERVICE_PATH + '/organization/list', { params: queryParams })\n .then(response => resolve(response))\n .catch(error => reject(error))\n })\n },\n fetchRoles(ctx, queryParams) {\n return new Promise((resolve, reject) => {\n axios\n .post(TICKET_API_SERVICE_PATH + '/role/list', { params: queryParams })\n .then(response => resolve(response))\n .catch(error => reject(error))\n })\n },\n fetchTeamsByFilter(ctx, teamData) {\n return new Promise((resolve, reject) => {\n axios\n .post(TICKET_API_SERVICE_PATH + '/team/listByFilter', teamData )\n .then(response => resolve(response))\n .catch(error => reject(error))\n })\n },\n },\n}\n","/*\n * Consistent and stable sort function across JavaScript platforms\n *\n * Inconsistent sorts can cause SSR problems between client and server\n * such as in if sortBy is applied to the data on server side render.\n * Chrome and V8 native sorts are inconsistent/unstable\n *\n * This function uses native sort with fallback to index compare when the a and b\n * compare returns 0\n *\n * Algorithm based on:\n * https://stackoverflow.com/questions/1427608/fast-stable-sorting-algorithm-implementation-in-javascript/45422645#45422645\n *\n * @param {array} array to sort\n * @param {function} sort compare function\n * @return {array}\n */\nexport var stableSort = function stableSort(array, compareFn) {\n // Using `.bind(compareFn)` on the wrapped anonymous function improves\n // performance by avoiding the function call setup. We don't use an arrow\n // function here as it binds `this` to the `stableSort` context rather than\n // the `compareFn` context, which wouldn't give us the performance increase.\n return array.map(function (a, index) {\n return [index, a];\n }).sort(function (a, b) {\n return this(a[1], b[1]) || a[0] - b[0];\n }.bind(compareFn)).map(function (e) {\n return e[1];\n });\n};","var _watch;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_FORM_SPINBUTTON } from '../../constants/components';\nimport { EVENT_NAME_CHANGE } from '../../constants/events';\nimport { PROP_TYPE_ARRAY_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_NUMBER, PROP_TYPE_FUNCTION, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { CODE_DOWN, CODE_END, CODE_HOME, CODE_PAGEUP, CODE_UP, CODE_PAGEDOWN } from '../../constants/key-codes';\nimport { SLOT_NAME_DECREMENT, SLOT_NAME_INCREMENT } from '../../constants/slots';\nimport { arrayIncludes, concat } from '../../utils/array';\nimport { attemptBlur, attemptFocus } from '../../utils/dom';\nimport { eventOnOff, stopEvent } from '../../utils/events';\nimport { identity } from '../../utils/identity';\nimport { isNull } from '../../utils/inspect';\nimport { isLocaleRTL } from '../../utils/locale';\nimport { mathFloor, mathMax, mathPow, mathRound } from '../../utils/math';\nimport { makeModelMixin } from '../../utils/model';\nimport { toFloat, toInteger } from '../../utils/number';\nimport { omit, sortKeys } from '../../utils/object';\nimport { hasPropFunction, makeProp, makePropsConfigurable } from '../../utils/props';\nimport { toString } from '../../utils/string';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { formSizeMixin, props as formSizeProps } from '../../mixins/form-size';\nimport { formStateMixin, props as formStateProps } from '../../mixins/form-state';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { props as formControlProps } from '../../mixins/form-control';\nimport { BIconPlus, BIconDash } from '../../icons/icons'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('value', {\n // Should this really be String, to match native number inputs?\n type: PROP_TYPE_BOOLEAN_NUMBER\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event; // Default for spin button range and step\n\n\nvar DEFAULT_MIN = 1;\nvar DEFAULT_MAX = 100;\nvar DEFAULT_STEP = 1; // Delay before auto-repeat in ms\n\nvar DEFAULT_REPEAT_DELAY = 500; // Repeat interval in ms\n\nvar DEFAULT_REPEAT_INTERVAL = 100; // Repeat rate increased after number of repeats\n\nvar DEFAULT_REPEAT_THRESHOLD = 10; // Repeat speed multiplier (step multiplier, must be an integer)\n\nvar DEFAULT_REPEAT_MULTIPLIER = 4;\nvar KEY_CODES = [CODE_UP, CODE_DOWN, CODE_HOME, CODE_END, CODE_PAGEUP, CODE_PAGEDOWN]; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), modelProps), omit(formControlProps, ['required', 'autofocus'])), formSizeProps), formStateProps), {}, {\n ariaControls: makeProp(PROP_TYPE_STRING),\n ariaLabel: makeProp(PROP_TYPE_STRING),\n formatterFn: makeProp(PROP_TYPE_FUNCTION),\n inline: makeProp(PROP_TYPE_BOOLEAN, false),\n labelDecrement: makeProp(PROP_TYPE_STRING, 'Decrement'),\n labelIncrement: makeProp(PROP_TYPE_STRING, 'Increment'),\n locale: makeProp(PROP_TYPE_ARRAY_STRING),\n max: makeProp(PROP_TYPE_NUMBER_STRING, DEFAULT_MAX),\n min: makeProp(PROP_TYPE_NUMBER_STRING, DEFAULT_MIN),\n placeholder: makeProp(PROP_TYPE_STRING),\n readonly: makeProp(PROP_TYPE_BOOLEAN, false),\n repeatDelay: makeProp(PROP_TYPE_NUMBER_STRING, DEFAULT_REPEAT_DELAY),\n repeatInterval: makeProp(PROP_TYPE_NUMBER_STRING, DEFAULT_REPEAT_INTERVAL),\n repeatStepMultiplier: makeProp(PROP_TYPE_NUMBER_STRING, DEFAULT_REPEAT_MULTIPLIER),\n repeatThreshold: makeProp(PROP_TYPE_NUMBER_STRING, DEFAULT_REPEAT_THRESHOLD),\n step: makeProp(PROP_TYPE_NUMBER_STRING, DEFAULT_STEP),\n vertical: makeProp(PROP_TYPE_BOOLEAN, false),\n wrap: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_FORM_SPINBUTTON); // --- Main Component ---\n// @vue/component\n\nexport var BFormSpinbutton = /*#__PURE__*/Vue.extend({\n name: NAME_FORM_SPINBUTTON,\n // Mixin order is important!\n mixins: [attrsMixin, idMixin, modelMixin, formSizeMixin, formStateMixin, normalizeSlotMixin],\n inheritAttrs: false,\n props: props,\n data: function data() {\n return {\n localValue: toFloat(this[MODEL_PROP_NAME], null),\n hasFocus: false\n };\n },\n computed: {\n spinId: function spinId() {\n return this.safeId();\n },\n computedInline: function computedInline() {\n return this.inline && !this.vertical;\n },\n computedReadonly: function computedReadonly() {\n return this.readonly && !this.disabled;\n },\n computedRequired: function computedRequired() {\n return this.required && !this.computedReadonly && !this.disabled;\n },\n computedStep: function computedStep() {\n return toFloat(this.step, DEFAULT_STEP);\n },\n computedMin: function computedMin() {\n return toFloat(this.min, DEFAULT_MIN);\n },\n computedMax: function computedMax() {\n // We round down to the nearest maximum step value\n var max = toFloat(this.max, DEFAULT_MAX);\n var step = this.computedStep;\n var min = this.computedMin;\n return mathFloor((max - min) / step) * step + min;\n },\n computedDelay: function computedDelay() {\n var delay = toInteger(this.repeatDelay, 0);\n return delay > 0 ? delay : DEFAULT_REPEAT_DELAY;\n },\n computedInterval: function computedInterval() {\n var interval = toInteger(this.repeatInterval, 0);\n return interval > 0 ? interval : DEFAULT_REPEAT_INTERVAL;\n },\n computedThreshold: function computedThreshold() {\n return mathMax(toInteger(this.repeatThreshold, DEFAULT_REPEAT_THRESHOLD), 1);\n },\n computedStepMultiplier: function computedStepMultiplier() {\n return mathMax(toInteger(this.repeatStepMultiplier, DEFAULT_REPEAT_MULTIPLIER), 1);\n },\n computedPrecision: function computedPrecision() {\n // Quick and dirty way to get the number of decimals\n var step = this.computedStep;\n return mathFloor(step) === step ? 0 : (step.toString().split('.')[1] || '').length;\n },\n computedMultiplier: function computedMultiplier() {\n return mathPow(10, this.computedPrecision || 0);\n },\n valueAsFixed: function valueAsFixed() {\n var value = this.localValue;\n return isNull(value) ? '' : value.toFixed(this.computedPrecision);\n },\n computedLocale: function computedLocale() {\n var locales = concat(this.locale).filter(identity);\n var nf = new Intl.NumberFormat(locales);\n return nf.resolvedOptions().locale;\n },\n computedRTL: function computedRTL() {\n return isLocaleRTL(this.computedLocale);\n },\n defaultFormatter: function defaultFormatter() {\n // Returns and `Intl.NumberFormat` formatter method reference\n var precision = this.computedPrecision;\n var nf = new Intl.NumberFormat(this.computedLocale, {\n style: 'decimal',\n useGrouping: false,\n minimumIntegerDigits: 1,\n minimumFractionDigits: precision,\n maximumFractionDigits: precision,\n notation: 'standard'\n }); // Return the format method reference\n\n return nf.format;\n },\n computedFormatter: function computedFormatter() {\n var formatterFn = this.formatterFn;\n return hasPropFunction(formatterFn) ? formatterFn : this.defaultFormatter;\n },\n computedAttrs: function computedAttrs() {\n return _objectSpread(_objectSpread({}, this.bvAttrs), {}, {\n role: 'group',\n lang: this.computedLocale,\n tabindex: this.disabled ? null : '-1',\n title: this.ariaLabel\n });\n },\n computedSpinAttrs: function computedSpinAttrs() {\n var spinId = this.spinId,\n value = this.localValue,\n required = this.computedRequired,\n disabled = this.disabled,\n state = this.state,\n computedFormatter = this.computedFormatter;\n var hasValue = !isNull(value);\n return _objectSpread(_objectSpread({\n dir: this.computedRTL ? 'rtl' : 'ltr'\n }, this.bvAttrs), {}, {\n id: spinId,\n role: 'spinbutton',\n tabindex: disabled ? null : '0',\n 'aria-live': 'off',\n 'aria-label': this.ariaLabel || null,\n 'aria-controls': this.ariaControls || null,\n // TODO: May want to check if the value is in range\n 'aria-invalid': state === false || !hasValue && required ? 'true' : null,\n 'aria-required': required ? 'true' : null,\n // These attrs are required for role spinbutton\n 'aria-valuemin': toString(this.computedMin),\n 'aria-valuemax': toString(this.computedMax),\n // These should be `null` if the value is out of range\n // They must also be non-existent attrs if the value is out of range or `null`\n 'aria-valuenow': hasValue ? value : null,\n 'aria-valuetext': hasValue ? computedFormatter(value) : null\n });\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function (value) {\n this.localValue = toFloat(value, null);\n }), _defineProperty(_watch, \"localValue\", function localValue(value) {\n this.$emit(MODEL_EVENT_NAME, value);\n }), _defineProperty(_watch, \"disabled\", function disabled(_disabled) {\n if (_disabled) {\n this.clearRepeat();\n }\n }), _defineProperty(_watch, \"readonly\", function readonly(_readonly) {\n if (_readonly) {\n this.clearRepeat();\n }\n }), _watch),\n created: function created() {\n // Create non reactive properties\n this.$_autoDelayTimer = null;\n this.$_autoRepeatTimer = null;\n this.$_keyIsDown = false;\n },\n beforeDestroy: function beforeDestroy() {\n this.clearRepeat();\n },\n\n /* istanbul ignore next */\n deactivated: function deactivated() {\n this.clearRepeat();\n },\n methods: {\n // --- Public methods ---\n focus: function focus() {\n if (!this.disabled) {\n attemptFocus(this.$refs.spinner);\n }\n },\n blur: function blur() {\n if (!this.disabled) {\n attemptBlur(this.$refs.spinner);\n }\n },\n // --- Private methods ---\n emitChange: function emitChange() {\n this.$emit(EVENT_NAME_CHANGE, this.localValue);\n },\n stepValue: function stepValue(direction) {\n // Sets a new incremented or decremented value, supporting optional wrapping\n // Direction is either +1 or -1 (or a multiple thereof)\n var value = this.localValue;\n\n if (!this.disabled && !isNull(value)) {\n var step = this.computedStep * direction;\n var min = this.computedMin;\n var max = this.computedMax;\n var multiplier = this.computedMultiplier;\n var wrap = this.wrap; // We ensure that the value steps like a native input\n\n value = mathRound((value - min) / step) * step + min + step; // We ensure that precision is maintained (decimals)\n\n value = mathRound(value * multiplier) / multiplier; // Handle if wrapping is enabled\n\n this.localValue = value > max ? wrap ? min : max : value < min ? wrap ? max : min : value;\n }\n },\n onFocusBlur: function onFocusBlur(event) {\n if (!this.disabled) {\n this.hasFocus = event.type === 'focus';\n } else {\n this.hasFocus = false;\n }\n },\n stepUp: function stepUp() {\n var multiplier = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;\n var value = this.localValue;\n\n if (isNull(value)) {\n this.localValue = this.computedMin;\n } else {\n this.stepValue(+1 * multiplier);\n }\n },\n stepDown: function stepDown() {\n var multiplier = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 1;\n var value = this.localValue;\n\n if (isNull(value)) {\n this.localValue = this.wrap ? this.computedMax : this.computedMin;\n } else {\n this.stepValue(-1 * multiplier);\n }\n },\n onKeydown: function onKeydown(event) {\n var keyCode = event.keyCode,\n altKey = event.altKey,\n ctrlKey = event.ctrlKey,\n metaKey = event.metaKey;\n /* istanbul ignore if */\n\n if (this.disabled || this.readonly || altKey || ctrlKey || metaKey) {\n return;\n }\n\n if (arrayIncludes(KEY_CODES, keyCode)) {\n // https://w3c.github.io/aria-practices/#spinbutton\n stopEvent(event, {\n propagation: false\n });\n /* istanbul ignore if */\n\n if (this.$_keyIsDown) {\n // Keypress is already in progress\n return;\n }\n\n this.resetTimers();\n\n if (arrayIncludes([CODE_UP, CODE_DOWN], keyCode)) {\n // The following use the custom auto-repeat handling\n this.$_keyIsDown = true;\n\n if (keyCode === CODE_UP) {\n this.handleStepRepeat(event, this.stepUp);\n } else if (keyCode === CODE_DOWN) {\n this.handleStepRepeat(event, this.stepDown);\n }\n } else {\n // These use native OS key repeating\n if (keyCode === CODE_PAGEUP) {\n this.stepUp(this.computedStepMultiplier);\n } else if (keyCode === CODE_PAGEDOWN) {\n this.stepDown(this.computedStepMultiplier);\n } else if (keyCode === CODE_HOME) {\n this.localValue = this.computedMin;\n } else if (keyCode === CODE_END) {\n this.localValue = this.computedMax;\n }\n }\n }\n },\n onKeyup: function onKeyup(event) {\n // Emit a change event when the keyup happens\n var keyCode = event.keyCode,\n altKey = event.altKey,\n ctrlKey = event.ctrlKey,\n metaKey = event.metaKey;\n /* istanbul ignore if */\n\n if (this.disabled || this.readonly || altKey || ctrlKey || metaKey) {\n return;\n }\n\n if (arrayIncludes(KEY_CODES, keyCode)) {\n stopEvent(event, {\n propagation: false\n });\n this.resetTimers();\n this.$_keyIsDown = false;\n this.emitChange();\n }\n },\n handleStepRepeat: function handleStepRepeat(event, stepper) {\n var _this = this;\n\n var _ref = event || {},\n type = _ref.type,\n button = _ref.button;\n\n if (!this.disabled && !this.readonly) {\n /* istanbul ignore if */\n if (type === 'mousedown' && button) {\n // We only respond to left (main === 0) button clicks\n return;\n }\n\n this.resetTimers(); // Step the counter initially\n\n stepper(1);\n var threshold = this.computedThreshold;\n var multiplier = this.computedStepMultiplier;\n var delay = this.computedDelay;\n var interval = this.computedInterval; // Initiate the delay/repeat interval\n\n this.$_autoDelayTimer = setTimeout(function () {\n var count = 0;\n _this.$_autoRepeatTimer = setInterval(function () {\n // After N initial repeats, we increase the incrementing step amount\n // We do this to minimize screen reader announcements of the value\n // (values are announced every change, which can be chatty for SR users)\n // And to make it easer to select a value when the range is large\n stepper(count < threshold ? 1 : multiplier);\n count++;\n }, interval);\n }, delay);\n }\n },\n onMouseup: function onMouseup(event) {\n // `` listener, only enabled when mousedown starts\n var _ref2 = event || {},\n type = _ref2.type,\n button = _ref2.button;\n /* istanbul ignore if */\n\n\n if (type === 'mouseup' && button) {\n // Ignore non left button (main === 0) mouse button click\n return;\n }\n\n stopEvent(event, {\n propagation: false\n });\n this.resetTimers();\n this.setMouseup(false); // Trigger the change event\n\n this.emitChange();\n },\n setMouseup: function setMouseup(on) {\n // Enable or disabled the body mouseup/touchend handlers\n // Use try/catch to handle case when called server side\n try {\n eventOnOff(on, document.body, 'mouseup', this.onMouseup, false);\n eventOnOff(on, document.body, 'touchend', this.onMouseup, false);\n } catch (_unused) {}\n },\n resetTimers: function resetTimers() {\n clearTimeout(this.$_autoDelayTimer);\n clearInterval(this.$_autoRepeatTimer);\n this.$_autoDelayTimer = null;\n this.$_autoRepeatTimer = null;\n },\n clearRepeat: function clearRepeat() {\n this.resetTimers();\n this.setMouseup(false);\n this.$_keyIsDown = false;\n }\n },\n render: function render(h) {\n var _this2 = this;\n\n var spinId = this.spinId,\n value = this.localValue,\n inline = this.computedInline,\n readonly = this.computedReadonly,\n vertical = this.vertical,\n disabled = this.disabled,\n computedFormatter = this.computedFormatter;\n var hasValue = !isNull(value);\n\n var makeButton = function makeButton(stepper, label, IconCmp, keyRef, shortcut, btnDisabled, slotName) {\n var $icon = h(IconCmp, {\n props: {\n scale: _this2.hasFocus ? 1.5 : 1.25\n },\n attrs: {\n 'aria-hidden': 'true'\n }\n });\n var scope = {\n hasFocus: _this2.hasFocus\n };\n\n var handler = function handler(event) {\n if (!disabled && !readonly) {\n stopEvent(event, {\n propagation: false\n });\n\n _this2.setMouseup(true); // Since we `preventDefault()`, we must manually focus the button\n\n\n attemptFocus(event.currentTarget);\n\n _this2.handleStepRepeat(event, stepper);\n }\n };\n\n return h('button', {\n staticClass: 'btn btn-sm border-0 rounded-0',\n class: {\n 'py-0': !vertical\n },\n attrs: {\n tabindex: '-1',\n type: 'button',\n disabled: disabled || readonly || btnDisabled,\n 'aria-disabled': disabled || readonly || btnDisabled ? 'true' : null,\n 'aria-controls': spinId,\n 'aria-label': label || null,\n 'aria-keyshortcuts': shortcut || null\n },\n on: {\n mousedown: handler,\n touchstart: handler\n },\n key: keyRef || null,\n ref: keyRef\n }, [_this2.normalizeSlot(slotName, scope) || $icon]);\n }; // TODO: Add button disabled state when `wrap` is `false` and at value max/min\n\n\n var $increment = makeButton(this.stepUp, this.labelIncrement, BIconPlus, 'inc', 'ArrowUp', false, SLOT_NAME_INCREMENT);\n var $decrement = makeButton(this.stepDown, this.labelDecrement, BIconDash, 'dec', 'ArrowDown', false, SLOT_NAME_DECREMENT);\n var $hidden = h();\n\n if (this.name && !disabled) {\n $hidden = h('input', {\n attrs: {\n type: 'hidden',\n name: this.name,\n form: this.form || null,\n // TODO: Should this be set to '' if value is out of range?\n value: this.valueAsFixed\n },\n key: 'hidden'\n });\n }\n\n var $spin = h( // We use 'output' element to make this accept a `