{"version":3,"sources":["webpack:///./node_modules/bootstrap-vue/esm/mixins/form-selection.js","webpack:///./node_modules/bootstrap-vue/esm/icons/icon.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-validity.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-img.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card.js","webpack:///./node_modules/bootstrap-vue/esm/components/pagination/pagination.js","webpack:///./node_modules/bootstrap-vue/esm/components/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/mixins/form-text.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-input/form-input.js","webpack:///./node_modules/bootstrap-vue/esm/components/image/img.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-title.js","webpack:///./src/views/patientService/pendingMedicalReport.vue?d89b","webpack:///./src/assets/images/country.jpg","webpack:///./node_modules/bootstrap-vue/esm/components/nav/nav.js","webpack:///./node_modules/bootstrap-vue/esm/components/alert/alert.js","webpack:///./node_modules/bootstrap-vue/esm/components/tabs/tab.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-body.js","webpack:///./src/assets/images/HospitalPlaceHolder.png","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-footer.js","webpack:///./node_modules/bootstrap-vue/esm/components/media/media-aside.js","webpack:///./node_modules/bootstrap-vue/esm/components/media/media-body.js","webpack:///./node_modules/bootstrap-vue/esm/utils/stable-sort.js","webpack:///./src/components/image_lazy.vue?a38f","webpack:///src/components/image_lazy.vue","webpack:///./src/components/image_lazy.vue?e76d","webpack:///./src/components/image_lazy.vue","webpack:///./node_modules/bootstrap-vue/esm/components/tooltip/helpers/bv-tooltip.js","webpack:///./src/store/settings/analysisType/moduleAnalysisTypeState.js","webpack:///./src/store/settings/analysisType/moduleAnalysisTypeMutations.js","webpack:///./src/store/settings/analysisType/moduleAnalysisTypeActions.js","webpack:///./src/store/settings/analysisType/moduleAnalysisTypeGetters.js","webpack:///./src/store/settings/analysisType/moduleAnalysisType.js","webpack:///./node_modules/bootstrap-vue/esm/constants/popper.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/click-out.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/focus-in.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/dropdown.js","webpack:///./src/views/patientService/pendingMedicalReport.vue?62cf","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-item.js","webpack:///./src/assets/images/patient.jpg","webpack:///./node_modules/bootstrap-vue/esm/mixins/pagination.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-size.js","webpack:///./node_modules/bootstrap-vue/esm/components/layout/col.js","webpack:///./node_modules/bootstrap-vue/esm/components/tooltip/tooltip.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-header.js","webpack:///./src/components/image_lazy.vue?0b3a","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-sub-title.js","webpack:///./src/assets/images/DoctorPlaceHolder.png","webpack:///./src/store/settings/scanType/moduleScanTypeState.js","webpack:///./src/store/settings/scanType/moduleScanTypeMutations.js","webpack:///./src/store/settings/scanType/moduleScanTypeActions.js","webpack:///./src/store/settings/scanType/moduleScanTypeGetters.js","webpack:///./src/store/settings/scanType/moduleScanType.js","webpack:///./src/views/patientService/UploadPendingMedicalReport.vue?b5a4","webpack:///./src/store/settings/reportType/moduleReportTypeState.js","webpack:///./src/store/settings/reportType/moduleReportTypeMutations.js","webpack:///./src/store/settings/reportType/moduleReportTypeActions.js","webpack:///./src/store/settings/reportType/moduleReportTypeGetters.js","webpack:///./src/store/settings/reportType/moduleReportType.js","webpack:///./src/views/patientService/pendingMedicalReportTabs.vue?2c3f","webpack:///./src/views/patientService/UploadPendingMedicalReport.vue?d95c","webpack:///src/views/patientService/UploadPendingMedicalReport.vue","webpack:///./src/views/patientService/UploadPendingMedicalReport.vue?4521","webpack:///./src/views/patientService/UploadPendingMedicalReport.vue","webpack:///./src/views/patientService/pendingMedicalReport.vue?0623","webpack:///src/views/patientService/pendingMedicalReport.vue","webpack:///./src/views/patientService/pendingMedicalReport.vue?0969","webpack:///./src/views/patientService/pendingMedicalReport.vue","webpack:///src/views/patientService/pendingMedicalReportTabs.vue","webpack:///./src/views/patientService/pendingMedicalReportTabs.vue?b0db","webpack:///./src/views/patientService/pendingMedicalReportTabs.vue","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-state.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/card.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-control.js","webpack:///./node_modules/bootstrap-vue/esm/components/tooltip/helpers/bv-popper.js","webpack:///./node_modules/bootstrap-vue/esm/components/tooltip/helpers/bv-tooltip-template.js","webpack:///./src/store/Patient/modulePatientState.js","webpack:///./src/store/Patient/modulePatientMutations.js","webpack:///./src/store/Patient/modulePatientActions.js","webpack:///./src/store/Patient/modulePatientGetters.js","webpack:///./src/store/Patient/modulePatient.js","webpack:///./node_modules/bootstrap-vue/esm/components/avatar/avatar.js","webpack:///./node_modules/bootstrap-vue/esm/components/badge/badge.js","webpack:///./src/store/settings/documentType/moduleDocumentTypeState.js","webpack:///./src/store/settings/documentType/moduleDocumentTypeMutations.js","webpack:///./src/store/settings/documentType/moduleDocumentTypeActions.js","webpack:///./src/store/settings/documentType/moduleDocumentTypeGetters.js","webpack:///./src/store/settings/documentType/moduleDocumentType.js","webpack:///./src/assets/images/face.png","webpack:///./node_modules/bootstrap-vue/esm/components/tabs/tabs.js"],"names":["formSelectionMixin","extend","computed","selectionStart","cache","get","this","$refs","input","set","val","selectionEnd","selectionDirection","methods","select","_this$$refs$input","apply","arguments","setSelectionRange","_this$$refs$input2","setRangeText","_this$$refs$input3","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","target","i","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","configurable","writable","findIconComponent","ctx","iconName","components","$options","iconComponent","$parent","props","icon","stacked","BIcon","name","functional","render","h","_ref","data","parent","replace","concat","formValidityMixin","validity","validationMessage","willValidate","setCustomValidity","checkValidity","reportValidity","bottom","end","start","top","BCardImg","src","alt","width","height","baseClass","right","left","class","attrs","cardImgProps","bind","imgSrc","required","card","align","noBody","BCard","_class","slots","scopedSlots","imgLeft","imgRight","imgStart","imgEnd","imgBottom","header","headerHtml","footer","footerHtml","textVariant","bgVariant","borderVariant","$scopedSlots","$slots","slotScope","$imgFirst","$imgLast","$img","$header","hasHeaderSlot","domProps","html","$content","overlay","staticClass","$footer","hasFooterSlot","tag","DEFAULT_PER_PAGE","DEFAULT_TOTAL_ROWS","sanitizePerPage","sanitizeTotalRows","ariaControls","perPage","totalRows","BPagination","mixins","numberOfPages","result","pageSizeNumberOfPages","watch","newValue","oldValue","currentPage","localNumberOfPages","created","_this","$nextTick","onClick","event","pageNumber","_this2","clickEvt","cancelable","vueTarget","$emit","type","defaultPrevented","$el","contains","focusCurrent","makePage","pageNum","linkProps","bottomRowMixin","renderBottomRow","fields","computedFields","tbodyTrClass","tbodyTrAttr","$createElement","hasNormalizedSlot","normalizeSlot","columns","MODEL_PROP_NAME_BUSY","MODEL_EVENT_NAME_BUSY","busyMixin","localBusy","computedBusy","stopIfBusy","renderBusy","colspan","emptyFilteredHtml","emptyFilteredText","emptyHtml","emptyText","showEmpty","emptyMixin","renderEmpty","items","computedItems","$empty","isFiltered","role","stringifyObjectValues","sort","map","k","v","join","row","ignoreFields","includeFields","fieldsObj","undefined","formattedRow","reduce","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","String","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","timeout","setTimeout","Boolean","beforeDestroy","clearTimeout","fn","item","_this3","regExp","pattern","RegExp","lastIndex","computedFieldsObj","paginationMixin","localPaging","noProviderPaging","paginatedItems","sortedItems","math","ROOT_EVENT_NAME_REFRESHED","ROOT_ACTION_EVENT_NAME_REFRESH","apiUrl","noProviderSorting","providerMixin","providerTriggerContext","sortBy","sortDesc","localSortBy","localSortDesc","_providerUpdate","mounted","listenOnRoot","id","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","variant","dark","selectableRowAttrs","on","method","selectionHandler","selected","shiftKey","ctrlKey","metaKey","a","b","_ref$sortBy","_ref$formatter","_ref$locale","locale","_ref$localeOptions","localeOptions","_ref$nullLast","nullLast","aa","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","rightAlign","verticalAlign","BMedia","children","$children","$aside","_makeModelMixin","defaultValue","modelMixin","mixin","modelProps","MODEL_PROP_NAME","prop","MODEL_EVENT_NAME","ariaInvalid","autocomplete","debounce","lazy","lazyFormatter","number","placeholder","plaintext","readonly","trim","formTextMixin","localValue","vModelValue","modifyValue","computedClass","isRange","isColor","sizeFormClass","stateClass","computedDebounce","hasFormatter","stringifyValue","modifiedValue","clearDebounce","$_inputDebounceTimer","formatValue","force","updateValue","doUpdate","$input","onInput","composing","formattedValue","propagation","onChange","onBlur","focus","disabled","blur","TYPES","list","max","min","noWheel","step","BFormInput","localType","computedAttrs","form","safeId","computedAriaInvalid","computedListeners","bvListeners","change","setWheelStopper","deactivated","activated","onWheelFocus","onWheelBlur","document","stopWheel","ref","BLANK_TEMPLATE","makeBlankImgSrc","color","encodeURIComponent","blank","blankColor","block","center","fluid","fluidGrow","rounded","sizes","srcset","thumbnail","BImg","title","titleTag","BCardTitle","module","exports","computeJustifyContent","cardHeader","fill","justified","pills","small","tabs","vertical","BNav","parseCountDown","show","parseShow","dismissLabel","dismissible","fade","BAlert","countDown","localShow","clearCountDownInterval","$_countDownTimeout","dismiss","$alert","$dismissButton","click","noFade","_objectSpread2","MODEL_PROP_NAME_ACTIVE","MODEL_EVENT_NAME_ACTIVE","BTab","inject","bvTabs","default","localActive","_isTab","tabClasses","active","activeTabClass","controlledBy","buttonId","computedNoFade","computedLazy","activate","deactivate","firstTab","registerTab","updated","updateButton","unregisterTab","activateTab","deactivateTab","directives","mode","bodyClass","BCardBody","_ref2","bodyBgVariant","bodyBorderVariant","bodyTextVariant","$title","$subTitle","subTitle","bodyTag","footerClass","BCardFooter","footerBgVariant","footerBorderVariant","footerTextVariant","footerTag","BMediaAside","BMediaBody","stableSort","compareFn","_vm","_h","_c","_self","dataUrl","includes","imageClass","staticStyle","_b","style","placeholderImage","$attrs","_e","staticRenderFns","inheritAttrs","imageStyle","placeHolderType","canvas","img","entry","timeOut","observer","beforeCreate","component","MODAL_SELECTOR","ROOT_EVENT_NAME_MODAL_HIDDEN","SIDEBAR_SELECTOR","CONTAINER_SELECTOR","DROPDOWN_CLASS","DROPDOWN_OPEN_SELECTOR","DATA_TITLE_ATTR","templateData","content","customClass","triggers","placement","fallbackPlacement","container","boundary","boundaryPadding","offset","delay","arrowPadding","interactive","BVTooltip","activeTrigger","hover","templateType","computedId","computedDelay","hide","computedTriggers","toLowerCase","split","isWithActiveTrigger","trigger","computedTemplateData","newTriggers","oldTriggers","unListen","listen","handleTemplateUpdate","disable","enable","$_tip","$_hoverTimeout","$_hoverState","$_visibleInterval","$_enabled","$_noop","$once","$destroy","getTarget","body","scopeId","forceHide","setWhileOpenListeners","clearHoverTimeout","clearVisibilityInterval","destroyTemplate","getTemplate","updateData","titleUpdated","fixTitle","createTemplateAndShow","getContainer","Template","$tip","propsData","getPlacementTarget","getBoundary","onTemplateShow","onTemplateShown","onTemplateHide","onTemplateHidden","handleEvent","$mount","appendChild","createElement","hideTemplate","clearActiveTriggers","localPlacementTarget","_unused","removeAriaDescribedby","restoreTitle","getTemplateElement","_this4","dropdownOpen","showEvt","buildEvent","emitEvent","addAriaDescribedby","tip","hideEvt","prevHoverState","leave","getTargetId","isInModal","isDropdown","clearInterval","desc","_this5","d","options","relatedTarget","componentId","bvEvent","_this6","el","setRootListener","_this7","events","$root","doHide","doShow","doDisable","doEnable","setModalListener","setDropdownListener","visibleCheck","setOnTouchStartListener","_this8","setInterval","parentNode","_this9","documentElement","__vue__","enter","eventTarget","currentTarget","toggle","_this10","_this11","AnalysisTypes","ADD_ITEM","state","unshift","SET_AnalysisType","UPDATE_AnalysisType","AnalysisType","AnalysisTypeIndex","findIndex","p","ID","assign","REMOVE_ITEM","itemId","ItemIndex","splice","AddAnalysisType","commit","Promise","resolve","reject","axios","post","response","Data","catch","error","GetAllAnalysisTypes","UpdateAnalysisType","GetAnalysisType","itemid","DeleteAnalysisType","delete","namespaced","mutations","actions","getters","PLACEMENT_TOP_START","PLACEMENT_TOP_END","PLACEMENT_BOTTOM_START","PLACEMENT_BOTTOM_END","PLACEMENT_RIGHT_START","PLACEMENT_LEFT_START","clickOutMixin","listenForClickOut","clickOutElement","clickOutEventName","_clickOutHandler","isClickOut","clickOutHandler","focusInMixin","listenForFocusIn","focusInElement","_focusInHandler","focusInHandler","ROOT_EVENT_NAME_SHOWN","ROOT_EVENT_NAME_HIDDEN","SELECTOR_FORM_CHILD","SELECTOR_ITEM","selector","els","dropleft","dropright","dropup","noFlip","popperOpts","dropdownMixin","provide","bvDropdown","bvNavbar","visible","visibleChangePrevented","inNavbar","toggler","directionClass","boundaryClass","eventName","menu","focusToggler","showMenu","hideMenu","$_popper","$_hideTimeout","whileOpenListen","destroyPopper","clearHideTimeout","createPopper","focusMenu","element","getPopperConfig","destroy","updatePopper","scheduleUpdate","popperConfig","modifiers","flip","enabled","boundariesElement","preventOverflow","isOpen","rootCloseListener","vm","refocus","_event","keyCode","indexOf","onMousedown","onKeydown","onEsc","focusNext","onSplitClick","hideHandler","up","getItems","focusItem","find","linkClass","BDropdownItem","bvAttrs","closeDropdown","$props","validator","ELLIPSIS_THRESHOLD","DEFAULT_LIMIT","makePageArray","startNumber","_","classes","sanitizeLimit","limit","sanitizeCurrentPage","page","onSpaceKey","immediatePropagation","ariaLabel","ellipsisClass","ellipsisText","firstClass","firstNumber","firstText","hideEllipsis","hideGotoEndButtons","labelFirstPage","labelLastPage","labelNextPage","labelPage","labelPrevPage","lastClass","lastNumber","lastText","nextClass","nextText","pageClass","prevClass","prevText","size","localLimit","btnSize","alignment","styleClass","computedCurrentPage","paginationParams","showFirstDots","showLastDots","numberOfLinks","lastPageNumber","pageList","_this$paginationParam","pages","_i","_i2","_i3","handleKeyNav","isNav","focusFirst","focusPrev","focusLast","getButtons","btn","reverse","buttons","pageNumbers","_this$paginationParam2","$buttons","isActivePage","noCurrentPage","makeEndBtn","linkTo","btnSlot","btnText","btnClass","pageTest","isDisabled","scope","$btnContent","$inner","tabindex","keydown","makeEllipsis","isLast","makePageButton","tabIndex","btnContent","$firstPageBtn","$lastPageBtn","$pagination","formSizeMixin","ALIGN_SELF_VALUES","computeBreakpoint","breakpoint","className","computeBreakpointClass","breakpointPropMap","generateProps","breakpoints","breakpointCol","breakpointOffset","breakpointOrder","col","order","alignSelf","cols","BCol","_classList$push","classList","_keys","c","hasColClasses","_makePropsConfigurabl","MODEL_PROP_NAME_ENABLED","MODEL_EVENT_NAME_ENABLED","MODEL_PROP_NAME_SHOW","MODEL_EVENT_NAME_SHOW","BTooltip","localTitle","localContent","noninteractive","templateTitleContent","$_toolpop","updateContent","doOpen","doClose","Component","getComponent","$toolpop","_scopeId","onShow","onShown","onHide","onHidden","onDisabled","onEnabled","setTitle","setContent","headerClass","BCardHeader","headerBgVariant","headerBorderVariant","headerTextVariant","headerTag","subTitleTag","subTitleTextVariant","BCardSubTitle","ScanTypes","SET_ScanType","UPDATE_ScanType","ScanType","ScanTypeIndex","AddScanType","GetAllScanTypes","UpdateScanType","GetScanType","DeleteScanType","ReportTypes","SET_ReportType","UPDATE_ReportType","ReportType","ReportTypeIndex","AddReportType","GetAllReportTypes","UpdateReportType","GetReportType","DeleteReportType","slot","_u","_v","_s","$t","AppointmentCount","proxy","AppointMentDocumentList","OpenUploadDocument","SurgeryCount","SurgeryDocumentList","$event","back","ShowDocumentUpload","documentModel","CloseDocumentPop","removeModelFromList","$vs","rtl","DocumentTypes","model","callback","$$v","$set","expression","DocumentID","baseURL","UploadRequestHeader","successUpload","uploaded","DocumentTypeID","Description","AddAttachmnet","uploadUrl","ShowChooseFile","patientMedical","updateRequest","dispatch","window","searchData","moduleScanType","moduleReportType","moduleAnalysisType","moduleDocumentType","modulePatient","Model","_l","tr","indextr","DoctorRequestType","Name","Date","Doctor","ProfileImagePath","SurgeryName","$store","appConfig","isRTL","tableColumns","label","IsAppointment","imageLazy","BAvatar","BBadge","BButton","BDropdown","BLink","BRow","EnglishLan","activeTab","pendingMedicalReport","UploadPendingMedicalReport","BTabs","localStorage","formStateMixin","computedState","menuClass","noCaret","splitButtonType","splitClass","splitHref","splitTo","splitVariant","text","toggleClass","toggleTag","toggleText","dropdownClasses","menuClasses","toggleClasses","commonProps","$buttonChildren","buttonContentDomProps","$split","btnProps","to","href","$toggle","mousedown","$menu","SELECTOR","autofocus","formControlMixin","handleAutofocus","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","TOPLEFT","TOPRIGHT","RIGHTTOP","RIGHTBOTTOM","BOTTOMLEFT","BOTTOMRIGHT","LEFTTOP","LEFTBOTTOM","OffsetMap","BVPopper","attachment","getAttachment","getOffset","behavior","arrow","padding","onCreate","originalPlacement","popperPlacementChange","onUpdate","popperCreate","handleDestroy","destroyed","removeChild","toUpperCase","arrowOffset","renderTemplate","appear","beforeEnter","afterEnter","beforeLeave","afterLeave","BVTooltipTemplate","extends","templateClasses","templateAttributes","scopedStyleAttrs","templateListeners","mouseenter","mouseleave","focusin","focusout","innerHTML","patients","SurgeryAndTreatment","PatientReservationSurgeries","MonthPatientReservationSurgeries","pendingPatientMedicalReport","SurgeryDocuments","SET_Patient","SET_SurgeryAndTreatment","SET_SurgeryDocuments","UPDATE_Patient","Patient","PatientIndex","SET_PatientReservationSurgeries","SET_MonthPatientReservationSurgeries","SET_PEND_MEDICAL_REPORT","MedicalReport","AddPatient","SearchPatients","UpdatePatient","getPatientReservationSurgeryCalender","getPatientReservationSurgery","UpdateListPatientMedicalReportRequest","UpdateListPatientReservationSessionDiagnosis","UpdatePatientReservationSession","ChangeReservationJoin","reservationId","ScheduleAnotherAppintment","patientReservationID","CancelSession","session","ChangeStatusSession","getPatientPendingList","patientID","AppointmentReservationPaymentDatail","GetAppointMentTapPayment","appointmentID","OrderID","GetSurgeryTapPayment","surgeryReservistionID","GetPatientRedervedDoctor","ProcessingPaymentDatail","SurgeryPaymentDatail","AddPatientReservationSurgery","AddPatientMedicalDocument","DeletePatientMedicalDocument","AddListPatientMedicalDocument","GetPatient","GetPatientForMainData","GetAllPatientMedicalReports","GetAllProfilePatientMedicalReports","DeletePatient","SearchPatientCancelledReservationSessions","SearchPatientReservationSessions","SearchReservationSessionPrescriptions","GetPatientReservationSessionPrescription","GetAllUserNotificationSettings","GetUserNotificationSettings","GetPatientReservationSurgery","GetHospitalSurgery","GetSurgeryDocuments","UpdateUserNotificationSetting","Item","AddUserNotificationSetting","SearchPatientMedicalHistoryReports","SearchSurgeryAndTreatment","AddPatientMedicalHistoryReport","AddPatientMedicalReportRequest","PatientMedicalReportRequest","Message","GetPatientMedicalHoistory","SendInvoiceEmail","GetGeneralSetting","CLASS_NAME","SIZES","FONT_SIZE_SCALE","BADGE_FONT_SIZE_SCALE","computeSize","badge","badgeLeft","badgeOffset","badgeTop","badgeVariant","button","buttonType","square","bvAvatarGroup","localSrc","computedSize","computedVariant","computedRounded","fontStyle","fontSize","marginStyle","overlapScale","marginLeft","marginRight","badgeStyle","onImgError","_class2","link","$badge","hasBadgeSlot","badgeText","componentData","pill","SET_DocumentType","UPDATE_DocumentType","DocumentType","DocumentTypeIndex","AddDocumentType","GetAllDocumentTypes","UpdateDocumentType","GetDocumentType","DeleteDocumentType","notDisabled","tab","BVTabButton","controls","noKeyNav","posInSet","setSize","handleEvt","_this$tab","titleItemClass","titleLinkClass","titleLinkAttributes","$link","activeNavItemClass","navProps","contentClass","navClass","navWrapperClass","noNavStyle","currentTab","registeredTabs","localNavClass","$tab","previousTab","nextTab","updateTabs","$_observer","setObserver","disconnect","childList","subtree","attributes","attributeFilter","getTabs","$tabs","getButtonForTab","$btn","$button","$forceUpdate","tabEvent","focusButton","emitTabClick","clickTab","currentIndex","lastTab","$activeTab","$fallbackTab","_on","refInFor","$nav"],"mappings":"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","file":"js/chunk-4706bab2.4c76287d.js","sourcesContent":["import { Vue } from '../vue'; // @vue/component\n\nexport var formSelectionMixin = Vue.extend({\n computed: {\n selectionStart: {\n // Expose selectionStart for formatters, etc\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.selectionStart;\n },\n\n /* istanbul ignore next */\n set: function set(val) {\n this.$refs.input.selectionStart = val;\n }\n },\n selectionEnd: {\n // Expose selectionEnd for formatters, etc\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.selectionEnd;\n },\n\n /* istanbul ignore next */\n set: function set(val) {\n this.$refs.input.selectionEnd = val;\n }\n },\n selectionDirection: {\n // Expose selectionDirection for formatters, etc\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.selectionDirection;\n },\n\n /* istanbul ignore next */\n set: function set(val) {\n this.$refs.input.selectionDirection = val;\n }\n }\n },\n methods: {\n /* istanbul ignore next */\n select: function select() {\n var _this$$refs$input;\n\n // For external handler that may want a select() method\n (_this$$refs$input = this.$refs.input).select.apply(_this$$refs$input, arguments);\n },\n\n /* istanbul ignore next */\n setSelectionRange: function setSelectionRange() {\n var _this$$refs$input2;\n\n // For external handler that may want a setSelectionRange(a,b,c) method\n (_this$$refs$input2 = this.$refs.input).setSelectionRange.apply(_this$$refs$input2, arguments);\n },\n\n /* istanbul ignore next */\n setRangeText: function setRangeText() {\n var _this$$refs$input3;\n\n // For external handler that may want a setRangeText(a,b,c) method\n (_this$$refs$input3 = this.$refs.input).setRangeText.apply(_this$$refs$input3, arguments);\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../vue';\nimport { NAME_ICON } from '../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../constants/props';\nimport { RX_ICON_PREFIX } from '../constants/regex';\nimport { omit, sortKeys } from '../utils/object';\nimport { makeProp, makePropsConfigurable } from '../utils/props';\nimport { pascalCase, trim } from '../utils/string';\nimport { BIconBlank } from './icons';\nimport { props as BVIconBaseProps } from './helpers/icon-base'; // --- Helper methods ---\n\nvar findIconComponent = function findIconComponent(ctx, iconName) {\n if (!ctx) {\n return null;\n }\n\n var components = (ctx.$options || {}).components;\n var iconComponent = components[iconName];\n return iconComponent || findIconComponent(ctx.$parent, iconName);\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, omit(BVIconBaseProps, ['content', 'stacked'])), {}, {\n icon: makeProp(PROP_TYPE_STRING),\n stacked: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_ICON); // --- Main component ---\n// Helper BIcon component\n// Requires the requested icon component to be installed\n// @vue/component\n\nexport var BIcon = /*#__PURE__*/Vue.extend({\n name: NAME_ICON,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var data = _ref.data,\n props = _ref.props,\n parent = _ref.parent;\n var icon = pascalCase(trim(props.icon || '')).replace(RX_ICON_PREFIX, ''); // If parent context exists, we check to see if the icon has been registered\n // either locally in the parent component, or globally at the `$root` level\n // If not registered, we render a blank icon\n\n return h(icon ? findIconComponent(parent, \"BIcon\".concat(icon)) || BIconBlank : BIconBlank, mergeData(data, {\n props: _objectSpread(_objectSpread({}, props), {}, {\n icon: null\n })\n }));\n }\n});","import { Vue } from '../vue'; // @vue/component\n\nexport var formValidityMixin = Vue.extend({\n computed: {\n validity: {\n // Expose validity property\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.validity;\n }\n },\n validationMessage: {\n // Expose validationMessage property\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.validationMessage;\n }\n },\n willValidate: {\n // Expose willValidate property\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.willValidate;\n }\n }\n },\n methods: {\n /* istanbul ignore next */\n setCustomValidity: function setCustomValidity() {\n var _this$$refs$input;\n\n // For external handler that may want a setCustomValidity(...) method\n return (_this$$refs$input = this.$refs.input).setCustomValidity.apply(_this$$refs$input, arguments);\n },\n\n /* istanbul ignore next */\n checkValidity: function checkValidity() {\n var _this$$refs$input2;\n\n // For external handler that may want a checkValidity(...) method\n return (_this$$refs$input2 = this.$refs.input).checkValidity.apply(_this$$refs$input2, arguments);\n },\n\n /* istanbul ignore next */\n reportValidity: function reportValidity() {\n var _this$$refs$input3;\n\n // For external handler that may want a reportValidity(...) method\n return (_this$$refs$input3 = this.$refs.input).reportValidity.apply(_this$$refs$input3, arguments);\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_IMG } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN } from '../../constants/props';\nimport { pick, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { props as BImgProps } from '../image/img'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, pick(BImgProps, ['src', 'alt', 'width', 'height', 'left', 'right'])), {}, {\n bottom: makeProp(PROP_TYPE_BOOLEAN, false),\n end: makeProp(PROP_TYPE_BOOLEAN, false),\n start: makeProp(PROP_TYPE_BOOLEAN, false),\n top: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_CARD_IMG); // --- Main component ---\n// @vue/component\n\nexport var BCardImg = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_IMG,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data;\n var src = props.src,\n alt = props.alt,\n width = props.width,\n height = props.height;\n var baseClass = 'card-img';\n\n if (props.top) {\n baseClass += '-top';\n } else if (props.right || props.end) {\n baseClass += '-right';\n } else if (props.bottom) {\n baseClass += '-bottom';\n } else if (props.left || props.start) {\n baseClass += '-left';\n }\n\n return h('img', mergeData(data, {\n class: baseClass,\n attrs: {\n src: src,\n alt: alt,\n width: width,\n height: height\n }\n }));\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_CARD } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_DEFAULT, SLOT_NAME_FOOTER, SLOT_NAME_HEADER } from '../../constants/slots';\nimport { htmlOrText } from '../../utils/html';\nimport { hasNormalizedSlot, normalizeSlot } from '../../utils/normalize-slot';\nimport { sortKeys } from '../../utils/object';\nimport { copyProps, makeProp, makePropsConfigurable, pluckProps, prefixPropName, unprefixPropName } from '../../utils/props';\nimport { props as cardProps } from '../../mixins/card';\nimport { BCardBody, props as BCardBodyProps } from './card-body';\nimport { BCardHeader, props as BCardHeaderProps } from './card-header';\nimport { BCardFooter, props as BCardFooterProps } from './card-footer';\nimport { BCardImg, props as BCardImgProps } from './card-img'; // --- Props ---\n\nvar cardImgProps = copyProps(BCardImgProps, prefixPropName.bind(null, 'img'));\ncardImgProps.imgSrc.required = false;\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, BCardBodyProps), BCardHeaderProps), BCardFooterProps), cardImgProps), cardProps), {}, {\n align: makeProp(PROP_TYPE_STRING),\n noBody: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_CARD); // --- Main component ---\n// @vue/component\n\nexport var BCard = /*#__PURE__*/Vue.extend({\n name: NAME_CARD,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots,\n scopedSlots = _ref.scopedSlots;\n var imgSrc = props.imgSrc,\n imgLeft = props.imgLeft,\n imgRight = props.imgRight,\n imgStart = props.imgStart,\n imgEnd = props.imgEnd,\n imgBottom = props.imgBottom,\n header = props.header,\n headerHtml = props.headerHtml,\n footer = props.footer,\n footerHtml = props.footerHtml,\n align = props.align,\n textVariant = props.textVariant,\n bgVariant = props.bgVariant,\n borderVariant = props.borderVariant;\n var $scopedSlots = scopedSlots || {};\n var $slots = slots();\n var slotScope = {};\n var $imgFirst = h();\n var $imgLast = h();\n\n if (imgSrc) {\n var $img = h(BCardImg, {\n props: pluckProps(cardImgProps, props, unprefixPropName.bind(null, 'img'))\n });\n\n if (imgBottom) {\n $imgLast = $img;\n } else {\n $imgFirst = $img;\n }\n }\n\n var $header = h();\n var hasHeaderSlot = hasNormalizedSlot(SLOT_NAME_HEADER, $scopedSlots, $slots);\n\n if (hasHeaderSlot || header || headerHtml) {\n $header = h(BCardHeader, {\n props: pluckProps(BCardHeaderProps, props),\n domProps: hasHeaderSlot ? {} : htmlOrText(headerHtml, header)\n }, normalizeSlot(SLOT_NAME_HEADER, slotScope, $scopedSlots, $slots));\n }\n\n var $content = normalizeSlot(SLOT_NAME_DEFAULT, slotScope, $scopedSlots, $slots); // Wrap content in `` when `noBody` prop set\n\n if (!props.noBody) {\n $content = h(BCardBody, {\n props: pluckProps(BCardBodyProps, props)\n }, $content); // When the `overlap` prop is set we need to wrap the `` and ``\n // into a relative positioned wrapper to don't distract a potential header or footer\n\n if (props.overlay && imgSrc) {\n $content = h('div', {\n staticClass: 'position-relative'\n }, [$imgFirst, $content, $imgLast]); // Reset image variables since they are already in the wrapper\n\n $imgFirst = h();\n $imgLast = h();\n }\n }\n\n var $footer = h();\n var hasFooterSlot = hasNormalizedSlot(SLOT_NAME_FOOTER, $scopedSlots, $slots);\n\n if (hasFooterSlot || footer || footerHtml) {\n $footer = h(BCardFooter, {\n props: pluckProps(BCardFooterProps, props),\n domProps: hasHeaderSlot ? {} : htmlOrText(footerHtml, footer)\n }, normalizeSlot(SLOT_NAME_FOOTER, slotScope, $scopedSlots, $slots));\n }\n\n return h(props.tag, mergeData(data, {\n staticClass: 'card',\n class: (_class = {\n 'flex-row': imgLeft || imgStart,\n 'flex-row-reverse': (imgRight || imgEnd) && !(imgLeft || imgStart)\n }, _defineProperty(_class, \"text-\".concat(align), align), _defineProperty(_class, \"bg-\".concat(bgVariant), bgVariant), _defineProperty(_class, \"border-\".concat(borderVariant), borderVariant), _defineProperty(_class, \"text-\".concat(textVariant), textVariant), _class)\n }), [$imgFirst, $header, $content, $footer, $imgLast]);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_PAGINATION } from '../../constants/components';\nimport { EVENT_NAME_CHANGE, EVENT_NAME_PAGE_CLICK } from '../../constants/events';\nimport { PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { BvEvent } from '../../utils/bv-event.class';\nimport { attemptFocus, isVisible } from '../../utils/dom';\nimport { isUndefinedOrNull } from '../../utils/inspect';\nimport { mathCeil, mathMax } from '../../utils/math';\nimport { toInteger } from '../../utils/number';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { MODEL_PROP_NAME, paginationMixin, props as paginationProps } from '../../mixins/pagination'; // --- Constants ---\n\nvar DEFAULT_PER_PAGE = 20;\nvar DEFAULT_TOTAL_ROWS = 0; // --- Helper methods ---\n// Sanitize the provided per page number (converting to a number)\n\nvar sanitizePerPage = function sanitizePerPage(value) {\n return mathMax(toInteger(value) || DEFAULT_PER_PAGE, 1);\n}; // Sanitize the provided total rows number (converting to a number)\n\n\nvar sanitizeTotalRows = function sanitizeTotalRows(value) {\n return mathMax(toInteger(value) || DEFAULT_TOTAL_ROWS, 0);\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, paginationProps), {}, {\n ariaControls: makeProp(PROP_TYPE_STRING),\n perPage: makeProp(PROP_TYPE_NUMBER_STRING, DEFAULT_PER_PAGE),\n totalRows: makeProp(PROP_TYPE_NUMBER_STRING, DEFAULT_TOTAL_ROWS)\n})), NAME_PAGINATION); // --- Main component ---\n// @vue/component\n\nexport var BPagination = /*#__PURE__*/Vue.extend({\n name: NAME_PAGINATION,\n // The render function is brought in via the `paginationMixin`\n mixins: [paginationMixin],\n props: props,\n computed: {\n numberOfPages: function numberOfPages() {\n var result = mathCeil(sanitizeTotalRows(this.totalRows) / sanitizePerPage(this.perPage));\n return result < 1 ? 1 : result;\n },\n // Used for watching changes to `perPage` and `numberOfPages`\n pageSizeNumberOfPages: function pageSizeNumberOfPages() {\n return {\n perPage: sanitizePerPage(this.perPage),\n totalRows: sanitizeTotalRows(this.totalRows),\n numberOfPages: this.numberOfPages\n };\n }\n },\n watch: {\n pageSizeNumberOfPages: function pageSizeNumberOfPages(newValue, oldValue) {\n if (!isUndefinedOrNull(oldValue)) {\n if (newValue.perPage !== oldValue.perPage && newValue.totalRows === oldValue.totalRows) {\n // If the page size changes, reset to page 1\n this.currentPage = 1;\n } else if (newValue.numberOfPages !== oldValue.numberOfPages && this.currentPage > newValue.numberOfPages) {\n // If `numberOfPages` changes and is less than\n // the `currentPage` number, reset to page 1\n this.currentPage = 1;\n }\n }\n\n this.localNumberOfPages = newValue.numberOfPages;\n }\n },\n created: function created() {\n var _this = this;\n\n // Set the initial page count\n this.localNumberOfPages = this.numberOfPages; // Set the initial page value\n\n var currentPage = toInteger(this[MODEL_PROP_NAME], 0);\n\n if (currentPage > 0) {\n this.currentPage = currentPage;\n } else {\n this.$nextTick(function () {\n // If this value parses to `NaN` or a value less than `1`\n // trigger an initial emit of `null` if no page specified\n _this.currentPage = 0;\n });\n }\n },\n methods: {\n // These methods are used by the render function\n onClick: function onClick(event, pageNumber) {\n var _this2 = this;\n\n // Dont do anything if clicking the current active page\n if (pageNumber === this.currentPage) {\n return;\n }\n\n var target = event.target; // Emit a user-cancelable `page-click` event\n\n var clickEvt = new BvEvent(EVENT_NAME_PAGE_CLICK, {\n cancelable: true,\n vueTarget: this,\n target: target\n });\n this.$emit(clickEvt.type, clickEvt, pageNumber);\n\n if (clickEvt.defaultPrevented) {\n return;\n } // Update the `v-model`\n\n\n this.currentPage = pageNumber; // Emit event triggered by user interaction\n\n this.$emit(EVENT_NAME_CHANGE, this.currentPage); // Keep the current button focused if possible\n\n this.$nextTick(function () {\n if (isVisible(target) && _this2.$el.contains(target)) {\n attemptFocus(target);\n } else {\n _this2.focusCurrent();\n }\n });\n },\n makePage: function makePage(pageNum) {\n return pageNum;\n },\n\n /* istanbul ignore next */\n linkProps: function linkProps() {\n // No props, since we render a plain button\n return {};\n }\n }\n});","import { Vue } 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\nimport { Vue } from '../vue';\nimport { EVENT_NAME_BLUR, EVENT_NAME_CHANGE, EVENT_NAME_INPUT, EVENT_NAME_UPDATE, HOOK_EVENT_NAME_BEFORE_DESTROY } from '../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_STRING, PROP_TYPE_FUNCTION, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../constants/props';\nimport { attemptBlur, attemptFocus } from '../utils/dom';\nimport { stopEvent } from '../utils/events';\nimport { mathMax } from '../utils/math';\nimport { makeModelMixin } from '../utils/model';\nimport { toInteger, toFloat } from '../utils/number';\nimport { sortKeys } from '../utils/object';\nimport { hasPropFunction, makeProp, makePropsConfigurable } from '../utils/props';\nimport { toString } from '../utils/string'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('value', {\n type: PROP_TYPE_NUMBER_STRING,\n defaultValue: '',\n event: EVENT_NAME_UPDATE\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event;\n\nexport { MODEL_PROP_NAME, MODEL_EVENT_NAME }; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, modelProps), {}, {\n ariaInvalid: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n autocomplete: makeProp(PROP_TYPE_STRING),\n // Debounce timeout (in ms). Not applicable with `lazy` prop\n debounce: makeProp(PROP_TYPE_NUMBER_STRING, 0),\n formatter: makeProp(PROP_TYPE_FUNCTION),\n // Only update the `v-model` on blur/change events\n lazy: makeProp(PROP_TYPE_BOOLEAN, false),\n lazyFormatter: makeProp(PROP_TYPE_BOOLEAN, false),\n number: makeProp(PROP_TYPE_BOOLEAN, false),\n placeholder: makeProp(PROP_TYPE_STRING),\n plaintext: makeProp(PROP_TYPE_BOOLEAN, false),\n readonly: makeProp(PROP_TYPE_BOOLEAN, false),\n trim: makeProp(PROP_TYPE_BOOLEAN, false)\n})), 'formTextControls'); // --- Mixin ---\n// @vue/component\n\nexport var formTextMixin = Vue.extend({\n mixins: [modelMixin],\n props: props,\n data: function data() {\n var value = this[MODEL_PROP_NAME];\n return {\n localValue: toString(value),\n vModelValue: this.modifyValue(value)\n };\n },\n computed: {\n computedClass: function computedClass() {\n var plaintext = this.plaintext,\n type = this.type;\n var isRange = type === 'range';\n var isColor = type === 'color';\n return [{\n // Range input needs class `custom-range`\n 'custom-range': isRange,\n // `plaintext` not supported by `type=\"range\"` or `type=\"color\"`\n 'form-control-plaintext': plaintext && !isRange && !isColor,\n // `form-control` not used by `type=\"range\"` or `plaintext`\n // Always used by `type=\"color\"`\n 'form-control': isColor || !plaintext && !isRange\n }, this.sizeFormClass, this.stateClass];\n },\n computedDebounce: function computedDebounce() {\n // Ensure we have a positive number equal to or greater than 0\n return mathMax(toInteger(this.debounce, 0), 0);\n },\n hasFormatter: function hasFormatter() {\n return hasPropFunction(this.formatter);\n }\n },\n watch: _defineProperty({}, MODEL_PROP_NAME, function (newValue) {\n var stringifyValue = toString(newValue);\n var modifiedValue = this.modifyValue(newValue);\n\n if (stringifyValue !== this.localValue || modifiedValue !== this.vModelValue) {\n // Clear any pending debounce timeout, as we are overwriting the user input\n this.clearDebounce(); // Update the local values\n\n this.localValue = stringifyValue;\n this.vModelValue = modifiedValue;\n }\n }),\n created: function created() {\n // Create private non-reactive props\n this.$_inputDebounceTimer = null;\n },\n mounted: function mounted() {\n // Set up destroy handler\n this.$on(HOOK_EVENT_NAME_BEFORE_DESTROY, this.clearDebounce);\n },\n beforeDestroy: function beforeDestroy() {\n this.clearDebounce();\n },\n methods: {\n clearDebounce: function clearDebounce() {\n clearTimeout(this.$_inputDebounceTimer);\n this.$_inputDebounceTimer = null;\n },\n formatValue: function formatValue(value, event) {\n var force = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n value = toString(value);\n\n if (this.hasFormatter && (!this.lazyFormatter || force)) {\n value = this.formatter(value, event);\n }\n\n return value;\n },\n modifyValue: function modifyValue(value) {\n value = toString(value); // Emulate `.trim` modifier behaviour\n\n if (this.trim) {\n value = value.trim();\n } // Emulate `.number` modifier behaviour\n\n\n if (this.number) {\n value = toFloat(value, value);\n }\n\n return value;\n },\n updateValue: function updateValue(value) {\n var _this = this;\n\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var lazy = this.lazy;\n\n if (lazy && !force) {\n return;\n } // Make sure to always clear the debounce when `updateValue()`\n // is called, even when the v-model hasn't changed\n\n\n this.clearDebounce(); // Define the shared update logic in a method to be able to use\n // it for immediate and debounced value changes\n\n var doUpdate = function doUpdate() {\n value = _this.modifyValue(value);\n\n if (value !== _this.vModelValue) {\n _this.vModelValue = value;\n\n _this.$emit(MODEL_EVENT_NAME, value);\n } else if (_this.hasFormatter) {\n // When the `vModelValue` hasn't changed but the actual input value\n // is out of sync, make sure to change it to the given one\n // Usually caused by browser autocomplete and how it triggers the\n // change or input event, or depending on the formatter function\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/2657\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/3498\n\n /* istanbul ignore next: hard to test */\n var $input = _this.$refs.input;\n /* istanbul ignore if: hard to test out of sync value */\n\n if ($input && value !== $input.value) {\n $input.value = value;\n }\n }\n }; // Only debounce the value update when a value greater than `0`\n // is set and we are not in lazy mode or this is a forced update\n\n\n var debounce = this.computedDebounce;\n\n if (debounce > 0 && !lazy && !force) {\n this.$_inputDebounceTimer = setTimeout(doUpdate, debounce);\n } else {\n // Immediately update the v-model\n doUpdate();\n }\n },\n onInput: function onInput(event) {\n // `event.target.composing` is set by Vue\n // https://github.com/vuejs/vue/blob/dev/src/platforms/web/runtime/directives/model.js\n // TODO: Is this needed now with the latest Vue?\n\n /* istanbul ignore if: hard to test composition events */\n if (event.target.composing) {\n return;\n }\n\n var value = event.target.value;\n var formattedValue = this.formatValue(value, event); // Exit when the `formatter` function strictly returned `false`\n // or prevented the input event\n\n /* istanbul ignore next */\n\n if (formattedValue === false || event.defaultPrevented) {\n stopEvent(event, {\n propagation: false\n });\n return;\n }\n\n this.localValue = formattedValue;\n this.updateValue(formattedValue);\n this.$emit(EVENT_NAME_INPUT, formattedValue);\n },\n onChange: function onChange(event) {\n var value = event.target.value;\n var formattedValue = this.formatValue(value, event); // Exit when the `formatter` function strictly returned `false`\n // or prevented the input event\n\n /* istanbul ignore next */\n\n if (formattedValue === false || event.defaultPrevented) {\n stopEvent(event, {\n propagation: false\n });\n return;\n }\n\n this.localValue = formattedValue;\n this.updateValue(formattedValue, true);\n this.$emit(EVENT_NAME_CHANGE, formattedValue);\n },\n onBlur: function onBlur(event) {\n // Apply the `localValue` on blur to prevent cursor jumps\n // on mobile browsers (e.g. caused by autocomplete)\n var value = event.target.value;\n var formattedValue = this.formatValue(value, event, true);\n\n if (formattedValue !== false) {\n // We need to use the modified value here to apply the\n // `.trim` and `.number` modifiers properly\n this.localValue = toString(this.modifyValue(formattedValue)); // We pass the formatted value here since the `updateValue` method\n // handles the modifiers itself\n\n this.updateValue(formattedValue, true);\n } // Emit native blur event\n\n\n this.$emit(EVENT_NAME_BLUR, event);\n },\n focus: function focus() {\n // For external handler that may want a focus method\n if (!this.disabled) {\n attemptFocus(this.$el);\n }\n },\n blur: function blur() {\n // For external handler that may want a blur method\n if (!this.disabled) {\n attemptBlur(this.$el);\n }\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_FORM_INPUT } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { arrayIncludes } from '../../utils/array';\nimport { attemptBlur } from '../../utils/dom';\nimport { eventOn, eventOff, eventOnOff, stopEvent } from '../../utils/events';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { formControlMixin, props as formControlProps } from '../../mixins/form-control';\nimport { formSelectionMixin } from '../../mixins/form-selection';\nimport { formSizeMixin, props as formSizeProps } from '../../mixins/form-size';\nimport { formStateMixin, props as formStateProps } from '../../mixins/form-state';\nimport { formTextMixin, props as formTextProps } from '../../mixins/form-text';\nimport { formValidityMixin } from '../../mixins/form-validity';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { listenersMixin } from '../../mixins/listeners'; // --- Constants ---\n// Valid supported input types\n\nvar TYPES = ['text', 'password', 'email', 'number', 'url', 'tel', 'search', 'range', 'color', 'date', 'time', 'datetime', 'datetime-local', 'month', 'week']; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), formControlProps), formSizeProps), formStateProps), formTextProps), {}, {\n list: makeProp(PROP_TYPE_STRING),\n max: makeProp(PROP_TYPE_NUMBER_STRING),\n min: makeProp(PROP_TYPE_NUMBER_STRING),\n // Disable mousewheel to prevent wheel from changing values (i.e. number/date)\n noWheel: makeProp(PROP_TYPE_BOOLEAN, false),\n step: makeProp(PROP_TYPE_NUMBER_STRING),\n type: makeProp(PROP_TYPE_STRING, 'text', function (type) {\n return arrayIncludes(TYPES, type);\n })\n})), NAME_FORM_INPUT); // --- Main component ---\n// @vue/component\n\nexport var BFormInput = /*#__PURE__*/Vue.extend({\n name: NAME_FORM_INPUT,\n // Mixin order is important!\n mixins: [listenersMixin, idMixin, formControlMixin, formSizeMixin, formStateMixin, formTextMixin, formSelectionMixin, formValidityMixin],\n props: props,\n computed: {\n localType: function localType() {\n // We only allow certain types\n var type = this.type;\n return arrayIncludes(TYPES, type) ? type : 'text';\n },\n computedAttrs: function computedAttrs() {\n var type = this.localType,\n name = this.name,\n form = this.form,\n disabled = this.disabled,\n placeholder = this.placeholder,\n required = this.required,\n min = this.min,\n max = this.max,\n step = this.step;\n return {\n id: this.safeId(),\n name: name,\n form: form,\n type: type,\n disabled: disabled,\n placeholder: placeholder,\n required: required,\n autocomplete: this.autocomplete || null,\n readonly: this.readonly || this.plaintext,\n min: min,\n max: max,\n step: step,\n list: type !== 'password' ? this.list : null,\n 'aria-required': required ? 'true' : null,\n 'aria-invalid': this.computedAriaInvalid\n };\n },\n computedListeners: function computedListeners() {\n return _objectSpread(_objectSpread({}, this.bvListeners), {}, {\n input: this.onInput,\n change: this.onChange,\n blur: this.onBlur\n });\n }\n },\n watch: {\n noWheel: function noWheel(newValue) {\n this.setWheelStopper(newValue);\n }\n },\n mounted: function mounted() {\n this.setWheelStopper(this.noWheel);\n },\n\n /* istanbul ignore next */\n deactivated: function deactivated() {\n // Turn off listeners when keep-alive component deactivated\n\n /* istanbul ignore next */\n this.setWheelStopper(false);\n },\n\n /* istanbul ignore next */\n activated: function activated() {\n // Turn on listeners (if no-wheel) when keep-alive component activated\n\n /* istanbul ignore next */\n this.setWheelStopper(this.noWheel);\n },\n beforeDestroy: function beforeDestroy() {\n /* istanbul ignore next */\n this.setWheelStopper(false);\n },\n methods: {\n setWheelStopper: function setWheelStopper(on) {\n var input = this.$el; // We use native events, so that we don't interfere with propagation\n\n eventOnOff(on, input, 'focus', this.onWheelFocus);\n eventOnOff(on, input, 'blur', this.onWheelBlur);\n\n if (!on) {\n eventOff(document, 'wheel', this.stopWheel);\n }\n },\n onWheelFocus: function onWheelFocus() {\n eventOn(document, 'wheel', this.stopWheel);\n },\n onWheelBlur: function onWheelBlur() {\n eventOff(document, 'wheel', this.stopWheel);\n },\n stopWheel: function stopWheel(event) {\n stopEvent(event, {\n propagation: false\n });\n attemptBlur(this.$el);\n }\n },\n render: function render(h) {\n return h('input', {\n class: this.computedClass,\n attrs: this.computedAttrs,\n domProps: {\n value: this.localValue\n },\n on: this.computedListeners,\n ref: 'input'\n });\n }\n});","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_IMG } from '../../constants/components';\nimport { PROP_TYPE_ARRAY_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_STRING, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { concat } from '../../utils/array';\nimport { identity } from '../../utils/identity';\nimport { isString } from '../../utils/inspect';\nimport { toInteger } from '../../utils/number';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { toString } from '../../utils/string'; // --- Constants --\n// Blank image with fill template\n\nvar BLANK_TEMPLATE = '' + '' + ''; // --- Helper methods ---\n\nvar makeBlankImgSrc = function makeBlankImgSrc(width, height, color) {\n var src = encodeURIComponent(BLANK_TEMPLATE.replace('%{w}', toString(width)).replace('%{h}', toString(height)).replace('%{f}', color));\n return \"data:image/svg+xml;charset=UTF-8,\".concat(src);\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable({\n alt: makeProp(PROP_TYPE_STRING),\n blank: makeProp(PROP_TYPE_BOOLEAN, false),\n blankColor: makeProp(PROP_TYPE_STRING, 'transparent'),\n block: makeProp(PROP_TYPE_BOOLEAN, false),\n center: makeProp(PROP_TYPE_BOOLEAN, false),\n fluid: makeProp(PROP_TYPE_BOOLEAN, false),\n // Gives fluid images class `w-100` to make them grow to fit container\n fluidGrow: makeProp(PROP_TYPE_BOOLEAN, false),\n height: makeProp(PROP_TYPE_NUMBER_STRING),\n left: makeProp(PROP_TYPE_BOOLEAN, false),\n right: makeProp(PROP_TYPE_BOOLEAN, false),\n // Possible values:\n // `false`: no rounding of corners\n // `true`: slightly rounded corners\n // 'top': top corners rounded\n // 'right': right corners rounded\n // 'bottom': bottom corners rounded\n // 'left': left corners rounded\n // 'circle': circle/oval\n // '0': force rounding off\n rounded: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n sizes: makeProp(PROP_TYPE_ARRAY_STRING),\n src: makeProp(PROP_TYPE_STRING),\n srcset: makeProp(PROP_TYPE_ARRAY_STRING),\n thumbnail: makeProp(PROP_TYPE_BOOLEAN, false),\n width: makeProp(PROP_TYPE_NUMBER_STRING)\n}, NAME_IMG); // --- Main component ---\n// @vue/component\n\nexport var BImg = /*#__PURE__*/Vue.extend({\n name: NAME_IMG,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data;\n var alt = props.alt,\n src = props.src,\n block = props.block,\n fluidGrow = props.fluidGrow,\n rounded = props.rounded;\n var width = toInteger(props.width) || null;\n var height = toInteger(props.height) || null;\n var align = null;\n var srcset = concat(props.srcset).filter(identity).join(',');\n var sizes = concat(props.sizes).filter(identity).join(',');\n\n if (props.blank) {\n if (!height && width) {\n height = width;\n } else if (!width && height) {\n width = height;\n }\n\n if (!width && !height) {\n width = 1;\n height = 1;\n } // Make a blank SVG image\n\n\n src = makeBlankImgSrc(width, height, props.blankColor || 'transparent'); // Disable srcset and sizes\n\n srcset = null;\n sizes = null;\n }\n\n if (props.left) {\n align = 'float-left';\n } else if (props.right) {\n align = 'float-right';\n } else if (props.center) {\n align = 'mx-auto';\n block = true;\n }\n\n return h('img', mergeData(data, {\n attrs: {\n src: src,\n alt: alt,\n width: width ? toString(width) : null,\n height: height ? toString(height) : null,\n srcset: srcset || null,\n sizes: sizes || null\n },\n class: (_class = {\n 'img-thumbnail': props.thumbnail,\n 'img-fluid': props.fluid || fluidGrow,\n 'w-100': fluidGrow,\n rounded: rounded === '' || rounded === true\n }, _defineProperty(_class, \"rounded-\".concat(rounded), isString(rounded) && rounded !== ''), _defineProperty(_class, align, align), _defineProperty(_class, 'd-block', block), _class)\n }));\n }\n});","import { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_TITLE } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { toString } from '../../utils/string'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n title: makeProp(PROP_TYPE_STRING),\n titleTag: makeProp(PROP_TYPE_STRING, 'h4')\n}, NAME_CARD_TITLE); // --- Main component ---\n// @vue/component\n\nexport var BCardTitle = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_TITLE,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.titleTag, mergeData(data, {\n staticClass: 'card-title'\n }), children || toString(props.title));\n }\n});","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./pendingMedicalReport.vue?vue&type=style&index=0&id=2df17a7e&prod&lang=css&\"","module.exports = __webpack_public_path__ + \"img/country.1e5759f3.jpg\";","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});","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});","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});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_BODY } from '../../constants/components';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN } from '../../constants/props';\nimport { sortKeys } from '../../utils/object';\nimport { copyProps, makeProp, makePropsConfigurable, pluckProps, prefixPropName } from '../../utils/props';\nimport { props as cardProps } from '../../mixins/card';\nimport { BCardTitle, props as titleProps } from './card-title';\nimport { BCardSubTitle, props as subTitleProps } from './card-sub-title'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, titleProps), subTitleProps), copyProps(cardProps, prefixPropName.bind(null, 'body'))), {}, {\n bodyClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n overlay: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_CARD_BODY); // --- Main component ---\n// @vue/component\n\nexport var BCardBody = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_BODY,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _ref2;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var bodyBgVariant = props.bodyBgVariant,\n bodyBorderVariant = props.bodyBorderVariant,\n bodyTextVariant = props.bodyTextVariant;\n var $title = h();\n\n if (props.title) {\n $title = h(BCardTitle, {\n props: pluckProps(titleProps, props)\n });\n }\n\n var $subTitle = h();\n\n if (props.subTitle) {\n $subTitle = h(BCardSubTitle, {\n props: pluckProps(subTitleProps, props),\n class: ['mb-2']\n });\n }\n\n return h(props.bodyTag, mergeData(data, {\n staticClass: 'card-body',\n class: [(_ref2 = {\n 'card-img-overlay': props.overlay\n }, _defineProperty(_ref2, \"bg-\".concat(bodyBgVariant), bodyBgVariant), _defineProperty(_ref2, \"border-\".concat(bodyBorderVariant), bodyBorderVariant), _defineProperty(_ref2, \"text-\".concat(bodyTextVariant), bodyTextVariant), _ref2), props.bodyClass]\n }), [$title, $subTitle, children]);\n }\n});","module.exports = __webpack_public_path__ + \"img/HospitalPlaceHolder.3454c920.png\";","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_FOOTER } from '../../constants/components';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { htmlOrText } from '../../utils/html';\nimport { sortKeys } from '../../utils/object';\nimport { copyProps, makeProp, makePropsConfigurable, prefixPropName } from '../../utils/props';\nimport { props as BCardProps } from '../../mixins/card'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, copyProps(BCardProps, prefixPropName.bind(null, 'footer'))), {}, {\n footer: makeProp(PROP_TYPE_STRING),\n footerClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n footerHtml: makeProp(PROP_TYPE_STRING)\n})), NAME_CARD_FOOTER); // --- Main component ---\n// @vue/component\n\nexport var BCardFooter = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_FOOTER,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _ref2;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var footerBgVariant = props.footerBgVariant,\n footerBorderVariant = props.footerBorderVariant,\n footerTextVariant = props.footerTextVariant;\n return h(props.footerTag, mergeData(data, {\n staticClass: 'card-footer',\n class: [props.footerClass, (_ref2 = {}, _defineProperty(_ref2, \"bg-\".concat(footerBgVariant), footerBgVariant), _defineProperty(_ref2, \"border-\".concat(footerBorderVariant), footerBorderVariant), _defineProperty(_ref2, \"text-\".concat(footerTextVariant), footerTextVariant), _ref2)],\n domProps: children ? {} : htmlOrText(props.footerHtml, props.footer)\n }), children);\n }\n});","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_MEDIA_ASIDE } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n right: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n verticalAlign: makeProp(PROP_TYPE_STRING, 'top')\n}, NAME_MEDIA_ASIDE); // --- Main component ---\n// @vue/component\n\nexport var BMediaAside = /*#__PURE__*/Vue.extend({\n name: NAME_MEDIA_ASIDE,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var verticalAlign = props.verticalAlign;\n var align = verticalAlign === 'top' ? 'start' : verticalAlign === 'bottom' ? 'end' :\n /* istanbul ignore next */\n verticalAlign;\n return h(props.tag, mergeData(data, {\n staticClass: 'media-aside',\n class: _defineProperty({\n 'media-aside-right': props.right\n }, \"align-self-\".concat(align), align)\n }), children);\n }\n});","import { Vue, mergeData } from '../../vue';\nimport { NAME_MEDIA_BODY } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n tag: makeProp(PROP_TYPE_STRING, 'div')\n}, NAME_MEDIA_BODY); // --- Main component ---\n// @vue/component\n\nexport var BMediaBody = /*#__PURE__*/Vue.extend({\n name: NAME_MEDIA_BODY,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.tag, mergeData(data, {\n staticClass: 'media-body'\n }), children);\n }\n});","/*\n * Consistent and stable sort function across JavaScript platforms\n *\n * Inconsistent sorts can cause SSR problems between client and server\n * such as in if sortBy is applied to the data on server side render.\n * Chrome and V8 native sorts are inconsistent/unstable\n *\n * This function uses native sort with fallback to index compare when the a and b\n * compare returns 0\n *\n * Algorithm based on:\n * https://stackoverflow.com/questions/1427608/fast-stable-sorting-algorithm-implementation-in-javascript/45422645#45422645\n *\n * @param {array} array to sort\n * @param {function} sort compare function\n * @return {array}\n */\nexport var stableSort = function stableSort(array, compareFn) {\n // Using `.bind(compareFn)` on the wrapped anonymous function improves\n // performance by avoiding the function call setup. We don't use an arrow\n // function here as it binds `this` to the `stableSort` context rather than\n // the `compareFn` context, which wouldn't give us the performance increase.\n return array.map(function (a, index) {\n return [index, a];\n }).sort(function (a, b) {\n return this(a[1], b[1]) || a[0] - b[0];\n }.bind(compareFn)).map(function (e) {\n return e[1];\n });\n};","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"app-img\"},[(_vm.dataUrl||_vm.src.includes('null'))?_c('div',{staticClass:\"app-img__placeholder\",class:_vm.imageClass,staticStyle:{\"border-radius\":\"20px\"}},[_c('img',_vm._b({class:_vm.imageClass,style:(_vm.imageStyle),attrs:{\"src\":_vm.placeholderImage,\"alt\":\"\"}},'img',_vm.$attrs,false))]):_vm._e(),(!_vm.src.includes('null'))?_c('img',{staticClass:\"app-img__img\",style:(_vm.imageStyle),attrs:{\"src\":_vm.dataUrl,\"alt\":_vm.$attrs.alt || ''}}):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./image_lazy.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./image_lazy.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./image_lazy.vue?vue&type=template&id=1e19f149&\"\nimport script from \"./image_lazy.vue?vue&type=script&lang=js&\"\nexport * from \"./image_lazy.vue?vue&type=script&lang=js&\"\nimport style0 from \"./image_lazy.vue?vue&type=style&index=0&id=1e19f149&prod&lang=css&\"\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","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// Tooltip \"Class\" (Built as a renderless Vue instance)\n//\n// Handles trigger events, etc.\n// Instantiates template on demand\nimport { COMPONENT_UID_KEY, Vue } from '../../../vue';\nimport { NAME_MODAL, NAME_TOOLTIP_HELPER } from '../../../constants/components';\nimport { EVENT_NAME_DISABLE, EVENT_NAME_DISABLED, EVENT_NAME_ENABLE, EVENT_NAME_ENABLED, EVENT_NAME_FOCUSIN, EVENT_NAME_FOCUSOUT, EVENT_NAME_HIDDEN, EVENT_NAME_HIDE, EVENT_NAME_MOUSEENTER, EVENT_NAME_MOUSELEAVE, EVENT_NAME_SHOW, EVENT_NAME_SHOWN, EVENT_OPTIONS_NO_CAPTURE, HOOK_EVENT_NAME_BEFORE_DESTROY, HOOK_EVENT_NAME_DESTROYED } from '../../../constants/events';\nimport { arrayIncludes, concat, from as arrayFrom } from '../../../utils/array';\nimport { attemptFocus, closest, contains, getAttr, getById, hasAttr, hasClass, isDisabled, isElement, isVisible, removeAttr, requestAF, select, setAttr } from '../../../utils/dom';\nimport { eventOff, eventOn, eventOnOff, getRootActionEventName, getRootEventName } from '../../../utils/events';\nimport { getScopeId } from '../../../utils/get-scope-id';\nimport { identity } from '../../../utils/identity';\nimport { isFunction, isNumber, isPlainObject, isString, isUndefined, isUndefinedOrNull } from '../../../utils/inspect';\nimport { looseEqual } from '../../../utils/loose-equal';\nimport { mathMax } from '../../../utils/math';\nimport { noop } from '../../../utils/noop';\nimport { toInteger } from '../../../utils/number';\nimport { keys } from '../../../utils/object';\nimport { warn } from '../../../utils/warn';\nimport { BvEvent } from '../../../utils/bv-event.class';\nimport { listenOnRootMixin } from '../../../mixins/listen-on-root';\nimport { BVTooltipTemplate } from './bv-tooltip-template'; // --- Constants ---\n// Modal container selector for appending tooltip/popover\n\nvar MODAL_SELECTOR = '.modal-content'; // Modal `$root` hidden event\n\nvar ROOT_EVENT_NAME_MODAL_HIDDEN = getRootEventName(NAME_MODAL, EVENT_NAME_HIDDEN); // Sidebar container selector for appending tooltip/popover\n\nvar SIDEBAR_SELECTOR = '.b-sidebar'; // For finding the container to append to\n\nvar CONTAINER_SELECTOR = [MODAL_SELECTOR, SIDEBAR_SELECTOR].join(', '); // For dropdown sniffing\n\nvar DROPDOWN_CLASS = 'dropdown';\nvar DROPDOWN_OPEN_SELECTOR = '.dropdown-menu.show'; // Data attribute to temporary store the `title` attribute's value\n\nvar DATA_TITLE_ATTR = 'data-original-title'; // Data specific to popper and template\n// We don't use props, as we need reactivity (we can't pass reactive props)\n\nvar templateData = {\n // Text string or Scoped slot function\n title: '',\n // Text string or Scoped slot function\n content: '',\n // String\n variant: null,\n // String, Array, Object\n customClass: null,\n // String or array of Strings (overwritten by BVPopper)\n triggers: '',\n // String (overwritten by BVPopper)\n placement: 'auto',\n // String or array of strings\n fallbackPlacement: 'flip',\n // Element or Component reference (or function that returns element) of\n // the element that will have the trigger events bound, and is also\n // default element for positioning\n target: null,\n // HTML ID, Element or Component reference\n container: null,\n // 'body'\n // Boolean\n noFade: false,\n // 'scrollParent', 'viewport', 'window', Element, or Component reference\n boundary: 'scrollParent',\n // Tooltip/popover will try and stay away from\n // boundary edge by this many pixels (Number)\n boundaryPadding: 5,\n // Arrow offset (Number)\n offset: 0,\n // Hover/focus delay (Number or Object)\n delay: 0,\n // Arrow of Tooltip/popover will try and stay away from\n // the edge of tooltip/popover edge by this many pixels\n arrowPadding: 6,\n // Interactive state (Boolean)\n interactive: true,\n // Disabled state (Boolean)\n disabled: false,\n // ID to use for tooltip/popover\n id: null,\n // Flag used by directives only, for HTML content\n html: false\n}; // --- Main component ---\n// @vue/component\n\nexport var BVTooltip = /*#__PURE__*/Vue.extend({\n name: NAME_TOOLTIP_HELPER,\n mixins: [listenOnRootMixin],\n data: function data() {\n return _objectSpread(_objectSpread({}, templateData), {}, {\n // State management data\n activeTrigger: {\n // manual: false,\n hover: false,\n click: false,\n focus: false\n },\n localShow: false\n });\n },\n computed: {\n templateType: function templateType() {\n // Overwritten by BVPopover\n return 'tooltip';\n },\n computedId: function computedId() {\n return this.id || \"__bv_\".concat(this.templateType, \"_\").concat(this[COMPONENT_UID_KEY], \"__\");\n },\n computedDelay: function computedDelay() {\n // Normalizes delay into object form\n var delay = {\n show: 0,\n hide: 0\n };\n\n if (isPlainObject(this.delay)) {\n delay.show = mathMax(toInteger(this.delay.show, 0), 0);\n delay.hide = mathMax(toInteger(this.delay.hide, 0), 0);\n } else if (isNumber(this.delay) || isString(this.delay)) {\n delay.show = delay.hide = mathMax(toInteger(this.delay, 0), 0);\n }\n\n return delay;\n },\n computedTriggers: function computedTriggers() {\n // Returns the triggers in sorted array form\n // TODO: Switch this to object form for easier lookup\n return concat(this.triggers).filter(identity).join(' ').trim().toLowerCase().split(/\\s+/).sort();\n },\n isWithActiveTrigger: function isWithActiveTrigger() {\n for (var trigger in this.activeTrigger) {\n if (this.activeTrigger[trigger]) {\n return true;\n }\n }\n\n return false;\n },\n computedTemplateData: function computedTemplateData() {\n var title = this.title,\n content = this.content,\n variant = this.variant,\n customClass = this.customClass,\n noFade = this.noFade,\n interactive = this.interactive;\n return {\n title: title,\n content: content,\n variant: variant,\n customClass: customClass,\n noFade: noFade,\n interactive: interactive\n };\n }\n },\n watch: {\n computedTriggers: function computedTriggers(newTriggers, oldTriggers) {\n var _this = this;\n\n // Triggers have changed, so re-register them\n\n /* istanbul ignore next */\n if (!looseEqual(newTriggers, oldTriggers)) {\n this.$nextTick(function () {\n // Disable trigger listeners\n _this.unListen(); // Clear any active triggers that are no longer in the list of triggers\n\n\n oldTriggers.forEach(function (trigger) {\n if (!arrayIncludes(newTriggers, trigger)) {\n if (_this.activeTrigger[trigger]) {\n _this.activeTrigger[trigger] = false;\n }\n }\n }); // Re-enable the trigger listeners\n\n _this.listen();\n });\n }\n },\n computedTemplateData: function computedTemplateData() {\n // If any of the while open reactive \"props\" change,\n // ensure that the template updates accordingly\n this.handleTemplateUpdate();\n },\n title: function title(newValue, oldValue) {\n // Make sure to hide the tooltip when the title is set empty\n if (newValue !== oldValue && !newValue) {\n this.hide();\n }\n },\n disabled: function disabled(newValue) {\n if (newValue) {\n this.disable();\n } else {\n this.enable();\n }\n }\n },\n created: function created() {\n var _this2 = this;\n\n // Create non-reactive properties\n this.$_tip = null;\n this.$_hoverTimeout = null;\n this.$_hoverState = '';\n this.$_visibleInterval = null;\n this.$_enabled = !this.disabled;\n this.$_noop = noop.bind(this); // Destroy ourselves when the parent is destroyed\n\n if (this.$parent) {\n this.$parent.$once(HOOK_EVENT_NAME_BEFORE_DESTROY, function () {\n _this2.$nextTick(function () {\n // In a `requestAF()` to release control back to application\n requestAF(function () {\n _this2.$destroy();\n });\n });\n });\n }\n\n this.$nextTick(function () {\n var target = _this2.getTarget();\n\n if (target && contains(document.body, target)) {\n // Copy the parent's scoped style attribute\n _this2.scopeId = getScopeId(_this2.$parent); // Set up all trigger handlers and listeners\n\n _this2.listen();\n } else {\n /* istanbul ignore next */\n warn(isString(_this2.target) ? \"Unable to find target element by ID \\\"#\".concat(_this2.target, \"\\\" in document.\") : 'The provided target is no valid HTML element.', _this2.templateType);\n }\n });\n },\n\n /* istanbul ignore next */\n updated: function updated() {\n // Usually called when the slots/data changes\n this.$nextTick(this.handleTemplateUpdate);\n },\n\n /* istanbul ignore next */\n deactivated: function deactivated() {\n // In a keepalive that has been deactivated, so hide\n // the tooltip/popover if it is showing\n this.forceHide();\n },\n beforeDestroy: function beforeDestroy() {\n // Remove all handler/listeners\n this.unListen();\n this.setWhileOpenListeners(false); // Clear any timeouts/intervals\n\n this.clearHoverTimeout();\n this.clearVisibilityInterval(); // Destroy the template\n\n this.destroyTemplate(); // Remove any other private properties created during create\n\n this.$_noop = null;\n },\n methods: {\n // --- Methods for creating and destroying the template ---\n getTemplate: function getTemplate() {\n // Overridden by BVPopover\n return BVTooltipTemplate;\n },\n updateData: function updateData() {\n var _this3 = this;\n\n var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n // Method for updating popper/template data\n // We only update data if it exists, and has not changed\n var titleUpdated = false;\n keys(templateData).forEach(function (prop) {\n if (!isUndefined(data[prop]) && _this3[prop] !== data[prop]) {\n _this3[prop] = data[prop];\n\n if (prop === 'title') {\n titleUpdated = true;\n }\n }\n }); // If the title has updated, we may need to handle the `title`\n // attribute on the trigger target\n // We only do this while the template is open\n\n if (titleUpdated && this.localShow) {\n this.fixTitle();\n }\n },\n createTemplateAndShow: function createTemplateAndShow() {\n // Creates the template instance and show it\n var container = this.getContainer();\n var Template = this.getTemplate();\n var $tip = this.$_tip = new Template({\n parent: this,\n // The following is not reactive to changes in the props data\n propsData: {\n // These values cannot be changed while template is showing\n id: this.computedId,\n html: this.html,\n placement: this.placement,\n fallbackPlacement: this.fallbackPlacement,\n target: this.getPlacementTarget(),\n boundary: this.getBoundary(),\n // Ensure the following are integers\n offset: toInteger(this.offset, 0),\n arrowPadding: toInteger(this.arrowPadding, 0),\n boundaryPadding: toInteger(this.boundaryPadding, 0)\n }\n }); // We set the initial reactive data (values that can be changed while open)\n\n this.handleTemplateUpdate(); // Template transition phase events (handled once only)\n // When the template has mounted, but not visibly shown yet\n\n $tip.$once(EVENT_NAME_SHOW, this.onTemplateShow); // When the template has completed showing\n\n $tip.$once(EVENT_NAME_SHOWN, this.onTemplateShown); // When the template has started to hide\n\n $tip.$once(EVENT_NAME_HIDE, this.onTemplateHide); // When the template has completed hiding\n\n $tip.$once(EVENT_NAME_HIDDEN, this.onTemplateHidden); // When the template gets destroyed for any reason\n\n $tip.$once(HOOK_EVENT_NAME_DESTROYED, this.destroyTemplate); // Convenience events from template\n // To save us from manually adding/removing DOM\n // listeners to tip element when it is open\n\n $tip.$on(EVENT_NAME_FOCUSIN, this.handleEvent);\n $tip.$on(EVENT_NAME_FOCUSOUT, this.handleEvent);\n $tip.$on(EVENT_NAME_MOUSEENTER, this.handleEvent);\n $tip.$on(EVENT_NAME_MOUSELEAVE, this.handleEvent); // Mount (which triggers the `show`)\n\n $tip.$mount(container.appendChild(document.createElement('div'))); // Template will automatically remove its markup from DOM when hidden\n },\n hideTemplate: function hideTemplate() {\n // Trigger the template to start hiding\n // The template will emit the `hide` event after this and\n // then emit the `hidden` event once it is fully hidden\n // The `hook:destroyed` will also be called (safety measure)\n this.$_tip && this.$_tip.hide(); // Clear out any stragging active triggers\n\n this.clearActiveTriggers(); // Reset the hover state\n\n this.$_hoverState = '';\n },\n // Destroy the template instance and reset state\n destroyTemplate: function destroyTemplate() {\n this.setWhileOpenListeners(false);\n this.clearHoverTimeout();\n this.$_hoverState = '';\n this.clearActiveTriggers();\n this.localPlacementTarget = null;\n\n try {\n this.$_tip.$destroy();\n } catch (_unused) {}\n\n this.$_tip = null;\n this.removeAriaDescribedby();\n this.restoreTitle();\n this.localShow = false;\n },\n getTemplateElement: function getTemplateElement() {\n return this.$_tip ? this.$_tip.$el : null;\n },\n handleTemplateUpdate: function handleTemplateUpdate() {\n var _this4 = this;\n\n // Update our template title/content \"props\"\n // So that the template updates accordingly\n var $tip = this.$_tip;\n\n if ($tip) {\n var props = ['title', 'content', 'variant', 'customClass', 'noFade', 'interactive']; // Only update the values if they have changed\n\n props.forEach(function (prop) {\n if ($tip[prop] !== _this4[prop]) {\n $tip[prop] = _this4[prop];\n }\n });\n }\n },\n // --- Show/Hide handlers ---\n // Show the tooltip\n show: function show() {\n var target = this.getTarget();\n\n if (!target || !contains(document.body, target) || !isVisible(target) || this.dropdownOpen() || (isUndefinedOrNull(this.title) || this.title === '') && (isUndefinedOrNull(this.content) || this.content === '')) {\n // If trigger element isn't in the DOM or is not visible, or\n // is on an open dropdown toggle, or has no content, then\n // we exit without showing\n return;\n } // If tip already exists, exit early\n\n\n if (this.$_tip || this.localShow) {\n /* istanbul ignore next */\n return;\n } // In the process of showing\n\n\n this.localShow = true; // Create a cancelable BvEvent\n\n var showEvt = this.buildEvent(EVENT_NAME_SHOW, {\n cancelable: true\n });\n this.emitEvent(showEvt); // Don't show if event cancelled\n\n /* istanbul ignore if */\n\n if (showEvt.defaultPrevented) {\n // Destroy the template (if for some reason it was created)\n this.destroyTemplate();\n return;\n } // Fix the title attribute on target\n\n\n this.fixTitle(); // Set aria-describedby on target\n\n this.addAriaDescribedby(); // Create and show the tooltip\n\n this.createTemplateAndShow();\n },\n hide: function hide() {\n var force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n // Hide the tooltip\n var tip = this.getTemplateElement();\n /* istanbul ignore if */\n\n if (!tip || !this.localShow) {\n this.restoreTitle();\n return;\n } // Emit cancelable BvEvent 'hide'\n // We disable cancelling if `force` is true\n\n\n var hideEvt = this.buildEvent(EVENT_NAME_HIDE, {\n cancelable: !force\n });\n this.emitEvent(hideEvt);\n /* istanbul ignore if: ignore for now */\n\n if (hideEvt.defaultPrevented) {\n // Don't hide if event cancelled\n return;\n } // Tell the template to hide\n\n\n this.hideTemplate();\n },\n forceHide: function forceHide() {\n // Forcefully hides/destroys the template, regardless of any active triggers\n var tip = this.getTemplateElement();\n\n if (!tip || !this.localShow) {\n /* istanbul ignore next */\n return;\n } // Disable while open listeners/watchers\n // This is also done in the template `hide` event handler\n\n\n this.setWhileOpenListeners(false); // Clear any hover enter/leave event\n\n this.clearHoverTimeout();\n this.$_hoverState = '';\n this.clearActiveTriggers(); // Disable the fade animation on the template\n\n if (this.$_tip) {\n this.$_tip.noFade = true;\n } // Hide the tip (with force = true)\n\n\n this.hide(true);\n },\n enable: function enable() {\n this.$_enabled = true; // Create a non-cancelable BvEvent\n\n this.emitEvent(this.buildEvent(EVENT_NAME_ENABLED));\n },\n disable: function disable() {\n this.$_enabled = false; // Create a non-cancelable BvEvent\n\n this.emitEvent(this.buildEvent(EVENT_NAME_DISABLED));\n },\n // --- Handlers for template events ---\n // When template is inserted into DOM, but not yet shown\n onTemplateShow: function onTemplateShow() {\n // Enable while open listeners/watchers\n this.setWhileOpenListeners(true);\n },\n // When template show transition completes\n onTemplateShown: function onTemplateShown() {\n var prevHoverState = this.$_hoverState;\n this.$_hoverState = '';\n /* istanbul ignore next: occasional Node 10 coverage error */\n\n if (prevHoverState === 'out') {\n this.leave(null);\n } // Emit a non-cancelable BvEvent 'shown'\n\n\n this.emitEvent(this.buildEvent(EVENT_NAME_SHOWN));\n },\n // When template is starting to hide\n onTemplateHide: function onTemplateHide() {\n // Disable while open listeners/watchers\n this.setWhileOpenListeners(false);\n },\n // When template has completed closing (just before it self destructs)\n onTemplateHidden: function onTemplateHidden() {\n // Destroy the template\n this.destroyTemplate(); // Emit a non-cancelable BvEvent 'shown'\n\n this.emitEvent(this.buildEvent(EVENT_NAME_HIDDEN));\n },\n // --- Helper methods ---\n getTarget: function getTarget() {\n var target = this.target;\n\n if (isString(target)) {\n target = getById(target.replace(/^#/, ''));\n } else if (isFunction(target)) {\n target = target();\n } else if (target) {\n target = target.$el || target;\n }\n\n return isElement(target) ? target : null;\n },\n getPlacementTarget: function getPlacementTarget() {\n // This is the target that the tooltip will be placed on, which may not\n // necessarily be the same element that has the trigger event listeners\n // For now, this is the same as target\n // TODO:\n // Add in child selector support\n // Add in visibility checks for this element\n // Fallback to target if not found\n return this.getTarget();\n },\n getTargetId: function getTargetId() {\n // Returns the ID of the trigger element\n var target = this.getTarget();\n return target && target.id ? target.id : null;\n },\n getContainer: function getContainer() {\n // Handle case where container may be a component ref\n var container = this.container ? this.container.$el || this.container : false;\n var body = document.body;\n var target = this.getTarget(); // If we are in a modal, we append to the modal, If we\n // are in a sidebar, we append to the sidebar, else append\n // to body, unless a container is specified\n // TODO:\n // Template should periodically check to see if it is in dom\n // And if not, self destruct (if container got v-if'ed out of DOM)\n // Or this could possibly be part of the visibility check\n\n return container === false ? closest(CONTAINER_SELECTOR, target) || body :\n /*istanbul ignore next */\n isString(container) ?\n /*istanbul ignore next */\n getById(container.replace(/^#/, '')) || body :\n /*istanbul ignore next */\n body;\n },\n getBoundary: function getBoundary() {\n return this.boundary ? this.boundary.$el || this.boundary : 'scrollParent';\n },\n isInModal: function isInModal() {\n var target = this.getTarget();\n return target && closest(MODAL_SELECTOR, target);\n },\n isDropdown: function isDropdown() {\n // Returns true if trigger is a dropdown\n var target = this.getTarget();\n return target && hasClass(target, DROPDOWN_CLASS);\n },\n dropdownOpen: function dropdownOpen() {\n // Returns true if trigger is a dropdown and the dropdown menu is open\n var target = this.getTarget();\n return this.isDropdown() && target && select(DROPDOWN_OPEN_SELECTOR, target);\n },\n clearHoverTimeout: function clearHoverTimeout() {\n clearTimeout(this.$_hoverTimeout);\n this.$_hoverTimeout = null;\n },\n clearVisibilityInterval: function clearVisibilityInterval() {\n clearInterval(this.$_visibleInterval);\n this.$_visibleInterval = null;\n },\n clearActiveTriggers: function clearActiveTriggers() {\n for (var trigger in this.activeTrigger) {\n this.activeTrigger[trigger] = false;\n }\n },\n addAriaDescribedby: function addAriaDescribedby() {\n // Add aria-describedby on trigger element, without removing any other IDs\n var target = this.getTarget();\n var desc = getAttr(target, 'aria-describedby') || '';\n desc = desc.split(/\\s+/).concat(this.computedId).join(' ').trim(); // Update/add aria-described by\n\n setAttr(target, 'aria-describedby', desc);\n },\n removeAriaDescribedby: function removeAriaDescribedby() {\n var _this5 = this;\n\n // Remove aria-describedby on trigger element, without removing any other IDs\n var target = this.getTarget();\n var desc = getAttr(target, 'aria-describedby') || '';\n desc = desc.split(/\\s+/).filter(function (d) {\n return d !== _this5.computedId;\n }).join(' ').trim(); // Update or remove aria-describedby\n\n if (desc) {\n /* istanbul ignore next */\n setAttr(target, 'aria-describedby', desc);\n } else {\n removeAttr(target, 'aria-describedby');\n }\n },\n fixTitle: function fixTitle() {\n // If the target has a `title` attribute,\n // remove it and store it on a data attribute\n var target = this.getTarget();\n\n if (hasAttr(target, 'title')) {\n // Get `title` attribute value and remove it from target\n var title = getAttr(target, 'title');\n setAttr(target, 'title', ''); // Only set the data attribute when the value is truthy\n\n if (title) {\n setAttr(target, DATA_TITLE_ATTR, title);\n }\n }\n },\n restoreTitle: function restoreTitle() {\n // If the target had a `title` attribute,\n // restore it and remove the data attribute\n var target = this.getTarget();\n\n if (hasAttr(target, DATA_TITLE_ATTR)) {\n // Get data attribute value and remove it from target\n var title = getAttr(target, DATA_TITLE_ATTR);\n removeAttr(target, DATA_TITLE_ATTR); // Only restore the `title` attribute when the value is truthy\n\n if (title) {\n setAttr(target, 'title', title);\n }\n }\n },\n // --- BvEvent helpers ---\n buildEvent: function buildEvent(type) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n // Defaults to a non-cancellable event\n return new BvEvent(type, _objectSpread({\n cancelable: false,\n target: this.getTarget(),\n relatedTarget: this.getTemplateElement() || null,\n componentId: this.computedId,\n vueTarget: this\n }, options));\n },\n emitEvent: function emitEvent(bvEvent) {\n var type = bvEvent.type;\n this.emitOnRoot(getRootEventName(this.templateType, type), bvEvent);\n this.$emit(type, bvEvent);\n },\n // --- Event handler setup methods ---\n listen: function listen() {\n var _this6 = this;\n\n // Enable trigger event handlers\n var el = this.getTarget();\n\n if (!el) {\n /* istanbul ignore next */\n return;\n } // Listen for global show/hide events\n\n\n this.setRootListener(true); // Set up our listeners on the target trigger element\n\n this.computedTriggers.forEach(function (trigger) {\n if (trigger === 'click') {\n eventOn(el, 'click', _this6.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n } else if (trigger === 'focus') {\n eventOn(el, 'focusin', _this6.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n eventOn(el, 'focusout', _this6.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n } else if (trigger === 'blur') {\n // Used to close $tip when element looses focus\n\n /* istanbul ignore next */\n eventOn(el, 'focusout', _this6.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n } else if (trigger === 'hover') {\n eventOn(el, 'mouseenter', _this6.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n eventOn(el, 'mouseleave', _this6.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n }\n }, this);\n },\n\n /* istanbul ignore next */\n unListen: function unListen() {\n var _this7 = this;\n\n // Remove trigger event handlers\n var events = ['click', 'focusin', 'focusout', 'mouseenter', 'mouseleave'];\n var target = this.getTarget(); // Stop listening for global show/hide/enable/disable events\n\n this.setRootListener(false); // Clear out any active target listeners\n\n events.forEach(function (event) {\n target && eventOff(target, event, _this7.handleEvent, EVENT_OPTIONS_NO_CAPTURE);\n }, this);\n },\n setRootListener: function setRootListener(on) {\n // Listen for global `bv::{hide|show}::{tooltip|popover}` hide request event\n var $root = this.$root;\n\n if ($root) {\n var method = on ? '$on' : '$off';\n var type = this.templateType;\n $root[method](getRootActionEventName(type, EVENT_NAME_HIDE), this.doHide);\n $root[method](getRootActionEventName(type, EVENT_NAME_SHOW), this.doShow);\n $root[method](getRootActionEventName(type, EVENT_NAME_DISABLE), this.doDisable);\n $root[method](getRootActionEventName(type, EVENT_NAME_ENABLE), this.doEnable);\n }\n },\n setWhileOpenListeners: function setWhileOpenListeners(on) {\n // Events that are only registered when the template is showing\n // Modal close events\n this.setModalListener(on); // Dropdown open events (if we are attached to a dropdown)\n\n this.setDropdownListener(on); // Periodic $element visibility check\n // For handling when tip target is in , tabs, carousel, etc\n\n this.visibleCheck(on); // On-touch start listeners\n\n this.setOnTouchStartListener(on);\n },\n // Handler for periodic visibility check\n visibleCheck: function visibleCheck(on) {\n var _this8 = this;\n\n this.clearVisibilityInterval();\n var target = this.getTarget();\n var tip = this.getTemplateElement();\n\n if (on) {\n this.$_visibleInterval = setInterval(function () {\n if (tip && _this8.localShow && (!target.parentNode || !isVisible(target))) {\n // Target element is no longer visible or not in DOM, so force-hide the tooltip\n _this8.forceHide();\n }\n }, 100);\n }\n },\n setModalListener: function setModalListener(on) {\n // Handle case where tooltip/target is in a modal\n if (this.isInModal()) {\n // We can listen for modal hidden events on `$root`\n this.$root[on ? '$on' : '$off'](ROOT_EVENT_NAME_MODAL_HIDDEN, this.forceHide);\n }\n },\n\n /* istanbul ignore next: JSDOM doesn't support `ontouchstart` */\n setOnTouchStartListener: function setOnTouchStartListener(on) {\n var _this9 = this;\n\n // If this is a touch-enabled device we add extra empty\n // `mouseover` listeners to the body's immediate children\n // Only needed because of broken event delegation on iOS\n // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n if ('ontouchstart' in document.documentElement) {\n arrayFrom(document.body.children).forEach(function (el) {\n eventOnOff(on, el, 'mouseover', _this9.$_noop);\n });\n }\n },\n setDropdownListener: function setDropdownListener(on) {\n var target = this.getTarget();\n\n if (!target || !this.$root || !this.isDropdown) {\n return;\n } // We can listen for dropdown shown events on its instance\n // TODO:\n // We could grab the ID from the dropdown, and listen for\n // $root events for that particular dropdown id\n // Dropdown shown and hidden events will need to emit\n // Note: Dropdown auto-ID happens in a `$nextTick()` after mount\n // So the ID lookup would need to be done in a `$nextTick()`\n\n\n if (target.__vue__) {\n target.__vue__[on ? '$on' : '$off'](EVENT_NAME_SHOWN, this.forceHide);\n }\n },\n // --- Event handlers ---\n handleEvent: function handleEvent(event) {\n // General trigger event handler\n // target is the trigger element\n var target = this.getTarget();\n\n if (!target || isDisabled(target) || !this.$_enabled || this.dropdownOpen()) {\n // If disabled or not enabled, or if a dropdown that is open, don't do anything\n // If tip is shown before element gets disabled, then tip will not\n // close until no longer disabled or forcefully closed\n return;\n }\n\n var type = event.type;\n var triggers = this.computedTriggers;\n\n if (type === 'click' && arrayIncludes(triggers, 'click')) {\n this.click(event);\n } else if (type === 'mouseenter' && arrayIncludes(triggers, 'hover')) {\n // `mouseenter` is a non-bubbling event\n this.enter(event);\n } else if (type === 'focusin' && arrayIncludes(triggers, 'focus')) {\n // `focusin` is a bubbling event\n // `event` includes `relatedTarget` (element losing focus)\n this.enter(event);\n } else if (type === 'focusout' && (arrayIncludes(triggers, 'focus') || arrayIncludes(triggers, 'blur')) || type === 'mouseleave' && arrayIncludes(triggers, 'hover')) {\n // `focusout` is a bubbling event\n // `mouseleave` is a non-bubbling event\n // `tip` is the template (will be null if not open)\n var tip = this.getTemplateElement(); // `eventTarget` is the element which is losing focus/hover and\n\n var eventTarget = event.target; // `relatedTarget` is the element gaining focus/hover\n\n var relatedTarget = event.relatedTarget;\n /* istanbul ignore next */\n\n if ( // From tip to target\n tip && contains(tip, eventTarget) && contains(target, relatedTarget) || // From target to tip\n tip && contains(target, eventTarget) && contains(tip, relatedTarget) || // Within tip\n tip && contains(tip, eventTarget) && contains(tip, relatedTarget) || // Within target\n contains(target, eventTarget) && contains(target, relatedTarget)) {\n // If focus/hover moves within `tip` and `target`, don't trigger a leave\n return;\n } // Otherwise trigger a leave\n\n\n this.leave(event);\n }\n },\n doHide: function doHide(id) {\n // Programmatically hide tooltip or popover\n if (!id || this.getTargetId() === id || this.computedId === id) {\n // Close all tooltips or popovers, or this specific tip (with ID)\n this.forceHide();\n }\n },\n doShow: function doShow(id) {\n // Programmatically show tooltip or popover\n if (!id || this.getTargetId() === id || this.computedId === id) {\n // Open all tooltips or popovers, or this specific tip (with ID)\n this.show();\n }\n },\n\n /*istanbul ignore next: ignore for now */\n doDisable: function doDisable(id)\n /*istanbul ignore next: ignore for now */\n {\n // Programmatically disable tooltip or popover\n if (!id || this.getTargetId() === id || this.computedId === id) {\n // Disable all tooltips or popovers (no ID), or this specific tip (with ID)\n this.disable();\n }\n },\n\n /*istanbul ignore next: ignore for now */\n doEnable: function doEnable(id)\n /*istanbul ignore next: ignore for now */\n {\n // Programmatically enable tooltip or popover\n if (!id || this.getTargetId() === id || this.computedId === id) {\n // Enable all tooltips or popovers (no ID), or this specific tip (with ID)\n this.enable();\n }\n },\n click: function click(event) {\n if (!this.$_enabled || this.dropdownOpen()) {\n /* istanbul ignore next */\n return;\n } // Get around a WebKit bug where `click` does not trigger focus events\n // On most browsers, `click` triggers a `focusin`/`focus` event first\n // Needed so that trigger 'click blur' works on iOS\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/5099\n // We use `currentTarget` rather than `target` to trigger on the\n // element, not the inner content\n\n\n attemptFocus(event.currentTarget);\n this.activeTrigger.click = !this.activeTrigger.click;\n\n if (this.isWithActiveTrigger) {\n this.enter(null);\n } else {\n /* istanbul ignore next */\n this.leave(null);\n }\n },\n\n /* istanbul ignore next */\n toggle: function toggle() {\n // Manual toggle handler\n if (!this.$_enabled || this.dropdownOpen()) {\n /* istanbul ignore next */\n return;\n } // Should we register as an active trigger?\n // this.activeTrigger.manual = !this.activeTrigger.manual\n\n\n if (this.localShow) {\n this.leave(null);\n } else {\n this.enter(null);\n }\n },\n enter: function enter() {\n var _this10 = this;\n\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n // Opening trigger handler\n // Note: Click events are sent with event === null\n if (event) {\n this.activeTrigger[event.type === 'focusin' ? 'focus' : 'hover'] = true;\n }\n /* istanbul ignore next */\n\n\n if (this.localShow || this.$_hoverState === 'in') {\n this.$_hoverState = 'in';\n return;\n }\n\n this.clearHoverTimeout();\n this.$_hoverState = 'in';\n\n if (!this.computedDelay.show) {\n this.show();\n } else {\n // Hide any title attribute while enter delay is active\n this.fixTitle();\n this.$_hoverTimeout = setTimeout(function () {\n /* istanbul ignore else */\n if (_this10.$_hoverState === 'in') {\n _this10.show();\n } else if (!_this10.localShow) {\n _this10.restoreTitle();\n }\n }, this.computedDelay.show);\n }\n },\n leave: function leave() {\n var _this11 = this;\n\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n // Closing trigger handler\n // Note: Click events are sent with event === null\n if (event) {\n this.activeTrigger[event.type === 'focusout' ? 'focus' : 'hover'] = false;\n /* istanbul ignore next */\n\n if (event.type === 'focusout' && arrayIncludes(this.computedTriggers, 'blur')) {\n // Special case for `blur`: we clear out the other triggers\n this.activeTrigger.click = false;\n this.activeTrigger.hover = false;\n }\n }\n /* istanbul ignore next: ignore for now */\n\n\n if (this.isWithActiveTrigger) {\n return;\n }\n\n this.clearHoverTimeout();\n this.$_hoverState = 'out';\n\n if (!this.computedDelay.hide) {\n this.hide();\n } else {\n this.$_hoverTimeout = setTimeout(function () {\n if (_this11.$_hoverState === 'out') {\n _this11.hide();\n }\n }, this.computedDelay.hide);\n }\n }\n }\n});","/*=========================================================================================\r\n File Name: moduleActivityState.js\r\n Description: Activity Module State\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template\r\n Author: Pixinvent\r\n Author URL: http://www.themeforest.net/user/pixinvent\r\n==========================================================================================*/\r\n\r\n\r\nexport default {\r\n AnalysisTypes:[]\r\n}\r\n","/*=========================================================================================\r\n File Name: moduleAnalysisTypeMutations.js\r\n Description: AnalysisType Module Mutations\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template\r\n Author: Pixinvent\r\n Author URL: http://www.themeforest.net/user/pixinvent\r\n==========================================================================================*/\r\n\r\nexport default {\r\n ADD_ITEM(state, item) {\r\n state.AnalysisTypes.unshift(item)\r\n },\r\n SET_AnalysisType(state, AnalysisTypes) {\r\n state.AnalysisTypes = AnalysisTypes\r\n },\r\n UPDATE_AnalysisType(state, AnalysisType) {\r\n const AnalysisTypeIndex = state.AnalysisTypes.findIndex((p) => p.ID == AnalysisType.ID)\r\n Object.assign(state.AnalysisTypes[AnalysisTypeIndex], AnalysisType)\r\n},\r\nREMOVE_ITEM(state, itemId) {\r\n const ItemIndex = state.AnalysisTypes.findIndex((p) => p.ID == itemId)\r\n state.AnalysisTypes.splice(ItemIndex, 1)\r\n},\r\n}\r\n","/*=========================================================================================\r\n File Name: moduleAnalysisTypeActions.js\r\n Description: AnalysisType Module Actions\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template\r\n Author: Pixinvent\r\n Author URL: http://www.themeforest.net/user/pixinvent\r\n==========================================================================================*/\r\n\r\nimport axios from \"@/axios.js\"\r\n\r\nexport default {\r\n AddAnalysisType({ commit }, item) {\r\n return new Promise((resolve, reject) => {\r\n axios.post(\"api/AnalysisType/AddAnalysisType\", item)\r\n .then((response) => {\r\n commit('ADD_ITEM', Object.assign(item, { ID: response.data.Data.ID }))\r\n resolve(response)\r\n })\r\n .catch((error) => { reject(error) })\r\n })\r\n },\r\n\r\n GetAllAnalysisTypes({ commit }) {\r\n return new Promise((resolve, reject) => {\r\n axios.get(\"api/AnalysisType/GetAllAnalysisTypes\")\r\n .then((response) => {\r\n commit('SET_AnalysisType', response.data.Data)\r\n resolve(response)\r\n })\r\n .catch((error) => { reject(error) })\r\n })\r\n },\r\n\r\n UpdateAnalysisType({ commit }, item) {\r\n return new Promise((resolve, reject) => {\r\n axios.post(\"api/AnalysisType/UpdateAnalysisType\", item)\r\n .then((response) => {\r\n commit('UPDATE_AnalysisType', item)\r\n resolve(response)\r\n })\r\n .catch((error) => { reject(error) })\r\n })\r\n },\r\n\r\n GetAnalysisType({ commit }, itemid) {\r\n return new Promise((resolve, reject) => {\r\n axios.post(\"api/AnalysisType/GetAnalysisType\", itemid)\r\n .then((response) => {\r\n commit('UPDATE_AnalysisType', response.data.Data)\r\n resolve(response)\r\n })\r\n .catch((error) => { reject(error) })\r\n })\r\n },\r\n\r\n DeleteAnalysisType({ commit }, item) {\r\n return new Promise((resolve, reject) => {\r\n axios.delete(\"api/AnalysisType/DeleteAnalysisType?ID=\"+item.ID)\r\n .then((response) => {\r\n commit('REMOVE_ITEM', item.ID)\r\n resolve(response)\r\n })\r\n .catch((error) => { reject(error) })\r\n })\r\n },\r\n}\r\n","/*=========================================================================================\r\n File Name: moduleCategoryAssessmentGetters.js\r\n Description: CategoryAssessment Module Getters\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template\r\n Author: Pixinvent\r\n Author URL: http://www.themeforest.net/user/pixinvent\r\n==========================================================================================*/\r\n\r\n\r\nexport default {\r\n \r\n}\r\n","/*=========================================================================================\r\n File Name: moduleLanguage.js\r\n Description: Language Module\r\n ----------------------------------------------------------------------------------------\r\n Item Name: Vuexy - Vuejs, HTML & Laravel Admin Dashboard Template\r\n Author: Pixinvent\r\n Author URL: http://www.themeforest.net/user/pixinvent\r\n==========================================================================================*/\r\n\r\n\r\nimport state from './moduleAnalysisTypeState.js'\r\nimport mutations from './moduleAnalysisTypeMutations.js'\r\nimport actions from './moduleAnalysisTypeActions.js'\r\nimport getters from './moduleAnalysisTypeGetters.js'\r\n\r\nexport default {\r\n\tnamespaced: true,\r\n state: state,\r\n mutations: mutations,\r\n actions: actions,\r\n getters: getters\r\n}\r\n","export var PLACEMENT_TOP_START = 'top-start';\nexport var PLACEMENT_TOP_END = 'top-end';\nexport var PLACEMENT_BOTTOM_START = 'bottom-start';\nexport var PLACEMENT_BOTTOM_END = 'bottom-end';\nexport var PLACEMENT_RIGHT_START = 'right-start';\nexport var PLACEMENT_RIGHT_END = 'right-end';\nexport var PLACEMENT_LEFT_START = 'left-start';\nexport var PLACEMENT_LEFT_END = 'left-end';","import { Vue } from '../vue';\nimport { EVENT_OPTIONS_NO_CAPTURE } from '../constants/events';\nimport { contains } from '../utils/dom';\nimport { eventOn, eventOff } from '../utils/events'; // @vue/component\n\nexport var clickOutMixin = Vue.extend({\n data: function data() {\n return {\n listenForClickOut: false\n };\n },\n watch: {\n listenForClickOut: function listenForClickOut(newValue, oldValue) {\n if (newValue !== oldValue) {\n eventOff(this.clickOutElement, this.clickOutEventName, this._clickOutHandler, EVENT_OPTIONS_NO_CAPTURE);\n\n if (newValue) {\n eventOn(this.clickOutElement, this.clickOutEventName, this._clickOutHandler, EVENT_OPTIONS_NO_CAPTURE);\n }\n }\n }\n },\n beforeCreate: function beforeCreate() {\n // Declare non-reactive properties\n this.clickOutElement = null;\n this.clickOutEventName = null;\n },\n mounted: function mounted() {\n if (!this.clickOutElement) {\n this.clickOutElement = document;\n }\n\n if (!this.clickOutEventName) {\n this.clickOutEventName = 'click';\n }\n\n if (this.listenForClickOut) {\n eventOn(this.clickOutElement, this.clickOutEventName, this._clickOutHandler, EVENT_OPTIONS_NO_CAPTURE);\n }\n },\n beforeDestroy: function beforeDestroy() {\n eventOff(this.clickOutElement, this.clickOutEventName, this._clickOutHandler, EVENT_OPTIONS_NO_CAPTURE);\n },\n methods: {\n isClickOut: function isClickOut(event) {\n return !contains(this.$el, event.target);\n },\n _clickOutHandler: function _clickOutHandler(event) {\n if (this.clickOutHandler && this.isClickOut(event)) {\n this.clickOutHandler(event);\n }\n }\n }\n});","import { Vue } from '../vue';\nimport { EVENT_OPTIONS_NO_CAPTURE } from '../constants/events';\nimport { eventOn, eventOff } from '../utils/events'; // @vue/component\n\nexport var focusInMixin = Vue.extend({\n data: function data() {\n return {\n listenForFocusIn: false\n };\n },\n watch: {\n listenForFocusIn: function listenForFocusIn(newValue, oldValue) {\n if (newValue !== oldValue) {\n eventOff(this.focusInElement, 'focusin', this._focusInHandler, EVENT_OPTIONS_NO_CAPTURE);\n\n if (newValue) {\n eventOn(this.focusInElement, 'focusin', this._focusInHandler, EVENT_OPTIONS_NO_CAPTURE);\n }\n }\n }\n },\n beforeCreate: function beforeCreate() {\n // Declare non-reactive properties\n this.focusInElement = null;\n },\n mounted: function mounted() {\n if (!this.focusInElement) {\n this.focusInElement = document;\n }\n\n if (this.listenForFocusIn) {\n eventOn(this.focusInElement, 'focusin', this._focusInHandler, EVENT_OPTIONS_NO_CAPTURE);\n }\n },\n beforeDestroy: function beforeDestroy() {\n eventOff(this.focusInElement, 'focusin', this._focusInHandler, EVENT_OPTIONS_NO_CAPTURE);\n },\n methods: {\n _focusInHandler: function _focusInHandler(event) {\n if (this.focusInHandler) {\n this.focusInHandler(event);\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 Popper from 'popper.js';\nimport { Vue } from '../vue';\nimport { NAME_DROPDOWN } from '../constants/components';\nimport { EVENT_NAME_CLICK, EVENT_NAME_HIDDEN, EVENT_NAME_HIDE, EVENT_NAME_SHOW, EVENT_NAME_SHOWN, EVENT_NAME_TOGGLE } from '../constants/events';\nimport { CODE_DOWN, CODE_ENTER, CODE_ESC, CODE_SPACE, CODE_UP } from '../constants/key-codes';\nimport { PLACEMENT_TOP_START, PLACEMENT_TOP_END, PLACEMENT_BOTTOM_START, PLACEMENT_BOTTOM_END, PLACEMENT_RIGHT_START, PLACEMENT_LEFT_START } from '../constants/popper';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_OBJECT, PROP_TYPE_STRING } from '../constants/props';\nimport { HTMLElement } from '../constants/safe-types';\nimport { BvEvent } from '../utils/bv-event.class';\nimport { attemptFocus, closest, contains, isVisible, requestAF, selectAll } from '../utils/dom';\nimport { getRootEventName, stopEvent } from '../utils/events';\nimport { isNull } from '../utils/inspect';\nimport { mergeDeep, sortKeys } from '../utils/object';\nimport { makeProp, makePropsConfigurable } from '../utils/props';\nimport { warn } from '../utils/warn';\nimport { clickOutMixin } from './click-out';\nimport { focusInMixin } from './focus-in';\nimport { idMixin, props as idProps } from './id';\nimport { listenOnRootMixin } from './listen-on-root'; // --- Constants ---\n\nvar ROOT_EVENT_NAME_SHOWN = getRootEventName(NAME_DROPDOWN, EVENT_NAME_SHOWN);\nvar ROOT_EVENT_NAME_HIDDEN = getRootEventName(NAME_DROPDOWN, EVENT_NAME_HIDDEN); // CSS selectors\n\nvar SELECTOR_FORM_CHILD = '.dropdown form';\nvar SELECTOR_ITEM = ['.dropdown-item', '.b-dropdown-form'].map(function (selector) {\n return \"\".concat(selector, \":not(.disabled):not([disabled])\");\n}).join(', '); // --- Helper methods ---\n// Return an array of visible items\n\nvar filterVisibles = function filterVisibles(els) {\n return (els || []).filter(isVisible);\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, idProps), {}, {\n // String: `scrollParent`, `window` or `viewport`\n // HTMLElement: HTML Element reference\n boundary: makeProp([HTMLElement, PROP_TYPE_STRING], 'scrollParent'),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n // Place left if possible\n dropleft: makeProp(PROP_TYPE_BOOLEAN, false),\n // Place right if possible\n dropright: makeProp(PROP_TYPE_BOOLEAN, false),\n // Place on top if possible\n dropup: makeProp(PROP_TYPE_BOOLEAN, false),\n // Disable auto-flipping of menu from bottom <=> top\n noFlip: makeProp(PROP_TYPE_BOOLEAN, false),\n // Number of pixels or a CSS unit value to offset menu\n // (i.e. `1px`, `1rem`, etc.)\n offset: makeProp(PROP_TYPE_NUMBER_STRING, 0),\n popperOpts: makeProp(PROP_TYPE_OBJECT, {}),\n // Right align menu (default is left align)\n right: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_DROPDOWN); // --- Mixin ---\n// @vue/component\n\nexport var dropdownMixin = Vue.extend({\n mixins: [idMixin, listenOnRootMixin, clickOutMixin, focusInMixin],\n provide: function provide() {\n return {\n bvDropdown: this\n };\n },\n inject: {\n bvNavbar: {\n default: null\n }\n },\n props: props,\n data: function data() {\n return {\n visible: false,\n visibleChangePrevented: false\n };\n },\n computed: {\n inNavbar: function inNavbar() {\n return !isNull(this.bvNavbar);\n },\n toggler: function toggler() {\n var toggle = this.$refs.toggle;\n return toggle ? toggle.$el || toggle : null;\n },\n directionClass: function directionClass() {\n if (this.dropup) {\n return 'dropup';\n } else if (this.dropright) {\n return 'dropright';\n } else if (this.dropleft) {\n return 'dropleft';\n }\n\n return '';\n },\n boundaryClass: function boundaryClass() {\n // Position `static` is needed to allow menu to \"breakout\" of the `scrollParent`\n // boundaries when boundary is anything other than `scrollParent`\n // See: https://github.com/twbs/bootstrap/issues/24251#issuecomment-341413786\n return this.boundary !== 'scrollParent' && !this.inNavbar ? 'position-static' : '';\n }\n },\n watch: {\n visible: function visible(newValue, oldValue) {\n if (this.visibleChangePrevented) {\n this.visibleChangePrevented = false;\n return;\n }\n\n if (newValue !== oldValue) {\n var eventName = newValue ? EVENT_NAME_SHOW : EVENT_NAME_HIDE;\n var bvEvent = new BvEvent(eventName, {\n cancelable: true,\n vueTarget: this,\n target: this.$refs.menu,\n relatedTarget: null,\n componentId: this.safeId ? this.safeId() : this.id || null\n });\n this.emitEvent(bvEvent);\n\n if (bvEvent.defaultPrevented) {\n // Reset value and exit if canceled\n this.visibleChangePrevented = true;\n this.visible = oldValue; // Just in case a child element triggered `this.hide(true)`\n\n this.$off(EVENT_NAME_HIDDEN, this.focusToggler);\n return;\n }\n\n if (newValue) {\n this.showMenu();\n } else {\n this.hideMenu();\n }\n }\n },\n disabled: function disabled(newValue, oldValue) {\n if (newValue !== oldValue && newValue && this.visible) {\n // Hide dropdown if disabled changes to true\n this.visible = false;\n }\n }\n },\n created: function created() {\n // Create private non-reactive props\n this.$_popper = null;\n this.$_hideTimeout = null;\n },\n\n /* istanbul ignore next */\n deactivated: function deactivated() {\n // In case we are inside a ``\n this.visible = false;\n this.whileOpenListen(false);\n this.destroyPopper();\n },\n beforeDestroy: function beforeDestroy() {\n this.visible = false;\n this.whileOpenListen(false);\n this.destroyPopper();\n this.clearHideTimeout();\n },\n methods: {\n // Event emitter\n emitEvent: function emitEvent(bvEvent) {\n var type = bvEvent.type;\n this.emitOnRoot(getRootEventName(NAME_DROPDOWN, type), bvEvent);\n this.$emit(type, bvEvent);\n },\n showMenu: function showMenu() {\n var _this = this;\n\n if (this.disabled) {\n /* istanbul ignore next */\n return;\n } // Only instantiate Popper.js when dropdown is not in ``\n\n\n if (!this.inNavbar) {\n if (typeof Popper === 'undefined') {\n /* istanbul ignore next */\n warn('Popper.js not found. Falling back to CSS positioning', NAME_DROPDOWN);\n } else {\n // For dropup with alignment we use the parent element as popper container\n var el = this.dropup && this.right || this.split ? this.$el : this.$refs.toggle; // Make sure we have a reference to an element, not a component!\n\n el = el.$el || el; // Instantiate Popper.js\n\n this.createPopper(el);\n }\n } // Ensure other menus are closed\n\n\n this.emitOnRoot(ROOT_EVENT_NAME_SHOWN, this); // Enable listeners\n\n this.whileOpenListen(true); // Wrap in `$nextTick()` to ensure menu is fully rendered/shown\n\n this.$nextTick(function () {\n // Focus on the menu container on show\n _this.focusMenu(); // Emit the shown event\n\n\n _this.$emit(EVENT_NAME_SHOWN);\n });\n },\n hideMenu: function hideMenu() {\n this.whileOpenListen(false);\n this.emitOnRoot(ROOT_EVENT_NAME_HIDDEN, this);\n this.$emit(EVENT_NAME_HIDDEN);\n this.destroyPopper();\n },\n createPopper: function createPopper(element) {\n this.destroyPopper();\n this.$_popper = new Popper(element, this.$refs.menu, this.getPopperConfig());\n },\n // Ensure popper event listeners are removed cleanly\n destroyPopper: function destroyPopper() {\n this.$_popper && this.$_popper.destroy();\n this.$_popper = null;\n },\n // Instructs popper to re-computes the dropdown position\n // useful if the content changes size\n updatePopper: function updatePopper() {\n try {\n this.$_popper.scheduleUpdate();\n } catch (_unused) {}\n },\n clearHideTimeout: function clearHideTimeout() {\n clearTimeout(this.$_hideTimeout);\n this.$_hideTimeout = null;\n },\n getPopperConfig: function getPopperConfig() {\n var placement = PLACEMENT_BOTTOM_START;\n\n if (this.dropup) {\n placement = this.right ? PLACEMENT_TOP_END : PLACEMENT_TOP_START;\n } else if (this.dropright) {\n placement = PLACEMENT_RIGHT_START;\n } else if (this.dropleft) {\n placement = PLACEMENT_LEFT_START;\n } else if (this.right) {\n placement = PLACEMENT_BOTTOM_END;\n }\n\n var popperConfig = {\n placement: placement,\n modifiers: {\n offset: {\n offset: this.offset || 0\n },\n flip: {\n enabled: !this.noFlip\n }\n }\n };\n var boundariesElement = this.boundary;\n\n if (boundariesElement) {\n popperConfig.modifiers.preventOverflow = {\n boundariesElement: boundariesElement\n };\n }\n\n return mergeDeep(popperConfig, this.popperOpts || {});\n },\n // Turn listeners on/off while open\n whileOpenListen: function whileOpenListen(isOpen) {\n // Hide the dropdown when clicked outside\n this.listenForClickOut = isOpen; // Hide the dropdown when it loses focus\n\n this.listenForFocusIn = isOpen; // Hide the dropdown when another dropdown is opened\n\n var method = isOpen ? '$on' : '$off';\n this.$root[method](ROOT_EVENT_NAME_SHOWN, this.rootCloseListener);\n },\n rootCloseListener: function rootCloseListener(vm) {\n if (vm !== this) {\n this.visible = false;\n }\n },\n // Public method to show dropdown\n show: function show() {\n var _this2 = this;\n\n if (this.disabled) {\n return;\n } // Wrap in a `requestAF()` to allow any previous\n // click handling to occur first\n\n\n requestAF(function () {\n _this2.visible = true;\n });\n },\n // Public method to hide dropdown\n hide: function hide() {\n var refocus = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n /* istanbul ignore next */\n if (this.disabled) {\n return;\n }\n\n this.visible = false;\n\n if (refocus) {\n // Child element is closing the dropdown on click\n this.$once(EVENT_NAME_HIDDEN, this.focusToggler);\n }\n },\n // Called only by a button that toggles the menu\n toggle: function toggle(event) {\n event = event || {}; // Early exit when not a click event or ENTER, SPACE or DOWN were pressed\n\n var _event = event,\n type = _event.type,\n keyCode = _event.keyCode;\n\n if (type !== 'click' && !(type === 'keydown' && [CODE_ENTER, CODE_SPACE, CODE_DOWN].indexOf(keyCode) !== -1)) {\n /* istanbul ignore next */\n return;\n }\n /* istanbul ignore next */\n\n\n if (this.disabled) {\n this.visible = false;\n return;\n }\n\n this.$emit(EVENT_NAME_TOGGLE, event);\n stopEvent(event); // Toggle visibility\n\n if (this.visible) {\n this.hide(true);\n } else {\n this.show();\n }\n },\n // Mousedown handler for the toggle\n\n /* istanbul ignore next */\n onMousedown: function onMousedown(event) {\n // We prevent the 'mousedown' event for the toggle to stop the\n // 'focusin' event from being fired\n // The event would otherwise be picked up by the global 'focusin'\n // listener and there is no cross-browser solution to detect it\n // relates to the toggle click\n // The 'click' event will still be fired and we handle closing\n // other dropdowns there too\n // See https://github.com/bootstrap-vue/bootstrap-vue/issues/4328\n stopEvent(event, {\n propagation: false\n });\n },\n // Called from dropdown menu context\n onKeydown: function onKeydown(event) {\n var keyCode = event.keyCode;\n\n if (keyCode === CODE_ESC) {\n // Close on ESC\n this.onEsc(event);\n } else if (keyCode === CODE_DOWN) {\n // Down Arrow\n this.focusNext(event, false);\n } else if (keyCode === CODE_UP) {\n // Up Arrow\n this.focusNext(event, true);\n }\n },\n // If user presses ESC, close the menu\n onEsc: function onEsc(event) {\n if (this.visible) {\n this.visible = false;\n stopEvent(event); // Return focus to original trigger button\n\n this.$once(EVENT_NAME_HIDDEN, this.focusToggler);\n }\n },\n // Called only in split button mode, for the split button\n onSplitClick: function onSplitClick(event) {\n /* istanbul ignore next */\n if (this.disabled) {\n this.visible = false;\n return;\n }\n\n this.$emit(EVENT_NAME_CLICK, event);\n },\n // Shared hide handler between click-out and focus-in events\n hideHandler: function hideHandler(event) {\n var _this3 = this;\n\n var target = event.target;\n\n if (this.visible && !contains(this.$refs.menu, target) && !contains(this.toggler, target)) {\n this.clearHideTimeout();\n this.$_hideTimeout = setTimeout(function () {\n return _this3.hide();\n }, this.inNavbar ? 300 : 0);\n }\n },\n // Document click-out listener\n clickOutHandler: function clickOutHandler(event) {\n this.hideHandler(event);\n },\n // Document focus-in listener\n focusInHandler: function focusInHandler(event) {\n this.hideHandler(event);\n },\n // Keyboard nav\n focusNext: function focusNext(event, up) {\n var _this4 = this;\n\n // Ignore key up/down on form elements\n var target = event.target;\n\n if (!this.visible || event && closest(SELECTOR_FORM_CHILD, target)) {\n /* istanbul ignore next: should never happen */\n return;\n }\n\n stopEvent(event);\n this.$nextTick(function () {\n var items = _this4.getItems();\n\n if (items.length < 1) {\n /* istanbul ignore next: should never happen */\n return;\n }\n\n var index = items.indexOf(target);\n\n if (up && index > 0) {\n index--;\n } else if (!up && index < items.length - 1) {\n index++;\n }\n\n if (index < 0) {\n /* istanbul ignore next: should never happen */\n index = 0;\n }\n\n _this4.focusItem(index, items);\n });\n },\n focusItem: function focusItem(index, items) {\n var el = items.find(function (el, i) {\n return i === index;\n });\n attemptFocus(el);\n },\n getItems: function getItems() {\n // Get all items\n return filterVisibles(selectAll(SELECTOR_ITEM, this.$refs.menu));\n },\n focusMenu: function focusMenu() {\n attemptFocus(this.$refs.menu);\n },\n focusToggler: function focusToggler() {\n var _this5 = this;\n\n this.$nextTick(function () {\n attemptFocus(_this5.toggler);\n });\n }\n }\n});","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./pendingMedicalReport.vue?vue&type=style&index=1&id=2df17a7e&prod&lang=scss&\"","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_DROPDOWN_ITEM } from '../../constants/components';\nimport { EVENT_NAME_CLICK } from '../../constants/events';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { requestAF } from '../../utils/dom';\nimport { omit, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BLink, props as BLinkProps } from '../link/link'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, omit(BLinkProps, ['event', 'routerTag'])), {}, {\n linkClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n variant: makeProp(PROP_TYPE_STRING)\n})), NAME_DROPDOWN_ITEM); // --- Main component ---\n// @vue/component\n\nexport var BDropdownItem = /*#__PURE__*/Vue.extend({\n name: NAME_DROPDOWN_ITEM,\n mixins: [attrsMixin, normalizeSlotMixin],\n inject: {\n bvDropdown: {\n default: null\n }\n },\n inheritAttrs: false,\n props: props,\n computed: {\n computedAttrs: function computedAttrs() {\n return _objectSpread(_objectSpread({}, this.bvAttrs), {}, {\n role: 'menuitem'\n });\n }\n },\n methods: {\n closeDropdown: function closeDropdown() {\n var _this = this;\n\n // Close on next animation frame to allow time to process\n requestAF(function () {\n if (_this.bvDropdown) {\n _this.bvDropdown.hide(true);\n }\n });\n },\n onClick: function onClick(event) {\n this.$emit(EVENT_NAME_CLICK, event);\n this.closeDropdown();\n }\n },\n render: function render(h) {\n var linkClass = this.linkClass,\n variant = this.variant,\n active = this.active,\n disabled = this.disabled,\n onClick = this.onClick,\n bvAttrs = this.bvAttrs;\n return h('li', {\n class: bvAttrs.class,\n style: bvAttrs.style,\n attrs: {\n role: 'presentation'\n }\n }, [h(BLink, {\n staticClass: 'dropdown-item',\n class: [linkClass, _defineProperty({}, \"text-\".concat(variant), variant && !(active || disabled))],\n props: this.$props,\n attrs: this.computedAttrs,\n on: {\n click: onClick\n },\n ref: 'item'\n }, this.normalizeSlot())]);\n }\n});","module.exports = __webpack_public_path__ + \"img/patient.c78acded.jpg\";","var _watch;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../vue';\nimport { NAME_PAGINATION } from '../constants/components';\nimport { CODE_DOWN, CODE_LEFT, CODE_RIGHT, CODE_SPACE, CODE_UP } from '../constants/key-codes';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_NUMBER_STRING, PROP_TYPE_FUNCTION_STRING, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../constants/props';\nimport { SLOT_NAME_ELLIPSIS_TEXT, SLOT_NAME_FIRST_TEXT, SLOT_NAME_LAST_TEXT, SLOT_NAME_NEXT_TEXT, SLOT_NAME_PAGE, SLOT_NAME_PREV_TEXT } from '../constants/slots';\nimport { createArray } from '../utils/array';\nimport { attemptFocus, getActiveElement, getAttr, isDisabled, isVisible, selectAll } from '../utils/dom';\nimport { stopEvent } from '../utils/events';\nimport { isFunction, isNull } from '../utils/inspect';\nimport { mathFloor, mathMax, mathMin } from '../utils/math';\nimport { makeModelMixin } from '../utils/model';\nimport { toInteger } from '../utils/number';\nimport { sortKeys } from '../utils/object';\nimport { hasPropFunction, makeProp, makePropsConfigurable } from '../utils/props';\nimport { toString } from '../utils/string';\nimport { warn } from '../utils/warn';\nimport { normalizeSlotMixin } from '../mixins/normalize-slot';\nimport { BLink } from '../components/link/link'; // Common props, computed, data, render function, and methods\n// for `` and ``\n// --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('value', {\n type: PROP_TYPE_BOOLEAN_NUMBER_STRING,\n defaultValue: null,\n\n /* istanbul ignore next */\n validator: function validator(value) {\n if (!isNull(value) && toInteger(value, 0) < 1) {\n warn('\"v-model\" value must be a number greater than \"0\"', NAME_PAGINATION);\n return false;\n }\n\n return true;\n }\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event;\n\nexport { MODEL_PROP_NAME, MODEL_EVENT_NAME }; // Threshold of limit size when we start/stop showing ellipsis\n\nvar ELLIPSIS_THRESHOLD = 3; // Default # of buttons limit\n\nvar DEFAULT_LIMIT = 5; // --- Helper methods ---\n// Make an array of N to N+X\n\nvar makePageArray = function makePageArray(startNumber, numberOfPages) {\n return createArray(numberOfPages, function (_, i) {\n return {\n number: startNumber + i,\n classes: null\n };\n });\n}; // Sanitize the provided limit value (converting to a number)\n\n\nvar sanitizeLimit = function sanitizeLimit(value) {\n var limit = toInteger(value) || 1;\n return limit < 1 ? DEFAULT_LIMIT : limit;\n}; // Sanitize the provided current page number (converting to a number)\n\n\nvar sanitizeCurrentPage = function sanitizeCurrentPage(val, numberOfPages) {\n var page = toInteger(val) || 1;\n return page > numberOfPages ? numberOfPages : page < 1 ? 1 : page;\n}; // Links don't normally respond to SPACE, so we add that\n// functionality via this handler\n\n\nvar onSpaceKey = function onSpaceKey(event) {\n if (event.keyCode === CODE_SPACE) {\n // Stop page from scrolling\n stopEvent(event, {\n immediatePropagation: true\n }); // Trigger the click event on the link\n\n event.currentTarget.click();\n return false;\n }\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, modelProps), {}, {\n align: makeProp(PROP_TYPE_STRING, 'left'),\n ariaLabel: makeProp(PROP_TYPE_STRING, 'Pagination'),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n ellipsisClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n ellipsisText: makeProp(PROP_TYPE_STRING, \"\\u2026\"),\n // '…'\n firstClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n firstNumber: makeProp(PROP_TYPE_BOOLEAN, false),\n firstText: makeProp(PROP_TYPE_STRING, \"\\xAB\"),\n // '«'\n hideEllipsis: makeProp(PROP_TYPE_BOOLEAN, false),\n hideGotoEndButtons: makeProp(PROP_TYPE_BOOLEAN, false),\n labelFirstPage: makeProp(PROP_TYPE_STRING, 'Go to first page'),\n labelLastPage: makeProp(PROP_TYPE_STRING, 'Go to last page'),\n labelNextPage: makeProp(PROP_TYPE_STRING, 'Go to next page'),\n labelPage: makeProp(PROP_TYPE_FUNCTION_STRING, 'Go to page'),\n labelPrevPage: makeProp(PROP_TYPE_STRING, 'Go to previous page'),\n lastClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n lastNumber: makeProp(PROP_TYPE_BOOLEAN, false),\n lastText: makeProp(PROP_TYPE_STRING, \"\\xBB\"),\n // '»'\n limit: makeProp(PROP_TYPE_NUMBER_STRING, DEFAULT_LIMIT,\n /* istanbul ignore next */\n function (value) {\n if (toInteger(value, 0) < 1) {\n warn('Prop \"limit\" must be a number greater than \"0\"', NAME_PAGINATION);\n return false;\n }\n\n return true;\n }),\n nextClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n nextText: makeProp(PROP_TYPE_STRING, \"\\u203A\"),\n // '›'\n pageClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n pills: makeProp(PROP_TYPE_BOOLEAN, false),\n prevClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n prevText: makeProp(PROP_TYPE_STRING, \"\\u2039\"),\n // '‹'\n size: makeProp(PROP_TYPE_STRING)\n})), 'pagination'); // --- Mixin ---\n// @vue/component\n\nexport var paginationMixin = Vue.extend({\n mixins: [modelMixin, normalizeSlotMixin],\n props: props,\n data: function data() {\n // `-1` signifies no page initially selected\n var currentPage = toInteger(this[MODEL_PROP_NAME], 0);\n currentPage = currentPage > 0 ? currentPage : -1;\n return {\n currentPage: currentPage,\n localNumberOfPages: 1,\n localLimit: DEFAULT_LIMIT\n };\n },\n computed: {\n btnSize: function btnSize() {\n var size = this.size;\n return size ? \"pagination-\".concat(size) : '';\n },\n alignment: function alignment() {\n var align = this.align;\n\n if (align === 'center') {\n return 'justify-content-center';\n } else if (align === 'end' || align === 'right') {\n return 'justify-content-end';\n } else if (align === 'fill') {\n // The page-items will also have 'flex-fill' added\n // We add text centering to make the button appearance better in fill mode\n return 'text-center';\n }\n\n return '';\n },\n styleClass: function styleClass() {\n return this.pills ? 'b-pagination-pills' : '';\n },\n computedCurrentPage: function computedCurrentPage() {\n return sanitizeCurrentPage(this.currentPage, this.localNumberOfPages);\n },\n paginationParams: function paginationParams() {\n // Determine if we should show the the ellipsis\n var limit = this.localLimit,\n numberOfPages = this.localNumberOfPages,\n currentPage = this.computedCurrentPage,\n hideEllipsis = this.hideEllipsis,\n firstNumber = this.firstNumber,\n lastNumber = this.lastNumber;\n var showFirstDots = false;\n var showLastDots = false;\n var numberOfLinks = limit;\n var startNumber = 1;\n\n if (numberOfPages <= limit) {\n // Special case: Less pages available than the limit of displayed pages\n numberOfLinks = numberOfPages;\n } else if (currentPage < limit - 1 && limit > ELLIPSIS_THRESHOLD) {\n if (!hideEllipsis || lastNumber) {\n showLastDots = true;\n numberOfLinks = limit - (firstNumber ? 0 : 1);\n }\n\n numberOfLinks = mathMin(numberOfLinks, limit);\n } else if (numberOfPages - currentPage + 2 < limit && limit > ELLIPSIS_THRESHOLD) {\n if (!hideEllipsis || firstNumber) {\n showFirstDots = true;\n numberOfLinks = limit - (lastNumber ? 0 : 1);\n }\n\n startNumber = numberOfPages - numberOfLinks + 1;\n } else {\n // We are somewhere in the middle of the page list\n if (limit > ELLIPSIS_THRESHOLD) {\n numberOfLinks = limit - (hideEllipsis ? 0 : 2);\n showFirstDots = !!(!hideEllipsis || firstNumber);\n showLastDots = !!(!hideEllipsis || lastNumber);\n }\n\n startNumber = currentPage - mathFloor(numberOfLinks / 2);\n } // Sanity checks\n\n /* istanbul ignore if */\n\n\n if (startNumber < 1) {\n startNumber = 1;\n showFirstDots = false;\n } else if (startNumber > numberOfPages - numberOfLinks) {\n startNumber = numberOfPages - numberOfLinks + 1;\n showLastDots = false;\n }\n\n if (showFirstDots && firstNumber && startNumber < 4) {\n numberOfLinks = numberOfLinks + 2;\n startNumber = 1;\n showFirstDots = false;\n }\n\n var lastPageNumber = startNumber + numberOfLinks - 1;\n\n if (showLastDots && lastNumber && lastPageNumber > numberOfPages - 3) {\n numberOfLinks = numberOfLinks + (lastPageNumber === numberOfPages - 2 ? 2 : 3);\n showLastDots = false;\n } // Special handling for lower limits (where ellipsis are never shown)\n\n\n if (limit <= ELLIPSIS_THRESHOLD) {\n if (firstNumber && startNumber === 1) {\n numberOfLinks = mathMin(numberOfLinks + 1, numberOfPages, limit + 1);\n } else if (lastNumber && numberOfPages === startNumber + numberOfLinks - 1) {\n startNumber = mathMax(startNumber - 1, 1);\n numberOfLinks = mathMin(numberOfPages - startNumber + 1, numberOfPages, limit + 1);\n }\n }\n\n numberOfLinks = mathMin(numberOfLinks, numberOfPages - startNumber + 1);\n return {\n showFirstDots: showFirstDots,\n showLastDots: showLastDots,\n numberOfLinks: numberOfLinks,\n startNumber: startNumber\n };\n },\n pageList: function pageList() {\n // Generates the pageList array\n var _this$paginationParam = this.paginationParams,\n numberOfLinks = _this$paginationParam.numberOfLinks,\n startNumber = _this$paginationParam.startNumber;\n var currentPage = this.computedCurrentPage; // Generate list of page numbers\n\n var pages = makePageArray(startNumber, numberOfLinks); // We limit to a total of 3 page buttons on XS screens\n // So add classes to page links to hide them for XS breakpoint\n // Note: Ellipsis will also be hidden on XS screens\n // TODO: Make this visual limit configurable based on breakpoint(s)\n\n if (pages.length > 3) {\n var idx = currentPage - startNumber; // THe following is a bootstrap-vue custom utility class\n\n var classes = 'bv-d-xs-down-none';\n\n if (idx === 0) {\n // Keep leftmost 3 buttons visible when current page is first page\n for (var i = 3; i < pages.length; i++) {\n pages[i].classes = classes;\n }\n } else if (idx === pages.length - 1) {\n // Keep rightmost 3 buttons visible when current page is last page\n for (var _i = 0; _i < pages.length - 3; _i++) {\n pages[_i].classes = classes;\n }\n } else {\n // Hide all except current page, current page - 1 and current page + 1\n for (var _i2 = 0; _i2 < idx - 1; _i2++) {\n // hide some left button(s)\n pages[_i2].classes = classes;\n }\n\n for (var _i3 = pages.length - 1; _i3 > idx + 1; _i3--) {\n // hide some right button(s)\n pages[_i3].classes = classes;\n }\n }\n }\n\n return pages;\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function (newValue, oldValue) {\n if (newValue !== oldValue) {\n this.currentPage = sanitizeCurrentPage(newValue, this.localNumberOfPages);\n }\n }), _defineProperty(_watch, \"currentPage\", function currentPage(newValue, oldValue) {\n if (newValue !== oldValue) {\n // Emit `null` if no page selected\n this.$emit(MODEL_EVENT_NAME, newValue > 0 ? newValue : null);\n }\n }), _defineProperty(_watch, \"limit\", function limit(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.localLimit = sanitizeLimit(newValue);\n }\n }), _watch),\n created: function created() {\n var _this = this;\n\n // Set our default values in data\n this.localLimit = sanitizeLimit(this.limit);\n this.$nextTick(function () {\n // Sanity check\n _this.currentPage = _this.currentPage > _this.localNumberOfPages ? _this.localNumberOfPages : _this.currentPage;\n });\n },\n methods: {\n handleKeyNav: function handleKeyNav(event) {\n var keyCode = event.keyCode,\n shiftKey = event.shiftKey;\n /* istanbul ignore if */\n\n if (this.isNav) {\n // We disable left/right keyboard navigation in ``\n return;\n }\n\n if (keyCode === CODE_LEFT || keyCode === CODE_UP) {\n stopEvent(event, {\n propagation: false\n });\n shiftKey ? this.focusFirst() : this.focusPrev();\n } else if (keyCode === CODE_RIGHT || keyCode === CODE_DOWN) {\n stopEvent(event, {\n propagation: false\n });\n shiftKey ? this.focusLast() : this.focusNext();\n }\n },\n getButtons: function getButtons() {\n // Return only buttons that are visible\n return selectAll('button.page-link, a.page-link', this.$el).filter(function (btn) {\n return isVisible(btn);\n });\n },\n focusCurrent: function focusCurrent() {\n var _this2 = this;\n\n // We do this in `$nextTick()` to ensure buttons have finished rendering\n this.$nextTick(function () {\n var btn = _this2.getButtons().find(function (el) {\n return toInteger(getAttr(el, 'aria-posinset'), 0) === _this2.computedCurrentPage;\n });\n\n if (!attemptFocus(btn)) {\n // Fallback if current page is not in button list\n _this2.focusFirst();\n }\n });\n },\n focusFirst: function focusFirst() {\n var _this3 = this;\n\n // We do this in `$nextTick()` to ensure buttons have finished rendering\n this.$nextTick(function () {\n var btn = _this3.getButtons().find(function (el) {\n return !isDisabled(el);\n });\n\n attemptFocus(btn);\n });\n },\n focusLast: function focusLast() {\n var _this4 = this;\n\n // We do this in `$nextTick()` to ensure buttons have finished rendering\n this.$nextTick(function () {\n var btn = _this4.getButtons().reverse().find(function (el) {\n return !isDisabled(el);\n });\n\n attemptFocus(btn);\n });\n },\n focusPrev: function focusPrev() {\n var _this5 = this;\n\n // We do this in `$nextTick()` to ensure buttons have finished rendering\n this.$nextTick(function () {\n var buttons = _this5.getButtons();\n\n var index = buttons.indexOf(getActiveElement());\n\n if (index > 0 && !isDisabled(buttons[index - 1])) {\n attemptFocus(buttons[index - 1]);\n }\n });\n },\n focusNext: function focusNext() {\n var _this6 = this;\n\n // We do this in `$nextTick()` to ensure buttons have finished rendering\n this.$nextTick(function () {\n var buttons = _this6.getButtons();\n\n var index = buttons.indexOf(getActiveElement());\n\n if (index < buttons.length - 1 && !isDisabled(buttons[index + 1])) {\n attemptFocus(buttons[index + 1]);\n }\n });\n }\n },\n render: function render(h) {\n var _this7 = this;\n\n var disabled = this.disabled,\n labelPage = this.labelPage,\n ariaLabel = this.ariaLabel,\n isNav = this.isNav,\n numberOfPages = this.localNumberOfPages,\n currentPage = this.computedCurrentPage;\n var pageNumbers = this.pageList.map(function (p) {\n return p.number;\n });\n var _this$paginationParam2 = this.paginationParams,\n showFirstDots = _this$paginationParam2.showFirstDots,\n showLastDots = _this$paginationParam2.showLastDots;\n var fill = this.align === 'fill';\n var $buttons = []; // Helper function and flag\n\n var isActivePage = function isActivePage(pageNumber) {\n return pageNumber === currentPage;\n };\n\n var noCurrentPage = this.currentPage < 1; // Factory function for prev/next/first/last buttons\n\n var makeEndBtn = function makeEndBtn(linkTo, ariaLabel, btnSlot, btnText, btnClass, pageTest, key) {\n var isDisabled = disabled || isActivePage(pageTest) || noCurrentPage || linkTo < 1 || linkTo > numberOfPages;\n var pageNumber = linkTo < 1 ? 1 : linkTo > numberOfPages ? numberOfPages : linkTo;\n var scope = {\n disabled: isDisabled,\n page: pageNumber,\n index: pageNumber - 1\n };\n var $btnContent = _this7.normalizeSlot(btnSlot, scope) || toString(btnText) || h();\n var $inner = h(isDisabled ? 'span' : isNav ? BLink : 'button', {\n staticClass: 'page-link',\n class: {\n 'flex-grow-1': !isNav && !isDisabled && fill\n },\n props: isDisabled || !isNav ? {} : _this7.linkProps(linkTo),\n attrs: {\n role: isNav ? null : 'menuitem',\n type: isNav || isDisabled ? null : 'button',\n tabindex: isDisabled || isNav ? null : '-1',\n 'aria-label': ariaLabel,\n 'aria-controls': _this7.ariaControls || null,\n 'aria-disabled': isDisabled ? 'true' : null\n },\n on: isDisabled ? {} : {\n '!click': function click(event) {\n _this7.onClick(event, linkTo);\n },\n keydown: onSpaceKey\n }\n }, [$btnContent]);\n return h('li', {\n key: key,\n staticClass: 'page-item',\n class: [{\n disabled: isDisabled,\n 'flex-fill': fill,\n 'd-flex': fill && !isNav && !isDisabled\n }, btnClass],\n attrs: {\n role: isNav ? null : 'presentation',\n 'aria-hidden': isDisabled ? 'true' : null\n }\n }, [$inner]);\n }; // Ellipsis factory\n\n\n var makeEllipsis = function makeEllipsis(isLast) {\n return h('li', {\n staticClass: 'page-item',\n class: ['disabled', 'bv-d-xs-down-none', fill ? 'flex-fill' : '', _this7.ellipsisClass],\n attrs: {\n role: 'separator'\n },\n key: \"ellipsis-\".concat(isLast ? 'last' : 'first')\n }, [h('span', {\n staticClass: 'page-link'\n }, [_this7.normalizeSlot(SLOT_NAME_ELLIPSIS_TEXT) || toString(_this7.ellipsisText) || h()])]);\n }; // Page button factory\n\n\n var makePageButton = function makePageButton(page, idx) {\n var pageNumber = page.number;\n var active = isActivePage(pageNumber) && !noCurrentPage; // Active page will have tabindex of 0, or if no current page and first page button\n\n var tabIndex = disabled ? null : active || noCurrentPage && idx === 0 ? '0' : '-1';\n var attrs = {\n role: isNav ? null : 'menuitemradio',\n type: isNav || disabled ? null : 'button',\n 'aria-disabled': disabled ? 'true' : null,\n 'aria-controls': _this7.ariaControls || null,\n 'aria-label': hasPropFunction(labelPage) ?\n /* istanbul ignore next */\n labelPage(pageNumber) : \"\".concat(isFunction(labelPage) ? labelPage() : labelPage, \" \").concat(pageNumber),\n 'aria-checked': isNav ? null : active ? 'true' : 'false',\n 'aria-current': isNav && active ? 'page' : null,\n 'aria-posinset': isNav ? null : pageNumber,\n 'aria-setsize': isNav ? null : numberOfPages,\n // ARIA \"roving tabindex\" method (except in `isNav` mode)\n tabindex: isNav ? null : tabIndex\n };\n var btnContent = toString(_this7.makePage(pageNumber));\n var scope = {\n page: pageNumber,\n index: pageNumber - 1,\n content: btnContent,\n active: active,\n disabled: disabled\n };\n var $inner = h(disabled ? 'span' : isNav ? BLink : 'button', {\n props: disabled || !isNav ? {} : _this7.linkProps(pageNumber),\n staticClass: 'page-link',\n class: {\n 'flex-grow-1': !isNav && !disabled && fill\n },\n attrs: attrs,\n on: disabled ? {} : {\n '!click': function click(event) {\n _this7.onClick(event, pageNumber);\n },\n keydown: onSpaceKey\n }\n }, [_this7.normalizeSlot(SLOT_NAME_PAGE, scope) || btnContent]);\n return h('li', {\n staticClass: 'page-item',\n class: [{\n disabled: disabled,\n active: active,\n 'flex-fill': fill,\n 'd-flex': fill && !isNav && !disabled\n }, page.classes, _this7.pageClass],\n attrs: {\n role: isNav ? null : 'presentation'\n },\n key: \"page-\".concat(pageNumber)\n }, [$inner]);\n }; // Goto first page button\n // Don't render button when `hideGotoEndButtons` or `firstNumber` is set\n\n\n var $firstPageBtn = h();\n\n if (!this.firstNumber && !this.hideGotoEndButtons) {\n $firstPageBtn = makeEndBtn(1, this.labelFirstPage, SLOT_NAME_FIRST_TEXT, this.firstText, this.firstClass, 1, 'pagination-goto-first');\n }\n\n $buttons.push($firstPageBtn); // Goto previous page button\n\n $buttons.push(makeEndBtn(currentPage - 1, this.labelPrevPage, SLOT_NAME_PREV_TEXT, this.prevText, this.prevClass, 1, 'pagination-goto-prev')); // Show first (1) button?\n\n $buttons.push(this.firstNumber && pageNumbers[0] !== 1 ? makePageButton({\n number: 1\n }, 0) : h()); // First ellipsis\n\n $buttons.push(showFirstDots ? makeEllipsis(false) : h()); // Individual page links\n\n this.pageList.forEach(function (page, idx) {\n var offset = showFirstDots && _this7.firstNumber && pageNumbers[0] !== 1 ? 1 : 0;\n $buttons.push(makePageButton(page, idx + offset));\n }); // Last ellipsis\n\n $buttons.push(showLastDots ? makeEllipsis(true) : h()); // Show last page button?\n\n $buttons.push(this.lastNumber && pageNumbers[pageNumbers.length - 1] !== numberOfPages ? makePageButton({\n number: numberOfPages\n }, -1) : h()); // Goto next page button\n\n $buttons.push(makeEndBtn(currentPage + 1, this.labelNextPage, SLOT_NAME_NEXT_TEXT, this.nextText, this.nextClass, numberOfPages, 'pagination-goto-next')); // Goto last page button\n // Don't render button when `hideGotoEndButtons` or `lastNumber` is set\n\n var $lastPageBtn = h();\n\n if (!this.lastNumber && !this.hideGotoEndButtons) {\n $lastPageBtn = makeEndBtn(numberOfPages, this.labelLastPage, SLOT_NAME_LAST_TEXT, this.lastText, this.lastClass, numberOfPages, 'pagination-goto-last');\n }\n\n $buttons.push($lastPageBtn); // Assemble the pagination buttons\n\n var $pagination = h('ul', {\n staticClass: 'pagination',\n class: ['b-pagination', this.btnSize, this.alignment, this.styleClass],\n attrs: {\n role: isNav ? null : 'menubar',\n 'aria-disabled': disabled ? 'true' : 'false',\n 'aria-label': isNav ? null : ariaLabel || null\n },\n // We disable keyboard left/right nav when ``\n on: isNav ? {} : {\n keydown: this.handleKeyNav\n },\n ref: 'ul'\n }, $buttons); // If we are ``, wrap in `