{"version":3,"sources":["webpack:///./node_modules/bootstrap-vue/esm/components/form/form.js","webpack:///./src/@core/components/toastification/ToastificationContent.vue?2bd2","webpack:///src/@core/components/toastification/ToastificationContent.vue","webpack:///./src/@core/components/toastification/ToastificationContent.vue?d65c","webpack:///./src/@core/components/toastification/ToastificationContent.vue","webpack:///./node_modules/bootstrap-vue/esm/components/table/tfoot.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-bottom-row.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-busy.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/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/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-top-row.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/table.js","webpack:///./node_modules/bootstrap-vue/esm/components/media/media.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/helpers/mixin-caption.js","webpack:///./node_modules/bootstrap-vue/esm/components/nav/nav.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/alert/alert.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/th.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/constants.js","webpack:///./node_modules/bootstrap-vue/esm/components/media/media-aside.js","webpack:///./node_modules/bootstrap-vue/esm/components/media/media-body.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-tfoot.js","webpack:///./src/views/pages/account-setting/AccountSetting.vue?03d1","webpack:///./node_modules/bootstrap-vue/esm/components/tabs/tabs.js","webpack:///./node_modules/bootstrap-vue/esm/components/tabs/tab.js","webpack:///./src/views/pages/account-setting/AccountSettingGeneral.vue?a2fc","webpack:///src/views/pages/account-setting/AccountSettingGeneral.vue","webpack:///./src/views/pages/account-setting/AccountSettingGeneral.vue?9195","webpack:///./src/views/pages/account-setting/AccountSettingGeneral.vue","webpack:///./src/views/pages/account-setting/AccountSettingPassword.vue?ac83","webpack:///src/views/pages/account-setting/AccountSettingPassword.vue","webpack:///./src/views/pages/account-setting/AccountSettingPassword.vue?bb5e","webpack:///./src/views/pages/account-setting/AccountSettingPassword.vue","webpack:///./src/views/pages/account-setting/AccountSettingInformation.vue?9dfb","webpack:///src/views/pages/account-setting/AccountSettingInformation.vue","webpack:///./src/views/pages/account-setting/AccountSettingInformation.vue?7514","webpack:///./src/views/pages/account-setting/AccountSettingInformation.vue","webpack:///./src/views/pages/account-setting/AccountSettingSocial.vue?3591","webpack:///src/views/pages/account-setting/AccountSettingSocial.vue","webpack:///./src/views/pages/account-setting/AccountSettingSocial.vue?60b4","webpack:///./src/views/pages/account-setting/AccountSettingSocial.vue","webpack:///./src/views/pages/account-setting/AccountSettingNotification.vue?d79f","webpack:///src/views/pages/account-setting/AccountSettingNotification.vue","webpack:///./src/views/pages/account-setting/AccountSettingNotification.vue?3906","webpack:///./src/views/pages/account-setting/AccountSettingNotification.vue","webpack:///src/views/pages/account-setting/AccountSetting.vue","webpack:///./src/views/pages/account-setting/AccountSetting.vue?d1e4","webpack:///./src/views/pages/account-setting/AccountSetting.vue","webpack:///./node_modules/bootstrap-vue/esm/utils/stable-sort.js","webpack:///./node_modules/bootstrap-vue/esm/components/spinner/spinner.js","webpack:///./node_modules/bootstrap-vue/esm/components/overlay/overlay.js","webpack:///./node_modules/bootstrap-vue/esm/components/layout/row.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-custom.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/filter-event.js","webpack:///./src/@core/components/toastification/ToastificationContent.vue?1b26","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/form-file/form-file.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/text-selection-active.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-colgroup.js","webpack:///./node_modules/bootstrap-vue/esm/utils/noop.js"],"names":["props","id","inline","novalidate","validated","BForm","extend","name","functional","render","h","_ref","data","children","class","attrs","_vm","this","_h","$createElement","_c","_self","staticClass","variant","icon","domProps","_s","title","_e","text","on","$event","$emit","hideClose","staticRenderFns","components","BAvatar","type","String","default","Boolean","component","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","configurable","writable","footVariant","BTfoot","mixins","provide","bvTableRowGroup","inject","bvTable","inheritAttrs","computed","isTfoot","isDark","dark","isStacked","isResponsive","isStickyHeader","hasStickyHeader","stickyHeader","tableVariant","tfootClasses","concat","tfootAttrs","bvAttrs","role","bvListeners","normalizeSlot","bottomRowMixin","methods","renderBottomRow","fields","computedFields","stacked","tbodyTrClass","tbodyTrAttr","hasNormalizedSlot","columns","MODEL_PROP_NAME_BUSY","MODEL_EVENT_NAME_BUSY","busyMixin","localBusy","computedBusy","watch","newValue","oldValue","stopIfBusy","event","renderBusy","colspan","emptyFilteredHtml","emptyFilteredText","emptyHtml","emptyText","showEmpty","emptyMixin","renderEmpty","items","computedItems","$empty","isFiltered","html","stringifyObjectValues","sort","map","k","v","join","row","ignoreFields","includeFields","fieldsObj","undefined","formattedRow","reduce","result","field","filterByFormatted","formatter","allowedKeys","array","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","o","minLen","_arrayLikeToArray","n","prototype","toString","call","slice","constructor","Array","from","test","iter","Symbol","iterator","isArray","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","created","_this2","$nextTick","beforeDestroy","clearTimeout","fn","item","_this3","regExp","pattern","replace","RegExp","lastIndex","computedFieldsObj","currentPage","perPage","paginationMixin","localPaging","noProviderPaging","paginatedItems","sortedItems","math","ROOT_EVENT_NAME_REFRESHED","ROOT_ACTION_EVENT_NAME_REFRESH","apiUrl","noProviderSorting","providerMixin","providerTriggerContext","ctx","sortBy","sortDesc","localSortBy","localSortDesc","_providerUpdate","mounted","listenOnRoot","refresh","$off","$on","clearSelected","_providerSetLocal","emitOnRoot","context","then","e","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","index","isRowSelected","selectedLastClicked","unselectRow","selectAllRows","selectableRowClasses","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","f","sortable","sortCompareLocale","sortNullLast","sortCompare","sortCompareOptions","usage","sortByFormatted","getFieldFormatter","handleSort","isFoot","sortChanged","toggleLocalSortDesc","sortDirection","sortKey","sortTheadThClasses","sortIconLeft","sortTheadThAttrs","ariaSort","sortTheadThLabel","labelSorting","topRowMixin","renderTopRow","BTable","noBody","rightAlign","tag","verticalAlign","BMedia","slots","scopedSlots","$children","slotScope","$slots","$scopedSlots","$aside","right","detailsTdClass","tbodyRowMixin","getTdValues","tdValue","defaultValue","$parent","getThValues","thValue","getFormattedValue","toggleDetailsFactory","hasDetailsSlot","$set","rowHovered","tbodyRowEvtStopped","emitTbodyRowEvent","rowUnhovered","renderTbodyRowCell","colIndex","rowIndex","label","isRowHeader","formatted","stickyColumn","cellTag","cellVariant","tdClass","thAttr","tdAttr","stackedHeading","scope","unformatted","toggleDetails","detailsShowing","rowSelected","slotName","$_bodyFieldSlotNameCache","$childNodes","renderTbodyRow","striped","primaryKey","rowShowDetails","hasRowClickHandler","$listeners","$rows","detailsId","safeId","$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","getTbodyTrIndex","el","tagName","indexOf","hasListener","onTbodyRowKeydown","keyCode","tabIndex","onTBodyRowClicked","shift","onTbodyRowMiddleMouseRowClicked","which","onTbodyRowContextmenu","onTbodyRowDblClicked","renderTbody","$busy","cache","defaultSlotName","lowercaseSlotName","toLowerCase","handlers","auxclick","contextmenu","dblclick","click","keydown","$tbody","$props","caption","captionHtml","captionMixin","captionId","renderCaption","$caption","hasCaptionSlot","computeJustifyContent","align","cardHeader","fill","justified","pills","small","tabs","vertical","BNav","_class","origFields","sample","memo","_makeModelMixin","modelMixin","mixin","modelProps","MODEL_PROP_NAME","prop","MODEL_EVENT_NAME","itemsMixin","parseCountDown","show","parseShow","dismissLabel","dismissible","fade","BAlert","countDown","localShow","clearCountDownInterval","$_countDownTimeout","dismiss","$alert","$dismissButton","noFade","BTh","extends","FIELD_KEY_CELL_VARIANT","FIELD_KEY_ROW_VARIANT","FIELD_KEY_SHOW_DETAILS","IGNORED_FIELD_KEYS","EVENT_FILTER","BMediaAside","BMediaBody","footClone","footRowVariant","tfootClass","tfootTrClass","tfootMixin","renderTFootCustom","headVariant","renderTfoot","renderThead","_u","_v","proxy","_objectSpread2","notDisabled","tab","disabled","BVTabButton","bvTabs","controls","noKeyNav","posInSet","setSize","focus","link","handleEvt","_this$tab","localActive","titleItemClass","titleLinkClass","titleLinkAttributes","$link","active","activeNavItemClass","navProps","activeTabClass","card","contentClass","end","lazy","navClass","navWrapperClass","noNavStyle","BTabs","currentTab","registeredTabs","localNavClass","classes","$tab","activateTab","previousTab","nextTab","updateTabs","$_observer","setObserver","registerTab","unregisterTab","$t","disconnect","content","childList","subtree","attributes","attributeFilter","getTabs","$tabs","_isTab","order","selector","reverse","find","getButtonForTab","buttons","$btn","updateButton","$button","$forceUpdate","tabEvent","cancelable","vueTarget","componentId","defaultPrevented","deactivateTab","focusButton","emitTabClick","clickTab","firstTab","currentIndex","lastTab","_this4","$activeTab","$fallbackTab","$buttons","_on","controlledBy","$nav","$content","col","MODEL_PROP_NAME_ACTIVE","MODEL_EVENT_NAME_ACTIVE","BTab","tabClasses","buttonId","computedNoFade","computedLazy","activate","deactivate","updated","directives","mode","errors","model","addDealerRequestModel","callback","$$v","expression","rawName","modifiers","preventDefault","savePerson","resetForm","persons","tableColumns","staticStyle","deletePerson","BButton","ValidationProvider","ValidationObserver","BOverlay","BImg","ToastificationContent","BFormFile","BFormGroup","BFormInput","BRow","BCol","BCard","BCardText","BLink","Ripple","generalData","profileFile","required","email","init","$http","simpleRules","validate","success","customClass","confirmButton","confirmButtonText","buttonsStyling","changePassword","addAddressRequestModel","BCardBody","AccountSettingGeneral","AccountSettingPassword","AccountSettingInformation","AccountSettingSocial","AccountSettingNotification","options","stableSort","compareFn","bind","BSpinner","$label","POSITION_COVER","top","left","bottom","bgColor","blur","fixed","noCenter","noWrap","opacity","number","overlayTag","rounded","spinnerSmall","spinnerType","spinnerVariant","wrapTag","zIndex","computedRounded","computedVariant","defaultOverlayFn","$overlay","$background","style","backgroundColor","backdropFilter","transform","appear","COMMON_ALIGNMENT","computeRowColsClass","breakpoint","cols","computeRowColsBreakpoint","rowColsPropList","generateProps","rowColsProps","alignContent","alignH","alignV","noGutters","_classList$push","classList","c","plain","formCustomMixin","custom","TABLE_TAG_NAMES","filterEvent","labelFor","input","BThead","listeners","isThead","theadClasses","theadAttrs","getHeadSlotName","getFootSlotName","headRowVariant","theadClass","theadTrClass","theadMixin","fieldClasses","thClass","headClicked","isStackedAlways","hasHeadClickListener","noop","makeCell","labelHtml","ariaLabel","trim","headerTitle","sortAttrs","sortClass","sortLabel","thStyle","abbr","headerAbbr","slotNames","column","$srLabel","$cells","$trs","validator","VALUE_EMPTY_DEPRECATED_MSG","isValidValue","every","getDataTransferItemEntry","getAsEntry","webkitGetAsEntry","getAllFileEntries","dataTransferItemList","traverseDirectories","Promise","all","kind","entry","isDirectory","getAllFileEntriesInDirectory","createReader","isFile","resolve","file","$path","directoryReader","path","entryPromises","readDirectoryEntries","readEntries","entries","accept","browseText","capture","directory","dropPlaceholder","fileNameFormatter","multiple","noDrop","noDropPlaceholder","noTraverse","placeholder","files","dragging","dropAllowed","hasFocus","computedAccept","split","extOrType","startMatch","endMatch","rx","computedCapture","computedAttrs","form","webkitdirectory","computedFileNameFormatter","defaultFileNameFormatter","clonedFiles","flattenedFiles","fileNames","labelContent","allowed","filesTraversed","names","reset","$_form","$form","isFileValid","isFilesArrayValid","setFiles","setInputFiles","dataTransfer","ClipboardEvent","clipboardData","DataTransfer","add","_unused","$input","_unused2","handleFiles","isDrop","filteredFiles","focusHandler","onChange","_event$dataTransfer","webkitRelativePath","onDragenter","_event$dataTransfer2","dropEffect","onDragover","_event$dataTransfer3","onDragleave","onDrop","size","stateClass","change","focusin","focusout","for","pointerEvents","dragenter","dragover","dragleave","drop","textSelectionActive","document","sel","containsNode","colgroupMixin","renderColgroup","$colgroup"],"mappings":"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","file":"js/chunk-603e6eee.47e95632.js","sourcesContent":["import { Vue, mergeData } from '../../vue';\nimport { NAME_FORM } 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 id: makeProp(PROP_TYPE_STRING),\n inline: makeProp(PROP_TYPE_BOOLEAN, false),\n novalidate: makeProp(PROP_TYPE_BOOLEAN, false),\n validated: makeProp(PROP_TYPE_BOOLEAN, false)\n}, NAME_FORM); // --- Main component ---\n// @vue/component\n\nexport var BForm = /*#__PURE__*/Vue.extend({\n name: NAME_FORM,\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('form', mergeData(data, {\n class: {\n 'form-inline': props.inline,\n 'was-validated': props.validated\n },\n attrs: {\n id: props.id,\n novalidate: props.novalidate\n }\n }), children);\n }\n});","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 }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-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--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-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&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 { 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 { 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 _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_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};","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 { 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};","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});","import { Vue, mergeData } from '../../vue';\nimport { NAME_MEDIA } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_ASIDE, SLOT_NAME_DEFAULT } from '../../constants/slots';\nimport { normalizeSlot } from '../../utils/normalize-slot';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { BMediaAside } from './media-aside';\nimport { BMediaBody } from './media-body'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n noBody: makeProp(PROP_TYPE_BOOLEAN, false),\n rightAlign: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n verticalAlign: makeProp(PROP_TYPE_STRING, 'top')\n}, NAME_MEDIA); // --- Main component ---\n// @vue/component\n\nexport var BMedia = /*#__PURE__*/Vue.extend({\n name: NAME_MEDIA,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots,\n scopedSlots = _ref.scopedSlots,\n children = _ref.children;\n var noBody = props.noBody,\n rightAlign = props.rightAlign,\n verticalAlign = props.verticalAlign;\n var $children = noBody ? children : [];\n\n if (!noBody) {\n var slotScope = {};\n var $slots = slots();\n var $scopedSlots = scopedSlots || {};\n $children.push(h(BMediaBody, normalizeSlot(SLOT_NAME_DEFAULT, slotScope, $scopedSlots, $slots)));\n var $aside = normalizeSlot(SLOT_NAME_ASIDE, slotScope, $scopedSlots, $slots);\n\n if ($aside) {\n $children[rightAlign ? 'push' : 'unshift'](h(BMediaAside, {\n props: {\n right: rightAlign,\n verticalAlign: verticalAlign\n }\n }, $aside));\n }\n }\n\n return h(props.tag, mergeData(data, {\n staticClass: 'media'\n }), $children);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\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});","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});","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_NAV } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Helper methods ---\n\nvar computeJustifyContent = function computeJustifyContent(value) {\n value = value === 'left' ? 'start' : value === 'right' ? 'end' : value;\n return \"justify-content-\".concat(value);\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable({\n align: makeProp(PROP_TYPE_STRING),\n // Set to `true` if placing in a card header\n cardHeader: makeProp(PROP_TYPE_BOOLEAN, false),\n fill: makeProp(PROP_TYPE_BOOLEAN, false),\n justified: makeProp(PROP_TYPE_BOOLEAN, false),\n pills: makeProp(PROP_TYPE_BOOLEAN, false),\n small: makeProp(PROP_TYPE_BOOLEAN, false),\n tabs: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'ul'),\n vertical: makeProp(PROP_TYPE_BOOLEAN, false)\n}, NAME_NAV); // --- Main component ---\n// @vue/component\n\nexport var BNav = /*#__PURE__*/Vue.extend({\n name: NAME_NAV,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var tabs = props.tabs,\n pills = props.pills,\n vertical = props.vertical,\n align = props.align,\n cardHeader = props.cardHeader;\n return h(props.tag, mergeData(data, {\n staticClass: 'nav',\n class: (_class = {\n 'nav-tabs': tabs,\n 'nav-pills': pills && !tabs,\n 'card-header-tabs': !vertical && cardHeader && tabs,\n 'card-header-pills': !vertical && cardHeader && pills && !tabs,\n 'flex-column': vertical,\n 'nav-fill': !vertical && props.fill,\n 'nav-justified': !vertical && props.justified\n }, _defineProperty(_class, computeJustifyContent(align), !vertical && align), _defineProperty(_class, \"small\", props.small), _class)\n }), children);\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});","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});","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\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(',');","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 { 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});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',{staticClass:\"mb-0\",attrs:{\"no-body\":\"\"}},[_c('b-card-body',{staticClass:\"pb-1\"},[_c('b-tabs',{attrs:{\"vertical\":\"\",\"content-class\":\"col-12 col-md-9 mt-1 mt-md-0\",\"pills\":\"\",\"nav-wrapper-class\":\"col-md-3 col-12\",\"nav-class\":\"nav-left\"}},[_c('b-tab',{attrs:{\"active\":\"\"},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('feather-icon',{staticClass:\"mr-50\",attrs:{\"icon\":\"UserIcon\",\"size\":\"18\"}}),_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Kişiler\")])]},proxy:true}])},[_c('account-setting-general')],1),_c('b-tab',{scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('feather-icon',{staticClass:\"mr-50\",attrs:{\"icon\":\"HomeIcon\",\"size\":\"18\"}}),_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Adreslerim\")])]},proxy:true}])},[_c('account-setting-information')],1),_c('b-tab',{scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('feather-icon',{staticClass:\"mr-50\",attrs:{\"icon\":\"InfoIcon\",\"size\":\"18\"}}),_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Şifre Değiştir\")])]},proxy:true}])},[_c('account-setting-password')],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","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_TABS, NAME_TAB_BUTTON_HELPER } from '../../constants/components';\nimport { IS_BROWSER } from '../../constants/env';\nimport { EVENT_NAME_ACTIVATE_TAB, EVENT_NAME_CHANGED, EVENT_NAME_CLICK, EVENT_NAME_FIRST, EVENT_NAME_LAST, EVENT_NAME_NEXT, EVENT_NAME_PREV } from '../../constants/events';\nimport { CODE_DOWN, CODE_END, CODE_HOME, CODE_LEFT, CODE_RIGHT, CODE_SPACE, CODE_UP } from '../../constants/key-codes';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_EMPTY, SLOT_NAME_TABS_END, SLOT_NAME_TABS_START, SLOT_NAME_TITLE } from '../../constants/slots';\nimport { arrayIncludes } from '../../utils/array';\nimport { BvEvent } from '../../utils/bv-event.class';\nimport { attemptFocus, selectAll, requestAF } from '../../utils/dom';\nimport { stopEvent } from '../../utils/events';\nimport { identity } from '../../utils/identity';\nimport { isEvent } from '../../utils/inspect';\nimport { looseEqual } from '../../utils/loose-equal';\nimport { mathMax } from '../../utils/math';\nimport { makeModelMixin } from '../../utils/model';\nimport { toInteger } from '../../utils/number';\nimport { omit, sortKeys } from '../../utils/object';\nimport { observeDom } from '../../utils/observe-dom';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { stableSort } from '../../utils/stable-sort';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BLink } from '../link/link';\nimport { BNav, props as BNavProps } from '../nav/nav'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('value', {\n type: PROP_TYPE_NUMBER\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event; // --- Helper methods ---\n// Filter function to filter out disabled tabs\n\n\nvar notDisabled = function notDisabled(tab) {\n return !tab.disabled;\n}; // --- Helper components ---\n// @vue/component\n\n\nvar BVTabButton = /*#__PURE__*/Vue.extend({\n name: NAME_TAB_BUTTON_HELPER,\n inject: {\n bvTabs: {\n default:\n /* istanbul ignore next */\n function _default() {\n return {};\n }\n }\n },\n props: {\n controls: makeProp(PROP_TYPE_STRING),\n id: makeProp(PROP_TYPE_STRING),\n noKeyNav: makeProp(PROP_TYPE_BOOLEAN, false),\n posInSet: makeProp(PROP_TYPE_NUMBER),\n setSize: makeProp(PROP_TYPE_NUMBER),\n // Reference to the child instance\n tab: makeProp(),\n tabIndex: makeProp(PROP_TYPE_NUMBER)\n },\n methods: {\n focus: function focus() {\n attemptFocus(this.$refs.link);\n },\n handleEvt: function handleEvt(event) {\n /* istanbul ignore next */\n if (this.tab.disabled) {\n return;\n }\n\n var type = event.type,\n keyCode = event.keyCode,\n shiftKey = event.shiftKey;\n\n if (type === 'click') {\n stopEvent(event);\n this.$emit(EVENT_NAME_CLICK, event);\n } else if (type === 'keydown' && keyCode === CODE_SPACE) {\n // For ARIA tabs the SPACE key will also trigger a click/select\n // Even with keyboard navigation disabled, SPACE should \"click\" the button\n // See: https://github.com/bootstrap-vue/bootstrap-vue/issues/4323\n stopEvent(event);\n this.$emit(EVENT_NAME_CLICK, event);\n } else if (type === 'keydown' && !this.noKeyNav) {\n // For keyboard navigation\n if ([CODE_UP, CODE_LEFT, CODE_HOME].indexOf(keyCode) !== -1) {\n stopEvent(event);\n\n if (shiftKey || keyCode === CODE_HOME) {\n this.$emit(EVENT_NAME_FIRST, event);\n } else {\n this.$emit(EVENT_NAME_PREV, event);\n }\n } else if ([CODE_DOWN, CODE_RIGHT, CODE_END].indexOf(keyCode) !== -1) {\n stopEvent(event);\n\n if (shiftKey || keyCode === CODE_END) {\n this.$emit(EVENT_NAME_LAST, event);\n } else {\n this.$emit(EVENT_NAME_NEXT, event);\n }\n }\n }\n }\n },\n render: function render(h) {\n var id = this.id,\n tabIndex = this.tabIndex,\n setSize = this.setSize,\n posInSet = this.posInSet,\n controls = this.controls,\n handleEvt = this.handleEvt;\n var _this$tab = this.tab,\n title = _this$tab.title,\n localActive = _this$tab.localActive,\n disabled = _this$tab.disabled,\n titleItemClass = _this$tab.titleItemClass,\n titleLinkClass = _this$tab.titleLinkClass,\n titleLinkAttributes = _this$tab.titleLinkAttributes;\n var $link = h(BLink, {\n staticClass: 'nav-link',\n class: [{\n active: localActive && !disabled,\n disabled: disabled\n }, titleLinkClass, // Apply `activeNavItemClass` styles when the tab is active\n localActive ? this.bvTabs.activeNavItemClass : null],\n props: {\n disabled: disabled\n },\n attrs: _objectSpread(_objectSpread({}, titleLinkAttributes), {}, {\n id: id,\n role: 'tab',\n // Roving tab index when keynav enabled\n tabindex: tabIndex,\n 'aria-selected': localActive && !disabled ? 'true' : 'false',\n 'aria-setsize': setSize,\n 'aria-posinset': posInSet,\n 'aria-controls': controls\n }),\n on: {\n click: handleEvt,\n keydown: handleEvt\n },\n ref: 'link'\n }, [this.tab.normalizeSlot(SLOT_NAME_TITLE) || title]);\n return h('li', {\n staticClass: 'nav-item',\n class: [titleItemClass],\n attrs: {\n role: 'presentation'\n }\n }, [$link]);\n }\n}); // --- Props ---\n\nvar navProps = omit(BNavProps, ['tabs', 'isNavBar', 'cardHeader']);\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), modelProps), navProps), {}, {\n // Only applied to the currently active ``\n activeNavItemClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n // Only applied to the currently active ``\n // This prop is sniffed by the `` child\n activeTabClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n card: makeProp(PROP_TYPE_BOOLEAN, false),\n contentClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n // Synonym for 'bottom'\n end: makeProp(PROP_TYPE_BOOLEAN, false),\n // This prop is sniffed by the `` child\n lazy: makeProp(PROP_TYPE_BOOLEAN, false),\n navClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n navWrapperClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n noFade: makeProp(PROP_TYPE_BOOLEAN, false),\n noKeyNav: makeProp(PROP_TYPE_BOOLEAN, false),\n noNavStyle: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n})), NAME_TABS); // --- Main component ---\n// @vue/component\n\nexport var BTabs = /*#__PURE__*/Vue.extend({\n name: NAME_TABS,\n mixins: [idMixin, modelMixin, normalizeSlotMixin],\n provide: function provide() {\n return {\n bvTabs: this\n };\n },\n props: props,\n data: function data() {\n return {\n // Index of current tab\n currentTab: toInteger(this[MODEL_PROP_NAME], -1),\n // Array of direct child `` instances, in DOM order\n tabs: [],\n // Array of child instances registered (for triggering reactive updates)\n registeredTabs: []\n };\n },\n computed: {\n fade: function fade() {\n // This computed prop is sniffed by the tab child\n return !this.noFade;\n },\n localNavClass: function localNavClass() {\n var classes = [];\n\n if (this.card && this.vertical) {\n classes.push('card-header', 'h-100', 'border-bottom-0', 'rounded-0');\n }\n\n return [].concat(classes, [this.navClass]);\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function (newValue, oldValue) {\n if (newValue !== oldValue) {\n newValue = toInteger(newValue, -1);\n oldValue = toInteger(oldValue, 0);\n var $tab = this.tabs[newValue];\n\n if ($tab && !$tab.disabled) {\n this.activateTab($tab);\n } else {\n // Try next or prev tabs\n if (newValue < oldValue) {\n this.previousTab();\n } else {\n this.nextTab();\n }\n }\n }\n }), _defineProperty(_watch, \"currentTab\", function currentTab(newValue) {\n var index = -1; // Ensure only one tab is active at most\n\n this.tabs.forEach(function ($tab, i) {\n if (i === newValue && !$tab.disabled) {\n $tab.localActive = true;\n index = i;\n } else {\n $tab.localActive = false;\n }\n }); // Update the v-model\n\n this.$emit(MODEL_EVENT_NAME, index);\n }), _defineProperty(_watch, \"tabs\", function tabs(newValue, oldValue) {\n var _this = this;\n\n // We use `_uid` instead of `safeId()`, as the later is changed in a `$nextTick()`\n // if no explicit ID is provided, causing duplicate emits\n if (!looseEqual(newValue.map(function ($tab) {\n return $tab[COMPONENT_UID_KEY];\n }), oldValue.map(function ($tab) {\n return $tab[COMPONENT_UID_KEY];\n }))) {\n // In a `$nextTick()` to ensure `currentTab` has been set first\n this.$nextTick(function () {\n // We emit shallow copies of the new and old arrays of tabs,\n // to prevent users from potentially mutating the internal arrays\n _this.$emit(EVENT_NAME_CHANGED, newValue.slice(), oldValue.slice());\n });\n }\n }), _defineProperty(_watch, \"registeredTabs\", function registeredTabs() {\n this.updateTabs();\n }), _watch),\n created: function created() {\n // Create private non-reactive props\n this.$_observer = null;\n },\n mounted: function mounted() {\n this.setObserver(true);\n },\n beforeDestroy: function beforeDestroy() {\n this.setObserver(false); // Ensure no references to child instances exist\n\n this.tabs = [];\n },\n methods: {\n registerTab: function registerTab($tab) {\n if (!arrayIncludes(this.registeredTabs, $tab)) {\n this.registeredTabs.push($tab);\n }\n },\n unregisterTab: function unregisterTab($tab) {\n this.registeredTabs = this.registeredTabs.slice().filter(function ($t) {\n return $t !== $tab;\n });\n },\n // DOM observer is needed to detect changes in order of tabs\n setObserver: function setObserver() {\n var _this2 = this;\n\n var on = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n this.$_observer && this.$_observer.disconnect();\n this.$_observer = null;\n\n if (on) {\n /* istanbul ignore next: difficult to test mutation observer in JSDOM */\n var handler = function handler() {\n _this2.$nextTick(function () {\n requestAF(function () {\n _this2.updateTabs();\n });\n });\n }; // Watch for changes to `` sub components\n\n\n this.$_observer = observeDom(this.$refs.content, handler, {\n childList: true,\n subtree: false,\n attributes: true,\n attributeFilter: ['id']\n });\n }\n },\n getTabs: function getTabs() {\n var $tabs = this.registeredTabs.filter(function ($tab) {\n return $tab.$children.filter(function ($t) {\n return $t._isTab;\n }).length === 0;\n }); // DOM Order of Tabs\n\n var order = [];\n /* istanbul ignore next: too difficult to test */\n\n if (IS_BROWSER && $tabs.length > 0) {\n // We rely on the DOM when mounted to get the \"true\" order of the `` children\n // `querySelectorAll()` always returns elements in document order, regardless of\n // order specified in the selector\n var selector = $tabs.map(function ($tab) {\n return \"#\".concat($tab.safeId());\n }).join(', ');\n order = selectAll(selector, this.$el).map(function ($el) {\n return $el.id;\n }).filter(identity);\n } // Stable sort keeps the original order if not found in the `order` array,\n // which will be an empty array before mount\n\n\n return stableSort($tabs, function (a, b) {\n return order.indexOf(a.safeId()) - order.indexOf(b.safeId());\n });\n },\n updateTabs: function updateTabs() {\n var $tabs = this.getTabs(); // Find last active non-disabled tab in current tabs\n // We trust tab state over `currentTab`, in case tabs were added/removed/re-ordered\n\n var tabIndex = $tabs.indexOf($tabs.slice().reverse().find(function ($tab) {\n return $tab.localActive && !$tab.disabled;\n })); // Else try setting to `currentTab`\n\n if (tabIndex < 0) {\n var currentTab = this.currentTab;\n\n if (currentTab >= $tabs.length) {\n // Handle last tab being removed, so find the last non-disabled tab\n tabIndex = $tabs.indexOf($tabs.slice().reverse().find(notDisabled));\n } else if ($tabs[currentTab] && !$tabs[currentTab].disabled) {\n // Current tab is not disabled\n tabIndex = currentTab;\n }\n } // Else find first non-disabled tab in current tabs\n\n\n if (tabIndex < 0) {\n tabIndex = $tabs.indexOf($tabs.find(notDisabled));\n } // Ensure only one tab is active at a time\n\n\n $tabs.forEach(function ($tab, index) {\n $tab.localActive = index === tabIndex;\n });\n this.tabs = $tabs;\n this.currentTab = tabIndex;\n },\n // Find a button that controls a tab, given the tab reference\n // Returns the button vm instance\n getButtonForTab: function getButtonForTab($tab) {\n return (this.$refs.buttons || []).find(function ($btn) {\n return $btn.tab === $tab;\n });\n },\n // Force a button to re-render its content, given a `` instance\n // Called by `` on `update()`\n updateButton: function updateButton($tab) {\n var $button = this.getButtonForTab($tab);\n\n if ($button && $button.$forceUpdate) {\n $button.$forceUpdate();\n }\n },\n // Activate a tab given a `` instance\n // Also accessed by ``\n activateTab: function activateTab($tab) {\n var currentTab = this.currentTab,\n $tabs = this.tabs;\n var result = false;\n\n if ($tab) {\n var index = $tabs.indexOf($tab);\n\n if (index !== currentTab && index > -1 && !$tab.disabled) {\n var tabEvent = new BvEvent(EVENT_NAME_ACTIVATE_TAB, {\n cancelable: true,\n vueTarget: this,\n componentId: this.safeId()\n });\n this.$emit(tabEvent.type, index, currentTab, tabEvent);\n\n if (!tabEvent.defaultPrevented) {\n this.currentTab = index;\n result = true;\n }\n }\n } // Couldn't set tab, so ensure v-model is up to date\n\n /* istanbul ignore next: should rarely happen */\n\n\n if (!result && this[MODEL_PROP_NAME] !== currentTab) {\n this.$emit(MODEL_EVENT_NAME, currentTab);\n }\n\n return result;\n },\n // Deactivate a tab given a `` instance\n // Accessed by ``\n deactivateTab: function deactivateTab($tab) {\n if ($tab) {\n // Find first non-disabled tab that isn't the one being deactivated\n // If no tabs are available, then don't deactivate current tab\n return this.activateTab(this.tabs.filter(function ($t) {\n return $t !== $tab;\n }).find(notDisabled));\n }\n /* istanbul ignore next: should never/rarely happen */\n\n\n return false;\n },\n // Focus a tab button given its `` instance\n focusButton: function focusButton($tab) {\n var _this3 = this;\n\n // Wrap in `$nextTick()` to ensure DOM has completed rendering\n this.$nextTick(function () {\n attemptFocus(_this3.getButtonForTab($tab));\n });\n },\n // Emit a click event on a specified `` component instance\n emitTabClick: function emitTabClick(tab, event) {\n if (isEvent(event) && tab && tab.$emit && !tab.disabled) {\n tab.$emit(EVENT_NAME_CLICK, event);\n }\n },\n // Click handler\n clickTab: function clickTab($tab, event) {\n this.activateTab($tab);\n this.emitTabClick($tab, event);\n },\n // Move to first non-disabled tab\n firstTab: function firstTab(focus) {\n var $tab = this.tabs.find(notDisabled);\n\n if (this.activateTab($tab) && focus) {\n this.focusButton($tab);\n this.emitTabClick($tab, focus);\n }\n },\n // Move to previous non-disabled tab\n previousTab: function previousTab(focus) {\n var currentIndex = mathMax(this.currentTab, 0);\n var $tab = this.tabs.slice(0, currentIndex).reverse().find(notDisabled);\n\n if (this.activateTab($tab) && focus) {\n this.focusButton($tab);\n this.emitTabClick($tab, focus);\n }\n },\n // Move to next non-disabled tab\n nextTab: function nextTab(focus) {\n var currentIndex = mathMax(this.currentTab, -1);\n var $tab = this.tabs.slice(currentIndex + 1).find(notDisabled);\n\n if (this.activateTab($tab) && focus) {\n this.focusButton($tab);\n this.emitTabClick($tab, focus);\n }\n },\n // Move to last non-disabled tab\n lastTab: function lastTab(focus) {\n var $tab = this.tabs.slice().reverse().find(notDisabled);\n\n if (this.activateTab($tab) && focus) {\n this.focusButton($tab);\n this.emitTabClick($tab, focus);\n }\n }\n },\n render: function render(h) {\n var _this4 = this;\n\n var align = this.align,\n card = this.card,\n end = this.end,\n fill = this.fill,\n firstTab = this.firstTab,\n justified = this.justified,\n lastTab = this.lastTab,\n nextTab = this.nextTab,\n noKeyNav = this.noKeyNav,\n noNavStyle = this.noNavStyle,\n pills = this.pills,\n previousTab = this.previousTab,\n small = this.small,\n $tabs = this.tabs,\n vertical = this.vertical; // Currently active tab\n\n var $activeTab = $tabs.find(function ($tab) {\n return $tab.localActive && !$tab.disabled;\n }); // Tab button to allow focusing when no active tab found (keynav only)\n\n var $fallbackTab = $tabs.find(function ($tab) {\n return !$tab.disabled;\n }); // For each `` found create the tab buttons\n\n var $buttons = $tabs.map(function ($tab, index) {\n var _on;\n\n var safeId = $tab.safeId; // Ensure at least one tab button is focusable when keynav enabled (if possible)\n\n var tabIndex = null;\n\n if (!noKeyNav) {\n // Buttons are not in tab index unless active, or a fallback tab\n tabIndex = -1;\n\n if ($tab === $activeTab || !$activeTab && $tab === $fallbackTab) {\n // Place tab button in tab sequence\n tabIndex = null;\n }\n }\n\n return h(BVTabButton, {\n props: {\n controls: safeId ? safeId() : null,\n id: $tab.controlledBy || (safeId ? safeId(\"_BV_tab_button_\") : null),\n noKeyNav: noKeyNav,\n posInSet: index + 1,\n setSize: $tabs.length,\n tab: $tab,\n tabIndex: tabIndex\n },\n on: (_on = {}, _defineProperty(_on, EVENT_NAME_CLICK, function (event) {\n _this4.clickTab($tab, event);\n }), _defineProperty(_on, EVENT_NAME_FIRST, firstTab), _defineProperty(_on, EVENT_NAME_PREV, previousTab), _defineProperty(_on, EVENT_NAME_NEXT, nextTab), _defineProperty(_on, EVENT_NAME_LAST, lastTab), _on),\n key: $tab[COMPONENT_UID_KEY] || index,\n ref: 'buttons',\n // Needed to make `this.$refs.buttons` an array\n refInFor: true\n });\n });\n var $nav = h(BNav, {\n class: this.localNavClass,\n attrs: {\n role: 'tablist',\n id: this.safeId('_BV_tab_controls_')\n },\n props: {\n fill: fill,\n justified: justified,\n align: align,\n tabs: !noNavStyle && !pills,\n pills: !noNavStyle && pills,\n vertical: vertical,\n small: small,\n cardHeader: card && !vertical\n },\n ref: 'nav'\n }, [this.normalizeSlot(SLOT_NAME_TABS_START) || h(), $buttons, this.normalizeSlot(SLOT_NAME_TABS_END) || h()]);\n $nav = h('div', {\n class: [{\n 'card-header': card && !vertical && !end,\n 'card-footer': card && !vertical && end,\n 'col-auto': vertical\n }, this.navWrapperClass],\n key: 'bv-tabs-nav'\n }, [$nav]);\n var $children = this.normalizeSlot() || [];\n var $empty = h();\n\n if ($children.length === 0) {\n $empty = h('div', {\n class: ['tab-pane', 'active', {\n 'card-body': card\n }],\n key: 'bv-empty-tab'\n }, this.normalizeSlot(SLOT_NAME_EMPTY));\n }\n\n var $content = h('div', {\n staticClass: 'tab-content',\n class: [{\n col: vertical\n }, this.contentClass],\n attrs: {\n id: this.safeId('_BV_tab_container_')\n },\n key: 'bv-content',\n ref: 'content'\n }, [$children, $empty]); // Render final output\n\n return h(this.tag, {\n staticClass: 'tabs',\n class: {\n row: vertical,\n 'no-gutters': vertical && card\n },\n attrs: {\n id: this.safeId()\n }\n }, [end ? $content : h(), $nav, end ? h() : $content]);\n }\n});","var _objectSpread2, _watch;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); 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_TAB } from '../../constants/components';\nimport { MODEL_EVENT_NAME_PREFIX } from '../../constants/events';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_OBJECT, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_TITLE } from '../../constants/slots';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BVTransition } from '../transition/bv-transition'; // --- Constants ---\n\nvar MODEL_PROP_NAME_ACTIVE = 'active';\nvar MODEL_EVENT_NAME_ACTIVE = MODEL_EVENT_NAME_PREFIX + MODEL_PROP_NAME_ACTIVE; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, idProps), {}, (_objectSpread2 = {}, _defineProperty(_objectSpread2, MODEL_PROP_NAME_ACTIVE, makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_objectSpread2, \"buttonId\", makeProp(PROP_TYPE_STRING)), _defineProperty(_objectSpread2, \"disabled\", makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_objectSpread2, \"lazy\", makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_objectSpread2, \"noBody\", makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_objectSpread2, \"tag\", makeProp(PROP_TYPE_STRING, 'div')), _defineProperty(_objectSpread2, \"title\", makeProp(PROP_TYPE_STRING)), _defineProperty(_objectSpread2, \"titleItemClass\", makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)), _defineProperty(_objectSpread2, \"titleLinkAttributes\", makeProp(PROP_TYPE_OBJECT)), _defineProperty(_objectSpread2, \"titleLinkClass\", makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)), _objectSpread2))), NAME_TAB); // --- Main component ---\n// @vue/component\n\nexport var BTab = /*#__PURE__*/Vue.extend({\n name: NAME_TAB,\n mixins: [idMixin, normalizeSlotMixin],\n inject: {\n bvTabs: {\n default: function _default() {\n return {};\n }\n }\n },\n props: props,\n data: function data() {\n return {\n localActive: this[MODEL_PROP_NAME_ACTIVE] && !this.disabled\n };\n },\n computed: {\n // For parent sniffing of child\n _isTab: function _isTab() {\n return true;\n },\n tabClasses: function tabClasses() {\n var active = this.localActive,\n disabled = this.disabled;\n return [{\n active: active,\n disabled: disabled,\n 'card-body': this.bvTabs.card && !this.noBody\n }, // Apply `activeTabClass` styles when this tab is active\n active ? this.bvTabs.activeTabClass : null];\n },\n controlledBy: function controlledBy() {\n return this.buttonId || this.safeId('__BV_tab_button__');\n },\n computedNoFade: function computedNoFade() {\n return !(this.bvTabs.fade || false);\n },\n computedLazy: function computedLazy() {\n return this.bvTabs.lazy || this.lazy;\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME_ACTIVE, function (newValue, oldValue) {\n if (newValue !== oldValue) {\n if (newValue) {\n // If activated post mount\n this.activate();\n } else {\n /* istanbul ignore next */\n if (!this.deactivate()) {\n // Tab couldn't be deactivated, so we reset the synced active prop\n // Deactivation will fail if no other tabs to activate\n this.$emit(MODEL_EVENT_NAME_ACTIVE, this.localActive);\n }\n }\n }\n }), _defineProperty(_watch, \"disabled\", function disabled(newValue, oldValue) {\n if (newValue !== oldValue) {\n var firstTab = this.bvTabs.firstTab;\n\n if (newValue && this.localActive && firstTab) {\n this.localActive = false;\n firstTab();\n }\n }\n }), _defineProperty(_watch, \"localActive\", function localActive(newValue) {\n // Make `active` prop work with `.sync` modifier\n this.$emit(MODEL_EVENT_NAME_ACTIVE, newValue);\n }), _watch),\n mounted: function mounted() {\n // Inform `` of our presence\n this.registerTab();\n },\n updated: function updated() {\n // Force the tab button content to update (since slots are not reactive)\n // Only done if we have a title slot, as the title prop is reactive\n var updateButton = this.bvTabs.updateButton;\n\n if (updateButton && this.hasNormalizedSlot(SLOT_NAME_TITLE)) {\n updateButton(this);\n }\n },\n beforeDestroy: function beforeDestroy() {\n // Inform `` of our departure\n this.unregisterTab();\n },\n methods: {\n // Private methods\n registerTab: function registerTab() {\n // Inform `` of our presence\n var registerTab = this.bvTabs.registerTab;\n\n if (registerTab) {\n registerTab(this);\n }\n },\n unregisterTab: function unregisterTab() {\n // Inform `` of our departure\n var unregisterTab = this.bvTabs.unregisterTab;\n\n if (unregisterTab) {\n unregisterTab(this);\n }\n },\n // Public methods\n activate: function activate() {\n // Not inside a `` component or tab is disabled\n var activateTab = this.bvTabs.activateTab;\n return activateTab && !this.disabled ? activateTab(this) : false;\n },\n deactivate: function deactivate() {\n // Not inside a `` component or not active to begin with\n var deactivateTab = this.bvTabs.deactivateTab;\n return deactivateTab && this.localActive ? deactivateTab(this) : false;\n }\n },\n render: function render(h) {\n var localActive = this.localActive;\n var $content = h(this.tag, {\n staticClass: 'tab-pane',\n class: this.tabClasses,\n directives: [{\n name: 'show',\n value: localActive\n }],\n attrs: {\n role: 'tabpanel',\n id: this.safeId(),\n 'aria-hidden': localActive ? 'false' : 'true',\n 'aria-labelledby': this.controlledBy || null\n },\n ref: 'panel'\n }, // Render content lazily if requested\n [localActive || !this.computedLazy ? this.normalizeSlot() : h()]);\n return h(BVTransition, {\n props: {\n mode: 'out-in',\n noFade: this.computedNoFade\n }\n }, [$content]);\n }\n});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-overlay',{attrs:{\"id\":\"overlay-background\",\"show\":_vm.show,\"variant\":\"primary\",\"opacity\":\"0.85\",\"blur\":\"2\",\"rounded\":\"sm\"}},[_c('b-card',[_c('validation-observer',{ref:\"simpleRules\"},[_c('b-form',{staticClass:\"mt-2\"},[_c('b-row',[_c('b-col',{attrs:{\"sm\":\"4\"}},[_c('b-form-group',{attrs:{\"label\":\"Adı\",\"label-for\":\"account-username\"}},[_c('validation-provider',{attrs:{\"name\":\"First Name\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('b-form-input',{attrs:{\"id\":\"input-live\",\"placeholder\":\"Adı\",\"state\":errors.length > 0 ? false : null,\"name\":\"username\"},model:{value:(_vm.addDealerRequestModel.fullName),callback:function ($$v) {_vm.$set(_vm.addDealerRequestModel, \"fullName\", $$v)},expression:\"addDealerRequestModel.fullName\"}})]}}])})],1)],1),_c('b-col',{attrs:{\"sm\":\"4\"}},[_c('b-form-group',{attrs:{\"label\":\"Ünvanı\",\"label-for\":\"account-name\"}},[_c('validation-provider',{attrs:{\"name\":\"First Name\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('b-form-input',{attrs:{\"name\":\"name\",\"state\":errors.length > 0 ? false : null,\"placeholder\":\"Ünvanı\"},model:{value:(_vm.addDealerRequestModel.title),callback:function ($$v) {_vm.$set(_vm.addDealerRequestModel, \"title\", $$v)},expression:\"addDealerRequestModel.title\"}})]}}])})],1)],1),_c('b-col',{attrs:{\"sm\":\"4\"}},[_c('b-form-group',{attrs:{\"label\":\"E-mail\",\"label-for\":\"account-e-mail\"}},[_c('validation-provider',{attrs:{\"name\":\"Email\",\"rules\":\"required|email\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('b-form-input',{attrs:{\"name\":\"email\",\"state\":errors.length > 0 ? false : null,\"type\":\"email\",\"placeholder\":\"Email\"},model:{value:(_vm.addDealerRequestModel.email),callback:function ($$v) {_vm.$set(_vm.addDealerRequestModel, \"email\", $$v)},expression:\"addDealerRequestModel.email\"}})]}}])})],1)],1),_c('b-col',{attrs:{\"cols\":\"12\"}},[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],staticClass:\"mt-2 mr-1\",attrs:{\"variant\":\"primary\"},on:{\"click\":function($event){$event.preventDefault();return _vm.savePerson($event)}}},[_vm._v(\" Kaydet \")]),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(186, 191, 199, 0.15)'),expression:\"'rgba(186, 191, 199, 0.15)'\",modifiers:{\"400\":true}}],staticClass:\"mt-2\",attrs:{\"variant\":\"outline-secondary\",\"type\":\"reset\"},on:{\"click\":function($event){$event.preventDefault();return _vm.resetForm($event)}}},[_vm._v(\" Temizle \")])],1)],1)],1)],1),_c('br'),_c('b-table',{ref:\"refUserListTable\",staticClass:\"position-relative\",attrs:{\"striped\":true,\"bordered\":true,\"hover\":true,\"small\":true,\"items\":_vm.persons,\"responsive\":\"\",\"fields\":_vm.tableColumns,\"primary-key\":\"id\",\"sort-by.sync\":\"id\",\"show-empty\":\"\",\"empty-text\":\"Kayıt bulunamadı.\",\"head-variant\":\"dark\"},scopedSlots:_vm._u([{key:\"cell(actions)\",fn:function(data){return [_c('div',{staticClass:\"item-quantity d-flex justify-content-center\"},[_c('b-button',{staticStyle:{\"margin-top\":\"0x\"},attrs:{\"type\":\"button\",\"variant\":\"primary\"},on:{\"click\":function($event){return _vm.deletePerson(data)}}},[_c('feather-icon',{staticClass:\"mr-50\",attrs:{\"icon\":\"TrashIcon\"}}),_c('span',{staticClass:\"align-middle\"},[_vm._v(\"Sil\")])],1)],1)]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountSettingGeneral.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountSettingGeneral.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AccountSettingGeneral.vue?vue&type=template&id=0ff1bf42&\"\nimport script from \"./AccountSettingGeneral.vue?vue&type=script&lang=js&\"\nexport * from \"./AccountSettingGeneral.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-overlay',{attrs:{\"id\":\"overlay-background\",\"show\":_vm.show,\"variant\":\"primary\",\"opacity\":\"0.85\",\"blur\":\"2\",\"rounded\":\"sm\"}},[_c('b-card',[_c('b-form',{staticClass:\"mt-2\"},[_c('b-row',[_c('b-col',{attrs:{\"sm\":\"4\"}},[_c('b-form-group',{attrs:{\"label\":\"Aktif Şifre\",\"label-for\":\"account-username\"}},[_c('b-form-input',{attrs:{\"id\":\"input-live\",\"placeholder\":\"Aktif Şifre\",\"type\":\"password\",\"name\":\"username\"},model:{value:(_vm.addDealerRequestModel.OldPassword),callback:function ($$v) {_vm.$set(_vm.addDealerRequestModel, \"OldPassword\", $$v)},expression:\"addDealerRequestModel.OldPassword\"}})],1)],1),_c('b-col',{attrs:{\"sm\":\"4\"}},[_c('b-form-group',{attrs:{\"label\":\"Yeni Şifre\",\"label-for\":\"account-name\"}},[_c('b-form-input',{attrs:{\"id\":\"input-live\",\"placeholder\":\"Aktif Şifre\",\"type\":\"password\",\"name\":\"username\"},model:{value:(_vm.addDealerRequestModel.NewPassword),callback:function ($$v) {_vm.$set(_vm.addDealerRequestModel, \"NewPassword\", $$v)},expression:\"addDealerRequestModel.NewPassword\"}})],1)],1),_c('b-col',{attrs:{\"sm\":\"4\"}},[_c('b-form-group',{attrs:{\"label\":\"Yeni Şifre\",\"label-for\":\"account-name\"}},[_c('b-form-input',{attrs:{\"id\":\"input-live\",\"placeholder\":\"Yeni Şifre\",\"type\":\"password\",\"name\":\"username\"},model:{value:(_vm.addDealerRequestModel.TryNewPassword),callback:function ($$v) {_vm.$set(_vm.addDealerRequestModel, \"TryNewPassword\", $$v)},expression:\"addDealerRequestModel.TryNewPassword\"}})],1)],1),_c('b-col',{attrs:{\"cols\":\"12\"}},[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],staticClass:\"mt-2 mr-1\",attrs:{\"variant\":\"primary\"},on:{\"click\":_vm.changePassword}},[_vm._v(\" Kaydet \")]),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(186, 191, 199, 0.15)'),expression:\"'rgba(186, 191, 199, 0.15)'\",modifiers:{\"400\":true}}],staticClass:\"mt-2\",attrs:{\"variant\":\"outline-secondary\",\"type\":\"reset\"},on:{\"click\":function($event){$event.preventDefault();return _vm.resetForm($event)}}},[_vm._v(\" Temizle \")])],1)],1)],1),_c('br')],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountSettingPassword.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountSettingPassword.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AccountSettingPassword.vue?vue&type=template&id=cb4809de&\"\nimport script from \"./AccountSettingPassword.vue?vue&type=script&lang=js&\"\nexport * from \"./AccountSettingPassword.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-overlay',{attrs:{\"id\":\"overlay-background\",\"show\":_vm.show,\"variant\":\"primary\",\"opacity\":\"0.85\",\"blur\":\"2\",\"rounded\":\"sm\"}},[_c('b-card',[_c('validation-observer',{ref:\"simpleRules\"},[_c('b-form',{staticClass:\"mt-2\"},[_c('b-row',[_c('b-col',{attrs:{\"sm\":\"6\"}},[_c('b-form-group',{attrs:{\"label\":\"Adı\",\"label-for\":\"account-username\"}},[_c('validation-provider',{attrs:{\"name\":\"First Name\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('b-form-input',{attrs:{\"id\":\"input-live\",\"placeholder\":\"Adı\",\"state\":errors.length > 0 ? false : null,\"name\":\"username\"},model:{value:(_vm.addAddressRequestModel.title),callback:function ($$v) {_vm.$set(_vm.addAddressRequestModel, \"title\", $$v)},expression:\"addAddressRequestModel.title\"}})]}}])})],1)],1),_c('b-col',{attrs:{\"sm\":\"6\"}},[_c('b-form-group',{attrs:{\"label\":\"Kısa\",\"label-for\":\"account-name\"}},[_c('validation-provider',{attrs:{\"name\":\"First Name\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('b-form-input',{attrs:{\"name\":\"name\",\"state\":errors.length > 0 ? false : null,\"placeholder\":\"Kısa\"},model:{value:(_vm.addAddressRequestModel.address2),callback:function ($$v) {_vm.$set(_vm.addAddressRequestModel, \"address2\", $$v)},expression:\"addAddressRequestModel.address2\"}})]}}])})],1)],1),_c('b-col',{attrs:{\"sm\":\"4\"}},[_c('b-form-group',{attrs:{\"label\":\"Şehir\",\"label-for\":\"account-name\"}},[_c('validation-provider',{attrs:{\"name\":\"First Name\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('b-form-input',{attrs:{\"name\":\"name\",\"state\":errors.length > 0 ? false : null,\"placeholder\":\"Şehir\"},model:{value:(_vm.addAddressRequestModel.town),callback:function ($$v) {_vm.$set(_vm.addAddressRequestModel, \"town\", $$v)},expression:\"addAddressRequestModel.town\"}})]}}])})],1)],1),_c('b-col',{attrs:{\"sm\":\"8\"}},[_c('b-form-group',{attrs:{\"label\":\"Adres\",\"label-for\":\"account-name\"}},[_c('validation-provider',{attrs:{\"name\":\"First Name\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('b-form-input',{attrs:{\"name\":\"name\",\"state\":errors.length > 0 ? false : null,\"placeholder\":\"Adres\"},model:{value:(_vm.addAddressRequestModel.address),callback:function ($$v) {_vm.$set(_vm.addAddressRequestModel, \"address\", $$v)},expression:\"addAddressRequestModel.address\"}})]}}])})],1)],1),_c('b-col',{attrs:{\"cols\":\"12\"}},[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],staticClass:\"mt-2 mr-1\",attrs:{\"variant\":\"primary\"},on:{\"click\":function($event){$event.preventDefault();return _vm.savePerson($event)}}},[_vm._v(\" Kaydet \")]),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(186, 191, 199, 0.15)'),expression:\"'rgba(186, 191, 199, 0.15)'\",modifiers:{\"400\":true}}],staticClass:\"mt-2\",attrs:{\"variant\":\"outline-secondary\",\"type\":\"reset\"},on:{\"click\":function($event){$event.preventDefault();return _vm.resetForm($event)}}},[_vm._v(\" Temizle \")])],1)],1)],1)],1),_c('br'),_c('b-table',{ref:\"refUserListTable\",staticClass:\"position-relative\",attrs:{\"striped\":true,\"bordered\":true,\"hover\":true,\"small\":true,\"items\":_vm.persons,\"responsive\":\"\",\"fields\":_vm.tableColumns,\"primary-key\":\"id\",\"sort-by.sync\":\"id\",\"show-empty\":\"\",\"empty-text\":\"Kayıt bulunamadı.\",\"head-variant\":\"dark\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountSettingInformation.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountSettingInformation.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AccountSettingInformation.vue?vue&type=template&id=52f55de2&\"\nimport script from \"./AccountSettingInformation.vue?vue&type=script&lang=js&\"\nexport * from \"./AccountSettingInformation.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-overlay',{attrs:{\"id\":\"overlay-background\",\"show\":_vm.show,\"variant\":\"primary\",\"opacity\":\"0.85\",\"blur\":\"2\",\"rounded\":\"sm\"}},[_c('b-card',[_c('validation-observer',{ref:\"simpleRules\"},[_c('b-form',{staticClass:\"mt-2\"},[_c('b-row',[_c('b-col',{attrs:{\"sm\":\"6\"}},[_c('b-form-group',{attrs:{\"label\":\"Adı\",\"label-for\":\"account-username\"}},[_c('validation-provider',{attrs:{\"name\":\"First Name\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('b-form-input',{attrs:{\"id\":\"input-live\",\"placeholder\":\"Adı\",\"state\":errors.length > 0 ? false : null,\"name\":\"username\"},model:{value:(_vm.addAddressRequestModel.title),callback:function ($$v) {_vm.$set(_vm.addAddressRequestModel, \"title\", $$v)},expression:\"addAddressRequestModel.title\"}})]}}])})],1)],1),_c('b-col',{attrs:{\"sm\":\"6\"}},[_c('b-form-group',{attrs:{\"label\":\"Kısa\",\"label-for\":\"account-name\"}},[_c('validation-provider',{attrs:{\"name\":\"First Name\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('b-form-input',{attrs:{\"name\":\"name\",\"state\":errors.length > 0 ? false : null,\"placeholder\":\"Kısa\"},model:{value:(_vm.addAddressRequestModel.address2),callback:function ($$v) {_vm.$set(_vm.addAddressRequestModel, \"address2\", $$v)},expression:\"addAddressRequestModel.address2\"}})]}}])})],1)],1),_c('b-col',{attrs:{\"sm\":\"4\"}},[_c('b-form-group',{attrs:{\"label\":\"Şehir\",\"label-for\":\"account-name\"}},[_c('validation-provider',{attrs:{\"name\":\"First Name\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('b-form-input',{attrs:{\"name\":\"name\",\"state\":errors.length > 0 ? false : null,\"placeholder\":\"Şehir\"},model:{value:(_vm.addAddressRequestModel.town),callback:function ($$v) {_vm.$set(_vm.addAddressRequestModel, \"town\", $$v)},expression:\"addAddressRequestModel.town\"}})]}}])})],1)],1),_c('b-col',{attrs:{\"sm\":\"8\"}},[_c('b-form-group',{attrs:{\"label\":\"Adres\",\"label-for\":\"account-name\"}},[_c('validation-provider',{attrs:{\"name\":\"First Name\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('b-form-input',{attrs:{\"name\":\"name\",\"state\":errors.length > 0 ? false : null,\"placeholder\":\"Adres\"},model:{value:(_vm.addAddressRequestModel.address),callback:function ($$v) {_vm.$set(_vm.addAddressRequestModel, \"address\", $$v)},expression:\"addAddressRequestModel.address\"}})]}}])})],1)],1),_c('b-col',{attrs:{\"cols\":\"12\"}},[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],staticClass:\"mt-2 mr-1\",attrs:{\"variant\":\"primary\"},on:{\"click\":function($event){$event.preventDefault();return _vm.savePerson($event)}}},[_vm._v(\" Kaydet \")]),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(186, 191, 199, 0.15)'),expression:\"'rgba(186, 191, 199, 0.15)'\",modifiers:{\"400\":true}}],staticClass:\"mt-2\",attrs:{\"variant\":\"outline-secondary\",\"type\":\"reset\"},on:{\"click\":function($event){$event.preventDefault();return _vm.resetForm($event)}}},[_vm._v(\" Temizle \")])],1)],1)],1)],1),_c('br'),_c('b-table',{ref:\"refUserListTable\",staticClass:\"position-relative\",attrs:{\"striped\":true,\"bordered\":true,\"hover\":true,\"small\":true,\"items\":_vm.persons,\"responsive\":\"\",\"fields\":_vm.tableColumns,\"primary-key\":\"id\",\"sort-by.sync\":\"id\",\"show-empty\":\"\",\"empty-text\":\"Kayıt bulunamadı.\",\"head-variant\":\"dark\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountSettingSocial.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountSettingSocial.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AccountSettingSocial.vue?vue&type=template&id=bab990d8&\"\nimport script from \"./AccountSettingSocial.vue?vue&type=script&lang=js&\"\nexport * from \"./AccountSettingSocial.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-overlay',{attrs:{\"id\":\"overlay-background\",\"show\":_vm.show,\"variant\":\"primary\",\"opacity\":\"0.85\",\"blur\":\"2\",\"rounded\":\"sm\"}},[_c('b-card',[_c('validation-observer',{ref:\"simpleRules\"},[_c('b-form',{staticClass:\"mt-2\"},[_c('b-row',[_c('b-col',{attrs:{\"sm\":\"6\"}},[_c('b-form-group',{attrs:{\"label\":\"Adı\",\"label-for\":\"account-username\"}},[_c('validation-provider',{attrs:{\"name\":\"First Name\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('b-form-input',{attrs:{\"id\":\"input-live\",\"placeholder\":\"Adı\",\"state\":errors.length > 0 ? false : null,\"name\":\"username\"},model:{value:(_vm.addAddressRequestModel.title),callback:function ($$v) {_vm.$set(_vm.addAddressRequestModel, \"title\", $$v)},expression:\"addAddressRequestModel.title\"}})]}}])})],1)],1),_c('b-col',{attrs:{\"sm\":\"6\"}},[_c('b-form-group',{attrs:{\"label\":\"Kısa\",\"label-for\":\"account-name\"}},[_c('validation-provider',{attrs:{\"name\":\"First Name\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('b-form-input',{attrs:{\"name\":\"name\",\"state\":errors.length > 0 ? false : null,\"placeholder\":\"Kısa\"},model:{value:(_vm.addAddressRequestModel.address2),callback:function ($$v) {_vm.$set(_vm.addAddressRequestModel, \"address2\", $$v)},expression:\"addAddressRequestModel.address2\"}})]}}])})],1)],1),_c('b-col',{attrs:{\"sm\":\"4\"}},[_c('b-form-group',{attrs:{\"label\":\"Şehir\",\"label-for\":\"account-name\"}},[_c('validation-provider',{attrs:{\"name\":\"First Name\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('b-form-input',{attrs:{\"name\":\"name\",\"state\":errors.length > 0 ? false : null,\"placeholder\":\"Şehir\"},model:{value:(_vm.addAddressRequestModel.town),callback:function ($$v) {_vm.$set(_vm.addAddressRequestModel, \"town\", $$v)},expression:\"addAddressRequestModel.town\"}})]}}])})],1)],1),_c('b-col',{attrs:{\"sm\":\"8\"}},[_c('b-form-group',{attrs:{\"label\":\"Adres\",\"label-for\":\"account-name\"}},[_c('validation-provider',{attrs:{\"name\":\"First Name\",\"rules\":\"required\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('b-form-input',{attrs:{\"name\":\"name\",\"state\":errors.length > 0 ? false : null,\"placeholder\":\"Adres\"},model:{value:(_vm.addAddressRequestModel.address),callback:function ($$v) {_vm.$set(_vm.addAddressRequestModel, \"address\", $$v)},expression:\"addAddressRequestModel.address\"}})]}}])})],1)],1),_c('b-col',{attrs:{\"cols\":\"12\"}},[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],staticClass:\"mt-2 mr-1\",attrs:{\"variant\":\"primary\"},on:{\"click\":function($event){$event.preventDefault();return _vm.savePerson($event)}}},[_vm._v(\" Kaydet \")]),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(186, 191, 199, 0.15)'),expression:\"'rgba(186, 191, 199, 0.15)'\",modifiers:{\"400\":true}}],staticClass:\"mt-2\",attrs:{\"variant\":\"outline-secondary\",\"type\":\"reset\"},on:{\"click\":function($event){$event.preventDefault();return _vm.resetForm($event)}}},[_vm._v(\" Temizle \")])],1)],1)],1)],1),_c('br'),_c('b-table',{ref:\"refUserListTable\",staticClass:\"position-relative\",attrs:{\"striped\":true,\"bordered\":true,\"hover\":true,\"small\":true,\"items\":_vm.persons,\"responsive\":\"\",\"fields\":_vm.tableColumns,\"primary-key\":\"id\",\"sort-by.sync\":\"id\",\"show-empty\":\"\",\"empty-text\":\"Kayıt bulunamadı.\",\"head-variant\":\"dark\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountSettingNotification.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountSettingNotification.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AccountSettingNotification.vue?vue&type=template&id=6cfa05d4&\"\nimport script from \"./AccountSettingNotification.vue?vue&type=script&lang=js&\"\nexport * from \"./AccountSettingNotification.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountSetting.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountSetting.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AccountSetting.vue?vue&type=template&id=f69508e6&\"\nimport script from \"./AccountSetting.vue?vue&type=script&lang=js&\"\nexport * from \"./AccountSetting.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/*\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};","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_SPINNER } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_LABEL } from '../../constants/slots';\nimport { normalizeSlot } from '../../utils/normalize-slot';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n label: makeProp(PROP_TYPE_STRING),\n role: makeProp(PROP_TYPE_STRING, 'status'),\n small: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'span'),\n type: makeProp(PROP_TYPE_STRING, 'border'),\n variant: makeProp(PROP_TYPE_STRING)\n}, NAME_SPINNER); // --- Main component ---\n// @vue/component\n\nexport var BSpinner = /*#__PURE__*/Vue.extend({\n name: NAME_SPINNER,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots,\n scopedSlots = _ref.scopedSlots;\n var $slots = slots();\n var $scopedSlots = scopedSlots || {};\n var $label = normalizeSlot(SLOT_NAME_LABEL, {}, $scopedSlots, $slots) || props.label;\n\n if ($label) {\n $label = h('span', {\n staticClass: 'sr-only'\n }, $label);\n }\n\n return h(props.tag, mergeData(data, {\n attrs: {\n role: $label ? props.role || 'status' : null,\n 'aria-hidden': $label ? null : 'true'\n },\n class: (_class = {}, _defineProperty(_class, \"spinner-\".concat(props.type), props.type), _defineProperty(_class, \"spinner-\".concat(props.type, \"-sm\"), props.small), _defineProperty(_class, \"text-\".concat(props.variant), props.variant), _class)\n }), [$label || h()]);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_OVERLAY } from '../../constants/components';\nimport { EVENT_NAME_CLICK, EVENT_NAME_HIDDEN, EVENT_NAME_SHOWN } from '../../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_STRING, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_OVERLAY } from '../../constants/slots';\nimport { toFloat } from '../../utils/number';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { BSpinner } from '../spinner/spinner';\nimport { BVTransition } from '../transition/bv-transition'; // --- Constants ---\n\nvar POSITION_COVER = {\n top: 0,\n left: 0,\n bottom: 0,\n right: 0\n}; // --- Props ---\n\nexport var props = makePropsConfigurable({\n // Alternative to variant, allowing a specific\n // CSS color to be applied to the overlay\n bgColor: makeProp(PROP_TYPE_STRING),\n blur: makeProp(PROP_TYPE_STRING, '2px'),\n fixed: makeProp(PROP_TYPE_BOOLEAN, false),\n noCenter: makeProp(PROP_TYPE_BOOLEAN, false),\n noFade: makeProp(PROP_TYPE_BOOLEAN, false),\n // If `true, does not render the default slot\n // and switches to absolute positioning\n noWrap: makeProp(PROP_TYPE_BOOLEAN, false),\n opacity: makeProp(PROP_TYPE_NUMBER_STRING, 0.85, function (value) {\n var number = toFloat(value, 0);\n return number >= 0 && number <= 1;\n }),\n overlayTag: makeProp(PROP_TYPE_STRING, 'div'),\n rounded: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n show: makeProp(PROP_TYPE_BOOLEAN, false),\n spinnerSmall: makeProp(PROP_TYPE_BOOLEAN, false),\n spinnerType: makeProp(PROP_TYPE_STRING, 'border'),\n spinnerVariant: makeProp(PROP_TYPE_STRING),\n variant: makeProp(PROP_TYPE_STRING, 'light'),\n wrapTag: makeProp(PROP_TYPE_STRING, 'div'),\n zIndex: makeProp(PROP_TYPE_NUMBER_STRING, 10)\n}, NAME_OVERLAY); // --- Main component ---\n// @vue/component\n\nexport var BOverlay = /*#__PURE__*/Vue.extend({\n name: NAME_OVERLAY,\n mixins: [normalizeSlotMixin],\n props: props,\n computed: {\n computedRounded: function computedRounded() {\n var rounded = this.rounded;\n return rounded === true || rounded === '' ? 'rounded' : !rounded ? '' : \"rounded-\".concat(rounded);\n },\n computedVariant: function computedVariant() {\n var variant = this.variant;\n return variant && !this.bgColor ? \"bg-\".concat(variant) : '';\n },\n slotScope: function slotScope() {\n return {\n spinnerType: this.spinnerType || null,\n spinnerVariant: this.spinnerVariant || null,\n spinnerSmall: this.spinnerSmall\n };\n }\n },\n methods: {\n defaultOverlayFn: function defaultOverlayFn(_ref) {\n var spinnerType = _ref.spinnerType,\n spinnerVariant = _ref.spinnerVariant,\n spinnerSmall = _ref.spinnerSmall;\n return this.$createElement(BSpinner, {\n props: {\n type: spinnerType,\n variant: spinnerVariant,\n small: spinnerSmall\n }\n });\n }\n },\n render: function render(h) {\n var _this = this;\n\n var show = this.show,\n fixed = this.fixed,\n noFade = this.noFade,\n noWrap = this.noWrap,\n slotScope = this.slotScope;\n var $overlay = h();\n\n if (show) {\n var $background = h('div', {\n staticClass: 'position-absolute',\n class: [this.computedVariant, this.computedRounded],\n style: _objectSpread(_objectSpread({}, POSITION_COVER), {}, {\n opacity: this.opacity,\n backgroundColor: this.bgColor || null,\n backdropFilter: this.blur ? \"blur(\".concat(this.blur, \")\") : null\n })\n });\n var $content = h('div', {\n staticClass: 'position-absolute',\n style: this.noCenter ?\n /* istanbul ignore next */\n _objectSpread({}, POSITION_COVER) : {\n top: '50%',\n left: '50%',\n transform: 'translateX(-50%) translateY(-50%)'\n }\n }, [this.normalizeSlot(SLOT_NAME_OVERLAY, slotScope) || this.defaultOverlayFn(slotScope)]);\n $overlay = h(this.overlayTag, {\n staticClass: 'b-overlay',\n class: {\n 'position-absolute': !noWrap || noWrap && !fixed,\n 'position-fixed': noWrap && fixed\n },\n style: _objectSpread(_objectSpread({}, POSITION_COVER), {}, {\n zIndex: this.zIndex || 10\n }),\n on: {\n click: function click(event) {\n return _this.$emit(EVENT_NAME_CLICK, event);\n }\n },\n key: 'overlay'\n }, [$background, $content]);\n } // Wrap in a fade transition\n\n\n $overlay = h(BVTransition, {\n props: {\n noFade: noFade,\n appear: true\n },\n on: {\n 'after-enter': function afterEnter() {\n return _this.$emit(EVENT_NAME_SHOWN);\n },\n 'after-leave': function afterLeave() {\n return _this.$emit(EVENT_NAME_HIDDEN);\n }\n }\n }, [$overlay]);\n\n if (noWrap) {\n return $overlay;\n }\n\n return h(this.wrapTag, {\n staticClass: 'b-overlay-wrap position-relative',\n attrs: {\n 'aria-busy': show ? 'true' : null\n }\n }, noWrap ? [$overlay] : [this.normalizeSlot(), $overlay]);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { mergeData } from '../../vue';\nimport { NAME_ROW } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { arrayIncludes, concat } from '../../utils/array';\nimport { getBreakpointsUpCached } from '../../utils/config';\nimport { identity } from '../../utils/identity';\nimport { memoize } from '../../utils/memoize';\nimport { create, keys, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, suffixPropName } from '../../utils/props';\nimport { lowerCase, toString, trim } from '../../utils/string'; // --- Constants ---\n\nvar COMMON_ALIGNMENT = ['start', 'end', 'center']; // --- Helper methods ---\n// Compute a `row-cols-{breakpoint}-{cols}` class name\n// Memoized function for better performance on generating class names\n\nvar computeRowColsClass = memoize(function (breakpoint, cols) {\n cols = trim(toString(cols));\n return cols ? lowerCase(['row-cols', breakpoint, cols].filter(identity).join('-')) : null;\n}); // Get the breakpoint name from the `rowCols` prop name\n// Memoized function for better performance on extracting breakpoint names\n\nvar computeRowColsBreakpoint = memoize(function (prop) {\n return lowerCase(prop.replace('cols', ''));\n}); // Cached copy of the `row-cols` breakpoint prop names\n// Will be populated when the props are generated\n\nvar rowColsPropList = []; // --- Props ---\n// Prop generator for lazy generation of props\n\nexport var generateProps = function generateProps() {\n // i.e. 'row-cols-2', 'row-cols-md-4', 'row-cols-xl-6', ...\n var rowColsProps = getBreakpointsUpCached().reduce(function (props, breakpoint) {\n props[suffixPropName(breakpoint, 'cols')] = makeProp(PROP_TYPE_NUMBER_STRING);\n return props;\n }, create(null)); // Cache the row-cols prop names\n\n rowColsPropList = keys(rowColsProps); // Return the generated props\n\n return makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, rowColsProps), {}, {\n alignContent: makeProp(PROP_TYPE_STRING, null, function (value) {\n return arrayIncludes(concat(COMMON_ALIGNMENT, 'between', 'around', 'stretch'), value);\n }),\n alignH: makeProp(PROP_TYPE_STRING, null, function (value) {\n return arrayIncludes(concat(COMMON_ALIGNMENT, 'between', 'around'), value);\n }),\n alignV: makeProp(PROP_TYPE_STRING, null, function (value) {\n return arrayIncludes(concat(COMMON_ALIGNMENT, 'baseline', 'stretch'), value);\n }),\n noGutters: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n })), NAME_ROW);\n}; // --- Main component ---\n// We do not use `Vue.extend()` here as that would evaluate the props\n// immediately, which we do not want to happen\n// @vue/component\n\nexport var BRow = {\n name: NAME_ROW,\n functional: true,\n\n get props() {\n // Allow props to be lazy evaled on first access and\n // then they become a non-getter afterwards\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get#Smart_self-overwriting_lazy_getters\n delete this.props;\n this.props = generateProps();\n return this.props;\n },\n\n render: function render(h, _ref) {\n var _classList$push;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var alignV = props.alignV,\n alignH = props.alignH,\n alignContent = props.alignContent; // Loop through row-cols breakpoint props and generate the classes\n\n var classList = [];\n rowColsPropList.forEach(function (prop) {\n var c = computeRowColsClass(computeRowColsBreakpoint(prop), props[prop]); // If a class is returned, push it onto the array\n\n if (c) {\n classList.push(c);\n }\n });\n classList.push((_classList$push = {\n 'no-gutters': props.noGutters\n }, _defineProperty(_classList$push, \"align-items-\".concat(alignV), alignV), _defineProperty(_classList$push, \"justify-content-\".concat(alignH), alignH), _defineProperty(_classList$push, \"align-content-\".concat(alignContent), alignContent), _classList$push));\n return h(props.tag, mergeData(data, {\n staticClass: 'row',\n class: classList\n }), children);\n }\n};","import { Vue } from '../vue';\nimport { PROP_TYPE_BOOLEAN } from '../constants/props';\nimport { makeProp, makePropsConfigurable } from '../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n plain: makeProp(PROP_TYPE_BOOLEAN, false)\n}, 'formControls'); // --- Mixin ---\n// @vue/component\n\nexport var formCustomMixin = Vue.extend({\n props: props,\n computed: {\n custom: function custom() {\n return !this.plain;\n }\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};","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ToastificationContent.vue?vue&type=style&index=0&id=55dd3057&lang=scss&scoped=true&\"","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});","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_FILE } from '../../constants/components';\nimport { HAS_PROMISE_SUPPORT } from '../../constants/env';\nimport { EVENT_NAME_CHANGE, EVENT_OPTIONS_PASSIVE } from '../../constants/events';\nimport { PROP_TYPE_ARRAY, PROP_TYPE_BOOLEAN, PROP_TYPE_FUNCTION, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_DROP_PLACEHOLDER, SLOT_NAME_FILE_NAME, SLOT_NAME_PLACEHOLDER } from '../../constants/slots';\nimport { RX_EXTENSION, RX_STAR } from '../../constants/regex';\nimport { File } from '../../constants/safe-types';\nimport { from as arrayFrom, flatten, flattenDeep } from '../../utils/array';\nimport { cloneDeep } from '../../utils/clone-deep';\nimport { closest } from '../../utils/dom';\nimport { eventOn, eventOff, stopEvent } from '../../utils/events';\nimport { identity } from '../../utils/identity';\nimport { isArray, isFile, isFunction, isNull, isUndefinedOrNull } from '../../utils/inspect';\nimport { looseEqual } from '../../utils/loose-equal';\nimport { makeModelMixin } from '../../utils/model';\nimport { sortKeys } from '../../utils/object';\nimport { hasPropFunction, makeProp, makePropsConfigurable } from '../../utils/props';\nimport { escapeRegExp } from '../../utils/string';\nimport { warn } from '../../utils/warn';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { formControlMixin, props as formControlProps } from '../../mixins/form-control';\nimport { formCustomMixin, props as formCustomProps } from '../../mixins/form-custom';\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 formSizeProps } from '../../mixins/form-size'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('value', {\n type: [PROP_TYPE_ARRAY, File],\n defaultValue: null,\n validator: function validator(value) {\n /* istanbul ignore next */\n if (value === '') {\n warn(VALUE_EMPTY_DEPRECATED_MSG, NAME_FORM_FILE);\n return true;\n }\n\n return isUndefinedOrNull(value) || isValidValue(value);\n }\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event;\n\nvar VALUE_EMPTY_DEPRECATED_MSG = 'Setting \"value\"/\"v-model\" to an empty string for reset is deprecated. Set to \"null\" instead.'; // --- Helper methods ---\n\nvar isValidValue = function isValidValue(value) {\n return isFile(value) || isArray(value) && value.every(function (v) {\n return isValidValue(v);\n });\n}; // Helper method to \"safely\" get the entry from a data-transfer item\n\n/* istanbul ignore next: not supported in JSDOM */\n\n\nvar getDataTransferItemEntry = function getDataTransferItemEntry(item) {\n return isFunction(item.getAsEntry) ? item.getAsEntry() : isFunction(item.webkitGetAsEntry) ? item.webkitGetAsEntry() : null;\n}; // Drop handler function to get all files\n\n/* istanbul ignore next: not supported in JSDOM */\n\n\nvar getAllFileEntries = function getAllFileEntries(dataTransferItemList) {\n var traverseDirectories = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n return Promise.all(arrayFrom(dataTransferItemList).filter(function (item) {\n return item.kind === 'file';\n }).map(function (item) {\n var entry = getDataTransferItemEntry(item);\n\n if (entry) {\n if (entry.isDirectory && traverseDirectories) {\n return getAllFileEntriesInDirectory(entry.createReader(), \"\".concat(entry.name, \"/\"));\n } else if (entry.isFile) {\n return new Promise(function (resolve) {\n entry.file(function (file) {\n file.$path = '';\n resolve(file);\n });\n });\n }\n }\n\n return null;\n }).filter(identity));\n}; // Get all the file entries (recursive) in a directory\n\n/* istanbul ignore next: not supported in JSDOM */\n\n\nvar getAllFileEntriesInDirectory = function getAllFileEntriesInDirectory(directoryReader) {\n var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n return new Promise(function (resolve) {\n var entryPromises = [];\n\n var readDirectoryEntries = function readDirectoryEntries() {\n directoryReader.readEntries(function (entries) {\n if (entries.length === 0) {\n resolve(Promise.all(entryPromises).then(function (entries) {\n return flatten(entries);\n }));\n } else {\n entryPromises.push(Promise.all(entries.map(function (entry) {\n if (entry) {\n if (entry.isDirectory) {\n return getAllFileEntriesInDirectory(entry.createReader(), \"\".concat(path).concat(entry.name, \"/\"));\n } else if (entry.isFile) {\n return new Promise(function (resolve) {\n entry.file(function (file) {\n file.$path = \"\".concat(path).concat(file.name);\n resolve(file);\n });\n });\n }\n }\n\n return null;\n }).filter(identity)));\n readDirectoryEntries();\n }\n });\n };\n\n readDirectoryEntries();\n });\n}; // --- Props ---\n\n\nvar props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), modelProps), formControlProps), formCustomProps), formStateProps), formSizeProps), {}, {\n accept: makeProp(PROP_TYPE_STRING, ''),\n browseText: makeProp(PROP_TYPE_STRING, 'Browse'),\n // Instruct input to capture from camera\n capture: makeProp(PROP_TYPE_BOOLEAN, false),\n directory: makeProp(PROP_TYPE_BOOLEAN, false),\n dropPlaceholder: makeProp(PROP_TYPE_STRING, 'Drop files here'),\n fileNameFormatter: makeProp(PROP_TYPE_FUNCTION),\n multiple: makeProp(PROP_TYPE_BOOLEAN, false),\n noDrop: makeProp(PROP_TYPE_BOOLEAN, false),\n noDropPlaceholder: makeProp(PROP_TYPE_STRING, 'Not allowed'),\n // TODO:\n // Should we deprecate this and only support flat file structures?\n // Nested file structures are only supported when files are dropped\n // A Chromium \"bug\" prevents `webkitEntries` from being populated\n // on the file input's `change` event and is marked as \"WontFix\"\n // Mozilla implemented the behavior the same way as Chromium\n // See: https://bugs.chromium.org/p/chromium/issues/detail?id=138987\n // See: https://bugzilla.mozilla.org/show_bug.cgi?id=1326031\n noTraverse: makeProp(PROP_TYPE_BOOLEAN, false),\n placeholder: makeProp(PROP_TYPE_STRING, 'No file chosen')\n})), NAME_FORM_FILE); // --- Main component ---\n// @vue/component\n\nexport var BFormFile = /*#__PURE__*/Vue.extend({\n name: NAME_FORM_FILE,\n mixins: [attrsMixin, idMixin, modelMixin, normalizeSlotMixin, formControlMixin, formStateMixin, formCustomMixin, normalizeSlotMixin],\n inheritAttrs: false,\n props: props,\n data: function data() {\n return {\n files: [],\n dragging: false,\n // IE 11 doesn't respect setting `event.dataTransfer.dropEffect`,\n // so we handle it ourselves as well\n // https://stackoverflow.com/a/46915971/2744776\n dropAllowed: !this.noDrop,\n hasFocus: false\n };\n },\n computed: {\n // Convert `accept` to an array of `[{ RegExpr, isMime }, ...]`\n computedAccept: function computedAccept() {\n var accept = this.accept;\n accept = (accept || '').trim().split(/[,\\s]+/).filter(identity); // Allow any file type/extension\n\n if (accept.length === 0) {\n return null;\n }\n\n return accept.map(function (extOrType) {\n var prop = 'name';\n var startMatch = '^';\n var endMatch = '$';\n\n if (RX_EXTENSION.test(extOrType)) {\n // File extension /\\.ext$/\n startMatch = '';\n } else {\n // MIME type /^mime\\/.+$/ or /^mime\\/type$/\n prop = 'type';\n\n if (RX_STAR.test(extOrType)) {\n endMatch = '.+$'; // Remove trailing `*`\n\n extOrType = extOrType.slice(0, -1);\n }\n } // Escape all RegExp special chars\n\n\n extOrType = escapeRegExp(extOrType);\n var rx = new RegExp(\"\".concat(startMatch).concat(extOrType).concat(endMatch));\n return {\n rx: rx,\n prop: prop\n };\n });\n },\n computedCapture: function computedCapture() {\n var capture = this.capture;\n return capture === true || capture === '' ? true : capture || null;\n },\n computedAttrs: function computedAttrs() {\n var name = this.name,\n disabled = this.disabled,\n required = this.required,\n form = this.form,\n computedCapture = this.computedCapture,\n accept = this.accept,\n multiple = this.multiple,\n directory = this.directory;\n return _objectSpread(_objectSpread({}, this.bvAttrs), {}, {\n type: 'file',\n id: this.safeId(),\n name: name,\n disabled: disabled,\n required: required,\n form: form || null,\n capture: computedCapture,\n accept: accept || null,\n multiple: multiple,\n directory: directory,\n webkitdirectory: directory,\n 'aria-required': required ? 'true' : null\n });\n },\n computedFileNameFormatter: function computedFileNameFormatter() {\n var fileNameFormatter = this.fileNameFormatter;\n return hasPropFunction(fileNameFormatter) ? fileNameFormatter : this.defaultFileNameFormatter;\n },\n clonedFiles: function clonedFiles() {\n return cloneDeep(this.files);\n },\n flattenedFiles: function flattenedFiles() {\n return flattenDeep(this.files);\n },\n fileNames: function fileNames() {\n return this.flattenedFiles.map(function (file) {\n return file.name;\n });\n },\n labelContent: function labelContent() {\n // Draging active\n\n /* istanbul ignore next: used by drag/drop which can't be tested easily */\n if (this.dragging && !this.noDrop) {\n return (// TODO: Add additional scope with file count, and other not-allowed reasons\n this.normalizeSlot(SLOT_NAME_DROP_PLACEHOLDER, {\n allowed: this.dropAllowed\n }) || (this.dropAllowed ? this.dropPlaceholder : this.$createElement('span', {\n staticClass: 'text-danger'\n }, this.noDropPlaceholder))\n );\n } // No file chosen\n\n\n if (this.files.length === 0) {\n return this.normalizeSlot(SLOT_NAME_PLACEHOLDER) || this.placeholder;\n }\n\n var flattenedFiles = this.flattenedFiles,\n clonedFiles = this.clonedFiles,\n fileNames = this.fileNames,\n computedFileNameFormatter = this.computedFileNameFormatter; // There is a slot for formatting the files/names\n\n if (this.hasNormalizedSlot(SLOT_NAME_FILE_NAME)) {\n return this.normalizeSlot(SLOT_NAME_FILE_NAME, {\n files: flattenedFiles,\n filesTraversed: clonedFiles,\n names: fileNames\n });\n }\n\n return computedFileNameFormatter(flattenedFiles, clonedFiles, fileNames);\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function (newValue) {\n if (!newValue || isArray(newValue) && newValue.length === 0) {\n this.reset();\n }\n }), _defineProperty(_watch, \"files\", function files(newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n var multiple = this.multiple,\n noTraverse = this.noTraverse;\n var files = !multiple || noTraverse ? flattenDeep(newValue) : newValue;\n this.$emit(MODEL_EVENT_NAME, multiple ? files : files[0] || null);\n }\n }), _watch),\n created: function created() {\n // Create private non-reactive props\n this.$_form = null;\n },\n mounted: function mounted() {\n // Listen for form reset events, to reset the file input\n var $form = closest('form', this.$el);\n\n if ($form) {\n eventOn($form, 'reset', this.reset, EVENT_OPTIONS_PASSIVE);\n this.$_form = $form;\n }\n },\n beforeDestroy: function beforeDestroy() {\n var $form = this.$_form;\n\n if ($form) {\n eventOff($form, 'reset', this.reset, EVENT_OPTIONS_PASSIVE);\n }\n },\n methods: {\n isFileValid: function isFileValid(file) {\n if (!file) {\n return false;\n }\n\n var accept = this.computedAccept;\n return accept ? accept.some(function (a) {\n return a.rx.test(file[a.prop]);\n }) : true;\n },\n isFilesArrayValid: function isFilesArrayValid(files) {\n var _this = this;\n\n return isArray(files) ? files.every(function (file) {\n return _this.isFileValid(file);\n }) : this.isFileValid(files);\n },\n defaultFileNameFormatter: function defaultFileNameFormatter(flattenedFiles, clonedFiles, fileNames) {\n return fileNames.join(', ');\n },\n setFiles: function setFiles(files) {\n // Reset the dragging flags\n this.dropAllowed = !this.noDrop;\n this.dragging = false; // Set the selected files\n\n this.files = this.multiple ? this.directory ? files : flattenDeep(files) : flattenDeep(files).slice(0, 1);\n },\n\n /* istanbul ignore next: used by Drag/Drop */\n setInputFiles: function setInputFiles(files) {\n // Try an set the file input files array so that `required`\n // constraint works for dropped files (will fail in IE11 though)\n // To be used only when dropping files\n try {\n // Firefox < 62 workaround exploiting https://bugzilla.mozilla.org/show_bug.cgi?id=1422655\n var dataTransfer = new ClipboardEvent('').clipboardData || new DataTransfer(); // Add flattened files to temp `dataTransfer` object to get a true `FileList` array\n\n flattenDeep(cloneDeep(files)).forEach(function (file) {\n // Make sure to remove the custom `$path` attribute\n delete file.$path;\n dataTransfer.items.add(file);\n });\n this.$refs.input.files = dataTransfer.files;\n } catch (_unused) {}\n },\n reset: function reset() {\n // IE 11 doesn't support setting `$input.value` to `''` or `null`\n // So we use this little extra hack to reset the value, just in case\n // This also appears to work on modern browsers as well\n // Wrapped in try in case IE 11 or mobile Safari crap out\n try {\n var $input = this.$refs.input;\n $input.value = '';\n $input.type = '';\n $input.type = 'file';\n } catch (_unused2) {}\n\n this.files = [];\n },\n handleFiles: function handleFiles(files) {\n var isDrop = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (isDrop) {\n // When dropped, make sure to filter files with the internal `accept` logic\n var filteredFiles = files.filter(this.isFilesArrayValid); // Only update files when we have any after filtering\n\n if (filteredFiles.length > 0) {\n this.setFiles(filteredFiles); // Try an set the file input's files array so that `required`\n // constraint works for dropped files (will fail in IE 11 though)\n\n this.setInputFiles(filteredFiles);\n }\n } else {\n // We always update the files from the `change` event\n this.setFiles(files);\n }\n },\n focusHandler: function focusHandler(event) {\n // Bootstrap v4 doesn't have focus styling for custom file input\n // Firefox has a `[type=file]:focus ~ sibling` selector issue,\n // so we add a `focus` class to get around these bugs\n if (this.plain || event.type === 'focusout') {\n this.hasFocus = false;\n } else {\n // Add focus styling for custom file input\n this.hasFocus = true;\n }\n },\n onChange: function onChange(event) {\n var _this2 = this;\n\n var type = event.type,\n target = event.target,\n _event$dataTransfer = event.dataTransfer,\n dataTransfer = _event$dataTransfer === void 0 ? {} : _event$dataTransfer;\n var isDrop = type === 'drop'; // Always emit original event\n\n this.$emit(EVENT_NAME_CHANGE, event);\n var items = arrayFrom(dataTransfer.items || []);\n\n if (HAS_PROMISE_SUPPORT && items.length > 0 && !isNull(getDataTransferItemEntry(items[0]))) {\n // Drop handling for modern browsers\n // Supports nested directory structures in `directory` mode\n\n /* istanbul ignore next: not supported in JSDOM */\n getAllFileEntries(items, this.directory).then(function (files) {\n return _this2.handleFiles(files, isDrop);\n });\n } else {\n // Standard file input handling (native file input change event),\n // or fallback drop mode (IE 11 / Opera) which don't support `directory` mode\n var files = arrayFrom(target.files || dataTransfer.files || []).map(function (file) {\n // Add custom `$path` property to each file (to be consistent with drop mode)\n file.$path = file.webkitRelativePath || '';\n return file;\n });\n this.handleFiles(files, isDrop);\n }\n },\n onDragenter: function onDragenter(event) {\n stopEvent(event);\n this.dragging = true;\n var _event$dataTransfer2 = event.dataTransfer,\n dataTransfer = _event$dataTransfer2 === void 0 ? {} : _event$dataTransfer2; // Early exit when the input or dropping is disabled\n\n if (this.noDrop || this.disabled || !this.dropAllowed) {\n // Show deny feedback\n\n /* istanbul ignore next: not supported in JSDOM */\n dataTransfer.dropEffect = 'none';\n this.dropAllowed = false;\n return;\n }\n /* istanbul ignore next: not supported in JSDOM */\n\n\n dataTransfer.dropEffect = 'copy';\n },\n // Note this event fires repeatedly while the mouse is over the dropzone at\n // intervals in the milliseconds, so avoid doing much processing in here\n onDragover: function onDragover(event) {\n stopEvent(event);\n this.dragging = true;\n var _event$dataTransfer3 = event.dataTransfer,\n dataTransfer = _event$dataTransfer3 === void 0 ? {} : _event$dataTransfer3; // Early exit when the input or dropping is disabled\n\n if (this.noDrop || this.disabled || !this.dropAllowed) {\n // Show deny feedback\n\n /* istanbul ignore next: not supported in JSDOM */\n dataTransfer.dropEffect = 'none';\n this.dropAllowed = false;\n return;\n }\n /* istanbul ignore next: not supported in JSDOM */\n\n\n dataTransfer.dropEffect = 'copy';\n },\n onDragleave: function onDragleave(event) {\n var _this3 = this;\n\n stopEvent(event);\n this.$nextTick(function () {\n _this3.dragging = false; // Reset `dropAllowed` to default\n\n _this3.dropAllowed = !_this3.noDrop;\n });\n },\n // Triggered by a file drop onto drop target\n onDrop: function onDrop(event) {\n var _this4 = this;\n\n stopEvent(event);\n this.dragging = false; // Early exit when the input or dropping is disabled\n\n if (this.noDrop || this.disabled || !this.dropAllowed) {\n this.$nextTick(function () {\n // Reset `dropAllowed` to default\n _this4.dropAllowed = !_this4.noDrop;\n });\n return;\n }\n\n this.onChange(event);\n }\n },\n render: function render(h) {\n var custom = this.custom,\n plain = this.plain,\n size = this.size,\n dragging = this.dragging,\n stateClass = this.stateClass,\n bvAttrs = this.bvAttrs; // Form Input\n\n var $input = h('input', {\n class: [{\n 'form-control-file': plain,\n 'custom-file-input': custom,\n focus: custom && this.hasFocus\n }, stateClass],\n // With IE 11, the input gets in the \"way\" of the drop events,\n // so we move it out of the way by putting it behind the label\n // Bootstrap v4 has it in front\n style: custom ? {\n zIndex: -5\n } : {},\n attrs: this.computedAttrs,\n on: {\n change: this.onChange,\n focusin: this.focusHandler,\n focusout: this.focusHandler,\n reset: this.reset\n },\n ref: 'input'\n });\n\n if (plain) {\n return $input;\n } // Overlay label\n\n\n var $label = h('label', {\n staticClass: 'custom-file-label',\n class: {\n dragging: dragging\n },\n attrs: {\n for: this.safeId(),\n // This goes away in Bootstrap v5\n 'data-browse': this.browseText || null\n }\n }, [h('span', {\n staticClass: 'd-block form-file-text',\n // `pointer-events: none` is used to make sure\n // the drag events fire only on the label\n style: {\n pointerEvents: 'none'\n }\n }, [this.labelContent])]); // Return rendered custom file input\n\n return h('div', {\n staticClass: 'custom-file b-form-file',\n class: [_defineProperty({}, \"b-custom-control-\".concat(size), size), stateClass, bvAttrs.class],\n style: bvAttrs.style,\n attrs: {\n id: this.safeId('_BV_file_outer_')\n },\n on: {\n dragenter: this.onDragenter,\n dragover: this.onDragover,\n dragleave: this.onDragleave,\n drop: this.onDrop\n }\n }, [$input, $label]);\n }\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 { 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});","export var noop = function noop() {};"],"sourceRoot":""}