{"version":3,"sources":["webpack:///./node_modules/bootstrap-vue/esm/components/spinner/spinner.js","webpack:///./src/@core/components/statistics-cards/StatisticCardHorizontal.vue?ee3a","webpack:///src/@core/components/statistics-cards/StatisticCardHorizontal.vue","webpack:///./src/@core/components/statistics-cards/StatisticCardHorizontal.vue?ae80","webpack:///./src/@core/components/statistics-cards/StatisticCardHorizontal.vue","webpack:///./node_modules/bootstrap-vue/esm/components/form/form.js","webpack:///./node_modules/core-js/internals/same-value.js","webpack:///./src/views/pages/account-setting/AccountSettingPassword.vue?0c04","webpack:///./node_modules/vue-cleave-component/dist/vue-cleave.min.js","webpack:///./src/@core/components/toastification/ToastificationContent.vue?7559","webpack:///src/@core/components/toastification/ToastificationContent.vue","webpack:///./src/@core/components/toastification/ToastificationContent.vue?512b","webpack:///./src/@core/components/toastification/ToastificationContent.vue","webpack:///./src/@core/components/app-timeline/AppTimeline.vue?3269","webpack:///./node_modules/bootstrap-vue/esm/mixins/has-listener.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/tr.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-bottom-row.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/td.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-busy.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-caption.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-colgroup.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-empty.js","webpack:///./node_modules/bootstrap-vue/esm/utils/stringify-object-values.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/constants.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/sanitize-row.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/stringify-record-values.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-filtering.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/normalize-fields.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-items.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-pagination.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-provider.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-selectable.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-sorting.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/default-sort-compare.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-stacked.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-table-renderer.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/tbody.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/filter-event.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/text-selection-active.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/th.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-tbody-row.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-tbody.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/tfoot.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-tfoot.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/thead.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-thead.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-top-row.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/table.js","webpack:///./src/@core/components/toastification/ToastificationContent.vue?bb93","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group-prepend.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group-addon.js","webpack:///./src/views/pages/account-setting/AccountSettingInformation.vue?f082","webpack:///./node_modules/bootstrap-vue/esm/components/nav/nav.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group.js","webpack:///./node_modules/flatpickr/dist/esm/types/options.js","webpack:///./node_modules/flatpickr/dist/esm/l10n/default.js","webpack:///./node_modules/flatpickr/dist/esm/utils/index.js","webpack:///./node_modules/flatpickr/dist/esm/utils/dom.js","webpack:///./node_modules/flatpickr/dist/esm/utils/formatting.js","webpack:///./node_modules/flatpickr/dist/esm/utils/dates.js","webpack:///./node_modules/flatpickr/dist/esm/index.js","webpack:///./node_modules/bootstrap-vue/esm/components/alert/alert.js","webpack:///./node_modules/bootstrap-vue/esm/components/tabs/tab.js","webpack:///./node_modules/flatpickr/dist/esm/utils/polyfills.js","webpack:///./node_modules/cleave.js/dist/cleave-esm.js","webpack:///./node_modules/core-js/modules/es.string.search.js","webpack:///./src/views/pages/account-setting/AccountSetting.vue?5abc","webpack:///./src/views/pages/account-setting/AccountSettingGeneral.vue?6653","webpack:///./src/@core/components/app-timeline/AppTimeline.vue?19c3","webpack:///src/@core/components/app-timeline/AppTimeline.vue","webpack:///./src/@core/components/app-timeline/AppTimeline.vue?7188","webpack:///./src/@core/components/app-timeline/AppTimeline.vue","webpack:///./src/@core/components/app-timeline/AppTimelineItem.vue?4886","webpack:///src/@core/components/app-timeline/AppTimelineItem.vue","webpack:///./src/@core/components/app-timeline/AppTimelineItem.vue?f657","webpack:///./src/@core/components/app-timeline/AppTimelineItem.vue","webpack:///src/views/pages/account-setting/AccountSettingGeneral.vue","webpack:///./src/views/pages/account-setting/AccountSettingGeneral.vue?1e12","webpack:///./src/views/pages/account-setting/AccountSettingGeneral.vue","webpack:///./src/views/pages/account-setting/AccountSettingPassword.vue?a48f","webpack:///src/views/pages/account-setting/AccountSettingPassword.vue","webpack:///./src/views/pages/account-setting/AccountSettingPassword.vue?ae83","webpack:///./src/views/pages/account-setting/AccountSettingPassword.vue","webpack:///./src/views/pages/account-setting/AccountSessions.vue?0629","webpack:///src/views/pages/account-setting/AccountSessions.vue","webpack:///./src/views/pages/account-setting/AccountSessions.vue?b56d","webpack:///./src/views/pages/account-setting/AccountSessions.vue","webpack:///./src/views/pages/account-setting/AccountSettingInformation.vue?9399","webpack:///src/views/pages/account-setting/AccountSettingInformation.vue","webpack:///./src/views/pages/account-setting/AccountSettingInformation.vue?d0e4","webpack:///./src/views/pages/account-setting/AccountSettingInformation.vue","webpack:///./src/views/pages/account-setting/AccountSettingSocial.vue?dbf8","webpack:///src/views/pages/account-setting/AccountSettingSocial.vue","webpack:///./src/views/pages/account-setting/AccountSettingSocial.vue?5871","webpack:///./src/views/pages/account-setting/AccountSettingSocial.vue","webpack:///./src/views/pages/account-setting/AccountSettingNotification.vue?a9d8","webpack:///src/views/pages/account-setting/AccountSettingNotification.vue","webpack:///./src/views/pages/account-setting/AccountSettingNotification.vue?1b45","webpack:///./src/views/pages/account-setting/AccountSettingNotification.vue","webpack:///src/views/pages/account-setting/AccountSetting.vue","webpack:///./src/views/pages/account-setting/AccountSetting.vue?4265","webpack:///./src/views/pages/account-setting/AccountSetting.vue","webpack:///./node_modules/bootstrap-vue/esm/utils/stable-sort.js","webpack:///./src/@core/components/app-timeline/AppTimelineItem.vue?2150","webpack:///./node_modules/bootstrap-vue/esm/components/overlay/overlay.js","webpack:///./node_modules/bootstrap-vue/esm/directives/visible/visible.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-textarea/form-textarea.js","webpack:///./node_modules/bootstrap-vue/esm/components/layout/row.js","webpack:///./node_modules/vue-flatpickr-component/dist/vue-flatpickr.min.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group-append.js","webpack:///./node_modules/bootstrap-vue/esm/components/input-group/input-group-text.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-text.js","webpack:///./src/views/pages/account-setting/AccountSettingGeneral.vue?6813","webpack:///./node_modules/bootstrap-vue/esm/utils/noop.js","webpack:///./node_modules/cleave.js/dist/addons/cleave-phone.us.js","webpack:///./node_modules/bootstrap-vue/esm/components/tabs/tabs.js","webpack:///./src/views/pages/account-setting/AccountSettingNotification.vue?d6a9"],"names":["_defineProperty","obj","key","value","Object","defineProperty","enumerable","configurable","writable","props","label","role","small","tag","type","variant","BSpinner","extend","name","functional","render","h","_ref","_class","data","slots","scopedSlots","$slots","$scopedSlots","$label","staticClass","attrs","class","concat","_vm","this","_h","$createElement","_c","_self","_v","_s","statistic","statisticTitle","color","icon","staticRenderFns","components","BCard","BCardBody","BAvatar","String","required","Number","default","component","id","inline","novalidate","validated","BForm","children","module","exports","is","x","y","e","t","self","n","r","o","i","l","call","m","c","d","get","Symbol","toStringTag","__esModule","create","bind","prototype","hasOwnProperty","p","s","u","assign","arguments","length","apply","a","on","blur","onBlur","validator","options","raw","Boolean","cleave","onValueChangedFn","mounted","$el","getOptions","methods","onValueChanged","target","rawValue","$emit","watch","deep","handler","destroy","setRawValue","getRawValue","beforeDestroy","install","domProps","title","_e","text","$event","hideClose","hasListenerMixin","hasListener","$listeners","$events","_events","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","push","_objectSpread","source","forEach","getOwnPropertyDescriptors","defineProperties","LIGHT","DARK","BTr","mixins","listeners","provide","bvTableTr","inject","bvTableRowGroup","inheritAttrs","computed","inTbody","isTbody","inThead","isThead","inTfoot","isTfoot","isDark","isStacked","isResponsive","isStickyHeader","hasStickyHeader","tableVariant","headVariant","footVariant","isRowDark","trClasses","trAttrs","bvAttrs","bvListeners","normalizeSlot","bottomRowMixin","renderBottomRow","fields","computedFields","stacked","tbodyTrClass","tbodyTrAttr","hasNormalizedSlot","columns","colspan","rowspan","stackedHeading","stickyColumn","BTd","isStackedCell","isStickyColumn","rowVariant","computedColspan","computedRowspan","cellClasses","cellAttrs","headOrFoot","scope","$content","MODEL_PROP_NAME_BUSY","MODEL_EVENT_NAME_BUSY","busyMixin","localBusy","computedBusy","newValue","oldValue","stopIfBusy","event","renderBusy","caption","captionHtml","captionMixin","captionId","safeId","renderCaption","$caption","hasCaptionSlot","html","colgroupMixin","renderColgroup","$colgroup","emptyFilteredHtml","emptyFilteredText","emptyHtml","emptyText","showEmpty","emptyMixin","renderEmpty","items","computedItems","$empty","isFiltered","stringifyObjectValues","sort","map","k","v","join","FIELD_KEY_CELL_VARIANT","FIELD_KEY_ROW_VARIANT","FIELD_KEY_SHOW_DETAILS","IGNORED_FIELD_KEYS","reduce","result","EVENT_FILTER","row","ignoreFields","includeFields","fieldsObj","undefined","formattedRow","field","filterByFormatted","formatter","allowedKeys","array","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","minLen","_arrayLikeToArray","toString","slice","constructor","Array","from","test","iter","iterator","isArray","len","arr2","DEBOUNCE_DEPRECATED_MSG","filterDebounce","filterFunction","filterIgnoredFields","filterIncludedFields","filteringMixin","localFilter","filterSanitize","computedFilterIgnored","identity","computedFilterIncluded","computedFilterDebounce","ms","warn","localFiltering","hasProvider","noProviderFiltering","filteredCheck","filteredItems","localItems","localFilterFn","criteria","filterFn","filterFnFactory","defaultFilterFnFactory","$_filterTimer","clearFilterTimer","newCriteria","_this","timeout","setTimeout","created","_this2","$nextTick","clearTimeout","fn","item","_this3","regExp","pattern","replace","RegExp","lastIndex","computedFieldsObj","origFields","f","sample","memo","_makeModelMixin","defaultValue","modelMixin","mixin","modelProps","MODEL_PROP_NAME","prop","MODEL_EVENT_NAME","primaryKey","itemsMixin","$parent","paginatedItems","sortedItems","context","sortBy","localSortBy","sortDesc","localSortDesc","perPage","math","currentPage","apiUrl","getFieldFormatter","paginationMixin","localPaging","noProviderPaging","ROOT_EVENT_NAME_REFRESHED","ROOT_ACTION_EVENT_NAME_REFRESH","noProviderSorting","providerMixin","providerTriggerContext","ctx","_providerUpdate","listenOnRoot","refresh","$off","$on","clearSelected","_providerSetLocal","emitOnRoot","then","message","_props","_watch","SELECT_MODES","noSelectOnClick","selectMode","selectable","selectedVariant","selectableMixin","selectedRows","selectedLastRow","isSelectable","hasSelectableRowClick","supportsSelectableRows","selectableHasSelection","some","selectableIsMultiSelect","selectableTableClasses","selectableTableAttrs","equal","setSelectionHandlers","_selectedRows","idx","beforeMount","selectRow","index","isRowSelected","selectedLastClicked","unselectRow","selectAllRows","selectableRowClasses","dark","selectableRowAttrs","method","selectionHandler","selected","shiftKey","ctrlKey","metaKey","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","sortable","sortCompareLocale","sortNullLast","sortCompare","sortCompareOptions","usage","sortByFormatted","handleSort","isFoot","sortChanged","toggleLocalSortDesc","sortDirection","sortKey","sortTheadThClasses","sortIconLeft","sortTheadThAttrs","ariaSort","sortTheadThLabel","labelSorting","stackedMixin","isStackedAlways","stackedTableClasses","bordered","borderless","captionTop","fixed","hover","noBorderCollapse","outlined","responsive","stickyHeader","striped","tableClass","tableRendererMixin","bvTable","wrapperClasses","wrapperStyles","maxHeight","tableClasses","isTableSimple","border","tableAttrs","adb","ariaAttrs","rowCount","renderThead","renderTbody","renderTfoot","$table","style","tbodyTransitionHandlers","tbodyTransitionProps","BTbody","isTransitionGroup","tbodyAttrs","tbodyProps","nativeOn","TABLE_TAG_NAMES","el","disabled","indexOf","tagName","labelFor","input","document","sel","trim","containsNode","BTh","extends","detailsTdClass","tbodyRowMixin","getTdValues","tdValue","getThValues","thValue","getFormattedValue","toggleDetailsFactory","hasDetailsSlot","$set","rowHovered","tbodyRowEvtStopped","emitTbodyRowEvent","rowUnhovered","renderTbodyRowCell","colIndex","rowIndex","isRowHeader","formatted","cellTag","cellVariant","tdClass","thAttr","tdAttr","slotScope","unformatted","toggleDetails","detailsShowing","rowSelected","slotName","$_bodyFieldSlotNameCache","$childNodes","renderTbodyRow","rowShowDetails","hasRowClickHandler","$rows","detailsId","$tds","ariaRowIndex","primaryKeyValue","rowKey","rowId","selectableClasses","selectableAttrs","userTrClasses","userTrAttrs","tabindex","mouseenter","mouseleave","ref","refInFor","detailsScope","$details","userDetailsTrClasses","userDetailsTrAttrs","getCellSlotName","tbodyClass","tbodyMixin","getTbodyTrs","$refs","tbody","trs","tr","getTbodyTrIndex","onTbodyRowKeydown","keyCode","tabIndex","onTBodyRowClicked","shift","onTbodyRowMiddleMouseRowClicked","which","onTbodyRowContextmenu","onTbodyRowDblClicked","renderTopRow","$busy","cache","defaultSlotName","lowercaseSlotName","toLowerCase","handlers","auxclick","contextmenu","dblclick","click","keydown","$tbody","$props","BTfoot","tfootClasses","tfootAttrs","footClone","footRowVariant","tfootClass","tfootTrClass","tfootMixin","renderTFootCustom","BThead","theadClasses","theadAttrs","getHeadSlotName","getFootSlotName","headRowVariant","theadClass","theadTrClass","theadMixin","fieldClasses","thClass","headClicked","hasHeadClickListener","noop","makeCell","labelHtml","ariaLabel","headerTitle","sortAttrs","sortClass","sortLabel","thStyle","abbr","headerAbbr","slotNames","column","$srLabel","$cells","$trs","topRowMixin","BTable","BInputGroupPrepend","append","isText","BInputGroupAddon","computeJustifyContent","align","cardHeader","fill","justified","pills","tabs","vertical","BNav","appendHtml","prepend","prependHtml","size","BInputGroup","$prepend","hasPrependSlot","$append","hasAppendSlot","HOOKS","_disable","allowInput","allowInvalidPreload","altFormat","altInput","altInputClass","animate","window","navigator","userAgent","ariaDateFormat","autoFillDefaultTime","clickOpens","closeOnSelect","conjunction","dateFormat","defaultHour","defaultMinute","defaultSeconds","disable","disableMobile","enableSeconds","enableTime","errorHandler","err","console","getWeek","givenDate","date","Date","getTime","setHours","setDate","getDate","getDay","week1","getFullYear","Math","round","hourIncrement","ignoredFocusElements","minuteIncrement","mode","monthSelectorType","nextArrow","noCalendar","now","onChange","onClose","onDayCreate","onDestroy","onKeyDown","onMonthChange","onOpen","onParseConfig","onReady","onValueUpdate","onYearChange","onPreCalendarPosition","plugins","position","positionElement","prevArrow","shorthandCurrentMonth","showMonths","static","time_24hr","weekNumbers","wrap","english","weekdays","shorthand","longhand","months","daysInMonth","firstDayOfWeek","ordinal","nth","rangeSeparator","weekAbbreviation","scrollTitle","toggleTitle","amPM","yearAriaLabel","monthAriaLabel","hourAriaLabel","minuteAriaLabel","pad","number","bool","debounce","wait","args","arrayify","toggleClass","elem","className","classList","add","remove","createElement","content","textContent","clearNode","node","firstChild","removeChild","findParent","condition","parentNode","createNumberInput","inputClassName","opts","wrapper","numInput","arrowUp","arrowDown","setAttribute","appendChild","getEventTarget","composedPath","path","error","doNothing","monthToStr","monthNumber","revFormat","D","F","dateObj","monthName","setMonth","G","hour","getHours","parseFloat","H","J","day","K","M","shortMonth","S","seconds","setSeconds","U","_","unixSeconds","W","weekNum","weekNumber","parseInt","Y","year","setFullYear","Z","ISODate","minutes","setMinutes","j","month","unixMillSeconds","w","tokenRegex","toISOString","getMonth","getSeconds","getMinutes","substring","createDateFormatter","_a","_b","config","l10n","_d","isMobile","frmt","overrideLocale","formatDate","split","createDateParser","givenFormat","timeless","customLocale","parsedDate","dateOrig","toFixed","format","datestr","parseDate","matched","ops","matchIndex","regexStr","token","isBackSlash","escaped","match","exec","val","isNaN","Error","compareDates","date1","date2","isBetween","ts","ts1","ts2","min","max","calculateSecondsSinceMidnight","hours","parseSeconds","secondsSinceMidnight","floor","duration","DAY","getDefaultHours","minDate","minHour","minMinutes","minSeconds","maxDate","maxHr","maxMinutes","__assign","__spreadArrays","il","jl","DEBOUNCED_CHANGE_MS","FlatpickrInstance","element","instanceConfig","flatpickr","defaultConfig","setupHelperFunctions","utils","getDaysInMonth","yr","currentMonth","currentYear","init","isOpen","parseConfig","setupLocale","setupInputs","setupDates","build","bindEvents","selectedDates","setHoursFromDate","latestSelectedDateObj","updateValue","setCalendarWidth","isSafari","positionCalendar","triggerEvent","getClosestActiveElement","calendarContainer","getRootNode","activeElement","bindToInstance","requestAnimationFrame","visibility","display","daysContainer","daysWidth","days","offsetWidth","width","weekWrapper","removeProperty","updateTime","defaultDate","defaults","getMilliseconds","timeWrapper","prevValue","_input","setHoursFromInputs","_debouncedChange","ampm2military","military2ampm","hourElement","minuteElement","secondElement","limitMinHours","minTime","minDateHasTime","limitMaxHours","maxTime","maxDateHasTime","minBound","maxBound","currentTime","onYearInput","eventTarget","delta","changeYear","ev","addEventListener","_handlers","removeEventListener","triggerChange","evt","querySelectorAll","setupMobile","debouncedResize","onResize","onMouseOver","ontouchstart","documentClick","capture","open","monthNav","onMonthNavClick","selectDate","timeContainer","selText","select","timeIncrement","jumpToDate","jumpDate","jumpTo","oldYear","oldMonth","buildMonthSwitch","redraw","incrementNumInput","contains","inputElem","createEvent","dispatchEvent","fragment","createDocumentFragment","buildMonthNav","innerContainer","buildWeeks","rContainer","buildWeekdays","buildDays","buildTime","customAppend","appendTo","nodeType","insertBefore","nextSibling","body","createDay","_dayNumber","dateIsEnabled","isEnabled","dayElement","$i","todayDateElem","isDateSelected","selectedDateElem","isDateInRange","insertAdjacentHTML","focusOnDayElem","targetNode","focus","getFirstAvailableDay","startMonth","endMonth","startIndex","endIndex","getNextAvailableDay","current","givenMonth","loopDelta","numMonthDays","abs","changeMonth","focusOnDay","offset","dayFocused","isInView","startElem","buildMonthDays","firstOfMonth","prevMonthDays","isMultiMonth","prevMonthDayClass","nextMonthDayClass","dayNumber","dayIndex","dayNum","dayContainer","frag","shouldBuildMonth","monthsDropdownContainer","innerHTML","buildMonth","monthElement","container","monthNavFragment","selectedMonth","yearInput","yearElement","getElementsByTagName","buildMonths","prevMonthNav","yearElements","monthElements","nextMonthNav","__hidePrevMonthArrow","set","__hideNextMonthArrow","currentYearElement","updateNavigationCurrentMonth","separator","hourInput","minuteInput","secondInput","getAttribute","weekdayContainer","updateWeekdays","splice","isOffset","_hidePrevMonthArrow","_hideNextMonthArrow","clear","triggerChangeEvent","toInitial","mobileInput","_initialDate","close","lastChild","_type","removeAttribute","isCalendarElem","eventTarget_1","isCalendarElement","isInput","lostFocus","relatedTarget","isIgnored","newYear","newYearNum","isNewYear","dateToCheck","enable","parsed","to","valueChanged","trimEnd","getDateStr","allowKeydown","allowInlineKeydown","isTimeObj","preventDefault","focusAndClose","delta_1","stopPropagation","elems","pluginElements","charAt","cellClass","hoverDate","firstElementChild","initialDate","rangeStartDate","rangeEndDate","containsDisabled","minRange","maxRange","hoverableCells","dayElem","timestamp","outOfRange","_positionElement","wasOpen","minMaxDateSetter","inverseDateObj","boolOpts","userConfig","JSON","parse","stringify","dataset","formats","_enable","dates","parseDateRules","timeMode","defaultDateFormat","defaultAltFormat","_minDate","_maxDate","minMaxTimeSetter","_minTime","_maxTime","hook","pluginConf","getInputElem","querySelector","l10ns","customPositionElement","calendarHeight","acc","child","offsetHeight","calendarWidth","configPos","configPosVertical","configPosHorizontal","inputBounds","getBoundingClientRect","distanceFromBottom","innerHeight","bottom","showOnTop","top","pageYOffset","left","pageXOffset","isCenter","isRight","right","rightMost","centerMost","doc","getDocumentStyleSheet","bodyWidth","centerLeft","centerBefore","centerAfter","centerIndex","cssRules","centerStyle","insertRule","editableSheet","styleSheets","sheet","createStyleSheet","head","msMaxTouchPoints","selectedDate","shouldChangeMonth","selectedIndex","single","range","loadedPlugins","_bind","_setHoursFromDate","_positionCalendar","_createElement","toggle","CALLBACKS","updatePositionElement","option","setSelectedDate","inputDate","rule","preloadedDate","nodeName","placeholder","inputType","mobileFormatStr","step","hooks","initEvent","specificFormat","dObj","isPrevMonth","isNextMonth","isKeyDown","curValue","isHourElem","isMinuteElem","_flatpickr","nodeList","nodes","HTMLElement","instances","HTMLCollection","NodeList","selector","Node","en","localize","setDefaults","jQuery","fp_incr","parseCountDown","show","parseShow","dismissLabel","dismissible","fade","BAlert","countDown","localShow","clearCountDownInterval","$_countDownTimeout","dismiss","$alert","$dismissButton","noFade","_objectSpread2","MODEL_PROP_NAME_ACTIVE","MODEL_EVENT_NAME_ACTIVE","BTab","bvTabs","localActive","_isTab","tabClasses","active","card","noBody","activeTabClass","controlledBy","buttonId","computedNoFade","computedLazy","lazy","activate","deactivate","firstTab","registerTab","updated","updateButton","unregisterTab","activateTab","deactivateTab","directives","_i","_loop_1","args_1","NumeralFormatter","numeralDecimalMark","numeralIntegerScale","numeralDecimalScale","numeralThousandsGroupStyle","numeralPositiveOnly","stripLeadingZeroes","prefix","signBeforePrefix","tailPrefix","delimiter","owner","groupStyle","thousand","delimiterRE","lakh","wan","none","parts","partSign","partSignAndPrefix","partInteger","partDecimal","NumeralFormatter_1","DateFormatter","datePattern","dateMin","dateMax","blocks","reverse","unshift","initBlocks","getISOFormatDate","addLeadingZero","getBlocks","getValidatedDate","sub","sub0","rest","getFixedDateString","monthIndex","yearIndex","dayStartIndex","monthStartIndex","yearStartIndex","fullYearDone","getFixedDate","getRangeFixedDate","previous","addLeadingZeroForYear","find","isLeapYear","fullYearMode","DateFormatter_1","TimeFormatter","timePattern","timeFormat","time","getISOFormatTime","getTimeFormatOptions","maxHourFirstDigit","maxHours","maxMinutesFirstDigit","getValidatedTime","timeFormatOptions","getFixedTimeString","second","minute","secondIndex","minuteIndex","hourIndex","secondStartIndex","minuteStartIndex","hourStartIndex","getFixedTime","TimeFormatter_1","PhoneFormatter","setFormatter","phoneNumber","iMax","inputDigit","PhoneFormatter_1","CreditCardDetector","uatp","amex","diners","discover","mastercard","dankort","instapayment","jcb15","jcb","maestro","visa","mir","unionPay","general","re","getStrictBlocks","block","total","prev","getInfo","strictMode","matchedBlocks","CreditCardDetector_1","Util","strip","getPostDelimiter","delimiters","matchedDelimiter","getDelimiterREByDelimiter","getNextCursorPosition","prevPos","getPositionOffset","oldRawValue","newRawValue","lengthOffset","stripDelimiters","letter","headStr","str","getMaxLength","getPrefixStrippedValue","prefixLength","prevResult","noImmediatePrefix","getFirstDiffIndex","blocksLength","delimiterLazyShow","multipleDelimiters","currentDelimiter","fixPrefixCursor","appendix","setSelectionRange","checkFullSelection","selection","getSelection","ex","setSelection","getActiveElement","createTextRange","move","parent","shadowRoot","isAndroid","isAndroidBackspaceKeydown","lastInputValue","currentInputValue","Util_1","DefaultProperties","creditCard","creditCardStrictMode","creditCardType","onCreditCardTypeChanged","phone","phoneRegionCode","phoneFormatter","timeFormatter","dateFormatter","numeral","swapHiddenInput","numericOnly","uppercase","lowercase","rawValueTrimPrefix","copyDelimiter","initValue","delimiterLength","root","commonjsGlobal","maxLength","backspace","DefaultProperties_1","Cleave","hasMultipleElements","properties","pps","isBackward","onChangeListener","onKeyDownListener","onFocusListener","onFocus","onCutListener","onCut","onCopyListener","onCopy","initSwapHiddenInput","initPhoneFormatter","initDateFormatter","initTimeFormatter","initNumeralFormatter","onInput","inputFormatter","cloneNode","elementSwapHidden","numeralFormatter","AsYouTypeFormatter","charCode","postDelimiter","postDelimiterBackspace","copyClipboardData","inputValue","textToCopy","clipboardData","setData","postDelimiterAfter","updateValueState","toUpperCase","updateCreditCardPropsByValue","creditCardInfo","endPos","selectionEnd","callOnValueChanged","setPhoneRegionCode","Cleave_1","fixRegExpWellKnownSymbolLogic","anObject","requireObjectCoercible","sameValue","regExpExec","SEARCH","nativeSearch","maybeCallNative","regexp","O","searcher","res","done","rx","previousLastIndex","_u","proxy","update","user","plan","fecha_inicio","fecha_fin","model","callback","$$v","expression","isValidCliente","verifyRuc","_t","fillBorder","subtitle","BButton","BFormGroup","BFormRadioGroup","BFormInput","BRow","BCol","BCardText","BFormInvalidFeedback","BFormValidFeedback","BOverlay","flatPickr","AppTimeline","AppTimelineItem","Ripple","setup","search","userData","localStorage","getItem","idusuario","tipo_iden","identificacion","surname","email","telefono","direccion","fechanacimiento","tipo_identificacion","$http","response","catch","showToast","params","put","$toast","ToastificationContent","passwordFieldTypeNew","isValidPassword","newPasswordValue","passwordToggleIconNew","togglePasswordNew","passwordFieldTypeRetype","confirmPassword","RetypePassword","passwordToggleIconRetype","togglePasswordRetype","loading","rawName","modifiers","btnPassword","updatePassword","BInputGroupAppend","passwordValueOld","passwordFieldTypeOld","passwordToggleIconOld","togglePasswordOld","url","me","password","totalRows","confirmDelete","StatisticCardHorizontal","log","$swal","showCancelButton","confirmButtonText","customClass","confirmButton","cancelButton","buttonsStyling","delete","post","localOptions","$store","state","appConfig","isRTL","countryOption","clevePhone","resetForm","BFormTextarea","vSelect","informationData","socialLinks","connections","twitter","profileImg","google","BLink","socialData","BFormCheckbox","BTabs","AccountSettingGeneral","AccountSettingPassword","AccountSessions","AccountSettingInformation","AccountSettingSocial","AccountSettingNotification","beforeCreate","stableSort","compareFn","POSITION_COVER","bgColor","noCenter","noWrap","opacity","overlayTag","rounded","spinnerSmall","spinnerType","spinnerVariant","wrapTag","zIndex","computedRounded","computedVariant","defaultOverlayFn","$overlay","$background","backgroundColor","backdropFilter","transform","appear","_classCallCheck","instance","Constructor","_defineProperties","descriptor","_createClass","protoProps","staticProps","OBSERVER_PROP_NAME","VisibilityObserver","vnode","margin","once","observer","visible","doneOnce","createObserver","stop","IntersectionObserver","rootMargin","threshold","_unused","observe","entries","entry","isIntersecting","intersectionRatio","disconnect","mod","_prevModifiers","_ref2","unbind","VBVisible","componentUpdated","maxRows","noAutoShrink","noResize","rows","heightInPx","computedStyle","styles","resize","computedRows","height","overflowY","computedMinRows","computedMaxRows","computedAttrs","form","autocomplete","readonly","plaintext","computedAriaInvalid","computedListeners","change","localValue","setHeight","visibleCallback","computeHeight","$isServer","lineHeight","borderTopWidth","borderBottomWidth","padding","paddingTop","paddingBottom","minHeight","oldHeight","scrollHeight","contentRows","computedClass","COMMON_ALIGNMENT","computeRowColsClass","breakpoint","cols","computeRowColsBreakpoint","rowColsPropList","generateProps","rowColsProps","alignContent","alignH","alignV","noGutters","_classList$push","events","fp","getElem","fpInput","$watch","watchDisabled","immediate","BInputGroupText","textTag","execScript","N","g","q","X","L","clone","A","B","rl","C","nl","ll","al","dl","sl","I","tl","ul","V","lastIndexOf","P","E","$","T","R","ol","z","Q","0","1","2","3","4","6","5","9","10","7","8","21","25","27","28","29","30","31","33","24","11","17","12","13","15","16","18","19","20","22","23","26","AG","AI","AS","BB","BM","BS","CA","DM","DO","GD","GU","JM","KN","KY","LC","MP","MS","PR","SX","TC","TT","US","VC","VG","VI","global","notDisabled","tab","BVTabButton","controls","noKeyNav","posInSet","setSize","link","handleEvt","_this$tab","titleItemClass","titleLinkClass","titleLinkAttributes","$link","activeNavItemClass","navProps","contentClass","end","navClass","navWrapperClass","noNavStyle","currentTab","registeredTabs","localNavClass","classes","$tab","previousTab","nextTab","updateTabs","$_observer","setObserver","$t","childList","subtree","attributes","attributeFilter","getTabs","$tabs","$children","order","getButtonForTab","buttons","$btn","$button","$forceUpdate","tabEvent","cancelable","vueTarget","componentId","defaultPrevented","focusButton","emitTabClick","clickTab","currentIndex","lastTab","_this4","$activeTab","$fallbackTab","$buttons","_on","$nav","col"],"mappings":"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","file":"js/chunk-78394283.8f54516f.js","sourcesContent":["function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_SPINNER } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_LABEL } from '../../constants/slots';\nimport { normalizeSlot } from '../../utils/normalize-slot';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n label: makeProp(PROP_TYPE_STRING),\n role: makeProp(PROP_TYPE_STRING, 'status'),\n small: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'span'),\n type: makeProp(PROP_TYPE_STRING, 'border'),\n variant: makeProp(PROP_TYPE_STRING)\n}, NAME_SPINNER); // --- Main component ---\n// @vue/component\n\nexport var BSpinner = /*#__PURE__*/Vue.extend({\n name: NAME_SPINNER,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots,\n scopedSlots = _ref.scopedSlots;\n var $slots = slots();\n var $scopedSlots = scopedSlots || {};\n var $label = normalizeSlot(SLOT_NAME_LABEL, {}, $scopedSlots, $slots) || props.label;\n\n if ($label) {\n $label = h('span', {\n staticClass: 'sr-only'\n }, $label);\n }\n\n return h(props.tag, mergeData(data, {\n attrs: {\n role: $label ? props.role || 'status' : null,\n 'aria-hidden': $label ? null : 'true'\n },\n class: (_class = {}, _defineProperty(_class, \"spinner-\".concat(props.type), props.type), _defineProperty(_class, \"spinner-\".concat(props.type, \"-sm\"), props.small), _defineProperty(_class, \"text-\".concat(props.variant), props.variant), _class)\n }), [$label || h()]);\n }\n});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',{attrs:{\"no-body\":\"\"}},[_c('b-card-body',{staticClass:\"d-flex justify-content-between align-items-center\"},[_c('div',{staticClass:\"truncate\"},[_c('h2',{staticClass:\"mb-25 font-weight-bolder\"},[_vm._v(\" \"+_vm._s(_vm.statistic)+\" \")]),_c('span',[_vm._v(_vm._s(_vm.statisticTitle))])]),_c('b-avatar',{attrs:{\"variant\":(\"light-\" + _vm.color),\"size\":\"45\"}},[_c('feather-icon',{attrs:{\"size\":\"21\",\"icon\":_vm.icon}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StatisticCardHorizontal.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!./StatisticCardHorizontal.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./StatisticCardHorizontal.vue?vue&type=template&id=5602feb7\"\nimport script from \"./StatisticCardHorizontal.vue?vue&type=script&lang=js\"\nexport * from \"./StatisticCardHorizontal.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { Vue, mergeData } from '../../vue';\nimport { NAME_FORM } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n id: makeProp(PROP_TYPE_STRING),\n inline: makeProp(PROP_TYPE_BOOLEAN, false),\n novalidate: makeProp(PROP_TYPE_BOOLEAN, false),\n validated: makeProp(PROP_TYPE_BOOLEAN, false)\n}, NAME_FORM); // --- Main component ---\n// @vue/component\n\nexport var BForm = /*#__PURE__*/Vue.extend({\n name: NAME_FORM,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h('form', mergeData(data, {\n class: {\n 'form-inline': props.inline,\n 'was-validated': props.validated\n },\n attrs: {\n id: props.id,\n novalidate: props.novalidate\n }\n }), children);\n }\n});","// `SameValue` abstract operation\n// https://tc39.github.io/ecma262/#sec-samevalue\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\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!./AccountSettingPassword.vue?vue&type=style&index=0&id=2976165c&prod&lang=css\"","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t(require(\"cleave.js\")):\"function\"==typeof define&&define.amd?define(\"VueCleave\",[\"cleave.js\"],t):\"object\"==typeof exports?exports.VueCleave=t(require(\"cleave.js\")):e.VueCleave=t(e.Cleave)}(\"undefined\"!=typeof self?self:this,function(e){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,\"a\",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p=\"\",n(n.s=1)}([function(t,n){t.exports=e},function(e,t,n){\"use strict\";n.r(t);var r=n(0),o=n.n(r);function u(){return(u=Object.assign||function(e){for(var t=1;t\n
\n
\n \n \n \n
\n
\n \n \n
\n \n \n \n
\n
\n
\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ToastificationContent.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ToastificationContent.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ToastificationContent.vue?vue&type=template&id=55dd3057&scoped=true\"\nimport script from \"./ToastificationContent.vue?vue&type=script&lang=js\"\nexport * from \"./ToastificationContent.vue?vue&type=script&lang=js\"\nimport style0 from \"./ToastificationContent.vue?vue&type=style&index=0&id=55dd3057&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"55dd3057\",\n null\n \n)\n\nexport default component.exports","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!./AppTimeline.vue?vue&type=style&index=0&id=879a380c&prod&lang=scss&scoped=true\"","// Mixin to determine if an event listener has been registered\n// either via `v-on:name` (in the parent) or programmatically\n// via `vm.$on('name', ...)`\n// See: https://github.com/vuejs/vue/issues/10825\nimport { Vue } from '../vue';\nimport { isArray, isUndefined } from '../utils/inspect'; // @vue/component\n\nexport var hasListenerMixin = Vue.extend({\n methods: {\n hasListener: function hasListener(name) {\n // Only includes listeners registered via `v-on:name`\n var $listeners = this.$listeners || {}; // Includes `v-on:name` and `this.$on('name')` registered listeners\n // Note this property is not part of the public Vue API, but it is\n // the only way to determine if a listener was added via `vm.$on`\n\n var $events = this._events || {}; // Registered listeners in `this._events` are always an array,\n // but might be zero length\n\n return !isUndefined($listeners[name]) || isArray($events[name]) && $events[name].length > 0;\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_TR } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { listenersMixin } from '../../mixins/listeners';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Constants ---\n\nvar LIGHT = 'light';\nvar DARK = 'dark'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n variant: makeProp(PROP_TYPE_STRING)\n}, NAME_TR); // --- Main component ---\n// TODO:\n// In Bootstrap v5, we won't need \"sniffing\" as table element variants properly inherit\n// to the child elements, so this can be converted to a functional component\n// @vue/component\n\nexport var BTr = /*#__PURE__*/Vue.extend({\n name: NAME_TR,\n mixins: [attrsMixin, listenersMixin, normalizeSlotMixin],\n provide: function provide() {\n return {\n bvTableTr: this\n };\n },\n inject: {\n bvTableRowGroup: {\n default:\n /* istanbul ignore next */\n function _default() {\n return {};\n }\n }\n },\n inheritAttrs: false,\n props: props,\n computed: {\n // Sniffed by `` / ``\n inTbody: function inTbody() {\n return this.bvTableRowGroup.isTbody;\n },\n // Sniffed by `` / ``\n inThead: function inThead() {\n return this.bvTableRowGroup.isThead;\n },\n // Sniffed by `` / ``\n inTfoot: function inTfoot() {\n return this.bvTableRowGroup.isTfoot;\n },\n // Sniffed by `` / ``\n isDark: function isDark() {\n return this.bvTableRowGroup.isDark;\n },\n // Sniffed by `` / ``\n isStacked: function isStacked() {\n return this.bvTableRowGroup.isStacked;\n },\n // Sniffed by `` / ``\n isResponsive: function isResponsive() {\n return this.bvTableRowGroup.isResponsive;\n },\n // Sniffed by `` / ``\n // Sticky headers are only supported in thead\n isStickyHeader: function isStickyHeader() {\n return this.bvTableRowGroup.isStickyHeader;\n },\n // Sniffed by / `` / ``\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n hasStickyHeader: function hasStickyHeader() {\n return !this.isStacked && this.bvTableRowGroup.hasStickyHeader;\n },\n // Sniffed by `` / ``\n tableVariant: function tableVariant() {\n return this.bvTableRowGroup.tableVariant;\n },\n // Sniffed by `` / ``\n headVariant: function headVariant() {\n return this.inThead ? this.bvTableRowGroup.headVariant : null;\n },\n // Sniffed by `` / ``\n footVariant: function footVariant() {\n return this.inTfoot ? this.bvTableRowGroup.footVariant : null;\n },\n isRowDark: function isRowDark() {\n return this.headVariant === LIGHT || this.footVariant === LIGHT ?\n /* istanbul ignore next */\n false : this.headVariant === DARK || this.footVariant === DARK ?\n /* istanbul ignore next */\n true : this.isDark;\n },\n trClasses: function trClasses() {\n var variant = this.variant;\n return [variant ? \"\".concat(this.isRowDark ? 'bg' : 'table', \"-\").concat(variant) : null];\n },\n trAttrs: function trAttrs() {\n return _objectSpread({\n role: 'row'\n }, this.bvAttrs);\n }\n },\n render: function render(h) {\n return h('tr', {\n class: this.trClasses,\n attrs: this.trAttrs,\n // Pass native listeners to child\n on: this.bvListeners\n }, this.normalizeSlot());\n }\n});","import { Vue } from '../../../vue';\nimport { SLOT_NAME_BOTTOM_ROW } from '../../../constants/slots';\nimport { isFunction } from '../../../utils/inspect';\nimport { BTr } from '../tr'; // --- Props ---\n\nexport var props = {}; // --- Mixin ---\n// @vue/component\n\nexport var bottomRowMixin = Vue.extend({\n props: props,\n methods: {\n renderBottomRow: function renderBottomRow() {\n var fields = this.computedFields,\n stacked = this.stacked,\n tbodyTrClass = this.tbodyTrClass,\n tbodyTrAttr = this.tbodyTrAttr;\n var h = this.$createElement; // Static bottom row slot (hidden in visibly stacked mode as we can't control the data-label)\n // If in *always* stacked mode, we don't bother rendering the row\n\n if (!this.hasNormalizedSlot(SLOT_NAME_BOTTOM_ROW) || stacked === true || stacked === '') {\n return h();\n }\n\n return h(BTr, {\n staticClass: 'b-table-bottom-row',\n class: [isFunction(tbodyTrClass) ?\n /* istanbul ignore next */\n tbodyTrClass(null, 'row-bottom') : tbodyTrClass],\n attrs: isFunction(tbodyTrAttr) ?\n /* istanbul ignore next */\n tbodyTrAttr(null, 'row-bottom') : tbodyTrAttr,\n key: 'b-bottom-row'\n }, this.normalizeSlot(SLOT_NAME_BOTTOM_ROW, {\n columns: fields.length,\n fields: fields\n }));\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_TABLE_CELL } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { isTag } from '../../utils/dom';\nimport { isUndefinedOrNull } from '../../utils/inspect';\nimport { toInteger } from '../../utils/number';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { toString } from '../../utils/string';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { listenersMixin } from '../../mixins/listeners';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Helper methods ---\n// Parse a rowspan or colspan into a digit (or `null` if < `1` )\n\nvar parseSpan = function parseSpan(value) {\n value = toInteger(value, 0);\n return value > 0 ? value : null;\n};\n/* istanbul ignore next */\n\n\nvar spanValidator = function spanValidator(value) {\n return isUndefinedOrNull(value) || parseSpan(value) > 0;\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable({\n colspan: makeProp(PROP_TYPE_NUMBER_STRING, null, spanValidator),\n rowspan: makeProp(PROP_TYPE_NUMBER_STRING, null, spanValidator),\n stackedHeading: makeProp(PROP_TYPE_STRING),\n stickyColumn: makeProp(PROP_TYPE_BOOLEAN, false),\n variant: makeProp(PROP_TYPE_STRING)\n}, NAME_TABLE_CELL); // --- Main component ---\n// TODO:\n// In Bootstrap v5, we won't need \"sniffing\" as table element variants properly inherit\n// to the child elements, so this can be converted to a functional component\n// @vue/component\n\nexport var BTd = /*#__PURE__*/Vue.extend({\n name: NAME_TABLE_CELL,\n // Mixin order is important!\n mixins: [attrsMixin, listenersMixin, normalizeSlotMixin],\n inject: {\n bvTableTr: {\n default:\n /* istanbul ignore next */\n function _default() {\n return {};\n }\n }\n },\n inheritAttrs: false,\n props: props,\n computed: {\n // Overridden by ``\n tag: function tag() {\n return 'td';\n },\n inTbody: function inTbody() {\n return this.bvTableTr.inTbody;\n },\n inThead: function inThead() {\n return this.bvTableTr.inThead;\n },\n inTfoot: function inTfoot() {\n return this.bvTableTr.inTfoot;\n },\n isDark: function isDark() {\n return this.bvTableTr.isDark;\n },\n isStacked: function isStacked() {\n return this.bvTableTr.isStacked;\n },\n // We only support stacked-heading in tbody in stacked mode\n isStackedCell: function isStackedCell() {\n return this.inTbody && this.isStacked;\n },\n isResponsive: function isResponsive() {\n return this.bvTableTr.isResponsive;\n },\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n // Sticky headers only apply to cells in table `thead`\n isStickyHeader: function isStickyHeader() {\n return this.bvTableTr.isStickyHeader;\n },\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n hasStickyHeader: function hasStickyHeader() {\n return this.bvTableTr.hasStickyHeader;\n },\n // Needed to handle background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n // Sticky column cells are only available in responsive\n // mode (horizontal scrolling) or when sticky header mode\n // Applies to cells in `thead`, `tbody` and `tfoot`\n isStickyColumn: function isStickyColumn() {\n return !this.isStacked && (this.isResponsive || this.hasStickyHeader) && this.stickyColumn;\n },\n rowVariant: function rowVariant() {\n return this.bvTableTr.variant;\n },\n headVariant: function headVariant() {\n return this.bvTableTr.headVariant;\n },\n footVariant: function footVariant() {\n return this.bvTableTr.footVariant;\n },\n tableVariant: function tableVariant() {\n return this.bvTableTr.tableVariant;\n },\n computedColspan: function computedColspan() {\n return parseSpan(this.colspan);\n },\n computedRowspan: function computedRowspan() {\n return parseSpan(this.rowspan);\n },\n // We use computed props here for improved performance by caching\n // the results of the string interpolation\n cellClasses: function cellClasses() {\n var variant = this.variant,\n headVariant = this.headVariant,\n isStickyColumn = this.isStickyColumn;\n\n if (!variant && this.isStickyHeader && !headVariant || !variant && isStickyColumn && this.inTfoot && !this.footVariant || !variant && isStickyColumn && this.inThead && !headVariant || !variant && isStickyColumn && this.inTbody) {\n // Needed for sticky-header mode as Bootstrap v4 table cells do\n // not inherit parent's `background-color`\n variant = this.rowVariant || this.tableVariant || 'b-table-default';\n }\n\n return [variant ? \"\".concat(this.isDark ? 'bg' : 'table', \"-\").concat(variant) : null, isStickyColumn ? 'b-table-sticky-column' : null];\n },\n cellAttrs: function cellAttrs() {\n var stackedHeading = this.stackedHeading; // We use computed props here for improved performance by caching\n // the results of the object spread (Object.assign)\n\n var headOrFoot = this.inThead || this.inTfoot; // Make sure col/rowspan's are > 0 or null\n\n var colspan = this.computedColspan;\n var rowspan = this.computedRowspan; // Default role and scope\n\n var role = 'cell';\n var scope = null; // Compute role and scope\n // We only add scopes with an explicit span of 1 or greater\n\n if (headOrFoot) {\n // Header or footer cells\n role = 'columnheader';\n scope = colspan > 0 ? 'colspan' : 'col';\n } else if (isTag(this.tag, 'th')) {\n // th's in tbody\n role = 'rowheader';\n scope = rowspan > 0 ? 'rowgroup' : 'row';\n }\n\n return _objectSpread(_objectSpread({\n colspan: colspan,\n rowspan: rowspan,\n role: role,\n scope: scope\n }, this.bvAttrs), {}, {\n // Add in the stacked cell label data-attribute if in\n // stacked mode (if a stacked heading label is provided)\n 'data-label': this.isStackedCell && !isUndefinedOrNull(stackedHeading) ?\n /* istanbul ignore next */\n toString(stackedHeading) : null\n });\n }\n },\n render: function render(h) {\n var $content = [this.normalizeSlot()];\n return h(this.tag, {\n class: this.cellClasses,\n attrs: this.cellAttrs,\n // Transfer any native listeners\n on: this.bvListeners\n }, [this.isStackedCell ? h('div', [$content]) : $content]);\n }\n});","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../../vue';\nimport { MODEL_EVENT_NAME_PREFIX } from '../../../constants/events';\nimport { PROP_TYPE_BOOLEAN } from '../../../constants/props';\nimport { SLOT_NAME_TABLE_BUSY } from '../../../constants/slots';\nimport { stopEvent } from '../../../utils/events';\nimport { isFunction } from '../../../utils/inspect';\nimport { makeProp } from '../../../utils/props';\nimport { BTr } from '../tr';\nimport { BTd } from '../td'; // --- Constants ---\n\nvar MODEL_PROP_NAME_BUSY = 'busy';\nvar MODEL_EVENT_NAME_BUSY = MODEL_EVENT_NAME_PREFIX + MODEL_PROP_NAME_BUSY; // --- Props ---\n\nexport var props = _defineProperty({}, MODEL_PROP_NAME_BUSY, makeProp(PROP_TYPE_BOOLEAN, false)); // --- Mixin ---\n// @vue/component\n\nexport var busyMixin = Vue.extend({\n props: props,\n data: function data() {\n return {\n localBusy: false\n };\n },\n computed: {\n computedBusy: function computedBusy() {\n return this[MODEL_PROP_NAME_BUSY] || this.localBusy;\n }\n },\n watch: {\n localBusy: function localBusy(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.$emit(MODEL_EVENT_NAME_BUSY, newValue);\n }\n }\n },\n methods: {\n // Event handler helper\n stopIfBusy: function stopIfBusy(event) {\n // If table is busy (via provider) then don't propagate\n if (this.computedBusy) {\n stopEvent(event);\n return true;\n }\n\n return false;\n },\n // Render the busy indicator or return `null` if not busy\n renderBusy: function renderBusy() {\n var tbodyTrClass = this.tbodyTrClass,\n tbodyTrAttr = this.tbodyTrAttr;\n var h = this.$createElement; // Return a busy indicator row, or `null` if not busy\n\n if (this.computedBusy && this.hasNormalizedSlot(SLOT_NAME_TABLE_BUSY)) {\n return h(BTr, {\n staticClass: 'b-table-busy-slot',\n class: [isFunction(tbodyTrClass) ?\n /* istanbul ignore next */\n tbodyTrClass(null, SLOT_NAME_TABLE_BUSY) : tbodyTrClass],\n attrs: isFunction(tbodyTrAttr) ?\n /* istanbul ignore next */\n tbodyTrAttr(null, SLOT_NAME_TABLE_BUSY) : tbodyTrAttr,\n key: 'table-busy-slot'\n }, [h(BTd, {\n props: {\n colspan: this.computedFields.length || null\n }\n }, [this.normalizeSlot(SLOT_NAME_TABLE_BUSY)])]);\n } // We return `null` here so that we can determine if we need to\n // render the table items rows or not\n\n\n return null;\n }\n }\n});","import { Vue } from '../../../vue';\nimport { PROP_TYPE_STRING } from '../../../constants/props';\nimport { SLOT_NAME_TABLE_CAPTION } from '../../../constants/slots';\nimport { htmlOrText } from '../../../utils/html';\nimport { makeProp } from '../../../utils/props'; // --- Props ---\n\nexport var props = {\n caption: makeProp(PROP_TYPE_STRING),\n captionHtml: makeProp(PROP_TYPE_STRING) // `caption-top` is part of table-render mixin (styling)\n // captionTop: makeProp(PROP_TYPE_BOOLEAN, false)\n\n}; // --- Mixin ---\n// @vue/component\n\nexport var captionMixin = Vue.extend({\n props: props,\n computed: {\n captionId: function captionId() {\n // Even though `this.safeId` looks like a method, it is a computed prop\n // that returns a new function if the underlying ID changes\n return this.isStacked ? this.safeId('_caption_') : null;\n }\n },\n methods: {\n renderCaption: function renderCaption() {\n var caption = this.caption,\n captionHtml = this.captionHtml;\n var h = this.$createElement;\n var $caption = h();\n var hasCaptionSlot = this.hasNormalizedSlot(SLOT_NAME_TABLE_CAPTION);\n\n if (hasCaptionSlot || caption || captionHtml) {\n $caption = h('caption', {\n attrs: {\n id: this.captionId\n },\n domProps: hasCaptionSlot ? {} : htmlOrText(captionHtml, caption),\n key: 'caption'\n }, this.normalizeSlot(SLOT_NAME_TABLE_CAPTION));\n }\n\n return $caption;\n }\n }\n});","import { Vue } from '../../../vue';\nimport { SLOT_NAME_TABLE_COLGROUP } from '../../../constants/slots'; // --- Props ---\n\nexport var props = {}; // --- Mixin ---\n// @vue/component\n\nexport var colgroupMixin = Vue.extend({\n methods: {\n renderColgroup: function renderColgroup() {\n var fields = this.computedFields;\n var h = this.$createElement;\n var $colgroup = h();\n\n if (this.hasNormalizedSlot(SLOT_NAME_TABLE_COLGROUP)) {\n $colgroup = h('colgroup', {\n key: 'colgroup'\n }, [this.normalizeSlot(SLOT_NAME_TABLE_COLGROUP, {\n columns: fields.length,\n fields: fields\n })]);\n }\n\n return $colgroup;\n }\n }\n});","import { Vue } from '../../../vue';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../../constants/props';\nimport { SLOT_NAME_EMPTY, SLOT_NAME_EMPTYFILTERED, SLOT_NAME_TABLE_BUSY } from '../../../constants/slots';\nimport { htmlOrText } from '../../../utils/html';\nimport { isFunction } from '../../../utils/inspect';\nimport { makeProp } from '../../../utils/props';\nimport { BTr } from '../tr';\nimport { BTd } from '../td'; // --- Props ---\n\nexport var props = {\n emptyFilteredHtml: makeProp(PROP_TYPE_STRING),\n emptyFilteredText: makeProp(PROP_TYPE_STRING, 'There are no records matching your request'),\n emptyHtml: makeProp(PROP_TYPE_STRING),\n emptyText: makeProp(PROP_TYPE_STRING, 'There are no records to show'),\n showEmpty: makeProp(PROP_TYPE_BOOLEAN, false)\n}; // --- Mixin ---\n// @vue/component\n\nexport var emptyMixin = Vue.extend({\n props: props,\n methods: {\n renderEmpty: function renderEmpty() {\n var items = this.computedItems;\n var h = this.$createElement;\n var $empty = h();\n\n if (this.showEmpty && (!items || items.length === 0) && !(this.computedBusy && this.hasNormalizedSlot(SLOT_NAME_TABLE_BUSY))) {\n var fields = this.computedFields,\n isFiltered = this.isFiltered,\n emptyText = this.emptyText,\n emptyHtml = this.emptyHtml,\n emptyFilteredText = this.emptyFilteredText,\n emptyFilteredHtml = this.emptyFilteredHtml,\n tbodyTrClass = this.tbodyTrClass,\n tbodyTrAttr = this.tbodyTrAttr;\n $empty = this.normalizeSlot(isFiltered ? SLOT_NAME_EMPTYFILTERED : SLOT_NAME_EMPTY, {\n emptyFilteredHtml: emptyFilteredHtml,\n emptyFilteredText: emptyFilteredText,\n emptyHtml: emptyHtml,\n emptyText: emptyText,\n fields: fields,\n // Not sure why this is included, as it will always be an empty array\n items: items\n });\n\n if (!$empty) {\n $empty = h('div', {\n class: ['text-center', 'my-2'],\n domProps: isFiltered ? htmlOrText(emptyFilteredHtml, emptyFilteredText) : htmlOrText(emptyHtml, emptyText)\n });\n }\n\n $empty = h(BTd, {\n props: {\n colspan: fields.length || null\n }\n }, [h('div', {\n attrs: {\n role: 'alert',\n 'aria-live': 'polite'\n }\n }, [$empty])]);\n $empty = h(BTr, {\n staticClass: 'b-table-empty-row',\n class: [isFunction(tbodyTrClass) ?\n /* istanbul ignore next */\n tbodyTrClass(null, 'row-empty') : tbodyTrClass],\n attrs: isFunction(tbodyTrAttr) ?\n /* istanbul ignore next */\n tbodyTrAttr(null, 'row-empty') : tbodyTrAttr,\n key: isFiltered ? 'b-empty-filtered-row' : 'b-empty-row'\n }, [$empty]);\n }\n\n return $empty;\n }\n }\n});","import { isDate, isObject, isUndefinedOrNull } from './inspect';\nimport { keys } from './object';\nimport { toString } from './string'; // Recursively stringifies the values of an object, space separated, in an\n// SSR safe deterministic way (keys are sorted before stringification)\n//\n// ex:\n// { b: 3, c: { z: 'zzz', d: null, e: 2 }, d: [10, 12, 11], a: 'one' }\n// becomes\n// 'one 3 2 zzz 10 12 11'\n//\n// Strings are returned as-is\n// Numbers get converted to string\n// `null` and `undefined` values are filtered out\n// Dates are converted to their native string format\n\nexport var stringifyObjectValues = function stringifyObjectValues(value) {\n if (isUndefinedOrNull(value)) {\n return '';\n } // Arrays are also object, and keys just returns the array indexes\n // Date objects we convert to strings\n\n\n if (isObject(value) && !isDate(value)) {\n return keys(value).sort() // Sort to prevent SSR issues on pre-rendered sorted tables\n .map(function (k) {\n return stringifyObjectValues(value[k]);\n }).filter(function (v) {\n return !!v;\n }) // Ignore empty strings\n .join(' ');\n }\n\n return toString(value);\n};","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// Constants used by table helpers\nexport var FIELD_KEY_CELL_VARIANT = '_cellVariants';\nexport var FIELD_KEY_ROW_VARIANT = '_rowVariant';\nexport var FIELD_KEY_SHOW_DETAILS = '_showDetails'; // Object of item keys that should be ignored for headers and\n// stringification and filter events\n\nexport var IGNORED_FIELD_KEYS = [FIELD_KEY_CELL_VARIANT, FIELD_KEY_ROW_VARIANT, FIELD_KEY_SHOW_DETAILS].reduce(function (result, key) {\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, key, true));\n}, {}); // Filter CSS selector for click/dblclick/etc. events\n// If any of these selectors match the clicked element, we ignore the event\n\nexport var EVENT_FILTER = ['a', 'a *', // Include content inside links\n'button', 'button *', // Include content inside buttons\n'input:not(.disabled):not([disabled])', 'select:not(.disabled):not([disabled])', 'textarea:not(.disabled):not([disabled])', '[role=\"link\"]', '[role=\"link\"] *', '[role=\"button\"]', '[role=\"button\"] *', '[tabindex]:not(.disabled):not([disabled])'].join(',');","import { arrayIncludes } from '../../../utils/array';\nimport { isArray, isFunction } from '../../../utils/inspect';\nimport { clone, keys, pick } from '../../../utils/object';\nimport { IGNORED_FIELD_KEYS } from './constants'; // Return a copy of a row after all reserved fields have been filtered out\n\nexport var sanitizeRow = function sanitizeRow(row, ignoreFields, includeFields) {\n var fieldsObj = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n // We first need to format the row based on the field configurations\n // This ensures that we add formatted values for keys that may not\n // exist in the row itself\n var formattedRow = keys(fieldsObj).reduce(function (result, key) {\n var field = fieldsObj[key];\n var filterByFormatted = field.filterByFormatted;\n var formatter = isFunction(filterByFormatted) ?\n /* istanbul ignore next */\n filterByFormatted : filterByFormatted ?\n /* istanbul ignore next */\n field.formatter : null;\n\n if (isFunction(formatter)) {\n result[key] = formatter(row[key], key, row);\n }\n\n return result;\n }, clone(row)); // Determine the allowed keys:\n // - Ignore special fields that start with `_`\n // - Ignore fields in the `ignoreFields` array\n // - Include only fields in the `includeFields` array\n\n var allowedKeys = keys(formattedRow).filter(function (key) {\n return !IGNORED_FIELD_KEYS[key] && !(isArray(ignoreFields) && ignoreFields.length > 0 && arrayIncludes(ignoreFields, key)) && !(isArray(includeFields) && includeFields.length > 0 && !arrayIncludes(includeFields, key));\n });\n return pick(formattedRow, allowedKeys);\n};","import { isObject } from '../../../utils/inspect';\nimport { stringifyObjectValues } from '../../../utils/stringify-object-values';\nimport { sanitizeRow } from './sanitize-row'; // Stringifies the values of a record, ignoring any special top level field keys\n// TODO: Add option to stringify `scopedSlot` items\n\nexport var stringifyRecordValues = function stringifyRecordValues(row, ignoreFields, includeFields, fieldsObj) {\n return isObject(row) ? stringifyObjectValues(sanitizeRow(row, ignoreFields, includeFields, fieldsObj)) :\n /* istanbul ignore next */\n '';\n};","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport { Vue } from '../../../vue';\nimport { NAME_TABLE } from '../../../constants/components';\nimport { EVENT_NAME_FILTERED } from '../../../constants/events';\nimport { PROP_TYPE_REG_EXP, PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_FUNCTION, PROP_TYPE_ARRAY, PROP_TYPE_NUMBER_STRING } from '../../../constants/props';\nimport { RX_DIGITS, RX_SPACES } from '../../../constants/regex';\nimport { concat } from '../../../utils/array';\nimport { cloneDeep } from '../../../utils/clone-deep';\nimport { identity } from '../../../utils/identity';\nimport { isFunction, isString, isRegExp } from '../../../utils/inspect';\nimport { looseEqual } from '../../../utils/loose-equal';\nimport { toInteger } from '../../../utils/number';\nimport { hasPropFunction, makeProp } from '../../../utils/props';\nimport { escapeRegExp } from '../../../utils/string';\nimport { warn } from '../../../utils/warn';\nimport { stringifyRecordValues } from './stringify-record-values'; // --- Constants ---\n\nvar DEBOUNCE_DEPRECATED_MSG = 'Prop \"filter-debounce\" is deprecated. Use the debounce feature of \"\" instead.'; // --- Props ---\n\nexport var props = {\n filter: makeProp([].concat(_toConsumableArray(PROP_TYPE_ARRAY_OBJECT_STRING), [PROP_TYPE_REG_EXP])),\n filterDebounce: makeProp(PROP_TYPE_NUMBER_STRING, 0, function (value) {\n return RX_DIGITS.test(String(value));\n }),\n filterFunction: makeProp(PROP_TYPE_FUNCTION),\n filterIgnoredFields: makeProp(PROP_TYPE_ARRAY, []),\n filterIncludedFields: makeProp(PROP_TYPE_ARRAY, [])\n}; // --- Mixin ---\n// @vue/component\n\nexport var filteringMixin = Vue.extend({\n props: props,\n data: function data() {\n return {\n // Flag for displaying which empty slot to show and some event triggering\n isFiltered: false,\n // Where we store the copy of the filter criteria after debouncing\n // We pre-set it with the sanitized filter value\n localFilter: this.filterSanitize(this.filter)\n };\n },\n computed: {\n computedFilterIgnored: function computedFilterIgnored() {\n return concat(this.filterIgnoredFields || []).filter(identity);\n },\n computedFilterIncluded: function computedFilterIncluded() {\n return concat(this.filterIncludedFields || []).filter(identity);\n },\n computedFilterDebounce: function computedFilterDebounce() {\n var ms = toInteger(this.filterDebounce, 0);\n /* istanbul ignore next */\n\n if (ms > 0) {\n warn(DEBOUNCE_DEPRECATED_MSG, NAME_TABLE);\n }\n\n return ms;\n },\n localFiltering: function localFiltering() {\n return this.hasProvider ? !!this.noProviderFiltering : true;\n },\n // For watching changes to `filteredItems` vs `localItems`\n filteredCheck: function filteredCheck() {\n var filteredItems = this.filteredItems,\n localItems = this.localItems,\n localFilter = this.localFilter;\n return {\n filteredItems: filteredItems,\n localItems: localItems,\n localFilter: localFilter\n };\n },\n // Sanitized/normalize filter-function prop\n localFilterFn: function localFilterFn() {\n // Return `null` to signal to use internal filter function\n var filterFunction = this.filterFunction;\n return hasPropFunction(filterFunction) ? filterFunction : null;\n },\n // Returns the records in `localItems` that match the filter criteria\n // Returns the original `localItems` array if not sorting\n filteredItems: function filteredItems() {\n // Note the criteria is debounced and sanitized\n var items = this.localItems,\n criteria = this.localFilter; // Resolve the filtering function, when requested\n // We prefer the provided filtering function and fallback to the internal one\n // When no filtering criteria is specified the filtering factories will return `null`\n\n var filterFn = this.localFiltering ? this.filterFnFactory(this.localFilterFn, criteria) || this.defaultFilterFnFactory(criteria) : null; // We only do local filtering when requested and there are records to filter\n\n return filterFn && items.length > 0 ? items.filter(filterFn) : items;\n }\n },\n watch: {\n // Watch for debounce being set to 0\n computedFilterDebounce: function computedFilterDebounce(newValue) {\n if (!newValue && this.$_filterTimer) {\n this.clearFilterTimer();\n this.localFilter = this.filterSanitize(this.filter);\n }\n },\n // Watch for changes to the filter criteria, and debounce if necessary\n filter: {\n // We need a deep watcher in case the user passes\n // an object when using `filter-function`\n deep: true,\n handler: function handler(newCriteria) {\n var _this = this;\n\n var timeout = this.computedFilterDebounce;\n this.clearFilterTimer();\n\n if (timeout && timeout > 0) {\n // If we have a debounce time, delay the update of `localFilter`\n this.$_filterTimer = setTimeout(function () {\n _this.localFilter = _this.filterSanitize(newCriteria);\n }, timeout);\n } else {\n // Otherwise, immediately update `localFilter` with `newFilter` value\n this.localFilter = this.filterSanitize(newCriteria);\n }\n }\n },\n // Watch for changes to the filter criteria and filtered items vs `localItems`\n // Set visual state and emit events as required\n filteredCheck: function filteredCheck(_ref) {\n var filteredItems = _ref.filteredItems,\n localFilter = _ref.localFilter;\n // Determine if the dataset is filtered or not\n var isFiltered = false;\n\n if (!localFilter) {\n // If filter criteria is falsey\n isFiltered = false;\n } else if (looseEqual(localFilter, []) || looseEqual(localFilter, {})) {\n // If filter criteria is an empty array or object\n isFiltered = false;\n } else if (localFilter) {\n // If filter criteria is truthy\n isFiltered = true;\n }\n\n if (isFiltered) {\n this.$emit(EVENT_NAME_FILTERED, filteredItems, filteredItems.length);\n }\n\n this.isFiltered = isFiltered;\n },\n isFiltered: function isFiltered(newValue, oldValue) {\n if (newValue === false && oldValue === true) {\n // We need to emit a filtered event if `isFiltered` transitions from `true` to\n // `false` so that users can update their pagination controls\n var localItems = this.localItems;\n this.$emit(EVENT_NAME_FILTERED, localItems, localItems.length);\n }\n }\n },\n created: function created() {\n var _this2 = this;\n\n // Create private non-reactive props\n this.$_filterTimer = null; // If filter is \"pre-set\", set the criteria\n // This will trigger any watchers/dependents\n // this.localFilter = this.filterSanitize(this.filter)\n // Set the initial filtered state in a `$nextTick()` so that\n // we trigger a filtered event if needed\n\n this.$nextTick(function () {\n _this2.isFiltered = Boolean(_this2.localFilter);\n });\n },\n beforeDestroy: function beforeDestroy() {\n this.clearFilterTimer();\n },\n methods: {\n clearFilterTimer: function clearFilterTimer() {\n clearTimeout(this.$_filterTimer);\n this.$_filterTimer = null;\n },\n filterSanitize: function filterSanitize(criteria) {\n // Sanitizes filter criteria based on internal or external filtering\n if (this.localFiltering && !this.localFilterFn && !(isString(criteria) || isRegExp(criteria))) {\n // If using internal filter function, which only accepts string or RegExp,\n // return '' to signify no filter\n return '';\n } // Could be a string, object or array, as needed by external filter function\n // We use `cloneDeep` to ensure we have a new copy of an object or array\n // without Vue's reactive observers\n\n\n return cloneDeep(criteria);\n },\n // Filter Function factories\n filterFnFactory: function filterFnFactory(filterFn, criteria) {\n // Wrapper factory for external filter functions\n // Wrap the provided filter-function and return a new function\n // Returns `null` if no filter-function defined or if criteria is falsey\n // Rather than directly grabbing `this.computedLocalFilterFn` or `this.filterFunction`\n // we have it passed, so that the caller computed prop will be reactive to changes\n // in the original filter-function (as this routine is a method)\n if (!filterFn || !isFunction(filterFn) || !criteria || looseEqual(criteria, []) || looseEqual(criteria, {})) {\n return null;\n } // Build the wrapped filter test function, passing the criteria to the provided function\n\n\n var fn = function fn(item) {\n // Generated function returns true if the criteria matches part\n // of the serialized data, otherwise false\n return filterFn(item, criteria);\n }; // Return the wrapped function\n\n\n return fn;\n },\n defaultFilterFnFactory: function defaultFilterFnFactory(criteria) {\n var _this3 = this;\n\n // Generates the default filter function, using the given filter criteria\n // Returns `null` if no criteria or criteria format not supported\n if (!criteria || !(isString(criteria) || isRegExp(criteria))) {\n // Built in filter can only support strings or RegExp criteria (at the moment)\n return null;\n } // Build the RegExp needed for filtering\n\n\n var regExp = criteria;\n\n if (isString(regExp)) {\n // Escape special RegExp characters in the string and convert contiguous\n // whitespace to \\s+ matches\n var pattern = escapeRegExp(criteria).replace(RX_SPACES, '\\\\s+'); // Build the RegExp (no need for global flag, as we only need\n // to find the value once in the string)\n\n regExp = new RegExp(\".*\".concat(pattern, \".*\"), 'i');\n } // Generate the wrapped filter test function to use\n\n\n var fn = function fn(item) {\n // This searches all row values (and sub property values) in the entire (excluding\n // special `_` prefixed keys), because we convert the record to a space-separated\n // string containing all the value properties (recursively), even ones that are\n // not visible (not specified in this.fields)\n // Users can ignore filtering on specific fields, or on only certain fields,\n // and can optionall specify searching results of fields with formatter\n //\n // TODO: Enable searching on scoped slots (optional, as it will be SLOW)\n //\n // Generated function returns true if the criteria matches part of\n // the serialized data, otherwise false\n //\n // We set `lastIndex = 0` on the `RegExp` in case someone specifies the `/g` global flag\n regExp.lastIndex = 0;\n return regExp.test(stringifyRecordValues(item, _this3.computedFilterIgnored, _this3.computedFilterIncluded, _this3.computedFieldsObj));\n }; // Return the generated function\n\n\n return fn;\n }\n }\n});","import { identity } from '../../../utils/identity';\nimport { isArray, isFunction, isObject, isString } from '../../../utils/inspect';\nimport { clone, keys } from '../../../utils/object';\nimport { startCase } from '../../../utils/string';\nimport { IGNORED_FIELD_KEYS } from './constants'; // Private function to massage field entry into common object format\n\nvar processField = function processField(key, value) {\n var field = null;\n\n if (isString(value)) {\n // Label shortcut\n field = {\n key: key,\n label: value\n };\n } else if (isFunction(value)) {\n // Formatter shortcut\n field = {\n key: key,\n formatter: value\n };\n } else if (isObject(value)) {\n field = clone(value);\n field.key = field.key || key;\n } else if (value !== false) {\n // Fallback to just key\n\n /* istanbul ignore next */\n field = {\n key: key\n };\n }\n\n return field;\n}; // We normalize fields into an array of objects\n// [ { key:..., label:..., ...}, {...}, ..., {..}]\n\n\nexport var normalizeFields = function normalizeFields(origFields, items) {\n var fields = [];\n\n if (isArray(origFields)) {\n // Normalize array Form\n origFields.filter(identity).forEach(function (f) {\n if (isString(f)) {\n fields.push({\n key: f,\n label: startCase(f)\n });\n } else if (isObject(f) && f.key && isString(f.key)) {\n // Full object definition. We use assign so that we don't mutate the original\n fields.push(clone(f));\n } else if (isObject(f) && keys(f).length === 1) {\n // Shortcut object (i.e. { 'foo_bar': 'This is Foo Bar' }\n var key = keys(f)[0];\n var field = processField(key, f[key]);\n\n if (field) {\n fields.push(field);\n }\n }\n });\n } // If no field provided, take a sample from first record (if exits)\n\n\n if (fields.length === 0 && isArray(items) && items.length > 0) {\n var sample = items[0];\n keys(sample).forEach(function (k) {\n if (!IGNORED_FIELD_KEYS[k]) {\n fields.push({\n key: k,\n label: startCase(k)\n });\n }\n });\n } // Ensure we have a unique array of fields and that they have String labels\n\n\n var memo = {};\n return fields.filter(function (f) {\n if (!memo[f.key]) {\n memo[f.key] = true;\n f.label = isString(f.label) ? f.label : startCase(f.key);\n return true;\n }\n\n return false;\n });\n};","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../../vue';\nimport { EVENT_NAME_CONTEXT_CHANGED } from '../../../constants/events';\nimport { PROP_TYPE_ARRAY, PROP_TYPE_STRING } from '../../../constants/props';\nimport { isArray, isFunction, isString } from '../../../utils/inspect';\nimport { looseEqual } from '../../../utils/loose-equal';\nimport { mathMax } from '../../../utils/math';\nimport { makeModelMixin } from '../../../utils/model';\nimport { toInteger } from '../../../utils/number';\nimport { clone, sortKeys } from '../../../utils/object';\nimport { makeProp } from '../../../utils/props';\nimport { normalizeFields } from './normalize-fields'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('value', {\n type: PROP_TYPE_ARRAY,\n defaultValue: []\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event;\n\nexport { MODEL_PROP_NAME, MODEL_EVENT_NAME }; // --- Props ---\n\nexport var props = sortKeys(_objectSpread(_objectSpread({}, modelProps), {}, _defineProperty({\n fields: makeProp(PROP_TYPE_ARRAY, null),\n // Provider mixin adds in `Function` type\n items: makeProp(PROP_TYPE_ARRAY, []),\n // Primary key for record\n // If provided the value in each row must be unique!\n primaryKey: makeProp(PROP_TYPE_STRING)\n}, MODEL_PROP_NAME, makeProp(PROP_TYPE_ARRAY, [])))); // --- Mixin ---\n// @vue/component\n\nexport var itemsMixin = Vue.extend({\n mixins: [modelMixin],\n props: props,\n data: function data() {\n var items = this.items;\n return {\n // Our local copy of the items\n // Must be an array\n localItems: isArray(items) ? items.slice() : []\n };\n },\n computed: {\n computedFields: function computedFields() {\n // We normalize fields into an array of objects\n // `[ { key:..., label:..., ...}, {...}, ..., {..}]`\n return normalizeFields(this.fields, this.localItems);\n },\n computedFieldsObj: function computedFieldsObj() {\n // Fields as a simple lookup hash object\n // Mainly for formatter lookup and use in `scopedSlots` for convenience\n // If the field has a formatter, it normalizes formatter to a\n // function ref or `undefined` if no formatter\n var $parent = this.$parent;\n return this.computedFields.reduce(function (obj, f) {\n // We use object spread here so we don't mutate the original field object\n obj[f.key] = clone(f);\n\n if (f.formatter) {\n // Normalize formatter to a function ref or `undefined`\n var formatter = f.formatter;\n\n if (isString(formatter) && isFunction($parent[formatter])) {\n formatter = $parent[formatter];\n } else if (!isFunction(formatter)) {\n /* istanbul ignore next */\n formatter = undefined;\n } // Return formatter function or `undefined` if none\n\n\n obj[f.key].formatter = formatter;\n }\n\n return obj;\n }, {});\n },\n computedItems: function computedItems() {\n // Fallback if various mixins not provided\n return (this.paginatedItems || this.sortedItems || this.filteredItems || this.localItems ||\n /* istanbul ignore next */\n []).slice();\n },\n context: function context() {\n // Current state of sorting, filtering and pagination props/values\n return {\n filter: this.localFilter,\n sortBy: this.localSortBy,\n sortDesc: this.localSortDesc,\n perPage: mathMax(toInteger(this.perPage, 0), 0),\n currentPage: mathMax(toInteger(this.currentPage, 0), 1),\n apiUrl: this.apiUrl\n };\n }\n },\n watch: {\n items: function items(newValue) {\n // Set `localItems`/`filteredItems` to a copy of the provided array\n this.localItems = isArray(newValue) ? newValue.slice() : [];\n },\n // Watch for changes on `computedItems` and update the `v-model`\n computedItems: function computedItems(newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.$emit(MODEL_EVENT_NAME, newValue);\n }\n },\n // Watch for context changes\n context: function context(newValue, oldValue) {\n // Emit context information for external paging/filtering/sorting handling\n if (!looseEqual(newValue, oldValue)) {\n this.$emit(EVENT_NAME_CONTEXT_CHANGED, newValue);\n }\n }\n },\n mounted: function mounted() {\n // Initially update the `v-model` of displayed items\n this.$emit(MODEL_EVENT_NAME, this.computedItems);\n },\n methods: {\n // Method to get the formatter method for a given field key\n getFieldFormatter: function getFieldFormatter(key) {\n var field = this.computedFieldsObj[key]; // `this.computedFieldsObj` has pre-normalized the formatter to a\n // function ref if present, otherwise `undefined`\n\n return field ? field.formatter : undefined;\n }\n }\n});","import { Vue } from '../../../vue';\nimport { PROP_TYPE_NUMBER_STRING } from '../../../constants/props';\nimport { mathMax } from '../../../utils/math';\nimport { toInteger } from '../../../utils/number';\nimport { makeProp } from '../../../utils/props'; // --- Props ---\n\nexport var props = {\n currentPage: makeProp(PROP_TYPE_NUMBER_STRING, 1),\n perPage: makeProp(PROP_TYPE_NUMBER_STRING, 0)\n}; // --- Mixin ---\n// @vue/component\n\nexport var paginationMixin = Vue.extend({\n props: props,\n computed: {\n localPaging: function localPaging() {\n return this.hasProvider ? !!this.noProviderPaging : true;\n },\n paginatedItems: function paginatedItems() {\n var items = this.sortedItems || this.filteredItems || this.localItems || [];\n var currentPage = mathMax(toInteger(this.currentPage, 1), 1);\n var perPage = mathMax(toInteger(this.perPage, 0), 0); // Apply local pagination\n\n if (this.localPaging && perPage) {\n // Grab the current page of data (which may be past filtered items limit)\n items = items.slice((currentPage - 1) * perPage, currentPage * perPage);\n } // Return the items to display in the table\n\n\n return items;\n }\n }\n});","import { Vue } from '../../../vue';\nimport { NAME_TABLE } from '../../../constants/components';\nimport { EVENT_NAME_REFRESH, EVENT_NAME_REFRESHED } from '../../../constants/events';\nimport { PROP_TYPE_ARRAY_FUNCTION, PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../../constants/props';\nimport { getRootActionEventName, getRootEventName } from '../../../utils/events';\nimport { isArray, isFunction, isPromise } from '../../../utils/inspect';\nimport { looseEqual } from '../../../utils/loose-equal';\nimport { clone } from '../../../utils/object';\nimport { makeProp } from '../../../utils/props';\nimport { warn } from '../../../utils/warn';\nimport { listenOnRootMixin } from '../../../mixins/listen-on-root'; // --- Constants ---\n\nvar ROOT_EVENT_NAME_REFRESHED = getRootEventName(NAME_TABLE, EVENT_NAME_REFRESHED);\nvar ROOT_ACTION_EVENT_NAME_REFRESH = getRootActionEventName(NAME_TABLE, EVENT_NAME_REFRESH); // --- Props ---\n\nexport var props = {\n // Passed to the context object\n // Not used by `` directly\n apiUrl: makeProp(PROP_TYPE_STRING),\n // Adds in 'Function' support\n items: makeProp(PROP_TYPE_ARRAY_FUNCTION, []),\n noProviderFiltering: makeProp(PROP_TYPE_BOOLEAN, false),\n noProviderPaging: makeProp(PROP_TYPE_BOOLEAN, false),\n noProviderSorting: makeProp(PROP_TYPE_BOOLEAN, false)\n}; // --- Mixin ---\n// @vue/component\n\nexport var providerMixin = Vue.extend({\n mixins: [listenOnRootMixin],\n props: props,\n computed: {\n hasProvider: function hasProvider() {\n return isFunction(this.items);\n },\n providerTriggerContext: function providerTriggerContext() {\n // Used to trigger the provider function via a watcher. Only the fields that\n // are needed for triggering a provider update are included. Note that the\n // regular this.context is sent to the provider during fetches though, as they\n // may need all the prop info.\n var ctx = {\n apiUrl: this.apiUrl,\n filter: null,\n sortBy: null,\n sortDesc: null,\n perPage: null,\n currentPage: null\n };\n\n if (!this.noProviderFiltering) {\n // Either a string, or could be an object or array.\n ctx.filter = this.localFilter;\n }\n\n if (!this.noProviderSorting) {\n ctx.sortBy = this.localSortBy;\n ctx.sortDesc = this.localSortDesc;\n }\n\n if (!this.noProviderPaging) {\n ctx.perPage = this.perPage;\n ctx.currentPage = this.currentPage;\n }\n\n return clone(ctx);\n }\n },\n watch: {\n // Provider update triggering\n items: function items(newValue) {\n // If a new provider has been specified, trigger an update\n if (this.hasProvider || isFunction(newValue)) {\n this.$nextTick(this._providerUpdate);\n }\n },\n providerTriggerContext: function providerTriggerContext(newValue, oldValue) {\n // Trigger the provider to update as the relevant context values have changed.\n if (!looseEqual(newValue, oldValue)) {\n this.$nextTick(this._providerUpdate);\n }\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n // Call the items provider if necessary\n if (this.hasProvider && (!this.localItems || this.localItems.length === 0)) {\n // Fetch on mount if localItems is empty\n this._providerUpdate();\n } // Listen for global messages to tell us to force refresh the table\n\n\n this.listenOnRoot(ROOT_ACTION_EVENT_NAME_REFRESH, function (id) {\n if (id === _this.id || id === _this) {\n _this.refresh();\n }\n });\n },\n methods: {\n refresh: function refresh() {\n var items = this.items,\n refresh = this.refresh; // Public Method: Force a refresh of the provider function\n\n this.$off(EVENT_NAME_REFRESHED, refresh);\n\n if (this.computedBusy) {\n // Can't force an update when forced busy by user (busy prop === true)\n if (this.localBusy && this.hasProvider) {\n // But if provider running (localBusy), re-schedule refresh once `refreshed` emitted\n this.$on(EVENT_NAME_REFRESHED, refresh);\n }\n } else {\n this.clearSelected();\n\n if (this.hasProvider) {\n this.$nextTick(this._providerUpdate);\n } else {\n /* istanbul ignore next */\n this.localItems = isArray(items) ? items.slice() : [];\n }\n }\n },\n // Provider related methods\n _providerSetLocal: function _providerSetLocal(items) {\n this.localItems = isArray(items) ? items.slice() : [];\n this.localBusy = false;\n this.$emit(EVENT_NAME_REFRESHED); // New root emit\n\n if (this.id) {\n this.emitOnRoot(ROOT_EVENT_NAME_REFRESHED, this.id);\n }\n },\n _providerUpdate: function _providerUpdate() {\n var _this2 = this;\n\n // Refresh the provider function items.\n if (!this.hasProvider) {\n // Do nothing if no provider\n return;\n } // If table is busy, wait until refreshed before calling again\n\n\n if (this.computedBusy) {\n // Schedule a new refresh once `refreshed` is emitted\n this.$nextTick(this.refresh);\n return;\n } // Set internal busy state\n\n\n this.localBusy = true; // Call provider function with context and optional callback after DOM is fully updated\n\n this.$nextTick(function () {\n try {\n // Call provider function passing it the context and optional callback\n var data = _this2.items(_this2.context, _this2._providerSetLocal);\n\n if (isPromise(data)) {\n // Provider returned Promise\n data.then(function (items) {\n // Provider resolved with items\n _this2._providerSetLocal(items);\n });\n } else if (isArray(data)) {\n // Provider returned Array data\n _this2._providerSetLocal(data);\n } else {\n /* istanbul ignore if */\n if (_this2.items.length !== 2) {\n // Check number of arguments provider function requested\n // Provider not using callback (didn't request second argument), so we clear\n // busy state as most likely there was an error in the provider function\n\n /* istanbul ignore next */\n warn(\"Provider function didn't request callback and did not return a promise or data.\", NAME_TABLE);\n _this2.localBusy = false;\n }\n }\n } catch (e)\n /* istanbul ignore next */\n {\n // Provider function borked on us, so we spew out a warning\n // and clear the busy state\n warn(\"Provider function error [\".concat(e.name, \"] \").concat(e.message, \".\"), NAME_TABLE);\n _this2.localBusy = false;\n\n _this2.$off(EVENT_NAME_REFRESHED, _this2.refresh);\n }\n });\n }\n }\n});","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../../vue';\nimport { EVENT_NAME_CONTEXT_CHANGED, EVENT_NAME_FILTERED, EVENT_NAME_ROW_CLICKED, EVENT_NAME_ROW_SELECTED } from '../../../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../../constants/props';\nimport { arrayIncludes, createArray } from '../../../utils/array';\nimport { identity } from '../../../utils/identity';\nimport { isArray, isNumber } from '../../../utils/inspect';\nimport { looseEqual } from '../../../utils/loose-equal';\nimport { mathMax, mathMin } from '../../../utils/math';\nimport { makeProp } from '../../../utils/props';\nimport { sanitizeRow } from './sanitize-row'; // --- Constants ---\n\nvar SELECT_MODES = ['range', 'multi', 'single']; // --- Props ---\n\nexport var props = {\n // Disable use of click handlers for row selection\n noSelectOnClick: makeProp(PROP_TYPE_BOOLEAN, false),\n selectMode: makeProp(PROP_TYPE_STRING, 'multi', function (value) {\n return arrayIncludes(SELECT_MODES, value);\n }),\n selectable: makeProp(PROP_TYPE_BOOLEAN, false),\n selectedVariant: makeProp(PROP_TYPE_STRING, 'active')\n}; // --- Mixin ---\n// @vue/component\n\nexport var selectableMixin = Vue.extend({\n props: props,\n data: function data() {\n return {\n selectedRows: [],\n selectedLastRow: -1\n };\n },\n computed: {\n isSelectable: function isSelectable() {\n return this.selectable && this.selectMode;\n },\n hasSelectableRowClick: function hasSelectableRowClick() {\n return this.isSelectable && !this.noSelectOnClick;\n },\n supportsSelectableRows: function supportsSelectableRows() {\n return true;\n },\n selectableHasSelection: function selectableHasSelection() {\n var selectedRows = this.selectedRows;\n return this.isSelectable && selectedRows && selectedRows.length > 0 && selectedRows.some(identity);\n },\n selectableIsMultiSelect: function selectableIsMultiSelect() {\n return this.isSelectable && arrayIncludes(['range', 'multi'], this.selectMode);\n },\n selectableTableClasses: function selectableTableClasses() {\n var _ref;\n\n var isSelectable = this.isSelectable;\n return _ref = {\n 'b-table-selectable': isSelectable\n }, _defineProperty(_ref, \"b-table-select-\".concat(this.selectMode), isSelectable), _defineProperty(_ref, 'b-table-selecting', this.selectableHasSelection), _defineProperty(_ref, 'b-table-selectable-no-click', isSelectable && !this.hasSelectableRowClick), _ref;\n },\n selectableTableAttrs: function selectableTableAttrs() {\n return {\n // TODO:\n // Should this attribute not be included when no-select-on-click is set\n // since this attribute implies keyboard navigation?\n 'aria-multiselectable': !this.isSelectable ? null : this.selectableIsMultiSelect ? 'true' : 'false'\n };\n }\n },\n watch: {\n computedItems: function computedItems(newValue, oldValue) {\n // Reset for selectable\n var equal = false;\n\n if (this.isSelectable && this.selectedRows.length > 0) {\n // Quick check against array length\n equal = isArray(newValue) && isArray(oldValue) && newValue.length === oldValue.length;\n\n for (var i = 0; equal && i < newValue.length; i++) {\n // Look for the first non-loosely equal row, after ignoring reserved fields\n equal = looseEqual(sanitizeRow(newValue[i]), sanitizeRow(oldValue[i]));\n }\n }\n\n if (!equal) {\n this.clearSelected();\n }\n },\n selectable: function selectable(newValue) {\n this.clearSelected();\n this.setSelectionHandlers(newValue);\n },\n selectMode: function selectMode() {\n this.clearSelected();\n },\n hasSelectableRowClick: function hasSelectableRowClick(newValue) {\n this.clearSelected();\n this.setSelectionHandlers(!newValue);\n },\n selectedRows: function selectedRows(_selectedRows, oldValue) {\n var _this = this;\n\n if (this.isSelectable && !looseEqual(_selectedRows, oldValue)) {\n var items = []; // `.forEach()` skips over non-existent indices (on sparse arrays)\n\n _selectedRows.forEach(function (v, idx) {\n if (v) {\n items.push(_this.computedItems[idx]);\n }\n });\n\n this.$emit(EVENT_NAME_ROW_SELECTED, items);\n }\n }\n },\n beforeMount: function beforeMount() {\n // Set up handlers if needed\n if (this.isSelectable) {\n this.setSelectionHandlers(true);\n }\n },\n methods: {\n // Public methods\n selectRow: function selectRow(index) {\n // Select a particular row (indexed based on computedItems)\n if (this.isSelectable && isNumber(index) && index >= 0 && index < this.computedItems.length && !this.isRowSelected(index)) {\n var selectedRows = this.selectableIsMultiSelect ? this.selectedRows.slice() : [];\n selectedRows[index] = true;\n this.selectedLastClicked = -1;\n this.selectedRows = selectedRows;\n }\n },\n unselectRow: function unselectRow(index) {\n // Un-select a particular row (indexed based on `computedItems`)\n if (this.isSelectable && isNumber(index) && this.isRowSelected(index)) {\n var selectedRows = this.selectedRows.slice();\n selectedRows[index] = false;\n this.selectedLastClicked = -1;\n this.selectedRows = selectedRows;\n }\n },\n selectAllRows: function selectAllRows() {\n var length = this.computedItems.length;\n\n if (this.isSelectable && length > 0) {\n this.selectedLastClicked = -1;\n this.selectedRows = this.selectableIsMultiSelect ? createArray(length, true) : [true];\n }\n },\n isRowSelected: function isRowSelected(index) {\n // Determine if a row is selected (indexed based on `computedItems`)\n return !!(isNumber(index) && this.selectedRows[index]);\n },\n clearSelected: function clearSelected() {\n // Clear any active selected row(s)\n this.selectedLastClicked = -1;\n this.selectedRows = [];\n },\n // Internal private methods\n selectableRowClasses: function selectableRowClasses(index) {\n if (this.isSelectable && this.isRowSelected(index)) {\n var variant = this.selectedVariant;\n return _defineProperty({\n 'b-table-row-selected': true\n }, \"\".concat(this.dark ? 'bg' : 'table', \"-\").concat(variant), variant);\n }\n\n return {};\n },\n selectableRowAttrs: function selectableRowAttrs(index) {\n return {\n 'aria-selected': !this.isSelectable ? null : this.isRowSelected(index) ? 'true' : 'false'\n };\n },\n setSelectionHandlers: function setSelectionHandlers(on) {\n var method = on && !this.noSelectOnClick ? '$on' : '$off'; // Handle row-clicked event\n\n this[method](EVENT_NAME_ROW_CLICKED, this.selectionHandler); // Clear selection on filter, pagination, and sort changes\n\n this[method](EVENT_NAME_FILTERED, this.clearSelected);\n this[method](EVENT_NAME_CONTEXT_CHANGED, this.clearSelected);\n },\n selectionHandler: function selectionHandler(item, index, event) {\n /* istanbul ignore if: should never happen */\n if (!this.isSelectable || this.noSelectOnClick) {\n // Don't do anything if table is not in selectable mode\n this.clearSelected();\n return;\n }\n\n var selectMode = this.selectMode,\n selectedLastRow = this.selectedLastRow;\n var selectedRows = this.selectedRows.slice();\n var selected = !selectedRows[index]; // Note 'multi' mode needs no special event handling\n\n if (selectMode === 'single') {\n selectedRows = [];\n } else if (selectMode === 'range') {\n if (selectedLastRow > -1 && event.shiftKey) {\n // range\n for (var idx = mathMin(selectedLastRow, index); idx <= mathMax(selectedLastRow, index); idx++) {\n selectedRows[idx] = true;\n }\n\n selected = true;\n } else {\n if (!(event.ctrlKey || event.metaKey)) {\n // Clear range selection if any\n selectedRows = [];\n selected = true;\n }\n\n this.selectedLastRow = selected ? index : -1;\n }\n }\n\n selectedRows[index] = selected;\n this.selectedRows = selectedRows;\n }\n }\n});","var _props, _watch;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../../vue';\nimport { EVENT_NAME_HEAD_CLICKED, EVENT_NAME_SORT_CHANGED, MODEL_EVENT_NAME_PREFIX } from '../../../constants/events';\nimport { PROP_TYPE_ARRAY_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_FUNCTION, PROP_TYPE_OBJECT, PROP_TYPE_STRING } from '../../../constants/props';\nimport { arrayIncludes } from '../../../utils/array';\nimport { isFunction, isUndefinedOrNull } from '../../../utils/inspect';\nimport { makeProp } from '../../../utils/props';\nimport { stableSort } from '../../../utils/stable-sort';\nimport { trim } from '../../../utils/string';\nimport { defaultSortCompare } from './default-sort-compare'; // --- Constants ---\n\nvar MODEL_PROP_NAME_SORT_BY = 'sortBy';\nvar MODEL_EVENT_NAME_SORT_BY = MODEL_EVENT_NAME_PREFIX + MODEL_PROP_NAME_SORT_BY;\nvar MODEL_PROP_NAME_SORT_DESC = 'sortDesc';\nvar MODEL_EVENT_NAME_SORT_DESC = MODEL_EVENT_NAME_PREFIX + MODEL_PROP_NAME_SORT_DESC;\nvar SORT_DIRECTION_ASC = 'asc';\nvar SORT_DIRECTION_DESC = 'desc';\nvar SORT_DIRECTION_LAST = 'last';\nvar SORT_DIRECTIONS = [SORT_DIRECTION_ASC, SORT_DIRECTION_DESC, SORT_DIRECTION_LAST]; // --- Props ---\n\nexport var props = (_props = {\n labelSortAsc: makeProp(PROP_TYPE_STRING, 'Click to sort Ascending'),\n labelSortClear: makeProp(PROP_TYPE_STRING, 'Click to clear sorting'),\n labelSortDesc: makeProp(PROP_TYPE_STRING, 'Click to sort Descending'),\n noFooterSorting: makeProp(PROP_TYPE_BOOLEAN, false),\n noLocalSorting: makeProp(PROP_TYPE_BOOLEAN, false),\n // Another prop that should have had a better name\n // It should be `noSortClear` (on non-sortable headers)\n // We will need to make sure the documentation is clear on what\n // this prop does (as well as in the code for future reference)\n noSortReset: makeProp(PROP_TYPE_BOOLEAN, false)\n}, _defineProperty(_props, MODEL_PROP_NAME_SORT_BY, makeProp(PROP_TYPE_STRING)), _defineProperty(_props, \"sortCompare\", makeProp(PROP_TYPE_FUNCTION)), _defineProperty(_props, \"sortCompareLocale\", makeProp(PROP_TYPE_ARRAY_STRING)), _defineProperty(_props, \"sortCompareOptions\", makeProp(PROP_TYPE_OBJECT, {\n numeric: true\n})), _defineProperty(_props, MODEL_PROP_NAME_SORT_DESC, makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_props, \"sortDirection\", makeProp(PROP_TYPE_STRING, SORT_DIRECTION_ASC, function (value) {\n return arrayIncludes(SORT_DIRECTIONS, value);\n})), _defineProperty(_props, \"sortIconLeft\", makeProp(PROP_TYPE_BOOLEAN, false)), _defineProperty(_props, \"sortNullLast\", makeProp(PROP_TYPE_BOOLEAN, false)), _props); // --- Mixin ---\n// @vue/component\n\nexport var sortingMixin = Vue.extend({\n props: props,\n data: function data() {\n return {\n localSortBy: this[MODEL_PROP_NAME_SORT_BY] || '',\n localSortDesc: this[MODEL_PROP_NAME_SORT_DESC] || false\n };\n },\n computed: {\n localSorting: function localSorting() {\n return this.hasProvider ? !!this.noProviderSorting : !this.noLocalSorting;\n },\n isSortable: function isSortable() {\n return this.computedFields.some(function (f) {\n return f.sortable;\n });\n },\n // Sorts the filtered items and returns a new array of the sorted items\n // When not sorted, the original items array will be returned\n sortedItems: function sortedItems() {\n var sortBy = this.localSortBy,\n sortDesc = this.localSortDesc,\n locale = this.sortCompareLocale,\n nullLast = this.sortNullLast,\n sortCompare = this.sortCompare,\n localSorting = this.localSorting;\n var items = (this.filteredItems || this.localItems || []).slice();\n\n var localeOptions = _objectSpread(_objectSpread({}, this.sortCompareOptions), {}, {\n usage: 'sort'\n });\n\n if (sortBy && localSorting) {\n var field = this.computedFieldsObj[sortBy] || {};\n var sortByFormatted = field.sortByFormatted;\n var formatter = isFunction(sortByFormatted) ?\n /* istanbul ignore next */\n sortByFormatted : sortByFormatted ? this.getFieldFormatter(sortBy) : undefined; // `stableSort` returns a new array, and leaves the original array intact\n\n return stableSort(items, function (a, b) {\n var result = null; // Call user provided `sortCompare` routine first\n\n if (isFunction(sortCompare)) {\n // TODO:\n // Change the `sortCompare` signature to the one of `defaultSortCompare`\n // with the next major version bump\n result = sortCompare(a, b, sortBy, sortDesc, formatter, localeOptions, locale);\n } // Fallback to built-in `defaultSortCompare` if `sortCompare`\n // is not defined or returns `null`/`false`\n\n\n if (isUndefinedOrNull(result) || result === false) {\n result = defaultSortCompare(a, b, {\n sortBy: sortBy,\n formatter: formatter,\n locale: locale,\n localeOptions: localeOptions,\n nullLast: nullLast\n });\n } // Negate result if sorting in descending order\n\n\n return (result || 0) * (sortDesc ? -1 : 1);\n });\n }\n\n return items;\n }\n },\n watch: (_watch = {\n /* istanbul ignore next: pain in the butt to test */\n isSortable: function isSortable(newValue) {\n if (newValue) {\n if (this.isSortable) {\n this.$on(EVENT_NAME_HEAD_CLICKED, this.handleSort);\n }\n } else {\n this.$off(EVENT_NAME_HEAD_CLICKED, this.handleSort);\n }\n }\n }, _defineProperty(_watch, MODEL_PROP_NAME_SORT_DESC, function (newValue) {\n /* istanbul ignore next */\n if (newValue === this.localSortDesc) {\n return;\n }\n\n this.localSortDesc = newValue || false;\n }), _defineProperty(_watch, MODEL_PROP_NAME_SORT_BY, function (newValue) {\n /* istanbul ignore next */\n if (newValue === this.localSortBy) {\n return;\n }\n\n this.localSortBy = newValue || '';\n }), _defineProperty(_watch, \"localSortDesc\", function localSortDesc(newValue, oldValue) {\n // Emit update to sort-desc.sync\n if (newValue !== oldValue) {\n this.$emit(MODEL_EVENT_NAME_SORT_DESC, newValue);\n }\n }), _defineProperty(_watch, \"localSortBy\", function localSortBy(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.$emit(MODEL_EVENT_NAME_SORT_BY, newValue);\n }\n }), _watch),\n created: function created() {\n if (this.isSortable) {\n this.$on(EVENT_NAME_HEAD_CLICKED, this.handleSort);\n }\n },\n methods: {\n // Handlers\n // Need to move from thead-mixin\n handleSort: function handleSort(key, field, event, isFoot) {\n var _this = this;\n\n if (!this.isSortable) {\n /* istanbul ignore next */\n return;\n }\n\n if (isFoot && this.noFooterSorting) {\n return;\n } // TODO: make this tri-state sorting\n // cycle desc => asc => none => desc => ...\n\n\n var sortChanged = false;\n\n var toggleLocalSortDesc = function toggleLocalSortDesc() {\n var sortDirection = field.sortDirection || _this.sortDirection;\n\n if (sortDirection === SORT_DIRECTION_ASC) {\n _this.localSortDesc = false;\n } else if (sortDirection === SORT_DIRECTION_DESC) {\n _this.localSortDesc = true;\n } else {// sortDirection === 'last'\n // Leave at last sort direction from previous column\n }\n };\n\n if (field.sortable) {\n var sortKey = !this.localSorting && field.sortKey ? field.sortKey : key;\n\n if (this.localSortBy === sortKey) {\n // Change sorting direction on current column\n this.localSortDesc = !this.localSortDesc;\n } else {\n // Start sorting this column ascending\n this.localSortBy = sortKey; // this.localSortDesc = false\n\n toggleLocalSortDesc();\n }\n\n sortChanged = true;\n } else if (this.localSortBy && !this.noSortReset) {\n this.localSortBy = '';\n toggleLocalSortDesc();\n sortChanged = true;\n }\n\n if (sortChanged) {\n // Sorting parameters changed\n this.$emit(EVENT_NAME_SORT_CHANGED, this.context);\n }\n },\n // methods to compute classes and attrs for thead>th cells\n sortTheadThClasses: function sortTheadThClasses(key, field, isFoot) {\n return {\n // If sortable and sortIconLeft are true, then place sort icon on the left\n 'b-table-sort-icon-left': field.sortable && this.sortIconLeft && !(isFoot && this.noFooterSorting)\n };\n },\n sortTheadThAttrs: function sortTheadThAttrs(key, field, isFoot) {\n if (!this.isSortable || isFoot && this.noFooterSorting) {\n // No attributes if not a sortable table\n return {};\n }\n\n var sortable = field.sortable; // Assemble the aria-sort attribute value\n\n var ariaSort = sortable && this.localSortBy === key ? this.localSortDesc ? 'descending' : 'ascending' : sortable ? 'none' : null; // Return the attribute\n\n return {\n 'aria-sort': ariaSort\n };\n },\n sortTheadThLabel: function sortTheadThLabel(key, field, isFoot) {\n // A label to be placed in an `.sr-only` element in the header cell\n if (!this.isSortable || isFoot && this.noFooterSorting) {\n // No label if not a sortable table\n return null;\n }\n\n var sortable = field.sortable; // The correctness of these labels is very important for screen-reader users.\n\n var labelSorting = '';\n\n if (sortable) {\n if (this.localSortBy === key) {\n // currently sorted sortable column.\n labelSorting = this.localSortDesc ? this.labelSortAsc : this.labelSortDesc;\n } else {\n // Not currently sorted sortable column.\n // Not using nested ternary's here for clarity/readability\n // Default for ariaLabel\n labelSorting = this.localSortDesc ? this.labelSortDesc : this.labelSortAsc; // Handle sortDirection setting\n\n var sortDirection = this.sortDirection || field.sortDirection;\n\n if (sortDirection === SORT_DIRECTION_ASC) {\n labelSorting = this.labelSortAsc;\n } else if (sortDirection === SORT_DIRECTION_DESC) {\n labelSorting = this.labelSortDesc;\n }\n }\n } else if (!this.noSortReset) {\n // Non sortable column\n labelSorting = this.localSortBy ? this.labelSortClear : '';\n } // Return the sr-only sort label or null if no label\n\n\n return trim(labelSorting) || null;\n }\n }\n});","import { get } from '../../../utils/get';\nimport { isDate, isFunction, isNumber, isNumeric, isUndefinedOrNull } from '../../../utils/inspect';\nimport { toFloat } from '../../../utils/number';\nimport { stringifyObjectValues } from '../../../utils/stringify-object-values';\n\nvar normalizeValue = function normalizeValue(value) {\n if (isUndefinedOrNull(value)) {\n return '';\n }\n\n if (isNumeric(value)) {\n return toFloat(value, value);\n }\n\n return value;\n}; // Default sort compare routine\n//\n// TODO:\n// Add option to sort by multiple columns (tri-state per column,\n// plus order of columns in sort) where `sortBy` could be an array\n// of objects `[ {key: 'foo', sortDir: 'asc'}, {key:'bar', sortDir: 'desc'} ...]`\n// or an array of arrays `[ ['foo','asc'], ['bar','desc'] ]`\n// Multisort will most likely be handled in `mixin-sort.js` by\n// calling this method for each sortBy\n\n\nexport var defaultSortCompare = function defaultSortCompare(a, b) {\n var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n _ref$sortBy = _ref.sortBy,\n sortBy = _ref$sortBy === void 0 ? null : _ref$sortBy,\n _ref$formatter = _ref.formatter,\n formatter = _ref$formatter === void 0 ? null : _ref$formatter,\n _ref$locale = _ref.locale,\n locale = _ref$locale === void 0 ? undefined : _ref$locale,\n _ref$localeOptions = _ref.localeOptions,\n localeOptions = _ref$localeOptions === void 0 ? {} : _ref$localeOptions,\n _ref$nullLast = _ref.nullLast,\n nullLast = _ref$nullLast === void 0 ? false : _ref$nullLast;\n\n // Get the value by `sortBy`\n var aa = get(a, sortBy, null);\n var bb = get(b, sortBy, null); // Apply user-provided formatter\n\n if (isFunction(formatter)) {\n aa = formatter(aa, sortBy, a);\n bb = formatter(bb, sortBy, b);\n } // Internally normalize value\n // `null` / `undefined` => ''\n // `'0'` => `0`\n\n\n aa = normalizeValue(aa);\n bb = normalizeValue(bb);\n\n if (isDate(aa) && isDate(bb) || isNumber(aa) && isNumber(bb)) {\n // Special case for comparing dates and numbers\n // Internally dates are compared via their epoch number values\n return aa < bb ? -1 : aa > bb ? 1 : 0;\n } else if (nullLast && aa === '' && bb !== '') {\n // Special case when sorting `null` / `undefined` / '' last\n return 1;\n } else if (nullLast && aa !== '' && bb === '') {\n // Special case when sorting `null` / `undefined` / '' last\n return -1;\n } // Do localized string comparison\n\n\n return stringifyObjectValues(aa).localeCompare(stringifyObjectValues(bb), locale, localeOptions);\n};","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../../vue';\nimport { PROP_TYPE_BOOLEAN_STRING } from '../../../constants/props';\nimport { makeProp } from '../../../utils/props'; // --- Props ---\n\nexport var props = {\n stacked: makeProp(PROP_TYPE_BOOLEAN_STRING, false)\n}; // --- Mixin ---\n// @vue/component\n\nexport var stackedMixin = Vue.extend({\n props: props,\n computed: {\n isStacked: function isStacked() {\n var stacked = this.stacked; // `true` when always stacked, or returns breakpoint specified\n\n return stacked === '' ? true : stacked;\n },\n isStackedAlways: function isStackedAlways() {\n return this.isStacked === true;\n },\n stackedTableClasses: function stackedTableClasses() {\n var isStackedAlways = this.isStackedAlways;\n return _defineProperty({\n 'b-table-stacked': isStackedAlways\n }, \"b-table-stacked-\".concat(this.stacked), !isStackedAlways && this.isStacked);\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../../vue';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_STRING, PROP_TYPE_STRING } from '../../../constants/props';\nimport { identity } from '../../../utils/identity';\nimport { isBoolean } from '../../../utils/inspect';\nimport { makeProp } from '../../../utils/props';\nimport { toString } from '../../../utils/string';\nimport { attrsMixin } from '../../../mixins/attrs'; // Main `` render mixin\n// Includes all main table styling options\n// --- Props ---\n\nexport var props = {\n bordered: makeProp(PROP_TYPE_BOOLEAN, false),\n borderless: makeProp(PROP_TYPE_BOOLEAN, false),\n captionTop: makeProp(PROP_TYPE_BOOLEAN, false),\n dark: makeProp(PROP_TYPE_BOOLEAN, false),\n fixed: makeProp(PROP_TYPE_BOOLEAN, false),\n hover: makeProp(PROP_TYPE_BOOLEAN, false),\n noBorderCollapse: makeProp(PROP_TYPE_BOOLEAN, false),\n outlined: makeProp(PROP_TYPE_BOOLEAN, false),\n responsive: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n small: makeProp(PROP_TYPE_BOOLEAN, false),\n // If a string, it is assumed to be the table `max-height` value\n stickyHeader: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n striped: makeProp(PROP_TYPE_BOOLEAN, false),\n tableClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n tableVariant: makeProp(PROP_TYPE_STRING)\n}; // --- Mixin ---\n// @vue/component\n\nexport var tableRendererMixin = Vue.extend({\n mixins: [attrsMixin],\n provide: function provide() {\n return {\n bvTable: this\n };\n },\n // Don't place attributes on root element automatically,\n // as table could be wrapped in responsive `
`\n inheritAttrs: false,\n props: props,\n computed: {\n // Layout related computed props\n isResponsive: function isResponsive() {\n var responsive = this.responsive;\n responsive = responsive === '' ? true : responsive;\n return this.isStacked ? false : responsive;\n },\n isStickyHeader: function isStickyHeader() {\n var stickyHeader = this.stickyHeader;\n stickyHeader = stickyHeader === '' ? true : stickyHeader;\n return this.isStacked ? false : stickyHeader;\n },\n wrapperClasses: function wrapperClasses() {\n var isResponsive = this.isResponsive;\n return [this.isStickyHeader ? 'b-table-sticky-header' : '', isResponsive === true ? 'table-responsive' : isResponsive ? \"table-responsive-\".concat(this.responsive) : ''].filter(identity);\n },\n wrapperStyles: function wrapperStyles() {\n var isStickyHeader = this.isStickyHeader;\n return isStickyHeader && !isBoolean(isStickyHeader) ? {\n maxHeight: isStickyHeader\n } : {};\n },\n tableClasses: function tableClasses() {\n var hover = this.hover,\n tableVariant = this.tableVariant;\n hover = this.isTableSimple ? hover : hover && this.computedItems.length > 0 && !this.computedBusy;\n return [// User supplied classes\n this.tableClass, // Styling classes\n {\n 'table-striped': this.striped,\n 'table-hover': hover,\n 'table-dark': this.dark,\n 'table-bordered': this.bordered,\n 'table-borderless': this.borderless,\n 'table-sm': this.small,\n // The following are b-table custom styles\n border: this.outlined,\n 'b-table-fixed': this.fixed,\n 'b-table-caption-top': this.captionTop,\n 'b-table-no-border-collapse': this.noBorderCollapse\n }, tableVariant ? \"\".concat(this.dark ? 'bg' : 'table', \"-\").concat(tableVariant) : '', // Stacked table classes\n this.stackedTableClasses, // Selectable classes\n this.selectableTableClasses];\n },\n tableAttrs: function tableAttrs() {\n var items = this.computedItems,\n filteredItems = this.filteredItems,\n fields = this.computedFields,\n selectableTableAttrs = this.selectableTableAttrs; // Preserve user supplied aria-describedby, if provided in `$attrs`\n\n var adb = [(this.bvAttrs || {})['aria-describedby'], this.captionId].filter(identity).join(' ') || null;\n var ariaAttrs = this.isTableSimple ? {} : {\n 'aria-busy': this.computedBusy ? 'true' : 'false',\n 'aria-colcount': toString(fields.length),\n 'aria-describedby': adb\n };\n var rowCount = items && filteredItems && filteredItems.length > items.length ? toString(filteredItems.length) : null;\n return _objectSpread(_objectSpread(_objectSpread({\n // We set `aria-rowcount` before merging in `$attrs`,\n // in case user has supplied their own\n 'aria-rowcount': rowCount\n }, this.bvAttrs), {}, {\n // Now we can override any `$attrs` here\n id: this.safeId(),\n role: 'table'\n }, ariaAttrs), selectableTableAttrs);\n }\n },\n render: function render(h) {\n var wrapperClasses = this.wrapperClasses,\n renderCaption = this.renderCaption,\n renderColgroup = this.renderColgroup,\n renderThead = this.renderThead,\n renderTbody = this.renderTbody,\n renderTfoot = this.renderTfoot;\n var $content = [];\n\n if (this.isTableSimple) {\n $content.push(this.normalizeSlot());\n } else {\n // Build the `
`\n\n $content.push(renderColgroup ? renderColgroup() : null); // Build the ``\n\n $content.push(renderThead ? renderThead() : null); // Build the ``\n\n $content.push(renderTbody ? renderTbody() : null); // Build the ``\n\n $content.push(renderTfoot ? renderTfoot() : null);\n } // Assemble `
` (from caption mixin)\n $content.push(renderCaption ? renderCaption() : null); // Build the `
`\n\n\n var $table = h('table', {\n staticClass: 'table b-table',\n class: this.tableClasses,\n attrs: this.tableAttrs,\n key: 'b-table'\n }, $content.filter(identity)); // Add responsive/sticky wrapper if needed and return table\n\n return wrapperClasses.length > 0 ? h('div', {\n class: wrapperClasses,\n style: this.wrapperStyles,\n key: 'wrap'\n }, [$table]) : $table;\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_TBODY } from '../../constants/components';\nimport { PROP_TYPE_OBJECT } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { listenersMixin } from '../../mixins/listeners';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n tbodyTransitionHandlers: makeProp(PROP_TYPE_OBJECT),\n tbodyTransitionProps: makeProp(PROP_TYPE_OBJECT)\n}, NAME_TBODY); // --- Main component ---\n// TODO:\n// In Bootstrap v5, we won't need \"sniffing\" as table element variants properly inherit\n// to the child elements, so this can be converted to a functional component\n// @vue/component\n\nexport var BTbody = /*#__PURE__*/Vue.extend({\n name: NAME_TBODY,\n mixins: [attrsMixin, listenersMixin, normalizeSlotMixin],\n provide: function provide() {\n return {\n bvTableRowGroup: this\n };\n },\n inject: {\n // Sniffed by `` / `` / ``\n bvTable: {\n default:\n /* istanbul ignore next */\n function _default() {\n return {};\n }\n }\n },\n inheritAttrs: false,\n props: props,\n computed: {\n // Sniffed by `` / `` / ``\n isTbody: function isTbody() {\n return true;\n },\n // Sniffed by `` / `` / ``\n isDark: function isDark() {\n return this.bvTable.dark;\n },\n // Sniffed by `` / `` / ``\n isStacked: function isStacked() {\n return this.bvTable.isStacked;\n },\n // Sniffed by `` / `` / ``\n isResponsive: function isResponsive() {\n return this.bvTable.isResponsive;\n },\n // Sniffed by `` / `` / ``\n // Sticky headers are only supported in thead\n isStickyHeader: function isStickyHeader() {\n return false;\n },\n // Sniffed by `` / `` / ``\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n hasStickyHeader: function hasStickyHeader() {\n return !this.isStacked && this.bvTable.stickyHeader;\n },\n // Sniffed by `` / `` / ``\n tableVariant: function tableVariant() {\n return this.bvTable.tableVariant;\n },\n isTransitionGroup: function isTransitionGroup() {\n return this.tbodyTransitionProps || this.tbodyTransitionHandlers;\n },\n tbodyAttrs: function tbodyAttrs() {\n return _objectSpread({\n role: 'rowgroup'\n }, this.bvAttrs);\n },\n tbodyProps: function tbodyProps() {\n var tbodyTransitionProps = this.tbodyTransitionProps;\n return tbodyTransitionProps ? _objectSpread(_objectSpread({}, tbodyTransitionProps), {}, {\n tag: 'tbody'\n }) : {};\n }\n },\n render: function render(h) {\n var data = {\n props: this.tbodyProps,\n attrs: this.tbodyAttrs\n };\n\n if (this.isTransitionGroup) {\n // We use native listeners if a transition group for any delegated events\n data.on = this.tbodyTransitionHandlers || {};\n data.nativeOn = this.bvListeners;\n } else {\n // Otherwise we place any listeners on the tbody element\n data.on = this.bvListeners;\n }\n\n return h(this.isTransitionGroup ? 'transition-group' : 'tbody', data, this.normalizeSlot());\n }\n});","import { closest, getAttr, getById, matches, select } from '../../../utils/dom';\nimport { EVENT_FILTER } from './constants';\nvar TABLE_TAG_NAMES = ['TD', 'TH', 'TR']; // Returns `true` if we should ignore the click/double-click/keypress event\n// Avoids having the user need to use `@click.stop` on the form control\n\nexport var filterEvent = function filterEvent(event) {\n // Exit early when we don't have a target element\n if (!event || !event.target) {\n /* istanbul ignore next */\n return false;\n }\n\n var el = event.target; // Exit early when element is disabled or a table element\n\n if (el.disabled || TABLE_TAG_NAMES.indexOf(el.tagName) !== -1) {\n return false;\n } // Ignore the click when it was inside a dropdown menu\n\n\n if (closest('.dropdown-menu', el)) {\n return true;\n }\n\n var label = el.tagName === 'LABEL' ? el : closest('label', el); // If the label's form control is not disabled then we don't propagate event\n // Modern browsers have `label.control` that references the associated input, but IE 11\n // does not have this property on the label element, so we resort to DOM lookups\n\n if (label) {\n var labelFor = getAttr(label, 'for');\n var input = labelFor ? getById(labelFor) : select('input, select, textarea', label);\n\n if (input && !input.disabled) {\n return true;\n }\n } // Otherwise check if the event target matches one of the selectors in the\n // event filter (i.e. anchors, non disabled inputs, etc.)\n // Return `true` if we should ignore the event\n\n\n return matches(el, EVENT_FILTER);\n};","import { getSel, isElement } from '../../../utils/dom'; // Helper to determine if a there is an active text selection on the document page\n// Used to filter out click events caused by the mouse up at end of selection\n//\n// Accepts an element as only argument to test to see if selection overlaps or is\n// contained within the element\n\nexport var textSelectionActive = function textSelectionActive() {\n var el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document;\n var sel = getSel();\n return sel && sel.toString().trim() !== '' && sel.containsNode && isElement(el) ?\n /* istanbul ignore next */\n sel.containsNode(el, true) : false;\n};","import { Vue } from '../../vue';\nimport { NAME_TH } from '../../constants/components';\nimport { makePropsConfigurable } from '../../utils/props';\nimport { BTd, props as BTdProps } from './td'; // --- Props ---\n\nexport var props = makePropsConfigurable(BTdProps, NAME_TH); // --- Main component ---\n// TODO:\n// In Bootstrap v5, we won't need \"sniffing\" as table element variants properly inherit\n// to the child elements, so this can be converted to a functional component\n// @vue/component\n\nexport var BTh = /*#__PURE__*/Vue.extend({\n name: NAME_TH,\n extends: BTd,\n props: props,\n computed: {\n tag: function tag() {\n return 'th';\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport { Vue } from '../../../vue';\nimport { EVENT_NAME_ROW_CLICKED, EVENT_NAME_ROW_HOVERED, EVENT_NAME_ROW_UNHOVERED } from '../../../constants/events';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_FUNCTION, PROP_TYPE_OBJECT_FUNCTION } from '../../../constants/props';\nimport { SLOT_NAME_ROW_DETAILS } from '../../../constants/slots';\nimport { get } from '../../../utils/get';\nimport { isFunction, isString, isUndefinedOrNull } from '../../../utils/inspect';\nimport { makeProp } from '../../../utils/props';\nimport { toString } from '../../../utils/string';\nimport { BTr } from '../tr';\nimport { BTd } from '../td';\nimport { BTh } from '../th';\nimport { FIELD_KEY_CELL_VARIANT, FIELD_KEY_ROW_VARIANT, FIELD_KEY_SHOW_DETAILS } from './constants'; // --- Props ---\n\nexport var props = {\n detailsTdClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n tbodyTrAttr: makeProp(PROP_TYPE_OBJECT_FUNCTION),\n tbodyTrClass: makeProp([].concat(_toConsumableArray(PROP_TYPE_ARRAY_OBJECT_STRING), [PROP_TYPE_FUNCTION]))\n}; // --- Mixin ---\n// @vue/component\n\nexport var tbodyRowMixin = Vue.extend({\n props: props,\n methods: {\n // Methods for computing classes, attributes and styles for table cells\n getTdValues: function getTdValues(item, key, tdValue, defaultValue) {\n var $parent = this.$parent;\n\n if (tdValue) {\n var value = get(item, key, '');\n\n if (isFunction(tdValue)) {\n return tdValue(value, key, item);\n } else if (isString(tdValue) && isFunction($parent[tdValue])) {\n return $parent[tdValue](value, key, item);\n }\n\n return tdValue;\n }\n\n return defaultValue;\n },\n getThValues: function getThValues(item, key, thValue, type, defaultValue) {\n var $parent = this.$parent;\n\n if (thValue) {\n var value = get(item, key, '');\n\n if (isFunction(thValue)) {\n return thValue(value, key, item, type);\n } else if (isString(thValue) && isFunction($parent[thValue])) {\n return $parent[thValue](value, key, item, type);\n }\n\n return thValue;\n }\n\n return defaultValue;\n },\n // Method to get the value for a field\n getFormattedValue: function getFormattedValue(item, field) {\n var key = field.key;\n var formatter = this.getFieldFormatter(key);\n var value = get(item, key, null);\n\n if (isFunction(formatter)) {\n value = formatter(value, key, item);\n }\n\n return isUndefinedOrNull(value) ? '' : value;\n },\n // Factory function methods\n toggleDetailsFactory: function toggleDetailsFactory(hasDetailsSlot, item) {\n var _this = this;\n\n // Returns a function to toggle a row's details slot\n return function () {\n if (hasDetailsSlot) {\n _this.$set(item, FIELD_KEY_SHOW_DETAILS, !item[FIELD_KEY_SHOW_DETAILS]);\n }\n };\n },\n // Row event handlers\n rowHovered: function rowHovered(event) {\n // `mouseenter` handler (non-bubbling)\n // `this.tbodyRowEvtStopped` from tbody mixin\n if (!this.tbodyRowEvtStopped(event)) {\n // `this.emitTbodyRowEvent` from tbody mixin\n this.emitTbodyRowEvent(EVENT_NAME_ROW_HOVERED, event);\n }\n },\n rowUnhovered: function rowUnhovered(event) {\n // `mouseleave` handler (non-bubbling)\n // `this.tbodyRowEvtStopped` from tbody mixin\n if (!this.tbodyRowEvtStopped(event)) {\n // `this.emitTbodyRowEvent` from tbody mixin\n this.emitTbodyRowEvent(EVENT_NAME_ROW_UNHOVERED, event);\n }\n },\n // Renders a TD or TH for a row's field\n renderTbodyRowCell: function renderTbodyRowCell(field, colIndex, item, rowIndex) {\n var _this2 = this;\n\n var isStacked = this.isStacked;\n var key = field.key,\n label = field.label,\n isRowHeader = field.isRowHeader;\n var h = this.$createElement;\n var hasDetailsSlot = this.hasNormalizedSlot(SLOT_NAME_ROW_DETAILS);\n var formatted = this.getFormattedValue(item, field);\n var stickyColumn = !isStacked && (this.isResponsive || this.stickyHeader) && field.stickyColumn; // We only uses the helper components for sticky columns to\n // improve performance of BTable/BTableLite by reducing the\n // total number of vue instances created during render\n\n var cellTag = stickyColumn ? isRowHeader ? BTh : BTd : isRowHeader ? 'th' : 'td';\n var cellVariant = item[FIELD_KEY_CELL_VARIANT] && item[FIELD_KEY_CELL_VARIANT][key] ? item[FIELD_KEY_CELL_VARIANT][key] : field.variant || null;\n var data = {\n // For the Vue key, we concatenate the column index and\n // field key (as field keys could be duplicated)\n // TODO: Although we do prevent duplicate field keys...\n // So we could change this to: `row-${rowIndex}-cell-${key}`\n class: [field.class ? field.class : '', this.getTdValues(item, key, field.tdClass, '')],\n props: {},\n attrs: _objectSpread({\n 'aria-colindex': String(colIndex + 1)\n }, isRowHeader ? this.getThValues(item, key, field.thAttr, 'row', {}) : this.getTdValues(item, key, field.tdAttr, {})),\n key: \"row-\".concat(rowIndex, \"-cell-\").concat(colIndex, \"-\").concat(key)\n };\n\n if (stickyColumn) {\n // We are using the helper BTd or BTh\n data.props = {\n stackedHeading: isStacked ? label : null,\n stickyColumn: true,\n variant: cellVariant\n };\n } else {\n // Using native TD or TH element, so we need to\n // add in the attributes and variant class\n data.attrs['data-label'] = isStacked && !isUndefinedOrNull(label) ? toString(label) : null;\n data.attrs.role = isRowHeader ? 'rowheader' : 'cell';\n data.attrs.scope = isRowHeader ? 'row' : null; // Add in the variant class\n\n if (cellVariant) {\n data.class.push(\"\".concat(this.dark ? 'bg' : 'table', \"-\").concat(cellVariant));\n }\n }\n\n var slotScope = {\n item: item,\n index: rowIndex,\n field: field,\n unformatted: get(item, key, ''),\n value: formatted,\n toggleDetails: this.toggleDetailsFactory(hasDetailsSlot, item),\n detailsShowing: Boolean(item[FIELD_KEY_SHOW_DETAILS])\n }; // If table supports selectable mode, then add in the following scope\n // this.supportsSelectableRows will be undefined if mixin isn't loaded\n\n if (this.supportsSelectableRows) {\n slotScope.rowSelected = this.isRowSelected(rowIndex);\n\n slotScope.selectRow = function () {\n return _this2.selectRow(rowIndex);\n };\n\n slotScope.unselectRow = function () {\n return _this2.unselectRow(rowIndex);\n };\n } // The new `v-slot` syntax doesn't like a slot name starting with\n // a square bracket and if using in-document HTML templates, the\n // v-slot attributes are lower-cased by the browser.\n // Switched to round bracket syntax to prevent confusion with\n // dynamic slot name syntax.\n // We look for slots in this order: `cell(${key})`, `cell(${key.toLowerCase()})`, 'cell()'\n // Slot names are now cached by mixin tbody in `this.$_bodyFieldSlotNameCache`\n // Will be `null` if no slot (or fallback slot) exists\n\n\n var slotName = this.$_bodyFieldSlotNameCache[key];\n var $childNodes = slotName ? this.normalizeSlot(slotName, slotScope) : toString(formatted);\n\n if (this.isStacked) {\n // We wrap in a DIV to ensure rendered as a single cell when visually stacked!\n $childNodes = [h('div', [$childNodes])];\n } // Render either a td or th cell\n\n\n return h(cellTag, data, [$childNodes]);\n },\n // Renders an item's row (or rows if details supported)\n renderTbodyRow: function renderTbodyRow(item, rowIndex) {\n var _this3 = this;\n\n var fields = this.computedFields,\n striped = this.striped,\n primaryKey = this.primaryKey,\n currentPage = this.currentPage,\n perPage = this.perPage,\n tbodyTrClass = this.tbodyTrClass,\n tbodyTrAttr = this.tbodyTrAttr;\n var h = this.$createElement;\n var hasDetailsSlot = this.hasNormalizedSlot(SLOT_NAME_ROW_DETAILS);\n var rowShowDetails = item[FIELD_KEY_SHOW_DETAILS] && hasDetailsSlot;\n var hasRowClickHandler = this.$listeners[EVENT_NAME_ROW_CLICKED] || this.hasSelectableRowClick; // We can return more than one TR if rowDetails enabled\n\n var $rows = []; // Details ID needed for `aria-details` when details showing\n // We set it to `null` when not showing so that attribute\n // does not appear on the element\n\n var detailsId = rowShowDetails ? this.safeId(\"_details_\".concat(rowIndex, \"_\")) : null; // For each item data field in row\n\n var $tds = fields.map(function (field, colIndex) {\n return _this3.renderTbodyRowCell(field, colIndex, item, rowIndex);\n }); // Calculate the row number in the dataset (indexed from 1)\n\n var ariaRowIndex = null;\n\n if (currentPage && perPage && perPage > 0) {\n ariaRowIndex = String((currentPage - 1) * perPage + rowIndex + 1);\n } // Create a unique :key to help ensure that sub components are re-rendered rather than\n // re-used, which can cause issues. If a primary key is not provided we use the rendered\n // rows index within the tbody.\n // See: https://github.com/bootstrap-vue/bootstrap-vue/issues/2410\n\n\n var primaryKeyValue = toString(get(item, primaryKey)) || null;\n var rowKey = primaryKeyValue || toString(rowIndex); // If primary key is provided, use it to generate a unique ID on each tbody > tr\n // In the format of '{tableId}__row_{primaryKeyValue}'\n\n var rowId = primaryKeyValue ? this.safeId(\"_row_\".concat(primaryKeyValue)) : null; // Selectable classes and attributes\n\n var selectableClasses = this.selectableRowClasses ? this.selectableRowClasses(rowIndex) : {};\n var selectableAttrs = this.selectableRowAttrs ? this.selectableRowAttrs(rowIndex) : {}; // Additional classes and attributes\n\n var userTrClasses = isFunction(tbodyTrClass) ? tbodyTrClass(item, 'row') : tbodyTrClass;\n var userTrAttrs = isFunction(tbodyTrAttr) ?\n /* istanbul ignore next */\n tbodyTrAttr(item, 'row') : tbodyTrAttr; // Add the item row\n\n $rows.push(h(BTr, {\n class: [userTrClasses, selectableClasses, rowShowDetails ? 'b-table-has-details' : ''],\n props: {\n variant: item[FIELD_KEY_ROW_VARIANT] || null\n },\n attrs: _objectSpread(_objectSpread({\n id: rowId\n }, userTrAttrs), {}, {\n // Users cannot override the following attributes\n tabindex: hasRowClickHandler ? '0' : null,\n 'data-pk': primaryKeyValue || null,\n 'aria-details': detailsId,\n 'aria-owns': detailsId,\n 'aria-rowindex': ariaRowIndex\n }, selectableAttrs),\n on: {\n // Note: These events are not A11Y friendly!\n mouseenter: this.rowHovered,\n mouseleave: this.rowUnhovered\n },\n key: \"__b-table-row-\".concat(rowKey, \"__\"),\n ref: 'item-rows',\n refInFor: true\n }, $tds)); // Row Details slot\n\n if (rowShowDetails) {\n var detailsScope = {\n item: item,\n index: rowIndex,\n fields: fields,\n toggleDetails: this.toggleDetailsFactory(hasDetailsSlot, item)\n }; // If table supports selectable mode, then add in the following scope\n // this.supportsSelectableRows will be undefined if mixin isn't loaded\n\n if (this.supportsSelectableRows) {\n detailsScope.rowSelected = this.isRowSelected(rowIndex);\n\n detailsScope.selectRow = function () {\n return _this3.selectRow(rowIndex);\n };\n\n detailsScope.unselectRow = function () {\n return _this3.unselectRow(rowIndex);\n };\n } // Render the details slot in a TD\n\n\n var $details = h(BTd, {\n props: {\n colspan: fields.length\n },\n class: this.detailsTdClass\n }, [this.normalizeSlot(SLOT_NAME_ROW_DETAILS, detailsScope)]); // Add a hidden row to keep table row striping consistent when details showing\n // Only added if the table is striped\n\n if (striped) {\n $rows.push( // We don't use `BTr` here as we don't need the extra functionality\n h('tr', {\n staticClass: 'd-none',\n attrs: {\n 'aria-hidden': 'true',\n role: 'presentation'\n },\n key: \"__b-table-details-stripe__\".concat(rowKey)\n }));\n } // Add the actual details row\n\n\n var userDetailsTrClasses = isFunction(this.tbodyTrClass) ?\n /* istanbul ignore next */\n this.tbodyTrClass(item, SLOT_NAME_ROW_DETAILS) : this.tbodyTrClass;\n var userDetailsTrAttrs = isFunction(this.tbodyTrAttr) ?\n /* istanbul ignore next */\n this.tbodyTrAttr(item, SLOT_NAME_ROW_DETAILS) : this.tbodyTrAttr;\n $rows.push(h(BTr, {\n staticClass: 'b-table-details',\n class: [userDetailsTrClasses],\n props: {\n variant: item[FIELD_KEY_ROW_VARIANT] || null\n },\n attrs: _objectSpread(_objectSpread({}, userDetailsTrAttrs), {}, {\n // Users cannot override the following attributes\n id: detailsId,\n tabindex: '-1'\n }),\n key: \"__b-table-details__\".concat(rowKey)\n }, [$details]));\n } else if (hasDetailsSlot) {\n // Only add the placeholder if a the table has a row-details slot defined (but not shown)\n $rows.push(h());\n\n if (striped) {\n // Add extra placeholder if table is striped\n $rows.push(h());\n }\n } // Return the row(s)\n\n\n return $rows;\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../../vue';\nimport { EVENT_NAME_ROW_CLICKED, EVENT_NAME_ROW_CONTEXTMENU, EVENT_NAME_ROW_DBLCLICKED, EVENT_NAME_ROW_MIDDLE_CLICKED } from '../../../constants/events';\nimport { CODE_DOWN, CODE_END, CODE_ENTER, CODE_HOME, CODE_SPACE, CODE_UP } from '../../../constants/key-codes';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING } from '../../../constants/props';\nimport { arrayIncludes, from as arrayFrom } from '../../../utils/array';\nimport { attemptFocus, closest, isActiveElement, isElement } from '../../../utils/dom';\nimport { stopEvent } from '../../../utils/events';\nimport { sortKeys } from '../../../utils/object';\nimport { makeProp, pluckProps } from '../../../utils/props';\nimport { BTbody, props as BTbodyProps } from '../tbody';\nimport { filterEvent } from './filter-event';\nimport { textSelectionActive } from './text-selection-active';\nimport { tbodyRowMixin, props as tbodyRowProps } from './mixin-tbody-row'; // --- Helper methods ---\n\nvar getCellSlotName = function getCellSlotName(value) {\n return \"cell(\".concat(value || '', \")\");\n}; // --- Props ---\n\n\nexport var props = sortKeys(_objectSpread(_objectSpread(_objectSpread({}, BTbodyProps), tbodyRowProps), {}, {\n tbodyClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)\n})); // --- Mixin ---\n// @vue/component\n\nexport var tbodyMixin = Vue.extend({\n mixins: [tbodyRowMixin],\n props: props,\n beforeDestroy: function beforeDestroy() {\n this.$_bodyFieldSlotNameCache = null;\n },\n methods: {\n // Returns all the item TR elements (excludes detail and spacer rows)\n // `this.$refs['item-rows']` is an array of item TR components/elements\n // Rows should all be `` components, but we map to TR elements\n // Also note that `this.$refs['item-rows']` may not always be in document order\n getTbodyTrs: function getTbodyTrs() {\n var $refs = this.$refs;\n var tbody = $refs.tbody ? $refs.tbody.$el || $refs.tbody : null;\n var trs = ($refs['item-rows'] || []).map(function (tr) {\n return tr.$el || tr;\n });\n return tbody && tbody.children && tbody.children.length > 0 && trs && trs.length > 0 ? arrayFrom(tbody.children).filter(function (tr) {\n return arrayIncludes(trs, tr);\n }) :\n /* istanbul ignore next */\n [];\n },\n // Returns index of a particular TBODY item TR\n // We set `true` on closest to include self in result\n getTbodyTrIndex: function getTbodyTrIndex(el) {\n /* istanbul ignore next: should not normally happen */\n if (!isElement(el)) {\n return -1;\n }\n\n var tr = el.tagName === 'TR' ? el : closest('tr', el, true);\n return tr ? this.getTbodyTrs().indexOf(tr) : -1;\n },\n // Emits a row event, with the item object, row index and original event\n emitTbodyRowEvent: function emitTbodyRowEvent(type, event) {\n if (type && this.hasListener(type) && event && event.target) {\n var rowIndex = this.getTbodyTrIndex(event.target);\n\n if (rowIndex > -1) {\n // The array of TRs correlate to the `computedItems` array\n var item = this.computedItems[rowIndex];\n this.$emit(type, item, rowIndex, event);\n }\n }\n },\n tbodyRowEvtStopped: function tbodyRowEvtStopped(event) {\n return this.stopIfBusy && this.stopIfBusy(event);\n },\n // Delegated row event handlers\n onTbodyRowKeydown: function onTbodyRowKeydown(event) {\n // Keyboard navigation and row click emulation\n var target = event.target,\n keyCode = event.keyCode;\n\n if (this.tbodyRowEvtStopped(event) || target.tagName !== 'TR' || !isActiveElement(target) || target.tabIndex !== 0) {\n // Early exit if not an item row TR\n return;\n }\n\n if (arrayIncludes([CODE_ENTER, CODE_SPACE], keyCode)) {\n // Emulated click for keyboard users, transfer to click handler\n stopEvent(event);\n this.onTBodyRowClicked(event);\n } else if (arrayIncludes([CODE_UP, CODE_DOWN, CODE_HOME, CODE_END], keyCode)) {\n // Keyboard navigation\n var rowIndex = this.getTbodyTrIndex(target);\n\n if (rowIndex > -1) {\n stopEvent(event);\n var trs = this.getTbodyTrs();\n var shift = event.shiftKey;\n\n if (keyCode === CODE_HOME || shift && keyCode === CODE_UP) {\n // Focus first row\n attemptFocus(trs[0]);\n } else if (keyCode === CODE_END || shift && keyCode === CODE_DOWN) {\n // Focus last row\n attemptFocus(trs[trs.length - 1]);\n } else if (keyCode === CODE_UP && rowIndex > 0) {\n // Focus previous row\n attemptFocus(trs[rowIndex - 1]);\n } else if (keyCode === CODE_DOWN && rowIndex < trs.length - 1) {\n // Focus next row\n attemptFocus(trs[rowIndex + 1]);\n }\n }\n }\n },\n onTBodyRowClicked: function onTBodyRowClicked(event) {\n // Don't emit event when the table is busy, the user clicked\n // on a non-disabled control or is selecting text\n if (this.tbodyRowEvtStopped(event) || filterEvent(event) || textSelectionActive(this.$el)) {\n return;\n }\n\n this.emitTbodyRowEvent(EVENT_NAME_ROW_CLICKED, event);\n },\n onTbodyRowMiddleMouseRowClicked: function onTbodyRowMiddleMouseRowClicked(event) {\n if (!this.tbodyRowEvtStopped(event) && event.which === 2) {\n this.emitTbodyRowEvent(EVENT_NAME_ROW_MIDDLE_CLICKED, event);\n }\n },\n onTbodyRowContextmenu: function onTbodyRowContextmenu(event) {\n if (!this.tbodyRowEvtStopped(event)) {\n this.emitTbodyRowEvent(EVENT_NAME_ROW_CONTEXTMENU, event);\n }\n },\n onTbodyRowDblClicked: function onTbodyRowDblClicked(event) {\n if (!this.tbodyRowEvtStopped(event) && !filterEvent(event)) {\n this.emitTbodyRowEvent(EVENT_NAME_ROW_DBLCLICKED, event);\n }\n },\n // Render the tbody element and children\n // Note:\n // Row hover handlers are handled by the tbody-row mixin\n // As mouseenter/mouseleave events do not bubble\n renderTbody: function renderTbody() {\n var _this = this;\n\n var items = this.computedItems,\n renderBusy = this.renderBusy,\n renderTopRow = this.renderTopRow,\n renderEmpty = this.renderEmpty,\n renderBottomRow = this.renderBottomRow;\n var h = this.$createElement;\n var hasRowClickHandler = this.hasListener(EVENT_NAME_ROW_CLICKED) || this.hasSelectableRowClick; // Prepare the tbody rows\n\n var $rows = []; // Add the item data rows or the busy slot\n\n var $busy = renderBusy ? renderBusy() : null;\n\n if ($busy) {\n // If table is busy and a busy slot, then return only the busy \"row\" indicator\n $rows.push($busy);\n } else {\n // Table isn't busy, or we don't have a busy slot\n // Create a slot cache for improved performance when looking up cell slot names\n // Values will be keyed by the field's `key` and will store the slot's name\n // Slots could be dynamic (i.e. `v-if`), so we must compute on each render\n // Used by tbody-row mixin render helper\n var cache = {};\n var defaultSlotName = getCellSlotName();\n defaultSlotName = this.hasNormalizedSlot(defaultSlotName) ? defaultSlotName : null;\n this.computedFields.forEach(function (field) {\n var key = field.key;\n var slotName = getCellSlotName(key);\n var lowercaseSlotName = getCellSlotName(key.toLowerCase());\n cache[key] = _this.hasNormalizedSlot(slotName) ? slotName : _this.hasNormalizedSlot(lowercaseSlotName) ?\n /* istanbul ignore next */\n lowercaseSlotName : defaultSlotName;\n }); // Created as a non-reactive property so to not trigger component updates\n // Must be a fresh object each render\n\n this.$_bodyFieldSlotNameCache = cache; // Add static top row slot (hidden in visibly stacked mode\n // as we can't control `data-label` attr)\n\n $rows.push(renderTopRow ? renderTopRow() : h()); // Render the rows\n\n items.forEach(function (item, rowIndex) {\n // Render the individual item row (rows if details slot)\n $rows.push(_this.renderTbodyRow(item, rowIndex));\n }); // Empty items / empty filtered row slot (only shows if `items.length < 1`)\n\n $rows.push(renderEmpty ? renderEmpty() : h()); // Static bottom row slot (hidden in visibly stacked mode\n // as we can't control `data-label` attr)\n\n $rows.push(renderBottomRow ? renderBottomRow() : h());\n } // Note: these events will only emit if a listener is registered\n\n\n var handlers = {\n auxclick: this.onTbodyRowMiddleMouseRowClicked,\n // TODO:\n // Perhaps we do want to automatically prevent the\n // default context menu from showing if there is a\n // `row-contextmenu` listener registered\n contextmenu: this.onTbodyRowContextmenu,\n // The following event(s) is not considered A11Y friendly\n dblclick: this.onTbodyRowDblClicked // Hover events (`mouseenter`/`mouseleave`) are handled by `tbody-row` mixin\n\n }; // Add in click/keydown listeners if needed\n\n if (hasRowClickHandler) {\n handlers.click = this.onTBodyRowClicked;\n handlers.keydown = this.onTbodyRowKeydown;\n } // Assemble rows into the tbody\n\n\n var $tbody = h(BTbody, {\n class: this.tbodyClass || null,\n props: pluckProps(BTbodyProps, this.$props),\n // BTbody transfers all native event listeners to the root element\n // TODO: Only set the handlers if the table is not busy\n on: handlers,\n ref: 'tbody'\n }, $rows); // Return the assembled tbody\n\n return $tbody;\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_TFOOT } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { listenersMixin } from '../../mixins/listeners';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n // Supported values: 'lite', 'dark', or null\n footVariant: makeProp(PROP_TYPE_STRING)\n}, NAME_TFOOT); // --- Main component ---\n// TODO:\n// In Bootstrap v5, we won't need \"sniffing\" as table element variants properly inherit\n// to the child elements, so this can be converted to a functional component\n// @vue/component\n\nexport var BTfoot = /*#__PURE__*/Vue.extend({\n name: NAME_TFOOT,\n mixins: [attrsMixin, listenersMixin, normalizeSlotMixin],\n provide: function provide() {\n return {\n bvTableRowGroup: this\n };\n },\n inject: {\n // Sniffed by `` / `` / ``\n bvTable: {\n default:\n /* istanbul ignore next */\n function _default() {\n return {};\n }\n }\n },\n inheritAttrs: false,\n props: props,\n computed: {\n // Sniffed by `` / `` / ``\n isTfoot: function isTfoot() {\n return true;\n },\n // Sniffed by `` / `` / ``\n isDark: function isDark() {\n return this.bvTable.dark;\n },\n // Sniffed by `` / `` / ``\n isStacked: function isStacked() {\n return this.bvTable.isStacked;\n },\n // Sniffed by `` / `` / ``\n isResponsive: function isResponsive() {\n return this.bvTable.isResponsive;\n },\n // Sniffed by `` / `` / ``\n // Sticky headers are only supported in thead\n isStickyHeader: function isStickyHeader() {\n return false;\n },\n // Sniffed by `` / `` / ``\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n hasStickyHeader: function hasStickyHeader() {\n return !this.isStacked && this.bvTable.stickyHeader;\n },\n // Sniffed by `` / `` / ``\n tableVariant: function tableVariant() {\n return this.bvTable.tableVariant;\n },\n tfootClasses: function tfootClasses() {\n return [this.footVariant ? \"thead-\".concat(this.footVariant) : null];\n },\n tfootAttrs: function tfootAttrs() {\n return _objectSpread(_objectSpread({}, this.bvAttrs), {}, {\n role: 'rowgroup'\n });\n }\n },\n render: function render(h) {\n return h('tfoot', {\n class: this.tfootClasses,\n attrs: this.tfootAttrs,\n // Pass down any native listeners\n on: this.bvListeners\n }, this.normalizeSlot());\n }\n});","import { Vue } from '../../../vue';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../../constants/props';\nimport { SLOT_NAME_CUSTOM_FOOT } from '../../../constants/slots';\nimport { makeProp } from '../../../utils/props';\nimport { BTfoot } from '../tfoot'; // --- Props ---\n\nexport var props = {\n footClone: makeProp(PROP_TYPE_BOOLEAN, false),\n // Any Bootstrap theme variant (or custom)\n // Falls back to `headRowVariant`\n footRowVariant: makeProp(PROP_TYPE_STRING),\n // 'dark', 'light', or `null` (or custom)\n footVariant: makeProp(PROP_TYPE_STRING),\n tfootClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n tfootTrClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)\n}; // --- Mixin ---\n// @vue/component\n\nexport var tfootMixin = Vue.extend({\n props: props,\n methods: {\n renderTFootCustom: function renderTFootCustom() {\n var h = this.$createElement;\n\n if (this.hasNormalizedSlot(SLOT_NAME_CUSTOM_FOOT)) {\n return h(BTfoot, {\n class: this.tfootClass || null,\n props: {\n footVariant: this.footVariant || this.headVariant || null\n },\n key: 'bv-tfoot-custom'\n }, this.normalizeSlot(SLOT_NAME_CUSTOM_FOOT, {\n items: this.computedItems.slice(),\n fields: this.computedFields.slice(),\n columns: this.computedFields.length\n }));\n }\n\n return h();\n },\n renderTfoot: function renderTfoot() {\n // Passing true to renderThead will make it render a tfoot\n return this.footClone ? this.renderThead(true) : this.renderTFootCustom();\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_THEAD } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { listenersMixin } from '../../mixins/listeners';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n // Also sniffed by `` / `` / ``\n // Supported values: 'lite', 'dark', or `null`\n headVariant: makeProp(PROP_TYPE_STRING)\n}, NAME_THEAD); // --- Main component ---\n// TODO:\n// In Bootstrap v5, we won't need \"sniffing\" as table element variants properly inherit\n// to the child elements, so this can be converted to a functional component\n// @vue/component\n\nexport var BThead = /*#__PURE__*/Vue.extend({\n name: NAME_THEAD,\n mixins: [attrsMixin, listenersMixin, normalizeSlotMixin],\n provide: function provide() {\n return {\n bvTableRowGroup: this\n };\n },\n inject: {\n // Sniffed by `` / `` / ``\n bvTable: {\n default:\n /* istanbul ignore next */\n function _default() {\n return {};\n }\n }\n },\n inheritAttrs: false,\n props: props,\n computed: {\n // Sniffed by `` / `` / ``\n isThead: function isThead() {\n return true;\n },\n // Sniffed by `` / `` / ``\n isDark: function isDark() {\n return this.bvTable.dark;\n },\n // Sniffed by `` / `` / ``\n isStacked: function isStacked() {\n return this.bvTable.isStacked;\n },\n // Sniffed by `` / `` / ``\n isResponsive: function isResponsive() {\n return this.bvTable.isResponsive;\n },\n // Sniffed by `` / `` / ``\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n // Sticky headers only apply to cells in table `thead`\n isStickyHeader: function isStickyHeader() {\n return !this.isStacked && this.bvTable.stickyHeader;\n },\n // Sniffed by `` / `` / ``\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n hasStickyHeader: function hasStickyHeader() {\n return !this.isStacked && this.bvTable.stickyHeader;\n },\n // Sniffed by `` / `` / ``\n tableVariant: function tableVariant() {\n return this.bvTable.tableVariant;\n },\n theadClasses: function theadClasses() {\n return [this.headVariant ? \"thead-\".concat(this.headVariant) : null];\n },\n theadAttrs: function theadAttrs() {\n return _objectSpread({\n role: 'rowgroup'\n }, this.bvAttrs);\n }\n },\n render: function render(h) {\n return h('thead', {\n class: this.theadClasses,\n attrs: this.theadAttrs,\n // Pass down any native listeners\n on: this.bvListeners\n }, this.normalizeSlot());\n }\n});","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../../vue';\nimport { EVENT_NAME_HEAD_CLICKED } from '../../../constants/events';\nimport { CODE_ENTER, CODE_SPACE } from '../../../constants/key-codes';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_STRING } from '../../../constants/props';\nimport { SLOT_NAME_THEAD_TOP } from '../../../constants/slots';\nimport { stopEvent } from '../../../utils/events';\nimport { htmlOrText } from '../../../utils/html';\nimport { identity } from '../../../utils/identity';\nimport { isUndefinedOrNull } from '../../../utils/inspect';\nimport { noop } from '../../../utils/noop';\nimport { makeProp } from '../../../utils/props';\nimport { startCase } from '../../../utils/string';\nimport { BThead } from '../thead';\nimport { BTfoot } from '../tfoot';\nimport { BTr } from '../tr';\nimport { BTh } from '../th';\nimport { filterEvent } from './filter-event';\nimport { textSelectionActive } from './text-selection-active'; // --- Helper methods ---\n\nvar getHeadSlotName = function getHeadSlotName(value) {\n return \"head(\".concat(value || '', \")\");\n};\n\nvar getFootSlotName = function getFootSlotName(value) {\n return \"foot(\".concat(value || '', \")\");\n}; // --- Props ---\n\n\nexport var props = {\n // Any Bootstrap theme variant (or custom)\n headRowVariant: makeProp(PROP_TYPE_STRING),\n // 'light', 'dark' or `null` (or custom)\n headVariant: makeProp(PROP_TYPE_STRING),\n theadClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n theadTrClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)\n}; // --- Mixin ---\n// @vue/component\n\nexport var theadMixin = Vue.extend({\n props: props,\n methods: {\n fieldClasses: function fieldClasses(field) {\n // Header field (
) classes\n return [field.class ? field.class : '', field.thClass ? field.thClass : ''];\n },\n headClicked: function headClicked(event, field, isFoot) {\n if (this.stopIfBusy && this.stopIfBusy(event)) {\n // If table is busy (via provider) then don't propagate\n return;\n } else if (filterEvent(event)) {\n // Clicked on a non-disabled control so ignore\n return;\n } else if (textSelectionActive(this.$el)) {\n // User is selecting text, so ignore\n\n /* istanbul ignore next: JSDOM doesn't support getSelection() */\n return;\n }\n\n stopEvent(event);\n this.$emit(EVENT_NAME_HEAD_CLICKED, field.key, field, event, isFoot);\n },\n renderThead: function renderThead() {\n var _this = this;\n\n var isFoot = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var fields = this.computedFields,\n isSortable = this.isSortable,\n isSelectable = this.isSelectable,\n headVariant = this.headVariant,\n footVariant = this.footVariant,\n headRowVariant = this.headRowVariant,\n footRowVariant = this.footRowVariant;\n var h = this.$createElement; // In always stacked mode, we don't bother rendering the head/foot\n // Or if no field headings (empty table)\n\n if (this.isStackedAlways || fields.length === 0) {\n return h();\n }\n\n var hasHeadClickListener = isSortable || this.hasListener(EVENT_NAME_HEAD_CLICKED); // Reference to `selectAllRows` and `clearSelected()`, if table is selectable\n\n var selectAllRows = isSelectable ? this.selectAllRows : noop;\n var clearSelected = isSelectable ? this.clearSelected : noop; // Helper function to generate a field cell\n\n var makeCell = function makeCell(field, colIndex) {\n var label = field.label,\n labelHtml = field.labelHtml,\n variant = field.variant,\n stickyColumn = field.stickyColumn,\n key = field.key;\n var ariaLabel = null;\n\n if (!field.label.trim() && !field.headerTitle) {\n // In case field's label and title are empty/blank\n // We need to add a hint about what the column is about for non-sighted users\n\n /* istanbul ignore next */\n ariaLabel = startCase(field.key);\n }\n\n var on = {};\n\n if (hasHeadClickListener) {\n on.click = function (event) {\n _this.headClicked(event, field, isFoot);\n };\n\n on.keydown = function (event) {\n var keyCode = event.keyCode;\n\n if (keyCode === CODE_ENTER || keyCode === CODE_SPACE) {\n _this.headClicked(event, field, isFoot);\n }\n };\n }\n\n var sortAttrs = isSortable ? _this.sortTheadThAttrs(key, field, isFoot) : {};\n var sortClass = isSortable ? _this.sortTheadThClasses(key, field, isFoot) : null;\n var sortLabel = isSortable ? _this.sortTheadThLabel(key, field, isFoot) : null;\n var data = {\n class: [_this.fieldClasses(field), sortClass],\n props: {\n variant: variant,\n stickyColumn: stickyColumn\n },\n style: field.thStyle || {},\n attrs: _objectSpread(_objectSpread({\n // We only add a `tabindex` of `0` if there is a head-clicked listener\n // and the current field is sortable\n tabindex: hasHeadClickListener && field.sortable ? '0' : null,\n abbr: field.headerAbbr || null,\n title: field.headerTitle || null,\n 'aria-colindex': colIndex + 1,\n 'aria-label': ariaLabel\n }, _this.getThValues(null, key, field.thAttr, isFoot ? 'foot' : 'head', {})), sortAttrs),\n on: on,\n key: key\n }; // Handle edge case where in-document templates are used with new\n // `v-slot:name` syntax where the browser lower-cases the v-slot's\n // name (attributes become lower cased when parsed by the browser)\n // We have replaced the square bracket syntax with round brackets\n // to prevent confusion with dynamic slot names\n\n var slotNames = [getHeadSlotName(key), getHeadSlotName(key.toLowerCase()), getHeadSlotName()]; // Footer will fallback to header slot names\n\n if (isFoot) {\n slotNames = [getFootSlotName(key), getFootSlotName(key.toLowerCase()), getFootSlotName()].concat(_toConsumableArray(slotNames));\n }\n\n var scope = {\n label: label,\n column: key,\n field: field,\n isFoot: isFoot,\n // Add in row select methods\n selectAllRows: selectAllRows,\n clearSelected: clearSelected\n };\n var $content = _this.normalizeSlot(slotNames, scope) || h('div', {\n domProps: htmlOrText(labelHtml, label)\n });\n var $srLabel = sortLabel ? h('span', {\n staticClass: 'sr-only'\n }, \" (\".concat(sortLabel, \")\")) : null; // Return the header cell\n\n return h(BTh, data, [$content, $srLabel].filter(identity));\n }; // Generate the array of cells\n\n\n var $cells = fields.map(makeCell).filter(identity); // Generate the row(s)\n\n var $trs = [];\n\n if (isFoot) {\n $trs.push(h(BTr, {\n class: this.tfootTrClass,\n props: {\n variant: isUndefinedOrNull(footRowVariant) ? headRowVariant :\n /* istanbul ignore next */\n footRowVariant\n }\n }, $cells));\n } else {\n var scope = {\n columns: fields.length,\n fields: fields,\n // Add in row select methods\n selectAllRows: selectAllRows,\n clearSelected: clearSelected\n };\n $trs.push(this.normalizeSlot(SLOT_NAME_THEAD_TOP, scope) || h());\n $trs.push(h(BTr, {\n class: this.theadTrClass,\n props: {\n variant: headRowVariant\n }\n }, $cells));\n }\n\n return h(isFoot ? BTfoot : BThead, {\n class: (isFoot ? this.tfootClass : this.theadClass) || null,\n props: isFoot ? {\n footVariant: footVariant || headVariant || null\n } : {\n headVariant: headVariant || null\n },\n key: isFoot ? 'bv-tfoot' : 'bv-thead'\n }, $trs);\n }\n }\n});","import { Vue } from '../../../vue';\nimport { SLOT_NAME_TOP_ROW } from '../../../constants/slots';\nimport { isFunction } from '../../../utils/inspect';\nimport { BTr } from '../tr'; // --- Props ---\n\nexport var props = {}; // --- Mixin ---\n// @vue/component\n\nexport var topRowMixin = Vue.extend({\n methods: {\n renderTopRow: function renderTopRow() {\n var fields = this.computedFields,\n stacked = this.stacked,\n tbodyTrClass = this.tbodyTrClass,\n tbodyTrAttr = this.tbodyTrAttr;\n var h = this.$createElement; // Add static Top Row slot (hidden in visibly stacked mode as we can't control the data-label)\n // If in *always* stacked mode, we don't bother rendering the row\n\n if (!this.hasNormalizedSlot(SLOT_NAME_TOP_ROW) || stacked === true || stacked === '') {\n return h();\n }\n\n return h(BTr, {\n staticClass: 'b-table-top-row',\n class: [isFunction(tbodyTrClass) ? tbodyTrClass(null, 'row-top') : tbodyTrClass],\n attrs: isFunction(tbodyTrAttr) ? tbodyTrAttr(null, 'row-top') : tbodyTrAttr,\n key: 'b-top-row'\n }, [this.normalizeSlot(SLOT_NAME_TOP_ROW, {\n columns: fields.length,\n fields: fields\n })]);\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_TABLE } from '../../constants/components';\nimport { sortKeys } from '../../utils/object';\nimport { makePropsConfigurable } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { hasListenerMixin } from '../../mixins/has-listener';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { bottomRowMixin, props as bottomRowProps } from './helpers/mixin-bottom-row';\nimport { busyMixin, props as busyProps } from './helpers/mixin-busy';\nimport { captionMixin, props as captionProps } from './helpers/mixin-caption';\nimport { colgroupMixin, props as colgroupProps } from './helpers/mixin-colgroup';\nimport { emptyMixin, props as emptyProps } from './helpers/mixin-empty';\nimport { filteringMixin, props as filteringProps } from './helpers/mixin-filtering';\nimport { itemsMixin, props as itemsProps } from './helpers/mixin-items';\nimport { paginationMixin, props as paginationProps } from './helpers/mixin-pagination';\nimport { providerMixin, props as providerProps } from './helpers/mixin-provider';\nimport { selectableMixin, props as selectableProps } from './helpers/mixin-selectable';\nimport { sortingMixin, props as sortingProps } from './helpers/mixin-sorting';\nimport { stackedMixin, props as stackedProps } from './helpers/mixin-stacked';\nimport { tableRendererMixin, props as tableRendererProps } from './helpers/mixin-table-renderer';\nimport { tbodyMixin, props as tbodyProps } from './helpers/mixin-tbody';\nimport { tfootMixin, props as tfootProps } from './helpers/mixin-tfoot';\nimport { theadMixin, props as theadProps } from './helpers/mixin-thead';\nimport { topRowMixin, props as topRowProps } from './helpers/mixin-top-row'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), bottomRowProps), busyProps), captionProps), colgroupProps), emptyProps), filteringProps), itemsProps), paginationProps), providerProps), selectableProps), sortingProps), stackedProps), tableRendererProps), tbodyProps), tfootProps), theadProps), topRowProps)), NAME_TABLE); // --- Main component ---\n// @vue/component\n\nexport var BTable = /*#__PURE__*/Vue.extend({\n name: NAME_TABLE,\n // Order of mixins is important!\n // They are merged from first to last, followed by this component\n mixins: [// General mixins\n attrsMixin, hasListenerMixin, idMixin, normalizeSlotMixin, // Required table mixins\n itemsMixin, tableRendererMixin, stackedMixin, theadMixin, tfootMixin, tbodyMixin, // Table features mixins\n stackedMixin, filteringMixin, sortingMixin, paginationMixin, captionMixin, colgroupMixin, selectableMixin, emptyMixin, topRowMixin, bottomRowMixin, busyMixin, providerMixin],\n props: props // Render function is provided by `tableRendererMixin`\n\n});","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ToastificationContent.vue?vue&type=style&index=0&id=55dd3057&prod&lang=scss&scoped=true\"","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_INPUT_GROUP_PREPEND } from '../../constants/components';\nimport { omit } from '../../utils/object';\nimport { makePropsConfigurable } from '../../utils/props';\nimport { BInputGroupAddon, props as BInputGroupAddonProps } from './input-group-addon'; // --- Props ---\n\nexport var props = makePropsConfigurable(omit(BInputGroupAddonProps, ['append']), NAME_INPUT_GROUP_PREPEND); // --- Main component ---\n// @vue/component\n\nexport var BInputGroupPrepend = /*#__PURE__*/Vue.extend({\n name: NAME_INPUT_GROUP_PREPEND,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n // Pass all our data down to child, and set `append` to `true`\n return h(BInputGroupAddon, mergeData(data, {\n props: _objectSpread(_objectSpread({}, props), {}, {\n append: false\n })\n }), children);\n }\n});","import { Vue, mergeData } from '../../vue';\nimport { NAME_INPUT_GROUP_ADDON } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { BInputGroupText } from './input-group-text'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n append: makeProp(PROP_TYPE_BOOLEAN, false),\n id: makeProp(PROP_TYPE_STRING),\n isText: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n}, NAME_INPUT_GROUP_ADDON); // --- Main component ---\n// @vue/component\n\nexport var BInputGroupAddon = /*#__PURE__*/Vue.extend({\n name: NAME_INPUT_GROUP_ADDON,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var append = props.append;\n return h(props.tag, mergeData(data, {\n class: {\n 'input-group-append': append,\n 'input-group-prepend': !append\n },\n attrs: {\n id: props.id\n }\n }), props.isText ? [h(BInputGroupText, children)] : children);\n }\n});","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!./AccountSettingInformation.vue?vue&type=style&index=0&id=e617d1a2&prod&lang=scss\"","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});","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_INPUT_GROUP } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_APPEND, SLOT_NAME_DEFAULT, SLOT_NAME_PREPEND } from '../../constants/slots';\nimport { htmlOrText } from '../../utils/html';\nimport { hasNormalizedSlot, normalizeSlot } from '../../utils/normalize-slot';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { BInputGroupAppend } from './input-group-append';\nimport { BInputGroupPrepend } from './input-group-prepend';\nimport { BInputGroupText } from './input-group-text'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n append: makeProp(PROP_TYPE_STRING),\n appendHtml: makeProp(PROP_TYPE_STRING),\n id: makeProp(PROP_TYPE_STRING),\n prepend: makeProp(PROP_TYPE_STRING),\n prependHtml: makeProp(PROP_TYPE_STRING),\n size: makeProp(PROP_TYPE_STRING),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n}, NAME_INPUT_GROUP); // --- Main component ---\n// @vue/component\n\nexport var BInputGroup = /*#__PURE__*/Vue.extend({\n name: NAME_INPUT_GROUP,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots,\n scopedSlots = _ref.scopedSlots;\n var prepend = props.prepend,\n prependHtml = props.prependHtml,\n append = props.append,\n appendHtml = props.appendHtml,\n size = props.size;\n var $scopedSlots = scopedSlots || {};\n var $slots = slots();\n var slotScope = {};\n var $prepend = h();\n var hasPrependSlot = hasNormalizedSlot(SLOT_NAME_PREPEND, $scopedSlots, $slots);\n\n if (hasPrependSlot || prepend || prependHtml) {\n $prepend = h(BInputGroupPrepend, [hasPrependSlot ? normalizeSlot(SLOT_NAME_PREPEND, slotScope, $scopedSlots, $slots) : h(BInputGroupText, {\n domProps: htmlOrText(prependHtml, prepend)\n })]);\n }\n\n var $append = h();\n var hasAppendSlot = hasNormalizedSlot(SLOT_NAME_APPEND, $scopedSlots, $slots);\n\n if (hasAppendSlot || append || appendHtml) {\n $append = h(BInputGroupAppend, [hasAppendSlot ? normalizeSlot(SLOT_NAME_APPEND, slotScope, $scopedSlots, $slots) : h(BInputGroupText, {\n domProps: htmlOrText(appendHtml, append)\n })]);\n }\n\n return h(props.tag, mergeData(data, {\n staticClass: 'input-group',\n class: _defineProperty({}, \"input-group-\".concat(size), size),\n attrs: {\n id: props.id || null,\n role: 'group'\n }\n }), [$prepend, normalizeSlot(SLOT_NAME_DEFAULT, slotScope, $scopedSlots, $slots), $append]);\n }\n});","export var HOOKS = [\n \"onChange\",\n \"onClose\",\n \"onDayCreate\",\n \"onDestroy\",\n \"onKeyDown\",\n \"onMonthChange\",\n \"onOpen\",\n \"onParseConfig\",\n \"onReady\",\n \"onValueUpdate\",\n \"onYearChange\",\n \"onPreCalendarPosition\",\n];\nexport var defaults = {\n _disable: [],\n allowInput: false,\n allowInvalidPreload: false,\n altFormat: \"F j, Y\",\n altInput: false,\n altInputClass: \"form-control input\",\n animate: typeof window === \"object\" &&\n window.navigator.userAgent.indexOf(\"MSIE\") === -1,\n ariaDateFormat: \"F j, Y\",\n autoFillDefaultTime: true,\n clickOpens: true,\n closeOnSelect: true,\n conjunction: \", \",\n dateFormat: \"Y-m-d\",\n defaultHour: 12,\n defaultMinute: 0,\n defaultSeconds: 0,\n disable: [],\n disableMobile: false,\n enableSeconds: false,\n enableTime: false,\n errorHandler: function (err) {\n return typeof console !== \"undefined\" && console.warn(err);\n },\n getWeek: function (givenDate) {\n var date = new Date(givenDate.getTime());\n date.setHours(0, 0, 0, 0);\n date.setDate(date.getDate() + 3 - ((date.getDay() + 6) % 7));\n var week1 = new Date(date.getFullYear(), 0, 4);\n return (1 +\n Math.round(((date.getTime() - week1.getTime()) / 86400000 -\n 3 +\n ((week1.getDay() + 6) % 7)) /\n 7));\n },\n hourIncrement: 1,\n ignoredFocusElements: [],\n inline: false,\n locale: \"default\",\n minuteIncrement: 5,\n mode: \"single\",\n monthSelectorType: \"dropdown\",\n nextArrow: \"\",\n noCalendar: false,\n now: new Date(),\n onChange: [],\n onClose: [],\n onDayCreate: [],\n onDestroy: [],\n onKeyDown: [],\n onMonthChange: [],\n onOpen: [],\n onParseConfig: [],\n onReady: [],\n onValueUpdate: [],\n onYearChange: [],\n onPreCalendarPosition: [],\n plugins: [],\n position: \"auto\",\n positionElement: undefined,\n prevArrow: \"\",\n shorthandCurrentMonth: false,\n showMonths: 1,\n static: false,\n time_24hr: false,\n weekNumbers: false,\n wrap: false,\n};\n","export var english = {\n weekdays: {\n shorthand: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n longhand: [\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\",\n ],\n },\n months: {\n shorthand: [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\",\n ],\n longhand: [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n ],\n },\n daysInMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],\n firstDayOfWeek: 0,\n ordinal: function (nth) {\n var s = nth % 100;\n if (s > 3 && s < 21)\n return \"th\";\n switch (s % 10) {\n case 1:\n return \"st\";\n case 2:\n return \"nd\";\n case 3:\n return \"rd\";\n default:\n return \"th\";\n }\n },\n rangeSeparator: \" to \",\n weekAbbreviation: \"Wk\",\n scrollTitle: \"Scroll to increment\",\n toggleTitle: \"Click to toggle\",\n amPM: [\"AM\", \"PM\"],\n yearAriaLabel: \"Year\",\n monthAriaLabel: \"Month\",\n hourAriaLabel: \"Hour\",\n minuteAriaLabel: \"Minute\",\n time_24hr: false,\n};\nexport default english;\n","export var pad = function (number, length) {\n if (length === void 0) { length = 2; }\n return (\"000\" + number).slice(length * -1);\n};\nexport var int = function (bool) { return (bool === true ? 1 : 0); };\nexport function debounce(fn, wait) {\n var t;\n return function () {\n var _this = this;\n var args = arguments;\n clearTimeout(t);\n t = setTimeout(function () { return fn.apply(_this, args); }, wait);\n };\n}\nexport var arrayify = function (obj) {\n return obj instanceof Array ? obj : [obj];\n};\n","export function toggleClass(elem, className, bool) {\n if (bool === true)\n return elem.classList.add(className);\n elem.classList.remove(className);\n}\nexport function createElement(tag, className, content) {\n var e = window.document.createElement(tag);\n className = className || \"\";\n content = content || \"\";\n e.className = className;\n if (content !== undefined)\n e.textContent = content;\n return e;\n}\nexport function clearNode(node) {\n while (node.firstChild)\n node.removeChild(node.firstChild);\n}\nexport function findParent(node, condition) {\n if (condition(node))\n return node;\n else if (node.parentNode)\n return findParent(node.parentNode, condition);\n return undefined;\n}\nexport function createNumberInput(inputClassName, opts) {\n var wrapper = createElement(\"div\", \"numInputWrapper\"), numInput = createElement(\"input\", \"numInput \" + inputClassName), arrowUp = createElement(\"span\", \"arrowUp\"), arrowDown = createElement(\"span\", \"arrowDown\");\n if (navigator.userAgent.indexOf(\"MSIE 9.0\") === -1) {\n numInput.type = \"number\";\n }\n else {\n numInput.type = \"text\";\n numInput.pattern = \"\\\\d*\";\n }\n if (opts !== undefined)\n for (var key in opts)\n numInput.setAttribute(key, opts[key]);\n wrapper.appendChild(numInput);\n wrapper.appendChild(arrowUp);\n wrapper.appendChild(arrowDown);\n return wrapper;\n}\nexport function getEventTarget(event) {\n try {\n if (typeof event.composedPath === \"function\") {\n var path = event.composedPath();\n return path[0];\n }\n return event.target;\n }\n catch (error) {\n return event.target;\n }\n}\n","import { int, pad } from \"../utils\";\nvar doNothing = function () { return undefined; };\nexport var monthToStr = function (monthNumber, shorthand, locale) { return locale.months[shorthand ? \"shorthand\" : \"longhand\"][monthNumber]; };\nexport var revFormat = {\n D: doNothing,\n F: function (dateObj, monthName, locale) {\n dateObj.setMonth(locale.months.longhand.indexOf(monthName));\n },\n G: function (dateObj, hour) {\n dateObj.setHours((dateObj.getHours() >= 12 ? 12 : 0) + parseFloat(hour));\n },\n H: function (dateObj, hour) {\n dateObj.setHours(parseFloat(hour));\n },\n J: function (dateObj, day) {\n dateObj.setDate(parseFloat(day));\n },\n K: function (dateObj, amPM, locale) {\n dateObj.setHours((dateObj.getHours() % 12) +\n 12 * int(new RegExp(locale.amPM[1], \"i\").test(amPM)));\n },\n M: function (dateObj, shortMonth, locale) {\n dateObj.setMonth(locale.months.shorthand.indexOf(shortMonth));\n },\n S: function (dateObj, seconds) {\n dateObj.setSeconds(parseFloat(seconds));\n },\n U: function (_, unixSeconds) { return new Date(parseFloat(unixSeconds) * 1000); },\n W: function (dateObj, weekNum, locale) {\n var weekNumber = parseInt(weekNum);\n var date = new Date(dateObj.getFullYear(), 0, 2 + (weekNumber - 1) * 7, 0, 0, 0, 0);\n date.setDate(date.getDate() - date.getDay() + locale.firstDayOfWeek);\n return date;\n },\n Y: function (dateObj, year) {\n dateObj.setFullYear(parseFloat(year));\n },\n Z: function (_, ISODate) { return new Date(ISODate); },\n d: function (dateObj, day) {\n dateObj.setDate(parseFloat(day));\n },\n h: function (dateObj, hour) {\n dateObj.setHours((dateObj.getHours() >= 12 ? 12 : 0) + parseFloat(hour));\n },\n i: function (dateObj, minutes) {\n dateObj.setMinutes(parseFloat(minutes));\n },\n j: function (dateObj, day) {\n dateObj.setDate(parseFloat(day));\n },\n l: doNothing,\n m: function (dateObj, month) {\n dateObj.setMonth(parseFloat(month) - 1);\n },\n n: function (dateObj, month) {\n dateObj.setMonth(parseFloat(month) - 1);\n },\n s: function (dateObj, seconds) {\n dateObj.setSeconds(parseFloat(seconds));\n },\n u: function (_, unixMillSeconds) {\n return new Date(parseFloat(unixMillSeconds));\n },\n w: doNothing,\n y: function (dateObj, year) {\n dateObj.setFullYear(2000 + parseFloat(year));\n },\n};\nexport var tokenRegex = {\n D: \"\",\n F: \"\",\n G: \"(\\\\d\\\\d|\\\\d)\",\n H: \"(\\\\d\\\\d|\\\\d)\",\n J: \"(\\\\d\\\\d|\\\\d)\\\\w+\",\n K: \"\",\n M: \"\",\n S: \"(\\\\d\\\\d|\\\\d)\",\n U: \"(.+)\",\n W: \"(\\\\d\\\\d|\\\\d)\",\n Y: \"(\\\\d{4})\",\n Z: \"(.+)\",\n d: \"(\\\\d\\\\d|\\\\d)\",\n h: \"(\\\\d\\\\d|\\\\d)\",\n i: \"(\\\\d\\\\d|\\\\d)\",\n j: \"(\\\\d\\\\d|\\\\d)\",\n l: \"\",\n m: \"(\\\\d\\\\d|\\\\d)\",\n n: \"(\\\\d\\\\d|\\\\d)\",\n s: \"(\\\\d\\\\d|\\\\d)\",\n u: \"(.+)\",\n w: \"(\\\\d\\\\d|\\\\d)\",\n y: \"(\\\\d{2})\",\n};\nexport var formats = {\n Z: function (date) { return date.toISOString(); },\n D: function (date, locale, options) {\n return locale.weekdays.shorthand[formats.w(date, locale, options)];\n },\n F: function (date, locale, options) {\n return monthToStr(formats.n(date, locale, options) - 1, false, locale);\n },\n G: function (date, locale, options) {\n return pad(formats.h(date, locale, options));\n },\n H: function (date) { return pad(date.getHours()); },\n J: function (date, locale) {\n return locale.ordinal !== undefined\n ? date.getDate() + locale.ordinal(date.getDate())\n : date.getDate();\n },\n K: function (date, locale) { return locale.amPM[int(date.getHours() > 11)]; },\n M: function (date, locale) {\n return monthToStr(date.getMonth(), true, locale);\n },\n S: function (date) { return pad(date.getSeconds()); },\n U: function (date) { return date.getTime() / 1000; },\n W: function (date, _, options) {\n return options.getWeek(date);\n },\n Y: function (date) { return pad(date.getFullYear(), 4); },\n d: function (date) { return pad(date.getDate()); },\n h: function (date) { return (date.getHours() % 12 ? date.getHours() % 12 : 12); },\n i: function (date) { return pad(date.getMinutes()); },\n j: function (date) { return date.getDate(); },\n l: function (date, locale) {\n return locale.weekdays.longhand[date.getDay()];\n },\n m: function (date) { return pad(date.getMonth() + 1); },\n n: function (date) { return date.getMonth() + 1; },\n s: function (date) { return date.getSeconds(); },\n u: function (date) { return date.getTime(); },\n w: function (date) { return date.getDay(); },\n y: function (date) { return String(date.getFullYear()).substring(2); },\n};\n","import { tokenRegex, revFormat, formats, } from \"./formatting\";\nimport { defaults } from \"../types/options\";\nimport { english } from \"../l10n/default\";\nexport var createDateFormatter = function (_a) {\n var _b = _a.config, config = _b === void 0 ? defaults : _b, _c = _a.l10n, l10n = _c === void 0 ? english : _c, _d = _a.isMobile, isMobile = _d === void 0 ? false : _d;\n return function (dateObj, frmt, overrideLocale) {\n var locale = overrideLocale || l10n;\n if (config.formatDate !== undefined && !isMobile) {\n return config.formatDate(dateObj, frmt, locale);\n }\n return frmt\n .split(\"\")\n .map(function (c, i, arr) {\n return formats[c] && arr[i - 1] !== \"\\\\\"\n ? formats[c](dateObj, locale, config)\n : c !== \"\\\\\"\n ? c\n : \"\";\n })\n .join(\"\");\n };\n};\nexport var createDateParser = function (_a) {\n var _b = _a.config, config = _b === void 0 ? defaults : _b, _c = _a.l10n, l10n = _c === void 0 ? english : _c;\n return function (date, givenFormat, timeless, customLocale) {\n if (date !== 0 && !date)\n return undefined;\n var locale = customLocale || l10n;\n var parsedDate;\n var dateOrig = date;\n if (date instanceof Date)\n parsedDate = new Date(date.getTime());\n else if (typeof date !== \"string\" &&\n date.toFixed !== undefined)\n parsedDate = new Date(date);\n else if (typeof date === \"string\") {\n var format = givenFormat || (config || defaults).dateFormat;\n var datestr = String(date).trim();\n if (datestr === \"today\") {\n parsedDate = new Date();\n timeless = true;\n }\n else if (config && config.parseDate) {\n parsedDate = config.parseDate(date, format);\n }\n else if (/Z$/.test(datestr) ||\n /GMT$/.test(datestr)) {\n parsedDate = new Date(date);\n }\n else {\n var matched = void 0, ops = [];\n for (var i = 0, matchIndex = 0, regexStr = \"\"; i < format.length; i++) {\n var token = format[i];\n var isBackSlash = token === \"\\\\\";\n var escaped = format[i - 1] === \"\\\\\" || isBackSlash;\n if (tokenRegex[token] && !escaped) {\n regexStr += tokenRegex[token];\n var match = new RegExp(regexStr).exec(date);\n if (match && (matched = true)) {\n ops[token !== \"Y\" ? \"push\" : \"unshift\"]({\n fn: revFormat[token],\n val: match[++matchIndex],\n });\n }\n }\n else if (!isBackSlash)\n regexStr += \".\";\n }\n parsedDate =\n !config || !config.noCalendar\n ? new Date(new Date().getFullYear(), 0, 1, 0, 0, 0, 0)\n : new Date(new Date().setHours(0, 0, 0, 0));\n ops.forEach(function (_a) {\n var fn = _a.fn, val = _a.val;\n return (parsedDate = fn(parsedDate, val, locale) || parsedDate);\n });\n parsedDate = matched ? parsedDate : undefined;\n }\n }\n if (!(parsedDate instanceof Date && !isNaN(parsedDate.getTime()))) {\n config.errorHandler(new Error(\"Invalid date provided: \" + dateOrig));\n return undefined;\n }\n if (timeless === true)\n parsedDate.setHours(0, 0, 0, 0);\n return parsedDate;\n };\n};\nexport function compareDates(date1, date2, timeless) {\n if (timeless === void 0) { timeless = true; }\n if (timeless !== false) {\n return (new Date(date1.getTime()).setHours(0, 0, 0, 0) -\n new Date(date2.getTime()).setHours(0, 0, 0, 0));\n }\n return date1.getTime() - date2.getTime();\n}\nexport function compareTimes(date1, date2) {\n return (3600 * (date1.getHours() - date2.getHours()) +\n 60 * (date1.getMinutes() - date2.getMinutes()) +\n date1.getSeconds() -\n date2.getSeconds());\n}\nexport var isBetween = function (ts, ts1, ts2) {\n return ts > Math.min(ts1, ts2) && ts < Math.max(ts1, ts2);\n};\nexport var calculateSecondsSinceMidnight = function (hours, minutes, seconds) {\n return hours * 3600 + minutes * 60 + seconds;\n};\nexport var parseSeconds = function (secondsSinceMidnight) {\n var hours = Math.floor(secondsSinceMidnight / 3600), minutes = (secondsSinceMidnight - hours * 3600) / 60;\n return [hours, minutes, secondsSinceMidnight - hours * 3600 - minutes * 60];\n};\nexport var duration = {\n DAY: 86400000,\n};\nexport function getDefaultHours(config) {\n var hours = config.defaultHour;\n var minutes = config.defaultMinute;\n var seconds = config.defaultSeconds;\n if (config.minDate !== undefined) {\n var minHour = config.minDate.getHours();\n var minMinutes = config.minDate.getMinutes();\n var minSeconds = config.minDate.getSeconds();\n if (hours < minHour) {\n hours = minHour;\n }\n if (hours === minHour && minutes < minMinutes) {\n minutes = minMinutes;\n }\n if (hours === minHour && minutes === minMinutes && seconds < minSeconds)\n seconds = config.minDate.getSeconds();\n }\n if (config.maxDate !== undefined) {\n var maxHr = config.maxDate.getHours();\n var maxMinutes = config.maxDate.getMinutes();\n hours = Math.min(hours, maxHr);\n if (hours === maxHr)\n minutes = Math.min(maxMinutes, minutes);\n if (hours === maxHr && minutes === maxMinutes)\n seconds = config.maxDate.getSeconds();\n }\n return { hours: hours, minutes: minutes, seconds: seconds };\n}\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { defaults as defaultOptions, HOOKS, } from \"./types/options\";\nimport English from \"./l10n/default\";\nimport { arrayify, debounce, int, pad } from \"./utils\";\nimport { clearNode, createElement, createNumberInput, findParent, toggleClass, getEventTarget, } from \"./utils/dom\";\nimport { compareDates, createDateParser, createDateFormatter, duration, isBetween, getDefaultHours, calculateSecondsSinceMidnight, parseSeconds, } from \"./utils/dates\";\nimport { tokenRegex, monthToStr } from \"./utils/formatting\";\nimport \"./utils/polyfills\";\nvar DEBOUNCED_CHANGE_MS = 300;\nfunction FlatpickrInstance(element, instanceConfig) {\n var self = {\n config: __assign(__assign({}, defaultOptions), flatpickr.defaultConfig),\n l10n: English,\n };\n self.parseDate = createDateParser({ config: self.config, l10n: self.l10n });\n self._handlers = [];\n self.pluginElements = [];\n self.loadedPlugins = [];\n self._bind = bind;\n self._setHoursFromDate = setHoursFromDate;\n self._positionCalendar = positionCalendar;\n self.changeMonth = changeMonth;\n self.changeYear = changeYear;\n self.clear = clear;\n self.close = close;\n self.onMouseOver = onMouseOver;\n self._createElement = createElement;\n self.createDay = createDay;\n self.destroy = destroy;\n self.isEnabled = isEnabled;\n self.jumpToDate = jumpToDate;\n self.updateValue = updateValue;\n self.open = open;\n self.redraw = redraw;\n self.set = set;\n self.setDate = setDate;\n self.toggle = toggle;\n function setupHelperFunctions() {\n self.utils = {\n getDaysInMonth: function (month, yr) {\n if (month === void 0) { month = self.currentMonth; }\n if (yr === void 0) { yr = self.currentYear; }\n if (month === 1 && ((yr % 4 === 0 && yr % 100 !== 0) || yr % 400 === 0))\n return 29;\n return self.l10n.daysInMonth[month];\n },\n };\n }\n function init() {\n self.element = self.input = element;\n self.isOpen = false;\n parseConfig();\n setupLocale();\n setupInputs();\n setupDates();\n setupHelperFunctions();\n if (!self.isMobile)\n build();\n bindEvents();\n if (self.selectedDates.length || self.config.noCalendar) {\n if (self.config.enableTime) {\n setHoursFromDate(self.config.noCalendar ? self.latestSelectedDateObj : undefined);\n }\n updateValue(false);\n }\n setCalendarWidth();\n var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n if (!self.isMobile && isSafari) {\n positionCalendar();\n }\n triggerEvent(\"onReady\");\n }\n function getClosestActiveElement() {\n var _a;\n return (((_a = self.calendarContainer) === null || _a === void 0 ? void 0 : _a.getRootNode())\n .activeElement || document.activeElement);\n }\n function bindToInstance(fn) {\n return fn.bind(self);\n }\n function setCalendarWidth() {\n var config = self.config;\n if (config.weekNumbers === false && config.showMonths === 1) {\n return;\n }\n else if (config.noCalendar !== true) {\n window.requestAnimationFrame(function () {\n if (self.calendarContainer !== undefined) {\n self.calendarContainer.style.visibility = \"hidden\";\n self.calendarContainer.style.display = \"block\";\n }\n if (self.daysContainer !== undefined) {\n var daysWidth = (self.days.offsetWidth + 1) * config.showMonths;\n self.daysContainer.style.width = daysWidth + \"px\";\n self.calendarContainer.style.width =\n daysWidth +\n (self.weekWrapper !== undefined\n ? self.weekWrapper.offsetWidth\n : 0) +\n \"px\";\n self.calendarContainer.style.removeProperty(\"visibility\");\n self.calendarContainer.style.removeProperty(\"display\");\n }\n });\n }\n }\n function updateTime(e) {\n if (self.selectedDates.length === 0) {\n var defaultDate = self.config.minDate === undefined ||\n compareDates(new Date(), self.config.minDate) >= 0\n ? new Date()\n : new Date(self.config.minDate.getTime());\n var defaults = getDefaultHours(self.config);\n defaultDate.setHours(defaults.hours, defaults.minutes, defaults.seconds, defaultDate.getMilliseconds());\n self.selectedDates = [defaultDate];\n self.latestSelectedDateObj = defaultDate;\n }\n if (e !== undefined && e.type !== \"blur\") {\n timeWrapper(e);\n }\n var prevValue = self._input.value;\n setHoursFromInputs();\n updateValue();\n if (self._input.value !== prevValue) {\n self._debouncedChange();\n }\n }\n function ampm2military(hour, amPM) {\n return (hour % 12) + 12 * int(amPM === self.l10n.amPM[1]);\n }\n function military2ampm(hour) {\n switch (hour % 24) {\n case 0:\n case 12:\n return 12;\n default:\n return hour % 12;\n }\n }\n function setHoursFromInputs() {\n if (self.hourElement === undefined || self.minuteElement === undefined)\n return;\n var hours = (parseInt(self.hourElement.value.slice(-2), 10) || 0) % 24, minutes = (parseInt(self.minuteElement.value, 10) || 0) % 60, seconds = self.secondElement !== undefined\n ? (parseInt(self.secondElement.value, 10) || 0) % 60\n : 0;\n if (self.amPM !== undefined) {\n hours = ampm2military(hours, self.amPM.textContent);\n }\n var limitMinHours = self.config.minTime !== undefined ||\n (self.config.minDate &&\n self.minDateHasTime &&\n self.latestSelectedDateObj &&\n compareDates(self.latestSelectedDateObj, self.config.minDate, true) ===\n 0);\n var limitMaxHours = self.config.maxTime !== undefined ||\n (self.config.maxDate &&\n self.maxDateHasTime &&\n self.latestSelectedDateObj &&\n compareDates(self.latestSelectedDateObj, self.config.maxDate, true) ===\n 0);\n if (self.config.maxTime !== undefined &&\n self.config.minTime !== undefined &&\n self.config.minTime > self.config.maxTime) {\n var minBound = calculateSecondsSinceMidnight(self.config.minTime.getHours(), self.config.minTime.getMinutes(), self.config.minTime.getSeconds());\n var maxBound = calculateSecondsSinceMidnight(self.config.maxTime.getHours(), self.config.maxTime.getMinutes(), self.config.maxTime.getSeconds());\n var currentTime = calculateSecondsSinceMidnight(hours, minutes, seconds);\n if (currentTime > maxBound && currentTime < minBound) {\n var result = parseSeconds(minBound);\n hours = result[0];\n minutes = result[1];\n seconds = result[2];\n }\n }\n else {\n if (limitMaxHours) {\n var maxTime = self.config.maxTime !== undefined\n ? self.config.maxTime\n : self.config.maxDate;\n hours = Math.min(hours, maxTime.getHours());\n if (hours === maxTime.getHours())\n minutes = Math.min(minutes, maxTime.getMinutes());\n if (minutes === maxTime.getMinutes())\n seconds = Math.min(seconds, maxTime.getSeconds());\n }\n if (limitMinHours) {\n var minTime = self.config.minTime !== undefined\n ? self.config.minTime\n : self.config.minDate;\n hours = Math.max(hours, minTime.getHours());\n if (hours === minTime.getHours() && minutes < minTime.getMinutes())\n minutes = minTime.getMinutes();\n if (minutes === minTime.getMinutes())\n seconds = Math.max(seconds, minTime.getSeconds());\n }\n }\n setHours(hours, minutes, seconds);\n }\n function setHoursFromDate(dateObj) {\n var date = dateObj || self.latestSelectedDateObj;\n if (date && date instanceof Date) {\n setHours(date.getHours(), date.getMinutes(), date.getSeconds());\n }\n }\n function setHours(hours, minutes, seconds) {\n if (self.latestSelectedDateObj !== undefined) {\n self.latestSelectedDateObj.setHours(hours % 24, minutes, seconds || 0, 0);\n }\n if (!self.hourElement || !self.minuteElement || self.isMobile)\n return;\n self.hourElement.value = pad(!self.config.time_24hr\n ? ((12 + hours) % 12) + 12 * int(hours % 12 === 0)\n : hours);\n self.minuteElement.value = pad(minutes);\n if (self.amPM !== undefined)\n self.amPM.textContent = self.l10n.amPM[int(hours >= 12)];\n if (self.secondElement !== undefined)\n self.secondElement.value = pad(seconds);\n }\n function onYearInput(event) {\n var eventTarget = getEventTarget(event);\n var year = parseInt(eventTarget.value) + (event.delta || 0);\n if (year / 1000 > 1 ||\n (event.key === \"Enter\" && !/[^\\d]/.test(year.toString()))) {\n changeYear(year);\n }\n }\n function bind(element, event, handler, options) {\n if (event instanceof Array)\n return event.forEach(function (ev) { return bind(element, ev, handler, options); });\n if (element instanceof Array)\n return element.forEach(function (el) { return bind(el, event, handler, options); });\n element.addEventListener(event, handler, options);\n self._handlers.push({\n remove: function () { return element.removeEventListener(event, handler, options); },\n });\n }\n function triggerChange() {\n triggerEvent(\"onChange\");\n }\n function bindEvents() {\n if (self.config.wrap) {\n [\"open\", \"close\", \"toggle\", \"clear\"].forEach(function (evt) {\n Array.prototype.forEach.call(self.element.querySelectorAll(\"[data-\" + evt + \"]\"), function (el) {\n return bind(el, \"click\", self[evt]);\n });\n });\n }\n if (self.isMobile) {\n setupMobile();\n return;\n }\n var debouncedResize = debounce(onResize, 50);\n self._debouncedChange = debounce(triggerChange, DEBOUNCED_CHANGE_MS);\n if (self.daysContainer && !/iPhone|iPad|iPod/i.test(navigator.userAgent))\n bind(self.daysContainer, \"mouseover\", function (e) {\n if (self.config.mode === \"range\")\n onMouseOver(getEventTarget(e));\n });\n bind(self._input, \"keydown\", onKeyDown);\n if (self.calendarContainer !== undefined) {\n bind(self.calendarContainer, \"keydown\", onKeyDown);\n }\n if (!self.config.inline && !self.config.static)\n bind(window, \"resize\", debouncedResize);\n if (window.ontouchstart !== undefined)\n bind(window.document, \"touchstart\", documentClick);\n else\n bind(window.document, \"mousedown\", documentClick);\n bind(window.document, \"focus\", documentClick, { capture: true });\n if (self.config.clickOpens === true) {\n bind(self._input, \"focus\", self.open);\n bind(self._input, \"click\", self.open);\n }\n if (self.daysContainer !== undefined) {\n bind(self.monthNav, \"click\", onMonthNavClick);\n bind(self.monthNav, [\"keyup\", \"increment\"], onYearInput);\n bind(self.daysContainer, \"click\", selectDate);\n }\n if (self.timeContainer !== undefined &&\n self.minuteElement !== undefined &&\n self.hourElement !== undefined) {\n var selText = function (e) {\n return getEventTarget(e).select();\n };\n bind(self.timeContainer, [\"increment\"], updateTime);\n bind(self.timeContainer, \"blur\", updateTime, { capture: true });\n bind(self.timeContainer, \"click\", timeIncrement);\n bind([self.hourElement, self.minuteElement], [\"focus\", \"click\"], selText);\n if (self.secondElement !== undefined)\n bind(self.secondElement, \"focus\", function () { return self.secondElement && self.secondElement.select(); });\n if (self.amPM !== undefined) {\n bind(self.amPM, \"click\", function (e) {\n updateTime(e);\n });\n }\n }\n if (self.config.allowInput) {\n bind(self._input, \"blur\", onBlur);\n }\n }\n function jumpToDate(jumpDate, triggerChange) {\n var jumpTo = jumpDate !== undefined\n ? self.parseDate(jumpDate)\n : self.latestSelectedDateObj ||\n (self.config.minDate && self.config.minDate > self.now\n ? self.config.minDate\n : self.config.maxDate && self.config.maxDate < self.now\n ? self.config.maxDate\n : self.now);\n var oldYear = self.currentYear;\n var oldMonth = self.currentMonth;\n try {\n if (jumpTo !== undefined) {\n self.currentYear = jumpTo.getFullYear();\n self.currentMonth = jumpTo.getMonth();\n }\n }\n catch (e) {\n e.message = \"Invalid date supplied: \" + jumpTo;\n self.config.errorHandler(e);\n }\n if (triggerChange && self.currentYear !== oldYear) {\n triggerEvent(\"onYearChange\");\n buildMonthSwitch();\n }\n if (triggerChange &&\n (self.currentYear !== oldYear || self.currentMonth !== oldMonth)) {\n triggerEvent(\"onMonthChange\");\n }\n self.redraw();\n }\n function timeIncrement(e) {\n var eventTarget = getEventTarget(e);\n if (~eventTarget.className.indexOf(\"arrow\"))\n incrementNumInput(e, eventTarget.classList.contains(\"arrowUp\") ? 1 : -1);\n }\n function incrementNumInput(e, delta, inputElem) {\n var target = e && getEventTarget(e);\n var input = inputElem ||\n (target && target.parentNode && target.parentNode.firstChild);\n var event = createEvent(\"increment\");\n event.delta = delta;\n input && input.dispatchEvent(event);\n }\n function build() {\n var fragment = window.document.createDocumentFragment();\n self.calendarContainer = createElement(\"div\", \"flatpickr-calendar\");\n self.calendarContainer.tabIndex = -1;\n if (!self.config.noCalendar) {\n fragment.appendChild(buildMonthNav());\n self.innerContainer = createElement(\"div\", \"flatpickr-innerContainer\");\n if (self.config.weekNumbers) {\n var _a = buildWeeks(), weekWrapper = _a.weekWrapper, weekNumbers = _a.weekNumbers;\n self.innerContainer.appendChild(weekWrapper);\n self.weekNumbers = weekNumbers;\n self.weekWrapper = weekWrapper;\n }\n self.rContainer = createElement(\"div\", \"flatpickr-rContainer\");\n self.rContainer.appendChild(buildWeekdays());\n if (!self.daysContainer) {\n self.daysContainer = createElement(\"div\", \"flatpickr-days\");\n self.daysContainer.tabIndex = -1;\n }\n buildDays();\n self.rContainer.appendChild(self.daysContainer);\n self.innerContainer.appendChild(self.rContainer);\n fragment.appendChild(self.innerContainer);\n }\n if (self.config.enableTime) {\n fragment.appendChild(buildTime());\n }\n toggleClass(self.calendarContainer, \"rangeMode\", self.config.mode === \"range\");\n toggleClass(self.calendarContainer, \"animate\", self.config.animate === true);\n toggleClass(self.calendarContainer, \"multiMonth\", self.config.showMonths > 1);\n self.calendarContainer.appendChild(fragment);\n var customAppend = self.config.appendTo !== undefined &&\n self.config.appendTo.nodeType !== undefined;\n if (self.config.inline || self.config.static) {\n self.calendarContainer.classList.add(self.config.inline ? \"inline\" : \"static\");\n if (self.config.inline) {\n if (!customAppend && self.element.parentNode)\n self.element.parentNode.insertBefore(self.calendarContainer, self._input.nextSibling);\n else if (self.config.appendTo !== undefined)\n self.config.appendTo.appendChild(self.calendarContainer);\n }\n if (self.config.static) {\n var wrapper = createElement(\"div\", \"flatpickr-wrapper\");\n if (self.element.parentNode)\n self.element.parentNode.insertBefore(wrapper, self.element);\n wrapper.appendChild(self.element);\n if (self.altInput)\n wrapper.appendChild(self.altInput);\n wrapper.appendChild(self.calendarContainer);\n }\n }\n if (!self.config.static && !self.config.inline)\n (self.config.appendTo !== undefined\n ? self.config.appendTo\n : window.document.body).appendChild(self.calendarContainer);\n }\n function createDay(className, date, _dayNumber, i) {\n var dateIsEnabled = isEnabled(date, true), dayElement = createElement(\"span\", className, date.getDate().toString());\n dayElement.dateObj = date;\n dayElement.$i = i;\n dayElement.setAttribute(\"aria-label\", self.formatDate(date, self.config.ariaDateFormat));\n if (className.indexOf(\"hidden\") === -1 &&\n compareDates(date, self.now) === 0) {\n self.todayDateElem = dayElement;\n dayElement.classList.add(\"today\");\n dayElement.setAttribute(\"aria-current\", \"date\");\n }\n if (dateIsEnabled) {\n dayElement.tabIndex = -1;\n if (isDateSelected(date)) {\n dayElement.classList.add(\"selected\");\n self.selectedDateElem = dayElement;\n if (self.config.mode === \"range\") {\n toggleClass(dayElement, \"startRange\", self.selectedDates[0] &&\n compareDates(date, self.selectedDates[0], true) === 0);\n toggleClass(dayElement, \"endRange\", self.selectedDates[1] &&\n compareDates(date, self.selectedDates[1], true) === 0);\n if (className === \"nextMonthDay\")\n dayElement.classList.add(\"inRange\");\n }\n }\n }\n else {\n dayElement.classList.add(\"flatpickr-disabled\");\n }\n if (self.config.mode === \"range\") {\n if (isDateInRange(date) && !isDateSelected(date))\n dayElement.classList.add(\"inRange\");\n }\n if (self.weekNumbers &&\n self.config.showMonths === 1 &&\n className !== \"prevMonthDay\" &&\n i % 7 === 6) {\n self.weekNumbers.insertAdjacentHTML(\"beforeend\", \"\" + self.config.getWeek(date) + \"\");\n }\n triggerEvent(\"onDayCreate\", dayElement);\n return dayElement;\n }\n function focusOnDayElem(targetNode) {\n targetNode.focus();\n if (self.config.mode === \"range\")\n onMouseOver(targetNode);\n }\n function getFirstAvailableDay(delta) {\n var startMonth = delta > 0 ? 0 : self.config.showMonths - 1;\n var endMonth = delta > 0 ? self.config.showMonths : -1;\n for (var m = startMonth; m != endMonth; m += delta) {\n var month = self.daysContainer.children[m];\n var startIndex = delta > 0 ? 0 : month.children.length - 1;\n var endIndex = delta > 0 ? month.children.length : -1;\n for (var i = startIndex; i != endIndex; i += delta) {\n var c = month.children[i];\n if (c.className.indexOf(\"hidden\") === -1 && isEnabled(c.dateObj))\n return c;\n }\n }\n return undefined;\n }\n function getNextAvailableDay(current, delta) {\n var givenMonth = current.className.indexOf(\"Month\") === -1\n ? current.dateObj.getMonth()\n : self.currentMonth;\n var endMonth = delta > 0 ? self.config.showMonths : -1;\n var loopDelta = delta > 0 ? 1 : -1;\n for (var m = givenMonth - self.currentMonth; m != endMonth; m += loopDelta) {\n var month = self.daysContainer.children[m];\n var startIndex = givenMonth - self.currentMonth === m\n ? current.$i + delta\n : delta < 0\n ? month.children.length - 1\n : 0;\n var numMonthDays = month.children.length;\n for (var i = startIndex; i >= 0 && i < numMonthDays && i != (delta > 0 ? numMonthDays : -1); i += loopDelta) {\n var c = month.children[i];\n if (c.className.indexOf(\"hidden\") === -1 &&\n isEnabled(c.dateObj) &&\n Math.abs(current.$i - i) >= Math.abs(delta))\n return focusOnDayElem(c);\n }\n }\n self.changeMonth(loopDelta);\n focusOnDay(getFirstAvailableDay(loopDelta), 0);\n return undefined;\n }\n function focusOnDay(current, offset) {\n var activeElement = getClosestActiveElement();\n var dayFocused = isInView(activeElement || document.body);\n var startElem = current !== undefined\n ? current\n : dayFocused\n ? activeElement\n : self.selectedDateElem !== undefined && isInView(self.selectedDateElem)\n ? self.selectedDateElem\n : self.todayDateElem !== undefined && isInView(self.todayDateElem)\n ? self.todayDateElem\n : getFirstAvailableDay(offset > 0 ? 1 : -1);\n if (startElem === undefined) {\n self._input.focus();\n }\n else if (!dayFocused) {\n focusOnDayElem(startElem);\n }\n else {\n getNextAvailableDay(startElem, offset);\n }\n }\n function buildMonthDays(year, month) {\n var firstOfMonth = (new Date(year, month, 1).getDay() - self.l10n.firstDayOfWeek + 7) % 7;\n var prevMonthDays = self.utils.getDaysInMonth((month - 1 + 12) % 12, year);\n var daysInMonth = self.utils.getDaysInMonth(month, year), days = window.document.createDocumentFragment(), isMultiMonth = self.config.showMonths > 1, prevMonthDayClass = isMultiMonth ? \"prevMonthDay hidden\" : \"prevMonthDay\", nextMonthDayClass = isMultiMonth ? \"nextMonthDay hidden\" : \"nextMonthDay\";\n var dayNumber = prevMonthDays + 1 - firstOfMonth, dayIndex = 0;\n for (; dayNumber <= prevMonthDays; dayNumber++, dayIndex++) {\n days.appendChild(createDay(\"flatpickr-day \" + prevMonthDayClass, new Date(year, month - 1, dayNumber), dayNumber, dayIndex));\n }\n for (dayNumber = 1; dayNumber <= daysInMonth; dayNumber++, dayIndex++) {\n days.appendChild(createDay(\"flatpickr-day\", new Date(year, month, dayNumber), dayNumber, dayIndex));\n }\n for (var dayNum = daysInMonth + 1; dayNum <= 42 - firstOfMonth &&\n (self.config.showMonths === 1 || dayIndex % 7 !== 0); dayNum++, dayIndex++) {\n days.appendChild(createDay(\"flatpickr-day \" + nextMonthDayClass, new Date(year, month + 1, dayNum % daysInMonth), dayNum, dayIndex));\n }\n var dayContainer = createElement(\"div\", \"dayContainer\");\n dayContainer.appendChild(days);\n return dayContainer;\n }\n function buildDays() {\n if (self.daysContainer === undefined) {\n return;\n }\n clearNode(self.daysContainer);\n if (self.weekNumbers)\n clearNode(self.weekNumbers);\n var frag = document.createDocumentFragment();\n for (var i = 0; i < self.config.showMonths; i++) {\n var d = new Date(self.currentYear, self.currentMonth, 1);\n d.setMonth(self.currentMonth + i);\n frag.appendChild(buildMonthDays(d.getFullYear(), d.getMonth()));\n }\n self.daysContainer.appendChild(frag);\n self.days = self.daysContainer.firstChild;\n if (self.config.mode === \"range\" && self.selectedDates.length === 1) {\n onMouseOver();\n }\n }\n function buildMonthSwitch() {\n if (self.config.showMonths > 1 ||\n self.config.monthSelectorType !== \"dropdown\")\n return;\n var shouldBuildMonth = function (month) {\n if (self.config.minDate !== undefined &&\n self.currentYear === self.config.minDate.getFullYear() &&\n month < self.config.minDate.getMonth()) {\n return false;\n }\n return !(self.config.maxDate !== undefined &&\n self.currentYear === self.config.maxDate.getFullYear() &&\n month > self.config.maxDate.getMonth());\n };\n self.monthsDropdownContainer.tabIndex = -1;\n self.monthsDropdownContainer.innerHTML = \"\";\n for (var i = 0; i < 12; i++) {\n if (!shouldBuildMonth(i))\n continue;\n var month = createElement(\"option\", \"flatpickr-monthDropdown-month\");\n month.value = new Date(self.currentYear, i).getMonth().toString();\n month.textContent = monthToStr(i, self.config.shorthandCurrentMonth, self.l10n);\n month.tabIndex = -1;\n if (self.currentMonth === i) {\n month.selected = true;\n }\n self.monthsDropdownContainer.appendChild(month);\n }\n }\n function buildMonth() {\n var container = createElement(\"div\", \"flatpickr-month\");\n var monthNavFragment = window.document.createDocumentFragment();\n var monthElement;\n if (self.config.showMonths > 1 ||\n self.config.monthSelectorType === \"static\") {\n monthElement = createElement(\"span\", \"cur-month\");\n }\n else {\n self.monthsDropdownContainer = createElement(\"select\", \"flatpickr-monthDropdown-months\");\n self.monthsDropdownContainer.setAttribute(\"aria-label\", self.l10n.monthAriaLabel);\n bind(self.monthsDropdownContainer, \"change\", function (e) {\n var target = getEventTarget(e);\n var selectedMonth = parseInt(target.value, 10);\n self.changeMonth(selectedMonth - self.currentMonth);\n triggerEvent(\"onMonthChange\");\n });\n buildMonthSwitch();\n monthElement = self.monthsDropdownContainer;\n }\n var yearInput = createNumberInput(\"cur-year\", { tabindex: \"-1\" });\n var yearElement = yearInput.getElementsByTagName(\"input\")[0];\n yearElement.setAttribute(\"aria-label\", self.l10n.yearAriaLabel);\n if (self.config.minDate) {\n yearElement.setAttribute(\"min\", self.config.minDate.getFullYear().toString());\n }\n if (self.config.maxDate) {\n yearElement.setAttribute(\"max\", self.config.maxDate.getFullYear().toString());\n yearElement.disabled =\n !!self.config.minDate &&\n self.config.minDate.getFullYear() === self.config.maxDate.getFullYear();\n }\n var currentMonth = createElement(\"div\", \"flatpickr-current-month\");\n currentMonth.appendChild(monthElement);\n currentMonth.appendChild(yearInput);\n monthNavFragment.appendChild(currentMonth);\n container.appendChild(monthNavFragment);\n return {\n container: container,\n yearElement: yearElement,\n monthElement: monthElement,\n };\n }\n function buildMonths() {\n clearNode(self.monthNav);\n self.monthNav.appendChild(self.prevMonthNav);\n if (self.config.showMonths) {\n self.yearElements = [];\n self.monthElements = [];\n }\n for (var m = self.config.showMonths; m--;) {\n var month = buildMonth();\n self.yearElements.push(month.yearElement);\n self.monthElements.push(month.monthElement);\n self.monthNav.appendChild(month.container);\n }\n self.monthNav.appendChild(self.nextMonthNav);\n }\n function buildMonthNav() {\n self.monthNav = createElement(\"div\", \"flatpickr-months\");\n self.yearElements = [];\n self.monthElements = [];\n self.prevMonthNav = createElement(\"span\", \"flatpickr-prev-month\");\n self.prevMonthNav.innerHTML = self.config.prevArrow;\n self.nextMonthNav = createElement(\"span\", \"flatpickr-next-month\");\n self.nextMonthNav.innerHTML = self.config.nextArrow;\n buildMonths();\n Object.defineProperty(self, \"_hidePrevMonthArrow\", {\n get: function () { return self.__hidePrevMonthArrow; },\n set: function (bool) {\n if (self.__hidePrevMonthArrow !== bool) {\n toggleClass(self.prevMonthNav, \"flatpickr-disabled\", bool);\n self.__hidePrevMonthArrow = bool;\n }\n },\n });\n Object.defineProperty(self, \"_hideNextMonthArrow\", {\n get: function () { return self.__hideNextMonthArrow; },\n set: function (bool) {\n if (self.__hideNextMonthArrow !== bool) {\n toggleClass(self.nextMonthNav, \"flatpickr-disabled\", bool);\n self.__hideNextMonthArrow = bool;\n }\n },\n });\n self.currentYearElement = self.yearElements[0];\n updateNavigationCurrentMonth();\n return self.monthNav;\n }\n function buildTime() {\n self.calendarContainer.classList.add(\"hasTime\");\n if (self.config.noCalendar)\n self.calendarContainer.classList.add(\"noCalendar\");\n var defaults = getDefaultHours(self.config);\n self.timeContainer = createElement(\"div\", \"flatpickr-time\");\n self.timeContainer.tabIndex = -1;\n var separator = createElement(\"span\", \"flatpickr-time-separator\", \":\");\n var hourInput = createNumberInput(\"flatpickr-hour\", {\n \"aria-label\": self.l10n.hourAriaLabel,\n });\n self.hourElement = hourInput.getElementsByTagName(\"input\")[0];\n var minuteInput = createNumberInput(\"flatpickr-minute\", {\n \"aria-label\": self.l10n.minuteAriaLabel,\n });\n self.minuteElement = minuteInput.getElementsByTagName(\"input\")[0];\n self.hourElement.tabIndex = self.minuteElement.tabIndex = -1;\n self.hourElement.value = pad(self.latestSelectedDateObj\n ? self.latestSelectedDateObj.getHours()\n : self.config.time_24hr\n ? defaults.hours\n : military2ampm(defaults.hours));\n self.minuteElement.value = pad(self.latestSelectedDateObj\n ? self.latestSelectedDateObj.getMinutes()\n : defaults.minutes);\n self.hourElement.setAttribute(\"step\", self.config.hourIncrement.toString());\n self.minuteElement.setAttribute(\"step\", self.config.minuteIncrement.toString());\n self.hourElement.setAttribute(\"min\", self.config.time_24hr ? \"0\" : \"1\");\n self.hourElement.setAttribute(\"max\", self.config.time_24hr ? \"23\" : \"12\");\n self.hourElement.setAttribute(\"maxlength\", \"2\");\n self.minuteElement.setAttribute(\"min\", \"0\");\n self.minuteElement.setAttribute(\"max\", \"59\");\n self.minuteElement.setAttribute(\"maxlength\", \"2\");\n self.timeContainer.appendChild(hourInput);\n self.timeContainer.appendChild(separator);\n self.timeContainer.appendChild(minuteInput);\n if (self.config.time_24hr)\n self.timeContainer.classList.add(\"time24hr\");\n if (self.config.enableSeconds) {\n self.timeContainer.classList.add(\"hasSeconds\");\n var secondInput = createNumberInput(\"flatpickr-second\");\n self.secondElement = secondInput.getElementsByTagName(\"input\")[0];\n self.secondElement.value = pad(self.latestSelectedDateObj\n ? self.latestSelectedDateObj.getSeconds()\n : defaults.seconds);\n self.secondElement.setAttribute(\"step\", self.minuteElement.getAttribute(\"step\"));\n self.secondElement.setAttribute(\"min\", \"0\");\n self.secondElement.setAttribute(\"max\", \"59\");\n self.secondElement.setAttribute(\"maxlength\", \"2\");\n self.timeContainer.appendChild(createElement(\"span\", \"flatpickr-time-separator\", \":\"));\n self.timeContainer.appendChild(secondInput);\n }\n if (!self.config.time_24hr) {\n self.amPM = createElement(\"span\", \"flatpickr-am-pm\", self.l10n.amPM[int((self.latestSelectedDateObj\n ? self.hourElement.value\n : self.config.defaultHour) > 11)]);\n self.amPM.title = self.l10n.toggleTitle;\n self.amPM.tabIndex = -1;\n self.timeContainer.appendChild(self.amPM);\n }\n return self.timeContainer;\n }\n function buildWeekdays() {\n if (!self.weekdayContainer)\n self.weekdayContainer = createElement(\"div\", \"flatpickr-weekdays\");\n else\n clearNode(self.weekdayContainer);\n for (var i = self.config.showMonths; i--;) {\n var container = createElement(\"div\", \"flatpickr-weekdaycontainer\");\n self.weekdayContainer.appendChild(container);\n }\n updateWeekdays();\n return self.weekdayContainer;\n }\n function updateWeekdays() {\n if (!self.weekdayContainer) {\n return;\n }\n var firstDayOfWeek = self.l10n.firstDayOfWeek;\n var weekdays = __spreadArrays(self.l10n.weekdays.shorthand);\n if (firstDayOfWeek > 0 && firstDayOfWeek < weekdays.length) {\n weekdays = __spreadArrays(weekdays.splice(firstDayOfWeek, weekdays.length), weekdays.splice(0, firstDayOfWeek));\n }\n for (var i = self.config.showMonths; i--;) {\n self.weekdayContainer.children[i].innerHTML = \"\\n \\n \" + weekdays.join(\"\") + \"\\n \\n \";\n }\n }\n function buildWeeks() {\n self.calendarContainer.classList.add(\"hasWeeks\");\n var weekWrapper = createElement(\"div\", \"flatpickr-weekwrapper\");\n weekWrapper.appendChild(createElement(\"span\", \"flatpickr-weekday\", self.l10n.weekAbbreviation));\n var weekNumbers = createElement(\"div\", \"flatpickr-weeks\");\n weekWrapper.appendChild(weekNumbers);\n return {\n weekWrapper: weekWrapper,\n weekNumbers: weekNumbers,\n };\n }\n function changeMonth(value, isOffset) {\n if (isOffset === void 0) { isOffset = true; }\n var delta = isOffset ? value : value - self.currentMonth;\n if ((delta < 0 && self._hidePrevMonthArrow === true) ||\n (delta > 0 && self._hideNextMonthArrow === true))\n return;\n self.currentMonth += delta;\n if (self.currentMonth < 0 || self.currentMonth > 11) {\n self.currentYear += self.currentMonth > 11 ? 1 : -1;\n self.currentMonth = (self.currentMonth + 12) % 12;\n triggerEvent(\"onYearChange\");\n buildMonthSwitch();\n }\n buildDays();\n triggerEvent(\"onMonthChange\");\n updateNavigationCurrentMonth();\n }\n function clear(triggerChangeEvent, toInitial) {\n if (triggerChangeEvent === void 0) { triggerChangeEvent = true; }\n if (toInitial === void 0) { toInitial = true; }\n self.input.value = \"\";\n if (self.altInput !== undefined)\n self.altInput.value = \"\";\n if (self.mobileInput !== undefined)\n self.mobileInput.value = \"\";\n self.selectedDates = [];\n self.latestSelectedDateObj = undefined;\n if (toInitial === true) {\n self.currentYear = self._initialDate.getFullYear();\n self.currentMonth = self._initialDate.getMonth();\n }\n if (self.config.enableTime === true) {\n var _a = getDefaultHours(self.config), hours = _a.hours, minutes = _a.minutes, seconds = _a.seconds;\n setHours(hours, minutes, seconds);\n }\n self.redraw();\n if (triggerChangeEvent)\n triggerEvent(\"onChange\");\n }\n function close() {\n self.isOpen = false;\n if (!self.isMobile) {\n if (self.calendarContainer !== undefined) {\n self.calendarContainer.classList.remove(\"open\");\n }\n if (self._input !== undefined) {\n self._input.classList.remove(\"active\");\n }\n }\n triggerEvent(\"onClose\");\n }\n function destroy() {\n if (self.config !== undefined)\n triggerEvent(\"onDestroy\");\n for (var i = self._handlers.length; i--;) {\n self._handlers[i].remove();\n }\n self._handlers = [];\n if (self.mobileInput) {\n if (self.mobileInput.parentNode)\n self.mobileInput.parentNode.removeChild(self.mobileInput);\n self.mobileInput = undefined;\n }\n else if (self.calendarContainer && self.calendarContainer.parentNode) {\n if (self.config.static && self.calendarContainer.parentNode) {\n var wrapper = self.calendarContainer.parentNode;\n wrapper.lastChild && wrapper.removeChild(wrapper.lastChild);\n if (wrapper.parentNode) {\n while (wrapper.firstChild)\n wrapper.parentNode.insertBefore(wrapper.firstChild, wrapper);\n wrapper.parentNode.removeChild(wrapper);\n }\n }\n else\n self.calendarContainer.parentNode.removeChild(self.calendarContainer);\n }\n if (self.altInput) {\n self.input.type = \"text\";\n if (self.altInput.parentNode)\n self.altInput.parentNode.removeChild(self.altInput);\n delete self.altInput;\n }\n if (self.input) {\n self.input.type = self.input._type;\n self.input.classList.remove(\"flatpickr-input\");\n self.input.removeAttribute(\"readonly\");\n }\n [\n \"_showTimeInput\",\n \"latestSelectedDateObj\",\n \"_hideNextMonthArrow\",\n \"_hidePrevMonthArrow\",\n \"__hideNextMonthArrow\",\n \"__hidePrevMonthArrow\",\n \"isMobile\",\n \"isOpen\",\n \"selectedDateElem\",\n \"minDateHasTime\",\n \"maxDateHasTime\",\n \"days\",\n \"daysContainer\",\n \"_input\",\n \"_positionElement\",\n \"innerContainer\",\n \"rContainer\",\n \"monthNav\",\n \"todayDateElem\",\n \"calendarContainer\",\n \"weekdayContainer\",\n \"prevMonthNav\",\n \"nextMonthNav\",\n \"monthsDropdownContainer\",\n \"currentMonthElement\",\n \"currentYearElement\",\n \"navigationCurrentMonth\",\n \"selectedDateElem\",\n \"config\",\n ].forEach(function (k) {\n try {\n delete self[k];\n }\n catch (_) { }\n });\n }\n function isCalendarElem(elem) {\n return self.calendarContainer.contains(elem);\n }\n function documentClick(e) {\n if (self.isOpen && !self.config.inline) {\n var eventTarget_1 = getEventTarget(e);\n var isCalendarElement = isCalendarElem(eventTarget_1);\n var isInput = eventTarget_1 === self.input ||\n eventTarget_1 === self.altInput ||\n self.element.contains(eventTarget_1) ||\n (e.path &&\n e.path.indexOf &&\n (~e.path.indexOf(self.input) ||\n ~e.path.indexOf(self.altInput)));\n var lostFocus = !isInput &&\n !isCalendarElement &&\n !isCalendarElem(e.relatedTarget);\n var isIgnored = !self.config.ignoredFocusElements.some(function (elem) {\n return elem.contains(eventTarget_1);\n });\n if (lostFocus && isIgnored) {\n if (self.config.allowInput) {\n self.setDate(self._input.value, false, self.config.altInput\n ? self.config.altFormat\n : self.config.dateFormat);\n }\n if (self.timeContainer !== undefined &&\n self.minuteElement !== undefined &&\n self.hourElement !== undefined &&\n self.input.value !== \"\" &&\n self.input.value !== undefined) {\n updateTime();\n }\n self.close();\n if (self.config &&\n self.config.mode === \"range\" &&\n self.selectedDates.length === 1)\n self.clear(false);\n }\n }\n }\n function changeYear(newYear) {\n if (!newYear ||\n (self.config.minDate && newYear < self.config.minDate.getFullYear()) ||\n (self.config.maxDate && newYear > self.config.maxDate.getFullYear()))\n return;\n var newYearNum = newYear, isNewYear = self.currentYear !== newYearNum;\n self.currentYear = newYearNum || self.currentYear;\n if (self.config.maxDate &&\n self.currentYear === self.config.maxDate.getFullYear()) {\n self.currentMonth = Math.min(self.config.maxDate.getMonth(), self.currentMonth);\n }\n else if (self.config.minDate &&\n self.currentYear === self.config.minDate.getFullYear()) {\n self.currentMonth = Math.max(self.config.minDate.getMonth(), self.currentMonth);\n }\n if (isNewYear) {\n self.redraw();\n triggerEvent(\"onYearChange\");\n buildMonthSwitch();\n }\n }\n function isEnabled(date, timeless) {\n var _a;\n if (timeless === void 0) { timeless = true; }\n var dateToCheck = self.parseDate(date, undefined, timeless);\n if ((self.config.minDate &&\n dateToCheck &&\n compareDates(dateToCheck, self.config.minDate, timeless !== undefined ? timeless : !self.minDateHasTime) < 0) ||\n (self.config.maxDate &&\n dateToCheck &&\n compareDates(dateToCheck, self.config.maxDate, timeless !== undefined ? timeless : !self.maxDateHasTime) > 0))\n return false;\n if (!self.config.enable && self.config.disable.length === 0)\n return true;\n if (dateToCheck === undefined)\n return false;\n var bool = !!self.config.enable, array = (_a = self.config.enable) !== null && _a !== void 0 ? _a : self.config.disable;\n for (var i = 0, d = void 0; i < array.length; i++) {\n d = array[i];\n if (typeof d === \"function\" &&\n d(dateToCheck))\n return bool;\n else if (d instanceof Date &&\n dateToCheck !== undefined &&\n d.getTime() === dateToCheck.getTime())\n return bool;\n else if (typeof d === \"string\") {\n var parsed = self.parseDate(d, undefined, true);\n return parsed && parsed.getTime() === dateToCheck.getTime()\n ? bool\n : !bool;\n }\n else if (typeof d === \"object\" &&\n dateToCheck !== undefined &&\n d.from &&\n d.to &&\n dateToCheck.getTime() >= d.from.getTime() &&\n dateToCheck.getTime() <= d.to.getTime())\n return bool;\n }\n return !bool;\n }\n function isInView(elem) {\n if (self.daysContainer !== undefined)\n return (elem.className.indexOf(\"hidden\") === -1 &&\n elem.className.indexOf(\"flatpickr-disabled\") === -1 &&\n self.daysContainer.contains(elem));\n return false;\n }\n function onBlur(e) {\n var isInput = e.target === self._input;\n var valueChanged = self._input.value.trimEnd() !== getDateStr();\n if (isInput &&\n valueChanged &&\n !(e.relatedTarget && isCalendarElem(e.relatedTarget))) {\n self.setDate(self._input.value, true, e.target === self.altInput\n ? self.config.altFormat\n : self.config.dateFormat);\n }\n }\n function onKeyDown(e) {\n var eventTarget = getEventTarget(e);\n var isInput = self.config.wrap\n ? element.contains(eventTarget)\n : eventTarget === self._input;\n var allowInput = self.config.allowInput;\n var allowKeydown = self.isOpen && (!allowInput || !isInput);\n var allowInlineKeydown = self.config.inline && isInput && !allowInput;\n if (e.keyCode === 13 && isInput) {\n if (allowInput) {\n self.setDate(self._input.value, true, eventTarget === self.altInput\n ? self.config.altFormat\n : self.config.dateFormat);\n self.close();\n return eventTarget.blur();\n }\n else {\n self.open();\n }\n }\n else if (isCalendarElem(eventTarget) ||\n allowKeydown ||\n allowInlineKeydown) {\n var isTimeObj = !!self.timeContainer &&\n self.timeContainer.contains(eventTarget);\n switch (e.keyCode) {\n case 13:\n if (isTimeObj) {\n e.preventDefault();\n updateTime();\n focusAndClose();\n }\n else\n selectDate(e);\n break;\n case 27:\n e.preventDefault();\n focusAndClose();\n break;\n case 8:\n case 46:\n if (isInput && !self.config.allowInput) {\n e.preventDefault();\n self.clear();\n }\n break;\n case 37:\n case 39:\n if (!isTimeObj && !isInput) {\n e.preventDefault();\n var activeElement = getClosestActiveElement();\n if (self.daysContainer !== undefined &&\n (allowInput === false ||\n (activeElement && isInView(activeElement)))) {\n var delta_1 = e.keyCode === 39 ? 1 : -1;\n if (!e.ctrlKey)\n focusOnDay(undefined, delta_1);\n else {\n e.stopPropagation();\n changeMonth(delta_1);\n focusOnDay(getFirstAvailableDay(1), 0);\n }\n }\n }\n else if (self.hourElement)\n self.hourElement.focus();\n break;\n case 38:\n case 40:\n e.preventDefault();\n var delta = e.keyCode === 40 ? 1 : -1;\n if ((self.daysContainer &&\n eventTarget.$i !== undefined) ||\n eventTarget === self.input ||\n eventTarget === self.altInput) {\n if (e.ctrlKey) {\n e.stopPropagation();\n changeYear(self.currentYear - delta);\n focusOnDay(getFirstAvailableDay(1), 0);\n }\n else if (!isTimeObj)\n focusOnDay(undefined, delta * 7);\n }\n else if (eventTarget === self.currentYearElement) {\n changeYear(self.currentYear - delta);\n }\n else if (self.config.enableTime) {\n if (!isTimeObj && self.hourElement)\n self.hourElement.focus();\n updateTime(e);\n self._debouncedChange();\n }\n break;\n case 9:\n if (isTimeObj) {\n var elems = [\n self.hourElement,\n self.minuteElement,\n self.secondElement,\n self.amPM,\n ]\n .concat(self.pluginElements)\n .filter(function (x) { return x; });\n var i = elems.indexOf(eventTarget);\n if (i !== -1) {\n var target = elems[i + (e.shiftKey ? -1 : 1)];\n e.preventDefault();\n (target || self._input).focus();\n }\n }\n else if (!self.config.noCalendar &&\n self.daysContainer &&\n self.daysContainer.contains(eventTarget) &&\n e.shiftKey) {\n e.preventDefault();\n self._input.focus();\n }\n break;\n default:\n break;\n }\n }\n if (self.amPM !== undefined && eventTarget === self.amPM) {\n switch (e.key) {\n case self.l10n.amPM[0].charAt(0):\n case self.l10n.amPM[0].charAt(0).toLowerCase():\n self.amPM.textContent = self.l10n.amPM[0];\n setHoursFromInputs();\n updateValue();\n break;\n case self.l10n.amPM[1].charAt(0):\n case self.l10n.amPM[1].charAt(0).toLowerCase():\n self.amPM.textContent = self.l10n.amPM[1];\n setHoursFromInputs();\n updateValue();\n break;\n }\n }\n if (isInput || isCalendarElem(eventTarget)) {\n triggerEvent(\"onKeyDown\", e);\n }\n }\n function onMouseOver(elem, cellClass) {\n if (cellClass === void 0) { cellClass = \"flatpickr-day\"; }\n if (self.selectedDates.length !== 1 ||\n (elem &&\n (!elem.classList.contains(cellClass) ||\n elem.classList.contains(\"flatpickr-disabled\"))))\n return;\n var hoverDate = elem\n ? elem.dateObj.getTime()\n : self.days.firstElementChild.dateObj.getTime(), initialDate = self.parseDate(self.selectedDates[0], undefined, true).getTime(), rangeStartDate = Math.min(hoverDate, self.selectedDates[0].getTime()), rangeEndDate = Math.max(hoverDate, self.selectedDates[0].getTime());\n var containsDisabled = false;\n var minRange = 0, maxRange = 0;\n for (var t = rangeStartDate; t < rangeEndDate; t += duration.DAY) {\n if (!isEnabled(new Date(t), true)) {\n containsDisabled =\n containsDisabled || (t > rangeStartDate && t < rangeEndDate);\n if (t < initialDate && (!minRange || t > minRange))\n minRange = t;\n else if (t > initialDate && (!maxRange || t < maxRange))\n maxRange = t;\n }\n }\n var hoverableCells = Array.from(self.rContainer.querySelectorAll(\"*:nth-child(-n+\" + self.config.showMonths + \") > .\" + cellClass));\n hoverableCells.forEach(function (dayElem) {\n var date = dayElem.dateObj;\n var timestamp = date.getTime();\n var outOfRange = (minRange > 0 && timestamp < minRange) ||\n (maxRange > 0 && timestamp > maxRange);\n if (outOfRange) {\n dayElem.classList.add(\"notAllowed\");\n [\"inRange\", \"startRange\", \"endRange\"].forEach(function (c) {\n dayElem.classList.remove(c);\n });\n return;\n }\n else if (containsDisabled && !outOfRange)\n return;\n [\"startRange\", \"inRange\", \"endRange\", \"notAllowed\"].forEach(function (c) {\n dayElem.classList.remove(c);\n });\n if (elem !== undefined) {\n elem.classList.add(hoverDate <= self.selectedDates[0].getTime()\n ? \"startRange\"\n : \"endRange\");\n if (initialDate < hoverDate && timestamp === initialDate)\n dayElem.classList.add(\"startRange\");\n else if (initialDate > hoverDate && timestamp === initialDate)\n dayElem.classList.add(\"endRange\");\n if (timestamp >= minRange &&\n (maxRange === 0 || timestamp <= maxRange) &&\n isBetween(timestamp, initialDate, hoverDate))\n dayElem.classList.add(\"inRange\");\n }\n });\n }\n function onResize() {\n if (self.isOpen && !self.config.static && !self.config.inline)\n positionCalendar();\n }\n function open(e, positionElement) {\n if (positionElement === void 0) { positionElement = self._positionElement; }\n if (self.isMobile === true) {\n if (e) {\n e.preventDefault();\n var eventTarget = getEventTarget(e);\n if (eventTarget) {\n eventTarget.blur();\n }\n }\n if (self.mobileInput !== undefined) {\n self.mobileInput.focus();\n self.mobileInput.click();\n }\n triggerEvent(\"onOpen\");\n return;\n }\n else if (self._input.disabled || self.config.inline) {\n return;\n }\n var wasOpen = self.isOpen;\n self.isOpen = true;\n if (!wasOpen) {\n self.calendarContainer.classList.add(\"open\");\n self._input.classList.add(\"active\");\n triggerEvent(\"onOpen\");\n positionCalendar(positionElement);\n }\n if (self.config.enableTime === true && self.config.noCalendar === true) {\n if (self.config.allowInput === false &&\n (e === undefined ||\n !self.timeContainer.contains(e.relatedTarget))) {\n setTimeout(function () { return self.hourElement.select(); }, 50);\n }\n }\n }\n function minMaxDateSetter(type) {\n return function (date) {\n var dateObj = (self.config[\"_\" + type + \"Date\"] = self.parseDate(date, self.config.dateFormat));\n var inverseDateObj = self.config[\"_\" + (type === \"min\" ? \"max\" : \"min\") + \"Date\"];\n if (dateObj !== undefined) {\n self[type === \"min\" ? \"minDateHasTime\" : \"maxDateHasTime\"] =\n dateObj.getHours() > 0 ||\n dateObj.getMinutes() > 0 ||\n dateObj.getSeconds() > 0;\n }\n if (self.selectedDates) {\n self.selectedDates = self.selectedDates.filter(function (d) { return isEnabled(d); });\n if (!self.selectedDates.length && type === \"min\")\n setHoursFromDate(dateObj);\n updateValue();\n }\n if (self.daysContainer) {\n redraw();\n if (dateObj !== undefined)\n self.currentYearElement[type] = dateObj.getFullYear().toString();\n else\n self.currentYearElement.removeAttribute(type);\n self.currentYearElement.disabled =\n !!inverseDateObj &&\n dateObj !== undefined &&\n inverseDateObj.getFullYear() === dateObj.getFullYear();\n }\n };\n }\n function parseConfig() {\n var boolOpts = [\n \"wrap\",\n \"weekNumbers\",\n \"allowInput\",\n \"allowInvalidPreload\",\n \"clickOpens\",\n \"time_24hr\",\n \"enableTime\",\n \"noCalendar\",\n \"altInput\",\n \"shorthandCurrentMonth\",\n \"inline\",\n \"static\",\n \"enableSeconds\",\n \"disableMobile\",\n ];\n var userConfig = __assign(__assign({}, JSON.parse(JSON.stringify(element.dataset || {}))), instanceConfig);\n var formats = {};\n self.config.parseDate = userConfig.parseDate;\n self.config.formatDate = userConfig.formatDate;\n Object.defineProperty(self.config, \"enable\", {\n get: function () { return self.config._enable; },\n set: function (dates) {\n self.config._enable = parseDateRules(dates);\n },\n });\n Object.defineProperty(self.config, \"disable\", {\n get: function () { return self.config._disable; },\n set: function (dates) {\n self.config._disable = parseDateRules(dates);\n },\n });\n var timeMode = userConfig.mode === \"time\";\n if (!userConfig.dateFormat && (userConfig.enableTime || timeMode)) {\n var defaultDateFormat = flatpickr.defaultConfig.dateFormat || defaultOptions.dateFormat;\n formats.dateFormat =\n userConfig.noCalendar || timeMode\n ? \"H:i\" + (userConfig.enableSeconds ? \":S\" : \"\")\n : defaultDateFormat + \" H:i\" + (userConfig.enableSeconds ? \":S\" : \"\");\n }\n if (userConfig.altInput &&\n (userConfig.enableTime || timeMode) &&\n !userConfig.altFormat) {\n var defaultAltFormat = flatpickr.defaultConfig.altFormat || defaultOptions.altFormat;\n formats.altFormat =\n userConfig.noCalendar || timeMode\n ? \"h:i\" + (userConfig.enableSeconds ? \":S K\" : \" K\")\n : defaultAltFormat + (\" h:i\" + (userConfig.enableSeconds ? \":S\" : \"\") + \" K\");\n }\n Object.defineProperty(self.config, \"minDate\", {\n get: function () { return self.config._minDate; },\n set: minMaxDateSetter(\"min\"),\n });\n Object.defineProperty(self.config, \"maxDate\", {\n get: function () { return self.config._maxDate; },\n set: minMaxDateSetter(\"max\"),\n });\n var minMaxTimeSetter = function (type) { return function (val) {\n self.config[type === \"min\" ? \"_minTime\" : \"_maxTime\"] = self.parseDate(val, \"H:i:S\");\n }; };\n Object.defineProperty(self.config, \"minTime\", {\n get: function () { return self.config._minTime; },\n set: minMaxTimeSetter(\"min\"),\n });\n Object.defineProperty(self.config, \"maxTime\", {\n get: function () { return self.config._maxTime; },\n set: minMaxTimeSetter(\"max\"),\n });\n if (userConfig.mode === \"time\") {\n self.config.noCalendar = true;\n self.config.enableTime = true;\n }\n Object.assign(self.config, formats, userConfig);\n for (var i = 0; i < boolOpts.length; i++)\n self.config[boolOpts[i]] =\n self.config[boolOpts[i]] === true ||\n self.config[boolOpts[i]] === \"true\";\n HOOKS.filter(function (hook) { return self.config[hook] !== undefined; }).forEach(function (hook) {\n self.config[hook] = arrayify(self.config[hook] || []).map(bindToInstance);\n });\n self.isMobile =\n !self.config.disableMobile &&\n !self.config.inline &&\n self.config.mode === \"single\" &&\n !self.config.disable.length &&\n !self.config.enable &&\n !self.config.weekNumbers &&\n /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\n for (var i = 0; i < self.config.plugins.length; i++) {\n var pluginConf = self.config.plugins[i](self) || {};\n for (var key in pluginConf) {\n if (HOOKS.indexOf(key) > -1) {\n self.config[key] = arrayify(pluginConf[key])\n .map(bindToInstance)\n .concat(self.config[key]);\n }\n else if (typeof userConfig[key] === \"undefined\")\n self.config[key] = pluginConf[key];\n }\n }\n if (!userConfig.altInputClass) {\n self.config.altInputClass =\n getInputElem().className + \" \" + self.config.altInputClass;\n }\n triggerEvent(\"onParseConfig\");\n }\n function getInputElem() {\n return self.config.wrap\n ? element.querySelector(\"[data-input]\")\n : element;\n }\n function setupLocale() {\n if (typeof self.config.locale !== \"object\" &&\n typeof flatpickr.l10ns[self.config.locale] === \"undefined\")\n self.config.errorHandler(new Error(\"flatpickr: invalid locale \" + self.config.locale));\n self.l10n = __assign(__assign({}, flatpickr.l10ns.default), (typeof self.config.locale === \"object\"\n ? self.config.locale\n : self.config.locale !== \"default\"\n ? flatpickr.l10ns[self.config.locale]\n : undefined));\n tokenRegex.D = \"(\" + self.l10n.weekdays.shorthand.join(\"|\") + \")\";\n tokenRegex.l = \"(\" + self.l10n.weekdays.longhand.join(\"|\") + \")\";\n tokenRegex.M = \"(\" + self.l10n.months.shorthand.join(\"|\") + \")\";\n tokenRegex.F = \"(\" + self.l10n.months.longhand.join(\"|\") + \")\";\n tokenRegex.K = \"(\" + self.l10n.amPM[0] + \"|\" + self.l10n.amPM[1] + \"|\" + self.l10n.amPM[0].toLowerCase() + \"|\" + self.l10n.amPM[1].toLowerCase() + \")\";\n var userConfig = __assign(__assign({}, instanceConfig), JSON.parse(JSON.stringify(element.dataset || {})));\n if (userConfig.time_24hr === undefined &&\n flatpickr.defaultConfig.time_24hr === undefined) {\n self.config.time_24hr = self.l10n.time_24hr;\n }\n self.formatDate = createDateFormatter(self);\n self.parseDate = createDateParser({ config: self.config, l10n: self.l10n });\n }\n function positionCalendar(customPositionElement) {\n if (typeof self.config.position === \"function\") {\n return void self.config.position(self, customPositionElement);\n }\n if (self.calendarContainer === undefined)\n return;\n triggerEvent(\"onPreCalendarPosition\");\n var positionElement = customPositionElement || self._positionElement;\n var calendarHeight = Array.prototype.reduce.call(self.calendarContainer.children, (function (acc, child) { return acc + child.offsetHeight; }), 0), calendarWidth = self.calendarContainer.offsetWidth, configPos = self.config.position.split(\" \"), configPosVertical = configPos[0], configPosHorizontal = configPos.length > 1 ? configPos[1] : null, inputBounds = positionElement.getBoundingClientRect(), distanceFromBottom = window.innerHeight - inputBounds.bottom, showOnTop = configPosVertical === \"above\" ||\n (configPosVertical !== \"below\" &&\n distanceFromBottom < calendarHeight &&\n inputBounds.top > calendarHeight);\n var top = window.pageYOffset +\n inputBounds.top +\n (!showOnTop ? positionElement.offsetHeight + 2 : -calendarHeight - 2);\n toggleClass(self.calendarContainer, \"arrowTop\", !showOnTop);\n toggleClass(self.calendarContainer, \"arrowBottom\", showOnTop);\n if (self.config.inline)\n return;\n var left = window.pageXOffset + inputBounds.left;\n var isCenter = false;\n var isRight = false;\n if (configPosHorizontal === \"center\") {\n left -= (calendarWidth - inputBounds.width) / 2;\n isCenter = true;\n }\n else if (configPosHorizontal === \"right\") {\n left -= calendarWidth - inputBounds.width;\n isRight = true;\n }\n toggleClass(self.calendarContainer, \"arrowLeft\", !isCenter && !isRight);\n toggleClass(self.calendarContainer, \"arrowCenter\", isCenter);\n toggleClass(self.calendarContainer, \"arrowRight\", isRight);\n var right = window.document.body.offsetWidth -\n (window.pageXOffset + inputBounds.right);\n var rightMost = left + calendarWidth > window.document.body.offsetWidth;\n var centerMost = right + calendarWidth > window.document.body.offsetWidth;\n toggleClass(self.calendarContainer, \"rightMost\", rightMost);\n if (self.config.static)\n return;\n self.calendarContainer.style.top = top + \"px\";\n if (!rightMost) {\n self.calendarContainer.style.left = left + \"px\";\n self.calendarContainer.style.right = \"auto\";\n }\n else if (!centerMost) {\n self.calendarContainer.style.left = \"auto\";\n self.calendarContainer.style.right = right + \"px\";\n }\n else {\n var doc = getDocumentStyleSheet();\n if (doc === undefined)\n return;\n var bodyWidth = window.document.body.offsetWidth;\n var centerLeft = Math.max(0, bodyWidth / 2 - calendarWidth / 2);\n var centerBefore = \".flatpickr-calendar.centerMost:before\";\n var centerAfter = \".flatpickr-calendar.centerMost:after\";\n var centerIndex = doc.cssRules.length;\n var centerStyle = \"{left:\" + inputBounds.left + \"px;right:auto;}\";\n toggleClass(self.calendarContainer, \"rightMost\", false);\n toggleClass(self.calendarContainer, \"centerMost\", true);\n doc.insertRule(centerBefore + \",\" + centerAfter + centerStyle, centerIndex);\n self.calendarContainer.style.left = centerLeft + \"px\";\n self.calendarContainer.style.right = \"auto\";\n }\n }\n function getDocumentStyleSheet() {\n var editableSheet = null;\n for (var i = 0; i < document.styleSheets.length; i++) {\n var sheet = document.styleSheets[i];\n if (!sheet.cssRules)\n continue;\n try {\n sheet.cssRules;\n }\n catch (err) {\n continue;\n }\n editableSheet = sheet;\n break;\n }\n return editableSheet != null ? editableSheet : createStyleSheet();\n }\n function createStyleSheet() {\n var style = document.createElement(\"style\");\n document.head.appendChild(style);\n return style.sheet;\n }\n function redraw() {\n if (self.config.noCalendar || self.isMobile)\n return;\n buildMonthSwitch();\n updateNavigationCurrentMonth();\n buildDays();\n }\n function focusAndClose() {\n self._input.focus();\n if (window.navigator.userAgent.indexOf(\"MSIE\") !== -1 ||\n navigator.msMaxTouchPoints !== undefined) {\n setTimeout(self.close, 0);\n }\n else {\n self.close();\n }\n }\n function selectDate(e) {\n e.preventDefault();\n e.stopPropagation();\n var isSelectable = function (day) {\n return day.classList &&\n day.classList.contains(\"flatpickr-day\") &&\n !day.classList.contains(\"flatpickr-disabled\") &&\n !day.classList.contains(\"notAllowed\");\n };\n var t = findParent(getEventTarget(e), isSelectable);\n if (t === undefined)\n return;\n var target = t;\n var selectedDate = (self.latestSelectedDateObj = new Date(target.dateObj.getTime()));\n var shouldChangeMonth = (selectedDate.getMonth() < self.currentMonth ||\n selectedDate.getMonth() >\n self.currentMonth + self.config.showMonths - 1) &&\n self.config.mode !== \"range\";\n self.selectedDateElem = target;\n if (self.config.mode === \"single\")\n self.selectedDates = [selectedDate];\n else if (self.config.mode === \"multiple\") {\n var selectedIndex = isDateSelected(selectedDate);\n if (selectedIndex)\n self.selectedDates.splice(parseInt(selectedIndex), 1);\n else\n self.selectedDates.push(selectedDate);\n }\n else if (self.config.mode === \"range\") {\n if (self.selectedDates.length === 2) {\n self.clear(false, false);\n }\n self.latestSelectedDateObj = selectedDate;\n self.selectedDates.push(selectedDate);\n if (compareDates(selectedDate, self.selectedDates[0], true) !== 0)\n self.selectedDates.sort(function (a, b) { return a.getTime() - b.getTime(); });\n }\n setHoursFromInputs();\n if (shouldChangeMonth) {\n var isNewYear = self.currentYear !== selectedDate.getFullYear();\n self.currentYear = selectedDate.getFullYear();\n self.currentMonth = selectedDate.getMonth();\n if (isNewYear) {\n triggerEvent(\"onYearChange\");\n buildMonthSwitch();\n }\n triggerEvent(\"onMonthChange\");\n }\n updateNavigationCurrentMonth();\n buildDays();\n updateValue();\n if (!shouldChangeMonth &&\n self.config.mode !== \"range\" &&\n self.config.showMonths === 1)\n focusOnDayElem(target);\n else if (self.selectedDateElem !== undefined &&\n self.hourElement === undefined) {\n self.selectedDateElem && self.selectedDateElem.focus();\n }\n if (self.hourElement !== undefined)\n self.hourElement !== undefined && self.hourElement.focus();\n if (self.config.closeOnSelect) {\n var single = self.config.mode === \"single\" && !self.config.enableTime;\n var range = self.config.mode === \"range\" &&\n self.selectedDates.length === 2 &&\n !self.config.enableTime;\n if (single || range) {\n focusAndClose();\n }\n }\n triggerChange();\n }\n var CALLBACKS = {\n locale: [setupLocale, updateWeekdays],\n showMonths: [buildMonths, setCalendarWidth, buildWeekdays],\n minDate: [jumpToDate],\n maxDate: [jumpToDate],\n positionElement: [updatePositionElement],\n clickOpens: [\n function () {\n if (self.config.clickOpens === true) {\n bind(self._input, \"focus\", self.open);\n bind(self._input, \"click\", self.open);\n }\n else {\n self._input.removeEventListener(\"focus\", self.open);\n self._input.removeEventListener(\"click\", self.open);\n }\n },\n ],\n };\n function set(option, value) {\n if (option !== null && typeof option === \"object\") {\n Object.assign(self.config, option);\n for (var key in option) {\n if (CALLBACKS[key] !== undefined)\n CALLBACKS[key].forEach(function (x) { return x(); });\n }\n }\n else {\n self.config[option] = value;\n if (CALLBACKS[option] !== undefined)\n CALLBACKS[option].forEach(function (x) { return x(); });\n else if (HOOKS.indexOf(option) > -1)\n self.config[option] = arrayify(value);\n }\n self.redraw();\n updateValue(true);\n }\n function setSelectedDate(inputDate, format) {\n var dates = [];\n if (inputDate instanceof Array)\n dates = inputDate.map(function (d) { return self.parseDate(d, format); });\n else if (inputDate instanceof Date || typeof inputDate === \"number\")\n dates = [self.parseDate(inputDate, format)];\n else if (typeof inputDate === \"string\") {\n switch (self.config.mode) {\n case \"single\":\n case \"time\":\n dates = [self.parseDate(inputDate, format)];\n break;\n case \"multiple\":\n dates = inputDate\n .split(self.config.conjunction)\n .map(function (date) { return self.parseDate(date, format); });\n break;\n case \"range\":\n dates = inputDate\n .split(self.l10n.rangeSeparator)\n .map(function (date) { return self.parseDate(date, format); });\n break;\n default:\n break;\n }\n }\n else\n self.config.errorHandler(new Error(\"Invalid date supplied: \" + JSON.stringify(inputDate)));\n self.selectedDates = (self.config.allowInvalidPreload\n ? dates\n : dates.filter(function (d) { return d instanceof Date && isEnabled(d, false); }));\n if (self.config.mode === \"range\")\n self.selectedDates.sort(function (a, b) { return a.getTime() - b.getTime(); });\n }\n function setDate(date, triggerChange, format) {\n if (triggerChange === void 0) { triggerChange = false; }\n if (format === void 0) { format = self.config.dateFormat; }\n if ((date !== 0 && !date) || (date instanceof Array && date.length === 0))\n return self.clear(triggerChange);\n setSelectedDate(date, format);\n self.latestSelectedDateObj =\n self.selectedDates[self.selectedDates.length - 1];\n self.redraw();\n jumpToDate(undefined, triggerChange);\n setHoursFromDate();\n if (self.selectedDates.length === 0) {\n self.clear(false);\n }\n updateValue(triggerChange);\n if (triggerChange)\n triggerEvent(\"onChange\");\n }\n function parseDateRules(arr) {\n return arr\n .slice()\n .map(function (rule) {\n if (typeof rule === \"string\" ||\n typeof rule === \"number\" ||\n rule instanceof Date) {\n return self.parseDate(rule, undefined, true);\n }\n else if (rule &&\n typeof rule === \"object\" &&\n rule.from &&\n rule.to)\n return {\n from: self.parseDate(rule.from, undefined),\n to: self.parseDate(rule.to, undefined),\n };\n return rule;\n })\n .filter(function (x) { return x; });\n }\n function setupDates() {\n self.selectedDates = [];\n self.now = self.parseDate(self.config.now) || new Date();\n var preloadedDate = self.config.defaultDate ||\n ((self.input.nodeName === \"INPUT\" ||\n self.input.nodeName === \"TEXTAREA\") &&\n self.input.placeholder &&\n self.input.value === self.input.placeholder\n ? null\n : self.input.value);\n if (preloadedDate)\n setSelectedDate(preloadedDate, self.config.dateFormat);\n self._initialDate =\n self.selectedDates.length > 0\n ? self.selectedDates[0]\n : self.config.minDate &&\n self.config.minDate.getTime() > self.now.getTime()\n ? self.config.minDate\n : self.config.maxDate &&\n self.config.maxDate.getTime() < self.now.getTime()\n ? self.config.maxDate\n : self.now;\n self.currentYear = self._initialDate.getFullYear();\n self.currentMonth = self._initialDate.getMonth();\n if (self.selectedDates.length > 0)\n self.latestSelectedDateObj = self.selectedDates[0];\n if (self.config.minTime !== undefined)\n self.config.minTime = self.parseDate(self.config.minTime, \"H:i\");\n if (self.config.maxTime !== undefined)\n self.config.maxTime = self.parseDate(self.config.maxTime, \"H:i\");\n self.minDateHasTime =\n !!self.config.minDate &&\n (self.config.minDate.getHours() > 0 ||\n self.config.minDate.getMinutes() > 0 ||\n self.config.minDate.getSeconds() > 0);\n self.maxDateHasTime =\n !!self.config.maxDate &&\n (self.config.maxDate.getHours() > 0 ||\n self.config.maxDate.getMinutes() > 0 ||\n self.config.maxDate.getSeconds() > 0);\n }\n function setupInputs() {\n self.input = getInputElem();\n if (!self.input) {\n self.config.errorHandler(new Error(\"Invalid input element specified\"));\n return;\n }\n self.input._type = self.input.type;\n self.input.type = \"text\";\n self.input.classList.add(\"flatpickr-input\");\n self._input = self.input;\n if (self.config.altInput) {\n self.altInput = createElement(self.input.nodeName, self.config.altInputClass);\n self._input = self.altInput;\n self.altInput.placeholder = self.input.placeholder;\n self.altInput.disabled = self.input.disabled;\n self.altInput.required = self.input.required;\n self.altInput.tabIndex = self.input.tabIndex;\n self.altInput.type = \"text\";\n self.input.setAttribute(\"type\", \"hidden\");\n if (!self.config.static && self.input.parentNode)\n self.input.parentNode.insertBefore(self.altInput, self.input.nextSibling);\n }\n if (!self.config.allowInput)\n self._input.setAttribute(\"readonly\", \"readonly\");\n updatePositionElement();\n }\n function updatePositionElement() {\n self._positionElement = self.config.positionElement || self._input;\n }\n function setupMobile() {\n var inputType = self.config.enableTime\n ? self.config.noCalendar\n ? \"time\"\n : \"datetime-local\"\n : \"date\";\n self.mobileInput = createElement(\"input\", self.input.className + \" flatpickr-mobile\");\n self.mobileInput.tabIndex = 1;\n self.mobileInput.type = inputType;\n self.mobileInput.disabled = self.input.disabled;\n self.mobileInput.required = self.input.required;\n self.mobileInput.placeholder = self.input.placeholder;\n self.mobileFormatStr =\n inputType === \"datetime-local\"\n ? \"Y-m-d\\\\TH:i:S\"\n : inputType === \"date\"\n ? \"Y-m-d\"\n : \"H:i:S\";\n if (self.selectedDates.length > 0) {\n self.mobileInput.defaultValue = self.mobileInput.value = self.formatDate(self.selectedDates[0], self.mobileFormatStr);\n }\n if (self.config.minDate)\n self.mobileInput.min = self.formatDate(self.config.minDate, \"Y-m-d\");\n if (self.config.maxDate)\n self.mobileInput.max = self.formatDate(self.config.maxDate, \"Y-m-d\");\n if (self.input.getAttribute(\"step\"))\n self.mobileInput.step = String(self.input.getAttribute(\"step\"));\n self.input.type = \"hidden\";\n if (self.altInput !== undefined)\n self.altInput.type = \"hidden\";\n try {\n if (self.input.parentNode)\n self.input.parentNode.insertBefore(self.mobileInput, self.input.nextSibling);\n }\n catch (_a) { }\n bind(self.mobileInput, \"change\", function (e) {\n self.setDate(getEventTarget(e).value, false, self.mobileFormatStr);\n triggerEvent(\"onChange\");\n triggerEvent(\"onClose\");\n });\n }\n function toggle(e) {\n if (self.isOpen === true)\n return self.close();\n self.open(e);\n }\n function triggerEvent(event, data) {\n if (self.config === undefined)\n return;\n var hooks = self.config[event];\n if (hooks !== undefined && hooks.length > 0) {\n for (var i = 0; hooks[i] && i < hooks.length; i++)\n hooks[i](self.selectedDates, self.input.value, self, data);\n }\n if (event === \"onChange\") {\n self.input.dispatchEvent(createEvent(\"change\"));\n self.input.dispatchEvent(createEvent(\"input\"));\n }\n }\n function createEvent(name) {\n var e = document.createEvent(\"Event\");\n e.initEvent(name, true, true);\n return e;\n }\n function isDateSelected(date) {\n for (var i = 0; i < self.selectedDates.length; i++) {\n var selectedDate = self.selectedDates[i];\n if (selectedDate instanceof Date &&\n compareDates(selectedDate, date) === 0)\n return \"\" + i;\n }\n return false;\n }\n function isDateInRange(date) {\n if (self.config.mode !== \"range\" || self.selectedDates.length < 2)\n return false;\n return (compareDates(date, self.selectedDates[0]) >= 0 &&\n compareDates(date, self.selectedDates[1]) <= 0);\n }\n function updateNavigationCurrentMonth() {\n if (self.config.noCalendar || self.isMobile || !self.monthNav)\n return;\n self.yearElements.forEach(function (yearElement, i) {\n var d = new Date(self.currentYear, self.currentMonth, 1);\n d.setMonth(self.currentMonth + i);\n if (self.config.showMonths > 1 ||\n self.config.monthSelectorType === \"static\") {\n self.monthElements[i].textContent =\n monthToStr(d.getMonth(), self.config.shorthandCurrentMonth, self.l10n) + \" \";\n }\n else {\n self.monthsDropdownContainer.value = d.getMonth().toString();\n }\n yearElement.value = d.getFullYear().toString();\n });\n self._hidePrevMonthArrow =\n self.config.minDate !== undefined &&\n (self.currentYear === self.config.minDate.getFullYear()\n ? self.currentMonth <= self.config.minDate.getMonth()\n : self.currentYear < self.config.minDate.getFullYear());\n self._hideNextMonthArrow =\n self.config.maxDate !== undefined &&\n (self.currentYear === self.config.maxDate.getFullYear()\n ? self.currentMonth + 1 > self.config.maxDate.getMonth()\n : self.currentYear > self.config.maxDate.getFullYear());\n }\n function getDateStr(specificFormat) {\n var format = specificFormat ||\n (self.config.altInput ? self.config.altFormat : self.config.dateFormat);\n return self.selectedDates\n .map(function (dObj) { return self.formatDate(dObj, format); })\n .filter(function (d, i, arr) {\n return self.config.mode !== \"range\" ||\n self.config.enableTime ||\n arr.indexOf(d) === i;\n })\n .join(self.config.mode !== \"range\"\n ? self.config.conjunction\n : self.l10n.rangeSeparator);\n }\n function updateValue(triggerChange) {\n if (triggerChange === void 0) { triggerChange = true; }\n if (self.mobileInput !== undefined && self.mobileFormatStr) {\n self.mobileInput.value =\n self.latestSelectedDateObj !== undefined\n ? self.formatDate(self.latestSelectedDateObj, self.mobileFormatStr)\n : \"\";\n }\n self.input.value = getDateStr(self.config.dateFormat);\n if (self.altInput !== undefined) {\n self.altInput.value = getDateStr(self.config.altFormat);\n }\n if (triggerChange !== false)\n triggerEvent(\"onValueUpdate\");\n }\n function onMonthNavClick(e) {\n var eventTarget = getEventTarget(e);\n var isPrevMonth = self.prevMonthNav.contains(eventTarget);\n var isNextMonth = self.nextMonthNav.contains(eventTarget);\n if (isPrevMonth || isNextMonth) {\n changeMonth(isPrevMonth ? -1 : 1);\n }\n else if (self.yearElements.indexOf(eventTarget) >= 0) {\n eventTarget.select();\n }\n else if (eventTarget.classList.contains(\"arrowUp\")) {\n self.changeYear(self.currentYear + 1);\n }\n else if (eventTarget.classList.contains(\"arrowDown\")) {\n self.changeYear(self.currentYear - 1);\n }\n }\n function timeWrapper(e) {\n e.preventDefault();\n var isKeyDown = e.type === \"keydown\", eventTarget = getEventTarget(e), input = eventTarget;\n if (self.amPM !== undefined && eventTarget === self.amPM) {\n self.amPM.textContent =\n self.l10n.amPM[int(self.amPM.textContent === self.l10n.amPM[0])];\n }\n var min = parseFloat(input.getAttribute(\"min\")), max = parseFloat(input.getAttribute(\"max\")), step = parseFloat(input.getAttribute(\"step\")), curValue = parseInt(input.value, 10), delta = e.delta ||\n (isKeyDown ? (e.which === 38 ? 1 : -1) : 0);\n var newValue = curValue + step * delta;\n if (typeof input.value !== \"undefined\" && input.value.length === 2) {\n var isHourElem = input === self.hourElement, isMinuteElem = input === self.minuteElement;\n if (newValue < min) {\n newValue =\n max +\n newValue +\n int(!isHourElem) +\n (int(isHourElem) && int(!self.amPM));\n if (isMinuteElem)\n incrementNumInput(undefined, -1, self.hourElement);\n }\n else if (newValue > max) {\n newValue =\n input === self.hourElement ? newValue - max - int(!self.amPM) : min;\n if (isMinuteElem)\n incrementNumInput(undefined, 1, self.hourElement);\n }\n if (self.amPM &&\n isHourElem &&\n (step === 1\n ? newValue + curValue === 23\n : Math.abs(newValue - curValue) > step)) {\n self.amPM.textContent =\n self.l10n.amPM[int(self.amPM.textContent === self.l10n.amPM[0])];\n }\n input.value = pad(newValue);\n }\n }\n init();\n return self;\n}\nfunction _flatpickr(nodeList, config) {\n var nodes = Array.prototype.slice\n .call(nodeList)\n .filter(function (x) { return x instanceof HTMLElement; });\n var instances = [];\n for (var i = 0; i < nodes.length; i++) {\n var node = nodes[i];\n try {\n if (node.getAttribute(\"data-fp-omit\") !== null)\n continue;\n if (node._flatpickr !== undefined) {\n node._flatpickr.destroy();\n node._flatpickr = undefined;\n }\n node._flatpickr = FlatpickrInstance(node, config || {});\n instances.push(node._flatpickr);\n }\n catch (e) {\n console.error(e);\n }\n }\n return instances.length === 1 ? instances[0] : instances;\n}\nif (typeof HTMLElement !== \"undefined\" &&\n typeof HTMLCollection !== \"undefined\" &&\n typeof NodeList !== \"undefined\") {\n HTMLCollection.prototype.flatpickr = NodeList.prototype.flatpickr = function (config) {\n return _flatpickr(this, config);\n };\n HTMLElement.prototype.flatpickr = function (config) {\n return _flatpickr([this], config);\n };\n}\nvar flatpickr = function (selector, config) {\n if (typeof selector === \"string\") {\n return _flatpickr(window.document.querySelectorAll(selector), config);\n }\n else if (selector instanceof Node) {\n return _flatpickr([selector], config);\n }\n else {\n return _flatpickr(selector, config);\n }\n};\nflatpickr.defaultConfig = {};\nflatpickr.l10ns = {\n en: __assign({}, English),\n default: __assign({}, English),\n};\nflatpickr.localize = function (l10n) {\n flatpickr.l10ns.default = __assign(__assign({}, flatpickr.l10ns.default), l10n);\n};\nflatpickr.setDefaults = function (config) {\n flatpickr.defaultConfig = __assign(__assign({}, flatpickr.defaultConfig), config);\n};\nflatpickr.parseDate = createDateParser({});\nflatpickr.formatDate = createDateFormatter({});\nflatpickr.compareDates = compareDates;\nif (typeof jQuery !== \"undefined\" && typeof jQuery.fn !== \"undefined\") {\n jQuery.fn.flatpickr = function (config) {\n return _flatpickr(this, config);\n };\n}\nDate.prototype.fp_incr = function (days) {\n return new Date(this.getFullYear(), this.getMonth(), this.getDate() + (typeof days === \"string\" ? parseInt(days, 10) : days));\n};\nif (typeof window !== \"undefined\") {\n window.flatpickr = flatpickr;\n}\nexport default flatpickr;\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});","\"use strict\";\nif (typeof Object.assign !== \"function\") {\n Object.assign = function (target) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (!target) {\n throw TypeError(\"Cannot convert undefined or null to object\");\n }\n var _loop_1 = function (source) {\n if (source) {\n Object.keys(source).forEach(function (key) { return (target[key] = source[key]); });\n }\n };\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var source = args_1[_a];\n _loop_1(source);\n }\n return target;\n };\n}\n","var commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nvar NumeralFormatter = function (numeralDecimalMark,\n numeralIntegerScale,\n numeralDecimalScale,\n numeralThousandsGroupStyle,\n numeralPositiveOnly,\n stripLeadingZeroes,\n prefix,\n signBeforePrefix,\n tailPrefix,\n delimiter) {\n var owner = this;\n\n owner.numeralDecimalMark = numeralDecimalMark || '.';\n owner.numeralIntegerScale = numeralIntegerScale > 0 ? numeralIntegerScale : 0;\n owner.numeralDecimalScale = numeralDecimalScale >= 0 ? numeralDecimalScale : 2;\n owner.numeralThousandsGroupStyle = numeralThousandsGroupStyle || NumeralFormatter.groupStyle.thousand;\n owner.numeralPositiveOnly = !!numeralPositiveOnly;\n owner.stripLeadingZeroes = stripLeadingZeroes !== false;\n owner.prefix = (prefix || prefix === '') ? prefix : '';\n owner.signBeforePrefix = !!signBeforePrefix;\n owner.tailPrefix = !!tailPrefix;\n owner.delimiter = (delimiter || delimiter === '') ? delimiter : ',';\n owner.delimiterRE = delimiter ? new RegExp('\\\\' + delimiter, 'g') : '';\n};\n\nNumeralFormatter.groupStyle = {\n thousand: 'thousand',\n lakh: 'lakh',\n wan: 'wan',\n none: 'none' \n};\n\nNumeralFormatter.prototype = {\n getRawValue: function (value) {\n return value.replace(this.delimiterRE, '').replace(this.numeralDecimalMark, '.');\n },\n\n format: function (value) {\n var owner = this, parts, partSign, partSignAndPrefix, partInteger, partDecimal = '';\n\n // strip alphabet letters\n value = value.replace(/[A-Za-z]/g, '')\n // replace the first decimal mark with reserved placeholder\n .replace(owner.numeralDecimalMark, 'M')\n\n // strip non numeric letters except minus and \"M\"\n // this is to ensure prefix has been stripped\n .replace(/[^\\dM-]/g, '')\n\n // replace the leading minus with reserved placeholder\n .replace(/^\\-/, 'N')\n\n // strip the other minus sign (if present)\n .replace(/\\-/g, '')\n\n // replace the minus sign (if present)\n .replace('N', owner.numeralPositiveOnly ? '' : '-')\n\n // replace decimal mark\n .replace('M', owner.numeralDecimalMark);\n\n // strip any leading zeros\n if (owner.stripLeadingZeroes) {\n value = value.replace(/^(-)?0+(?=\\d)/, '$1');\n }\n\n partSign = value.slice(0, 1) === '-' ? '-' : '';\n if (typeof owner.prefix != 'undefined') {\n if (owner.signBeforePrefix) {\n partSignAndPrefix = partSign + owner.prefix;\n } else {\n partSignAndPrefix = owner.prefix + partSign;\n }\n } else {\n partSignAndPrefix = partSign;\n }\n \n partInteger = value;\n\n if (value.indexOf(owner.numeralDecimalMark) >= 0) {\n parts = value.split(owner.numeralDecimalMark);\n partInteger = parts[0];\n partDecimal = owner.numeralDecimalMark + parts[1].slice(0, owner.numeralDecimalScale);\n }\n\n if(partSign === '-') {\n partInteger = partInteger.slice(1);\n }\n\n if (owner.numeralIntegerScale > 0) {\n partInteger = partInteger.slice(0, owner.numeralIntegerScale);\n }\n\n switch (owner.numeralThousandsGroupStyle) {\n case NumeralFormatter.groupStyle.lakh:\n partInteger = partInteger.replace(/(\\d)(?=(\\d\\d)+\\d$)/g, '$1' + owner.delimiter);\n\n break;\n\n case NumeralFormatter.groupStyle.wan:\n partInteger = partInteger.replace(/(\\d)(?=(\\d{4})+$)/g, '$1' + owner.delimiter);\n\n break;\n\n case NumeralFormatter.groupStyle.thousand:\n partInteger = partInteger.replace(/(\\d)(?=(\\d{3})+$)/g, '$1' + owner.delimiter);\n\n break;\n }\n\n if (owner.tailPrefix) {\n return partSign + partInteger.toString() + (owner.numeralDecimalScale > 0 ? partDecimal.toString() : '') + owner.prefix;\n }\n\n return partSignAndPrefix + partInteger.toString() + (owner.numeralDecimalScale > 0 ? partDecimal.toString() : '');\n }\n};\n\nvar NumeralFormatter_1 = NumeralFormatter;\n\nvar DateFormatter = function (datePattern, dateMin, dateMax) {\n var owner = this;\n\n owner.date = [];\n owner.blocks = [];\n owner.datePattern = datePattern;\n owner.dateMin = dateMin\n .split('-')\n .reverse()\n .map(function(x) {\n return parseInt(x, 10);\n });\n if (owner.dateMin.length === 2) owner.dateMin.unshift(0);\n\n owner.dateMax = dateMax\n .split('-')\n .reverse()\n .map(function(x) {\n return parseInt(x, 10);\n });\n if (owner.dateMax.length === 2) owner.dateMax.unshift(0);\n \n owner.initBlocks();\n};\n\nDateFormatter.prototype = {\n initBlocks: function () {\n var owner = this;\n owner.datePattern.forEach(function (value) {\n if (value === 'Y') {\n owner.blocks.push(4);\n } else {\n owner.blocks.push(2);\n }\n });\n },\n\n getISOFormatDate: function () {\n var owner = this,\n date = owner.date;\n\n return date[2] ? (\n date[2] + '-' + owner.addLeadingZero(date[1]) + '-' + owner.addLeadingZero(date[0])\n ) : '';\n },\n\n getBlocks: function () {\n return this.blocks;\n },\n\n getValidatedDate: function (value) {\n var owner = this, result = '';\n\n value = value.replace(/[^\\d]/g, '');\n\n owner.blocks.forEach(function (length, index) {\n if (value.length > 0) {\n var sub = value.slice(0, length),\n sub0 = sub.slice(0, 1),\n rest = value.slice(length);\n\n switch (owner.datePattern[index]) {\n case 'd':\n if (sub === '00') {\n sub = '01';\n } else if (parseInt(sub0, 10) > 3) {\n sub = '0' + sub0;\n } else if (parseInt(sub, 10) > 31) {\n sub = '31';\n }\n\n break;\n\n case 'm':\n if (sub === '00') {\n sub = '01';\n } else if (parseInt(sub0, 10) > 1) {\n sub = '0' + sub0;\n } else if (parseInt(sub, 10) > 12) {\n sub = '12';\n }\n\n break;\n }\n\n result += sub;\n\n // update remaining string\n value = rest;\n }\n });\n\n return this.getFixedDateString(result);\n },\n\n getFixedDateString: function (value) {\n var owner = this, datePattern = owner.datePattern, date = [],\n dayIndex = 0, monthIndex = 0, yearIndex = 0,\n dayStartIndex = 0, monthStartIndex = 0, yearStartIndex = 0,\n day, month, year, fullYearDone = false;\n\n // mm-dd || dd-mm\n if (value.length === 4 && datePattern[0].toLowerCase() !== 'y' && datePattern[1].toLowerCase() !== 'y') {\n dayStartIndex = datePattern[0] === 'd' ? 0 : 2;\n monthStartIndex = 2 - dayStartIndex;\n day = parseInt(value.slice(dayStartIndex, dayStartIndex + 2), 10);\n month = parseInt(value.slice(monthStartIndex, monthStartIndex + 2), 10);\n\n date = this.getFixedDate(day, month, 0);\n }\n\n // yyyy-mm-dd || yyyy-dd-mm || mm-dd-yyyy || dd-mm-yyyy || dd-yyyy-mm || mm-yyyy-dd\n if (value.length === 8) {\n datePattern.forEach(function (type, index) {\n switch (type) {\n case 'd':\n dayIndex = index;\n break;\n case 'm':\n monthIndex = index;\n break;\n default:\n yearIndex = index;\n break;\n }\n });\n\n yearStartIndex = yearIndex * 2;\n dayStartIndex = (dayIndex <= yearIndex) ? dayIndex * 2 : (dayIndex * 2 + 2);\n monthStartIndex = (monthIndex <= yearIndex) ? monthIndex * 2 : (monthIndex * 2 + 2);\n\n day = parseInt(value.slice(dayStartIndex, dayStartIndex + 2), 10);\n month = parseInt(value.slice(monthStartIndex, monthStartIndex + 2), 10);\n year = parseInt(value.slice(yearStartIndex, yearStartIndex + 4), 10);\n\n fullYearDone = value.slice(yearStartIndex, yearStartIndex + 4).length === 4;\n\n date = this.getFixedDate(day, month, year);\n }\n\n // mm-yy || yy-mm\n if (value.length === 4 && (datePattern[0] === 'y' || datePattern[1] === 'y')) {\n monthStartIndex = datePattern[0] === 'm' ? 0 : 2;\n yearStartIndex = 2 - monthStartIndex;\n month = parseInt(value.slice(monthStartIndex, monthStartIndex + 2), 10);\n year = parseInt(value.slice(yearStartIndex, yearStartIndex + 2), 10);\n\n fullYearDone = value.slice(yearStartIndex, yearStartIndex + 2).length === 2;\n\n date = [0, month, year];\n }\n\n // mm-yyyy || yyyy-mm\n if (value.length === 6 && (datePattern[0] === 'Y' || datePattern[1] === 'Y')) {\n monthStartIndex = datePattern[0] === 'm' ? 0 : 4;\n yearStartIndex = 2 - 0.5 * monthStartIndex;\n month = parseInt(value.slice(monthStartIndex, monthStartIndex + 2), 10);\n year = parseInt(value.slice(yearStartIndex, yearStartIndex + 4), 10);\n\n fullYearDone = value.slice(yearStartIndex, yearStartIndex + 4).length === 4;\n\n date = [0, month, year];\n }\n\n date = owner.getRangeFixedDate(date);\n owner.date = date;\n\n var result = date.length === 0 ? value : datePattern.reduce(function (previous, current) {\n switch (current) {\n case 'd':\n return previous + (date[0] === 0 ? '' : owner.addLeadingZero(date[0]));\n case 'm':\n return previous + (date[1] === 0 ? '' : owner.addLeadingZero(date[1]));\n case 'y':\n return previous + (fullYearDone ? owner.addLeadingZeroForYear(date[2], false) : '');\n case 'Y':\n return previous + (fullYearDone ? owner.addLeadingZeroForYear(date[2], true) : '');\n }\n }, '');\n\n return result;\n },\n\n getRangeFixedDate: function (date) {\n var owner = this,\n datePattern = owner.datePattern,\n dateMin = owner.dateMin || [],\n dateMax = owner.dateMax || [];\n\n if (!date.length || (dateMin.length < 3 && dateMax.length < 3)) return date;\n\n if (\n datePattern.find(function(x) {\n return x.toLowerCase() === 'y';\n }) &&\n date[2] === 0\n ) return date;\n\n if (dateMax.length && (dateMax[2] < date[2] || (\n dateMax[2] === date[2] && (dateMax[1] < date[1] || (\n dateMax[1] === date[1] && dateMax[0] < date[0]\n ))\n ))) return dateMax;\n\n if (dateMin.length && (dateMin[2] > date[2] || (\n dateMin[2] === date[2] && (dateMin[1] > date[1] || (\n dateMin[1] === date[1] && dateMin[0] > date[0]\n ))\n ))) return dateMin;\n\n return date;\n },\n\n getFixedDate: function (day, month, year) {\n day = Math.min(day, 31);\n month = Math.min(month, 12);\n year = parseInt((year || 0), 10);\n\n if ((month < 7 && month % 2 === 0) || (month > 8 && month % 2 === 1)) {\n day = Math.min(day, month === 2 ? (this.isLeapYear(year) ? 29 : 28) : 30);\n }\n\n return [day, month, year];\n },\n\n isLeapYear: function (year) {\n return ((year % 4 === 0) && (year % 100 !== 0)) || (year % 400 === 0);\n },\n\n addLeadingZero: function (number) {\n return (number < 10 ? '0' : '') + number;\n },\n\n addLeadingZeroForYear: function (number, fullYearMode) {\n if (fullYearMode) {\n return (number < 10 ? '000' : (number < 100 ? '00' : (number < 1000 ? '0' : ''))) + number;\n }\n\n return (number < 10 ? '0' : '') + number;\n }\n};\n\nvar DateFormatter_1 = DateFormatter;\n\nvar TimeFormatter = function (timePattern, timeFormat) {\n var owner = this;\n\n owner.time = [];\n owner.blocks = [];\n owner.timePattern = timePattern;\n owner.timeFormat = timeFormat;\n owner.initBlocks();\n};\n\nTimeFormatter.prototype = {\n initBlocks: function () {\n var owner = this;\n owner.timePattern.forEach(function () {\n owner.blocks.push(2);\n });\n },\n\n getISOFormatTime: function () {\n var owner = this,\n time = owner.time;\n\n return time[2] ? (\n owner.addLeadingZero(time[0]) + ':' + owner.addLeadingZero(time[1]) + ':' + owner.addLeadingZero(time[2])\n ) : '';\n },\n\n getBlocks: function () {\n return this.blocks;\n },\n\n getTimeFormatOptions: function () {\n var owner = this;\n if (String(owner.timeFormat) === '12') {\n return {\n maxHourFirstDigit: 1,\n maxHours: 12,\n maxMinutesFirstDigit: 5,\n maxMinutes: 60\n };\n }\n\n return {\n maxHourFirstDigit: 2,\n maxHours: 23,\n maxMinutesFirstDigit: 5,\n maxMinutes: 60\n };\n },\n\n getValidatedTime: function (value) {\n var owner = this, result = '';\n\n value = value.replace(/[^\\d]/g, '');\n\n var timeFormatOptions = owner.getTimeFormatOptions();\n\n owner.blocks.forEach(function (length, index) {\n if (value.length > 0) {\n var sub = value.slice(0, length),\n sub0 = sub.slice(0, 1),\n rest = value.slice(length);\n\n switch (owner.timePattern[index]) {\n\n case 'h':\n if (parseInt(sub0, 10) > timeFormatOptions.maxHourFirstDigit) {\n sub = '0' + sub0;\n } else if (parseInt(sub, 10) > timeFormatOptions.maxHours) {\n sub = timeFormatOptions.maxHours + '';\n }\n\n break;\n\n case 'm':\n case 's':\n if (parseInt(sub0, 10) > timeFormatOptions.maxMinutesFirstDigit) {\n sub = '0' + sub0;\n } else if (parseInt(sub, 10) > timeFormatOptions.maxMinutes) {\n sub = timeFormatOptions.maxMinutes + '';\n }\n break;\n }\n\n result += sub;\n\n // update remaining string\n value = rest;\n }\n });\n\n return this.getFixedTimeString(result);\n },\n\n getFixedTimeString: function (value) {\n var owner = this, timePattern = owner.timePattern, time = [],\n secondIndex = 0, minuteIndex = 0, hourIndex = 0,\n secondStartIndex = 0, minuteStartIndex = 0, hourStartIndex = 0,\n second, minute, hour;\n\n if (value.length === 6) {\n timePattern.forEach(function (type, index) {\n switch (type) {\n case 's':\n secondIndex = index * 2;\n break;\n case 'm':\n minuteIndex = index * 2;\n break;\n case 'h':\n hourIndex = index * 2;\n break;\n }\n });\n\n hourStartIndex = hourIndex;\n minuteStartIndex = minuteIndex;\n secondStartIndex = secondIndex;\n\n second = parseInt(value.slice(secondStartIndex, secondStartIndex + 2), 10);\n minute = parseInt(value.slice(minuteStartIndex, minuteStartIndex + 2), 10);\n hour = parseInt(value.slice(hourStartIndex, hourStartIndex + 2), 10);\n\n time = this.getFixedTime(hour, minute, second);\n }\n\n if (value.length === 4 && owner.timePattern.indexOf('s') < 0) {\n timePattern.forEach(function (type, index) {\n switch (type) {\n case 'm':\n minuteIndex = index * 2;\n break;\n case 'h':\n hourIndex = index * 2;\n break;\n }\n });\n\n hourStartIndex = hourIndex;\n minuteStartIndex = minuteIndex;\n\n second = 0;\n minute = parseInt(value.slice(minuteStartIndex, minuteStartIndex + 2), 10);\n hour = parseInt(value.slice(hourStartIndex, hourStartIndex + 2), 10);\n\n time = this.getFixedTime(hour, minute, second);\n }\n\n owner.time = time;\n\n return time.length === 0 ? value : timePattern.reduce(function (previous, current) {\n switch (current) {\n case 's':\n return previous + owner.addLeadingZero(time[2]);\n case 'm':\n return previous + owner.addLeadingZero(time[1]);\n case 'h':\n return previous + owner.addLeadingZero(time[0]);\n }\n }, '');\n },\n\n getFixedTime: function (hour, minute, second) {\n second = Math.min(parseInt(second || 0, 10), 60);\n minute = Math.min(minute, 60);\n hour = Math.min(hour, 60);\n\n return [hour, minute, second];\n },\n\n addLeadingZero: function (number) {\n return (number < 10 ? '0' : '') + number;\n }\n};\n\nvar TimeFormatter_1 = TimeFormatter;\n\nvar PhoneFormatter = function (formatter, delimiter) {\n var owner = this;\n\n owner.delimiter = (delimiter || delimiter === '') ? delimiter : ' ';\n owner.delimiterRE = delimiter ? new RegExp('\\\\' + delimiter, 'g') : '';\n\n owner.formatter = formatter;\n};\n\nPhoneFormatter.prototype = {\n setFormatter: function (formatter) {\n this.formatter = formatter;\n },\n\n format: function (phoneNumber) {\n var owner = this;\n\n owner.formatter.clear();\n\n // only keep number and +\n phoneNumber = phoneNumber.replace(/[^\\d+]/g, '');\n\n // strip non-leading +\n phoneNumber = phoneNumber.replace(/^\\+/, 'B').replace(/\\+/g, '').replace('B', '+');\n\n // strip delimiter\n phoneNumber = phoneNumber.replace(owner.delimiterRE, '');\n\n var result = '', current, validated = false;\n\n for (var i = 0, iMax = phoneNumber.length; i < iMax; i++) {\n current = owner.formatter.inputDigit(phoneNumber.charAt(i));\n\n // has ()- or space inside\n if (/[\\s()-]/g.test(current)) {\n result = current;\n\n validated = true;\n } else {\n if (!validated) {\n result = current;\n }\n // else: over length input\n // it turns to invalid number again\n }\n }\n\n // strip ()\n // e.g. US: 7161234567 returns (716) 123-4567\n result = result.replace(/[()]/g, '');\n // replace library delimiter with user customized delimiter\n result = result.replace(/[\\s-]/g, owner.delimiter);\n\n return result;\n }\n};\n\nvar PhoneFormatter_1 = PhoneFormatter;\n\nvar CreditCardDetector = {\n blocks: {\n uatp: [4, 5, 6],\n amex: [4, 6, 5],\n diners: [4, 6, 4],\n discover: [4, 4, 4, 4],\n mastercard: [4, 4, 4, 4],\n dankort: [4, 4, 4, 4],\n instapayment: [4, 4, 4, 4],\n jcb15: [4, 6, 5],\n jcb: [4, 4, 4, 4],\n maestro: [4, 4, 4, 4],\n visa: [4, 4, 4, 4],\n mir: [4, 4, 4, 4],\n unionPay: [4, 4, 4, 4],\n general: [4, 4, 4, 4]\n },\n\n re: {\n // starts with 1; 15 digits, not starts with 1800 (jcb card)\n uatp: /^(?!1800)1\\d{0,14}/,\n\n // starts with 34/37; 15 digits\n amex: /^3[47]\\d{0,13}/,\n\n // starts with 6011/65/644-649; 16 digits\n discover: /^(?:6011|65\\d{0,2}|64[4-9]\\d?)\\d{0,12}/,\n\n // starts with 300-305/309 or 36/38/39; 14 digits\n diners: /^3(?:0([0-5]|9)|[689]\\d?)\\d{0,11}/,\n\n // starts with 51-55/2221–2720; 16 digits\n mastercard: /^(5[1-5]\\d{0,2}|22[2-9]\\d{0,1}|2[3-7]\\d{0,2})\\d{0,12}/,\n\n // starts with 5019/4175/4571; 16 digits\n dankort: /^(5019|4175|4571)\\d{0,12}/,\n\n // starts with 637-639; 16 digits\n instapayment: /^63[7-9]\\d{0,13}/,\n\n // starts with 2131/1800; 15 digits\n jcb15: /^(?:2131|1800)\\d{0,11}/,\n\n // starts with 2131/1800/35; 16 digits\n jcb: /^(?:35\\d{0,2})\\d{0,12}/,\n\n // starts with 50/56-58/6304/67; 16 digits\n maestro: /^(?:5[0678]\\d{0,2}|6304|67\\d{0,2})\\d{0,12}/,\n\n // starts with 22; 16 digits\n mir: /^220[0-4]\\d{0,12}/,\n\n // starts with 4; 16 digits\n visa: /^4\\d{0,15}/,\n\n // starts with 62/81; 16 digits\n unionPay: /^(62|81)\\d{0,14}/\n },\n\n getStrictBlocks: function (block) {\n var total = block.reduce(function (prev, current) {\n return prev + current;\n }, 0);\n\n return block.concat(19 - total);\n },\n\n getInfo: function (value, strictMode) {\n var blocks = CreditCardDetector.blocks,\n re = CreditCardDetector.re;\n\n // Some credit card can have up to 19 digits number.\n // Set strictMode to true will remove the 16 max-length restrain,\n // however, I never found any website validate card number like\n // this, hence probably you don't want to enable this option.\n strictMode = !!strictMode;\n\n for (var key in re) {\n if (re[key].test(value)) {\n var matchedBlocks = blocks[key];\n return {\n type: key,\n blocks: strictMode ? this.getStrictBlocks(matchedBlocks) : matchedBlocks\n };\n }\n }\n\n return {\n type: 'unknown',\n blocks: strictMode ? this.getStrictBlocks(blocks.general) : blocks.general\n };\n }\n};\n\nvar CreditCardDetector_1 = CreditCardDetector;\n\nvar Util = {\n noop: function () {\n },\n\n strip: function (value, re) {\n return value.replace(re, '');\n },\n\n getPostDelimiter: function (value, delimiter, delimiters) {\n // single delimiter\n if (delimiters.length === 0) {\n return value.slice(-delimiter.length) === delimiter ? delimiter : '';\n }\n\n // multiple delimiters\n var matchedDelimiter = '';\n delimiters.forEach(function (current) {\n if (value.slice(-current.length) === current) {\n matchedDelimiter = current;\n }\n });\n\n return matchedDelimiter;\n },\n\n getDelimiterREByDelimiter: function (delimiter) {\n return new RegExp(delimiter.replace(/([.?*+^$[\\]\\\\(){}|-])/g, '\\\\$1'), 'g');\n },\n\n getNextCursorPosition: function (prevPos, oldValue, newValue, delimiter, delimiters) {\n // If cursor was at the end of value, just place it back.\n // Because new value could contain additional chars.\n if (oldValue.length === prevPos) {\n return newValue.length;\n }\n\n return prevPos + this.getPositionOffset(prevPos, oldValue, newValue, delimiter ,delimiters);\n },\n\n getPositionOffset: function (prevPos, oldValue, newValue, delimiter, delimiters) {\n var oldRawValue, newRawValue, lengthOffset;\n\n oldRawValue = this.stripDelimiters(oldValue.slice(0, prevPos), delimiter, delimiters);\n newRawValue = this.stripDelimiters(newValue.slice(0, prevPos), delimiter, delimiters);\n lengthOffset = oldRawValue.length - newRawValue.length;\n\n return (lengthOffset !== 0) ? (lengthOffset / Math.abs(lengthOffset)) : 0;\n },\n\n stripDelimiters: function (value, delimiter, delimiters) {\n var owner = this;\n\n // single delimiter\n if (delimiters.length === 0) {\n var delimiterRE = delimiter ? owner.getDelimiterREByDelimiter(delimiter) : '';\n\n return value.replace(delimiterRE, '');\n }\n\n // multiple delimiters\n delimiters.forEach(function (current) {\n current.split('').forEach(function (letter) {\n value = value.replace(owner.getDelimiterREByDelimiter(letter), '');\n });\n });\n\n return value;\n },\n\n headStr: function (str, length) {\n return str.slice(0, length);\n },\n\n getMaxLength: function (blocks) {\n return blocks.reduce(function (previous, current) {\n return previous + current;\n }, 0);\n },\n\n // strip prefix\n // Before type | After type | Return value\n // PEFIX-... | PEFIX-... | ''\n // PREFIX-123 | PEFIX-123 | 123\n // PREFIX-123 | PREFIX-23 | 23\n // PREFIX-123 | PREFIX-1234 | 1234\n getPrefixStrippedValue: function (value, prefix, prefixLength, prevResult, delimiter, delimiters, noImmediatePrefix, tailPrefix, signBeforePrefix) {\n // No prefix\n if (prefixLength === 0) {\n return value;\n }\n\n // Value is prefix\n if (value === prefix && value !== '') {\n return '';\n }\n\n if (signBeforePrefix && (value.slice(0, 1) == '-')) {\n var prev = (prevResult.slice(0, 1) == '-') ? prevResult.slice(1) : prevResult;\n return '-' + this.getPrefixStrippedValue(value.slice(1), prefix, prefixLength, prev, delimiter, delimiters, noImmediatePrefix, tailPrefix, signBeforePrefix);\n }\n\n // Pre result prefix string does not match pre-defined prefix\n if (prevResult.slice(0, prefixLength) !== prefix && !tailPrefix) {\n // Check if the first time user entered something\n if (noImmediatePrefix && !prevResult && value) return value;\n return '';\n } else if (prevResult.slice(-prefixLength) !== prefix && tailPrefix) {\n // Check if the first time user entered something\n if (noImmediatePrefix && !prevResult && value) return value;\n return '';\n }\n\n var prevValue = this.stripDelimiters(prevResult, delimiter, delimiters);\n\n // New value has issue, someone typed in between prefix letters\n // Revert to pre value\n if (value.slice(0, prefixLength) !== prefix && !tailPrefix) {\n return prevValue.slice(prefixLength);\n } else if (value.slice(-prefixLength) !== prefix && tailPrefix) {\n return prevValue.slice(0, -prefixLength - 1);\n }\n\n // No issue, strip prefix for new value\n return tailPrefix ? value.slice(0, -prefixLength) : value.slice(prefixLength);\n },\n\n getFirstDiffIndex: function (prev, current) {\n var index = 0;\n\n while (prev.charAt(index) === current.charAt(index)) {\n if (prev.charAt(index++) === '') {\n return -1;\n }\n }\n\n return index;\n },\n\n getFormattedValue: function (value, blocks, blocksLength, delimiter, delimiters, delimiterLazyShow) {\n var result = '',\n multipleDelimiters = delimiters.length > 0,\n currentDelimiter = '';\n\n // no options, normal input\n if (blocksLength === 0) {\n return value;\n }\n\n blocks.forEach(function (length, index) {\n if (value.length > 0) {\n var sub = value.slice(0, length),\n rest = value.slice(length);\n\n if (multipleDelimiters) {\n currentDelimiter = delimiters[delimiterLazyShow ? (index - 1) : index] || currentDelimiter;\n } else {\n currentDelimiter = delimiter;\n }\n\n if (delimiterLazyShow) {\n if (index > 0) {\n result += currentDelimiter;\n }\n\n result += sub;\n } else {\n result += sub;\n\n if (sub.length === length && index < blocksLength - 1) {\n result += currentDelimiter;\n }\n }\n\n // update remaining string\n value = rest;\n }\n });\n\n return result;\n },\n\n // move cursor to the end\n // the first time user focuses on an input with prefix\n fixPrefixCursor: function (el, prefix, delimiter, delimiters) {\n if (!el) {\n return;\n }\n\n var val = el.value,\n appendix = delimiter || (delimiters[0] || ' ');\n\n if (!el.setSelectionRange || !prefix || (prefix.length + appendix.length) <= val.length) {\n return;\n }\n\n var len = val.length * 2;\n\n // set timeout to avoid blink\n setTimeout(function () {\n el.setSelectionRange(len, len);\n }, 1);\n },\n\n // Check if input field is fully selected\n checkFullSelection: function(value) {\n try {\n var selection = window.getSelection() || document.getSelection() || {};\n return selection.toString().length === value.length;\n } catch (ex) {\n // Ignore\n }\n\n return false;\n },\n\n setSelection: function (element, position, doc) {\n if (element !== this.getActiveElement(doc)) {\n return;\n }\n\n // cursor is already in the end\n if (element && element.value.length <= position) {\n return;\n }\n\n if (element.createTextRange) {\n var range = element.createTextRange();\n\n range.move('character', position);\n range.select();\n } else {\n try {\n element.setSelectionRange(position, position);\n } catch (e) {\n // eslint-disable-next-line\n console.warn('The input element type does not support selection');\n }\n }\n },\n\n getActiveElement: function(parent) {\n var activeElement = parent.activeElement;\n if (activeElement && activeElement.shadowRoot) {\n return this.getActiveElement(activeElement.shadowRoot);\n }\n return activeElement;\n },\n\n isAndroid: function () {\n return navigator && /android/i.test(navigator.userAgent);\n },\n\n // On Android chrome, the keyup and keydown events\n // always return key code 229 as a composition that\n // buffers the user’s keystrokes\n // see https://github.com/nosir/cleave.js/issues/147\n isAndroidBackspaceKeydown: function (lastInputValue, currentInputValue) {\n if (!this.isAndroid() || !lastInputValue || !currentInputValue) {\n return false;\n }\n\n return currentInputValue === lastInputValue.slice(0, -1);\n }\n};\n\nvar Util_1 = Util;\n\n/**\n * Props Assignment\n *\n * Separate this, so react module can share the usage\n */\nvar DefaultProperties = {\n // Maybe change to object-assign\n // for now just keep it as simple\n assign: function (target, opts) {\n target = target || {};\n opts = opts || {};\n\n // credit card\n target.creditCard = !!opts.creditCard;\n target.creditCardStrictMode = !!opts.creditCardStrictMode;\n target.creditCardType = '';\n target.onCreditCardTypeChanged = opts.onCreditCardTypeChanged || (function () {});\n\n // phone\n target.phone = !!opts.phone;\n target.phoneRegionCode = opts.phoneRegionCode || 'AU';\n target.phoneFormatter = {};\n\n // time\n target.time = !!opts.time;\n target.timePattern = opts.timePattern || ['h', 'm', 's'];\n target.timeFormat = opts.timeFormat || '24';\n target.timeFormatter = {};\n\n // date\n target.date = !!opts.date;\n target.datePattern = opts.datePattern || ['d', 'm', 'Y'];\n target.dateMin = opts.dateMin || '';\n target.dateMax = opts.dateMax || '';\n target.dateFormatter = {};\n\n // numeral\n target.numeral = !!opts.numeral;\n target.numeralIntegerScale = opts.numeralIntegerScale > 0 ? opts.numeralIntegerScale : 0;\n target.numeralDecimalScale = opts.numeralDecimalScale >= 0 ? opts.numeralDecimalScale : 2;\n target.numeralDecimalMark = opts.numeralDecimalMark || '.';\n target.numeralThousandsGroupStyle = opts.numeralThousandsGroupStyle || 'thousand';\n target.numeralPositiveOnly = !!opts.numeralPositiveOnly;\n target.stripLeadingZeroes = opts.stripLeadingZeroes !== false;\n target.signBeforePrefix = !!opts.signBeforePrefix;\n target.tailPrefix = !!opts.tailPrefix;\n\n // others\n target.swapHiddenInput = !!opts.swapHiddenInput;\n \n target.numericOnly = target.creditCard || target.date || !!opts.numericOnly;\n\n target.uppercase = !!opts.uppercase;\n target.lowercase = !!opts.lowercase;\n\n target.prefix = (target.creditCard || target.date) ? '' : (opts.prefix || '');\n target.noImmediatePrefix = !!opts.noImmediatePrefix;\n target.prefixLength = target.prefix.length;\n target.rawValueTrimPrefix = !!opts.rawValueTrimPrefix;\n target.copyDelimiter = !!opts.copyDelimiter;\n\n target.initValue = (opts.initValue !== undefined && opts.initValue !== null) ? opts.initValue.toString() : '';\n\n target.delimiter =\n (opts.delimiter || opts.delimiter === '') ? opts.delimiter :\n (opts.date ? '/' :\n (opts.time ? ':' :\n (opts.numeral ? ',' :\n (opts.phone ? ' ' :\n ' '))));\n target.delimiterLength = target.delimiter.length;\n target.delimiterLazyShow = !!opts.delimiterLazyShow;\n target.delimiters = opts.delimiters || [];\n\n target.blocks = opts.blocks || [];\n target.blocksLength = target.blocks.length;\n\n target.root = (typeof commonjsGlobal === 'object' && commonjsGlobal) ? commonjsGlobal : window;\n target.document = opts.document || target.root.document;\n\n target.maxLength = 0;\n\n target.backspace = false;\n target.result = '';\n\n target.onValueChanged = opts.onValueChanged || (function () {});\n\n return target;\n }\n};\n\nvar DefaultProperties_1 = DefaultProperties;\n\n/**\n * Construct a new Cleave instance by passing the configuration object\n *\n * @param {String | HTMLElement} element\n * @param {Object} opts\n */\nvar Cleave = function (element, opts) {\n var owner = this;\n var hasMultipleElements = false;\n\n if (typeof element === 'string') {\n owner.element = document.querySelector(element);\n hasMultipleElements = document.querySelectorAll(element).length > 1;\n } else {\n if (typeof element.length !== 'undefined' && element.length > 0) {\n owner.element = element[0];\n hasMultipleElements = element.length > 1;\n } else {\n owner.element = element;\n }\n }\n\n if (!owner.element) {\n throw new Error('[cleave.js] Please check the element');\n }\n\n if (hasMultipleElements) {\n try {\n // eslint-disable-next-line\n console.warn('[cleave.js] Multiple input fields matched, cleave.js will only take the first one.');\n } catch (e) {\n // Old IE\n }\n }\n\n opts.initValue = owner.element.value;\n\n owner.properties = Cleave.DefaultProperties.assign({}, opts);\n\n owner.init();\n};\n\nCleave.prototype = {\n init: function () {\n var owner = this, pps = owner.properties;\n\n // no need to use this lib\n if (!pps.numeral && !pps.phone && !pps.creditCard && !pps.time && !pps.date && (pps.blocksLength === 0 && !pps.prefix)) {\n owner.onInput(pps.initValue);\n\n return;\n }\n\n pps.maxLength = Cleave.Util.getMaxLength(pps.blocks);\n\n owner.isAndroid = Cleave.Util.isAndroid();\n owner.lastInputValue = '';\n owner.isBackward = '';\n\n owner.onChangeListener = owner.onChange.bind(owner);\n owner.onKeyDownListener = owner.onKeyDown.bind(owner);\n owner.onFocusListener = owner.onFocus.bind(owner);\n owner.onCutListener = owner.onCut.bind(owner);\n owner.onCopyListener = owner.onCopy.bind(owner);\n\n owner.initSwapHiddenInput();\n\n owner.element.addEventListener('input', owner.onChangeListener);\n owner.element.addEventListener('keydown', owner.onKeyDownListener);\n owner.element.addEventListener('focus', owner.onFocusListener);\n owner.element.addEventListener('cut', owner.onCutListener);\n owner.element.addEventListener('copy', owner.onCopyListener);\n\n\n owner.initPhoneFormatter();\n owner.initDateFormatter();\n owner.initTimeFormatter();\n owner.initNumeralFormatter();\n\n // avoid touch input field if value is null\n // otherwise Firefox will add red box-shadow for \n if (pps.initValue || (pps.prefix && !pps.noImmediatePrefix)) {\n owner.onInput(pps.initValue);\n }\n },\n\n initSwapHiddenInput: function () {\n var owner = this, pps = owner.properties;\n if (!pps.swapHiddenInput) return;\n\n var inputFormatter = owner.element.cloneNode(true);\n owner.element.parentNode.insertBefore(inputFormatter, owner.element);\n\n owner.elementSwapHidden = owner.element;\n owner.elementSwapHidden.type = 'hidden';\n\n owner.element = inputFormatter;\n owner.element.id = '';\n },\n\n initNumeralFormatter: function () {\n var owner = this, pps = owner.properties;\n\n if (!pps.numeral) {\n return;\n }\n\n pps.numeralFormatter = new Cleave.NumeralFormatter(\n pps.numeralDecimalMark,\n pps.numeralIntegerScale,\n pps.numeralDecimalScale,\n pps.numeralThousandsGroupStyle,\n pps.numeralPositiveOnly,\n pps.stripLeadingZeroes,\n pps.prefix,\n pps.signBeforePrefix,\n pps.tailPrefix,\n pps.delimiter\n );\n },\n\n initTimeFormatter: function() {\n var owner = this, pps = owner.properties;\n\n if (!pps.time) {\n return;\n }\n\n pps.timeFormatter = new Cleave.TimeFormatter(pps.timePattern, pps.timeFormat);\n pps.blocks = pps.timeFormatter.getBlocks();\n pps.blocksLength = pps.blocks.length;\n pps.maxLength = Cleave.Util.getMaxLength(pps.blocks);\n },\n\n initDateFormatter: function () {\n var owner = this, pps = owner.properties;\n\n if (!pps.date) {\n return;\n }\n\n pps.dateFormatter = new Cleave.DateFormatter(pps.datePattern, pps.dateMin, pps.dateMax);\n pps.blocks = pps.dateFormatter.getBlocks();\n pps.blocksLength = pps.blocks.length;\n pps.maxLength = Cleave.Util.getMaxLength(pps.blocks);\n },\n\n initPhoneFormatter: function () {\n var owner = this, pps = owner.properties;\n\n if (!pps.phone) {\n return;\n }\n\n // Cleave.AsYouTypeFormatter should be provided by\n // external google closure lib\n try {\n pps.phoneFormatter = new Cleave.PhoneFormatter(\n new pps.root.Cleave.AsYouTypeFormatter(pps.phoneRegionCode),\n pps.delimiter\n );\n } catch (ex) {\n throw new Error('[cleave.js] Please include phone-type-formatter.{country}.js lib');\n }\n },\n\n onKeyDown: function (event) {\n var owner = this,\n charCode = event.which || event.keyCode;\n\n owner.lastInputValue = owner.element.value;\n owner.isBackward = charCode === 8;\n },\n\n onChange: function (event) {\n var owner = this, pps = owner.properties,\n Util = Cleave.Util;\n\n owner.isBackward = owner.isBackward || event.inputType === 'deleteContentBackward';\n\n var postDelimiter = Util.getPostDelimiter(owner.lastInputValue, pps.delimiter, pps.delimiters);\n\n if (owner.isBackward && postDelimiter) {\n pps.postDelimiterBackspace = postDelimiter;\n } else {\n pps.postDelimiterBackspace = false;\n }\n\n this.onInput(this.element.value);\n },\n\n onFocus: function () {\n var owner = this,\n pps = owner.properties;\n owner.lastInputValue = owner.element.value;\n\n if (pps.prefix && pps.noImmediatePrefix && !owner.element.value) {\n this.onInput(pps.prefix);\n }\n\n Cleave.Util.fixPrefixCursor(owner.element, pps.prefix, pps.delimiter, pps.delimiters);\n },\n\n onCut: function (e) {\n if (!Cleave.Util.checkFullSelection(this.element.value)) return;\n this.copyClipboardData(e);\n this.onInput('');\n },\n\n onCopy: function (e) {\n if (!Cleave.Util.checkFullSelection(this.element.value)) return;\n this.copyClipboardData(e);\n },\n\n copyClipboardData: function (e) {\n var owner = this,\n pps = owner.properties,\n Util = Cleave.Util,\n inputValue = owner.element.value,\n textToCopy = '';\n\n if (!pps.copyDelimiter) {\n textToCopy = Util.stripDelimiters(inputValue, pps.delimiter, pps.delimiters);\n } else {\n textToCopy = inputValue;\n }\n\n try {\n if (e.clipboardData) {\n e.clipboardData.setData('Text', textToCopy);\n } else {\n window.clipboardData.setData('Text', textToCopy);\n }\n\n e.preventDefault();\n } catch (ex) {\n // empty\n }\n },\n\n onInput: function (value) {\n var owner = this, pps = owner.properties,\n Util = Cleave.Util;\n\n // case 1: delete one more character \"4\"\n // 1234*| -> hit backspace -> 123|\n // case 2: last character is not delimiter which is:\n // 12|34* -> hit backspace -> 1|34*\n // note: no need to apply this for numeral mode\n var postDelimiterAfter = Util.getPostDelimiter(value, pps.delimiter, pps.delimiters);\n if (!pps.numeral && pps.postDelimiterBackspace && !postDelimiterAfter) {\n value = Util.headStr(value, value.length - pps.postDelimiterBackspace.length);\n }\n\n // phone formatter\n if (pps.phone) {\n if (pps.prefix && (!pps.noImmediatePrefix || value.length)) {\n pps.result = pps.prefix + pps.phoneFormatter.format(value).slice(pps.prefix.length);\n } else {\n pps.result = pps.phoneFormatter.format(value);\n }\n owner.updateValueState();\n\n return;\n }\n\n // numeral formatter\n if (pps.numeral) {\n // Do not show prefix when noImmediatePrefix is specified\n // This mostly because we need to show user the native input placeholder\n if (pps.prefix && pps.noImmediatePrefix && value.length === 0) {\n pps.result = '';\n } else {\n pps.result = pps.numeralFormatter.format(value);\n }\n owner.updateValueState();\n\n return;\n }\n\n // date\n if (pps.date) {\n value = pps.dateFormatter.getValidatedDate(value);\n }\n\n // time\n if (pps.time) {\n value = pps.timeFormatter.getValidatedTime(value);\n }\n\n // strip delimiters\n value = Util.stripDelimiters(value, pps.delimiter, pps.delimiters);\n\n // strip prefix\n value = Util.getPrefixStrippedValue(value, pps.prefix, pps.prefixLength, pps.result, pps.delimiter, pps.delimiters, pps.noImmediatePrefix, pps.tailPrefix, pps.signBeforePrefix);\n\n // strip non-numeric characters\n value = pps.numericOnly ? Util.strip(value, /[^\\d]/g) : value;\n\n // convert case\n value = pps.uppercase ? value.toUpperCase() : value;\n value = pps.lowercase ? value.toLowerCase() : value;\n\n // prevent from showing prefix when no immediate option enabled with empty input value\n if (pps.prefix) {\n if (pps.tailPrefix) {\n value = value + pps.prefix;\n } else {\n value = pps.prefix + value;\n }\n\n\n // no blocks specified, no need to do formatting\n if (pps.blocksLength === 0) {\n pps.result = value;\n owner.updateValueState();\n\n return;\n }\n }\n\n // update credit card props\n if (pps.creditCard) {\n owner.updateCreditCardPropsByValue(value);\n }\n\n // strip over length characters\n value = Util.headStr(value, pps.maxLength);\n\n // apply blocks\n pps.result = Util.getFormattedValue(\n value,\n pps.blocks, pps.blocksLength,\n pps.delimiter, pps.delimiters, pps.delimiterLazyShow\n );\n\n owner.updateValueState();\n },\n\n updateCreditCardPropsByValue: function (value) {\n var owner = this, pps = owner.properties,\n Util = Cleave.Util,\n creditCardInfo;\n\n // At least one of the first 4 characters has changed\n if (Util.headStr(pps.result, 4) === Util.headStr(value, 4)) {\n return;\n }\n\n creditCardInfo = Cleave.CreditCardDetector.getInfo(value, pps.creditCardStrictMode);\n\n pps.blocks = creditCardInfo.blocks;\n pps.blocksLength = pps.blocks.length;\n pps.maxLength = Util.getMaxLength(pps.blocks);\n\n // credit card type changed\n if (pps.creditCardType !== creditCardInfo.type) {\n pps.creditCardType = creditCardInfo.type;\n\n pps.onCreditCardTypeChanged.call(owner, pps.creditCardType);\n }\n },\n\n updateValueState: function () {\n var owner = this,\n Util = Cleave.Util,\n pps = owner.properties;\n\n if (!owner.element) {\n return;\n }\n\n var endPos = owner.element.selectionEnd;\n var oldValue = owner.element.value;\n var newValue = pps.result;\n\n endPos = Util.getNextCursorPosition(endPos, oldValue, newValue, pps.delimiter, pps.delimiters);\n\n // fix Android browser type=\"text\" input field\n // cursor not jumping issue\n if (owner.isAndroid) {\n window.setTimeout(function () {\n owner.element.value = newValue;\n Util.setSelection(owner.element, endPos, pps.document, false);\n owner.callOnValueChanged();\n }, 1);\n\n return;\n }\n\n owner.element.value = newValue;\n if (pps.swapHiddenInput) owner.elementSwapHidden.value = owner.getRawValue();\n\n Util.setSelection(owner.element, endPos, pps.document, false);\n owner.callOnValueChanged();\n },\n\n callOnValueChanged: function () {\n var owner = this,\n pps = owner.properties;\n\n pps.onValueChanged.call(owner, {\n target: {\n name: owner.element.name,\n value: pps.result,\n rawValue: owner.getRawValue()\n }\n });\n },\n\n setPhoneRegionCode: function (phoneRegionCode) {\n var owner = this, pps = owner.properties;\n\n pps.phoneRegionCode = phoneRegionCode;\n owner.initPhoneFormatter();\n owner.onChange();\n },\n\n setRawValue: function (value) {\n var owner = this, pps = owner.properties;\n\n value = value !== undefined && value !== null ? value.toString() : '';\n\n if (pps.numeral) {\n value = value.replace('.', pps.numeralDecimalMark);\n }\n\n pps.postDelimiterBackspace = false;\n\n owner.element.value = value;\n owner.onInput(value);\n },\n\n getRawValue: function () {\n var owner = this,\n pps = owner.properties,\n Util = Cleave.Util,\n rawValue = owner.element.value;\n\n if (pps.rawValueTrimPrefix) {\n rawValue = Util.getPrefixStrippedValue(rawValue, pps.prefix, pps.prefixLength, pps.result, pps.delimiter, pps.delimiters, pps.noImmediatePrefix, pps.tailPrefix, pps.signBeforePrefix);\n }\n\n if (pps.numeral) {\n rawValue = pps.numeralFormatter.getRawValue(rawValue);\n } else {\n rawValue = Util.stripDelimiters(rawValue, pps.delimiter, pps.delimiters);\n }\n\n return rawValue;\n },\n\n getISOFormatDate: function () {\n var owner = this,\n pps = owner.properties;\n\n return pps.date ? pps.dateFormatter.getISOFormatDate() : '';\n },\n\n getISOFormatTime: function () {\n var owner = this,\n pps = owner.properties;\n\n return pps.time ? pps.timeFormatter.getISOFormatTime() : '';\n },\n\n getFormattedValue: function () {\n return this.element.value;\n },\n\n destroy: function () {\n var owner = this;\n\n owner.element.removeEventListener('input', owner.onChangeListener);\n owner.element.removeEventListener('keydown', owner.onKeyDownListener);\n owner.element.removeEventListener('focus', owner.onFocusListener);\n owner.element.removeEventListener('cut', owner.onCutListener);\n owner.element.removeEventListener('copy', owner.onCopyListener);\n },\n\n toString: function () {\n return '[Cleave Object]';\n }\n};\n\nCleave.NumeralFormatter = NumeralFormatter_1;\nCleave.DateFormatter = DateFormatter_1;\nCleave.TimeFormatter = TimeFormatter_1;\nCleave.PhoneFormatter = PhoneFormatter_1;\nCleave.CreditCardDetector = CreditCardDetector_1;\nCleave.Util = Util_1;\nCleave.DefaultProperties = DefaultProperties_1;\n\n// for angular directive\n((typeof commonjsGlobal === 'object' && commonjsGlobal) ? commonjsGlobal : window)['Cleave'] = Cleave;\n\n// CommonJS\nvar Cleave_1 = Cleave;\n\nexport default Cleave_1;\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar sameValue = require('../internals/same-value');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@search logic\nfixRegExpWellKnownSymbolLogic('search', 1, function (SEARCH, nativeSearch, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = requireObjectCoercible(this);\n var searcher = regexp == undefined ? undefined : regexp[SEARCH];\n return searcher !== undefined ? searcher.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search\n function (regexp) {\n var res = maybeCallNative(nativeSearch, regexp, this);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-tabs',{attrs:{\"vertical\":\"\",\"content-class\":\"col-12 col-md-9 mt-1 mt-md-0\",\"pills\":\"\",\"nav-wrapper-class\":\"col-md-3 col-12\",\"nav-class\":\"nav-left\"}},[_c('b-tab',{attrs:{\"active\":\"\"},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('feather-icon',{staticClass:\"mr-50\",attrs:{\"icon\":\"UserIcon\",\"size\":\"18\"}}),_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"General\")])]},proxy:true}])},[_c('account-setting-general')],1),_c('b-tab',{scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('feather-icon',{staticClass:\"mr-50\",attrs:{\"icon\":\"LockIcon\",\"size\":\"18\"}}),_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Cambiar Contraseña\")])]},proxy:true}])},[_c('account-setting-password')],1),_c('b-tab',{scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('feather-icon',{staticClass:\"mr-50\",attrs:{\"icon\":\"AirplayIcon\",\"size\":\"18\"}}),_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Sesiones\")])]},proxy:true}])},[_c('account-sessions')],1),_c('b-tab',{scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_c('feather-icon',{staticClass:\"mr-50\",attrs:{\"icon\":\"BellIcon\",\"size\":\"18\"}}),_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\"Notificaciones\")])]},proxy:true}])},[_c('account-setting-notification')],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',[_c('b-overlay',{attrs:{\"show\":_vm.show,\"rounded\":\"sm\"}},[_c('b-form',{staticClass:\"mt-2\",on:{\"submit\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.update.apply(null, arguments)}}},[_c('b-row',[(_vm.user.plan)?_c('b-col',{attrs:{\"md\":\"12\"}},[_c('app-timeline',[_c('app-timeline-item',{attrs:{\"icon\":\"DollarSignIcon\"}},[_c('div',{staticClass:\"d-flex flex-sm-row flex-column flex-wrap justify-content-between mb-1 mb-sm-0\"},[_c('h3',{staticClass:\"text-warning\"},[_vm._v(\" Plan Contratado: \"+_vm._s(_vm.user.plan.plan)+\" \")])]),_c('div',{staticClass:\"d-flex flex-sm-row flex-column justify-content-between align-items-start\"},[_c('div',{staticClass:\"mb-1 mb-sm-0\"},[_c('p',{staticClass:\"text-white\"},[_vm._v(\" Inicio: \"+_vm._s(_vm.user.fecha_inicio)+\" \")])]),_c('div',{staticClass:\"mb-1 mb-sm-0\"},[_c('p',{staticClass:\"text-white\"},[_vm._v(\" Vencimiento: \"+_vm._s(_vm.user.fecha_fin)+\" \")])]),_c('div',{staticClass:\"mb-1 mb-sm-0\"})])])],1)],1):_vm._e()],1),_c('b-row',[_c('b-col',{attrs:{\"sm\":\"12\"}},[_c('b-form-group',{attrs:{\"label\":\"E-mail\",\"label-for\":\"account-e-mail\"}},[_c('b-form-input',{staticClass:\"text-white\",attrs:{\"name\":\"account-e-mail\",\"placeholder\":\"Email\",\"disabled\":\"\"},model:{value:(_vm.user.email),callback:function ($$v) {_vm.$set(_vm.user, \"email\", $$v)},expression:\"user.email\"}})],1)],1),_c('b-col',{attrs:{\"sm\":\"4\"}},[_c('b-form-group',{attrs:{\"label\":\"Tipo de identificación\"}},[_c('b-form-radio-group',{attrs:{\"id\":\"radio-group-1\",\"options\":_vm.options,\"name\":\"radio-options\"},model:{value:(_vm.user.tipo_iden),callback:function ($$v) {_vm.$set(_vm.user, \"tipo_iden\", $$v)},expression:\"user.tipo_iden\"}})],1)],1),_c('b-col',{attrs:{\"sm\":\"8\"}},[_c('b-form-group',{attrs:{\"label\":\"Identificación\",\"label-for\":\"account-ruc\"}},[_c('b-form-input',{staticClass:\"text-white\",attrs:{\"placeholder\":\"Identificación\",\"name\":\"account-ruc\",\"state\":_vm.isValidCliente,\"required\":\"\"},on:{\"blur\":_vm.verifyRuc},model:{value:(_vm.user.identificacion),callback:function ($$v) {_vm.$set(_vm.user, \"identificacion\", $$v)},expression:\"user.identificacion\"}}),(_vm.isValidCliente == true)?_c('b-form-valid-feedback',[_vm._v(\" Información ingresada correctamente. \")]):_vm._e(),(_vm.isValidCliente == false)?_c('b-form-invalid-feedback',[_vm._v(\" La información indicada ya existe. \")]):_vm._e()],1)],1),_c('b-col',{attrs:{\"sm\":\"12\"}},[_c('b-form-group',{attrs:{\"label\":\"Apellidos\",\"label-for\":\"account-surname\"}},[_c('b-form-input',{staticClass:\"text-white\",attrs:{\"name\":\"account-surname\",\"placeholder\":\"Apellidos\"},model:{value:(_vm.user.surname),callback:function ($$v) {_vm.$set(_vm.user, \"surname\", $$v)},expression:\"user.surname\"}})],1)],1),_c('b-col',{attrs:{\"sm\":\"12\"}},[_c('b-form-group',{attrs:{\"label\":\"Nombres\",\"label-for\":\"account-name\"}},[_c('b-form-input',{staticClass:\"text-white\",attrs:{\"name\":\"account-e-mail\",\"placeholder\":\"Nombres\"},model:{value:(_vm.user.name),callback:function ($$v) {_vm.$set(_vm.user, \"name\", $$v)},expression:\"user.name\"}})],1)],1),_c('b-col',{attrs:{\"sm\":\"12\"}},[_c('b-form-group',{attrs:{\"label\":\"Teléfono\",\"label-for\":\"account-phone\"}},[_c('b-form-input',{staticClass:\"text-white\",attrs:{\"name\":\"account-phone\",\"placeholder\":\"Telefono\"},model:{value:(_vm.user.telefono),callback:function ($$v) {_vm.$set(_vm.user, \"telefono\", $$v)},expression:\"user.telefono\"}})],1)],1),_c('b-col',{attrs:{\"sm\":\"12\"}},[_c('b-form-group',{attrs:{\"label\":\"Dirección\",\"label-for\":\"account-address\"}},[_c('b-form-input',{staticClass:\"text-white\",attrs:{\"name\":\"account-address\",\"placeholder\":\"Direccion\"},model:{value:(_vm.user.direccion),callback:function ($$v) {_vm.$set(_vm.user, \"direccion\", $$v)},expression:\"user.direccion\"}})],1)],1),_c('b-col',{attrs:{\"sm\":\"12\",\"hidden\":\"\"}},[_c('b-form-group',{attrs:{\"label\":\"Fecha Nacimiento\",\"label-for\":\"account-date\"}},[_c('flat-pickr',{staticClass:\"form-control text-white\",attrs:{\"name\":\"account-date\",\"placeholder\":\"Año/Mes/Dìa\"},model:{value:(_vm.user.fechanacimiento),callback:function ($$v) {_vm.$set(_vm.user, \"fechanacimiento\", $$v)},expression:\"user.fechanacimiento\"}})],1)],1),_c('b-col',{staticClass:\"mb-2\",attrs:{\"cols\":\"12\",\"align\":\"center\"}},[_c('b-button',{staticClass:\"mt-2 mr-1 float-right btn_style\",attrs:{\"variant\":\"warning\",\"type\":\"submit\"}},[_vm._v(\" Guardar \")])],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{staticClass:\"app-timeline\"},[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppTimeline.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!./AppTimeline.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AppTimeline.vue?vue&type=template&id=879a380c&scoped=true\"\nimport script from \"./AppTimeline.vue?vue&type=script&lang=js\"\nexport * from \"./AppTimeline.vue?vue&type=script&lang=js\"\nimport style0 from \"./AppTimeline.vue?vue&type=style&index=0&id=879a380c&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"879a380c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{staticClass:\"timeline-item\",class:[(\"timeline-variant-\" + _vm.variant), _vm.fillBorder ? (\"timeline-item-fill-border-\" + _vm.variant) : null]},[(!_vm.icon)?_c('div',{staticClass:\"timeline-item-point\"}):_c('div',{staticClass:\"timeline-item-icon d-flex align-items-center justify-content-center rounded-circle\"},[_c('feather-icon',{attrs:{\"icon\":_vm.icon}})],1),_vm._t(\"default\",function(){return [_c('div',{staticClass:\"d-flex flex-sm-row flex-column flex-wrap justify-content-between mb-1 mb-sm-0\"},[_c('h6',{domProps:{\"textContent\":_vm._s(_vm.title)}}),_c('small',{staticClass:\"timeline-item-time text-nowrap text-muted\",domProps:{\"textContent\":_vm._s(_vm.time)}})]),_c('p',{staticClass:\"mb-0\",domProps:{\"textContent\":_vm._s(_vm.subtitle)}})]})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppTimelineItem.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppTimelineItem.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AppTimelineItem.vue?vue&type=template&id=4d50203e&scoped=true\"\nimport script from \"./AppTimelineItem.vue?vue&type=script&lang=js\"\nexport * from \"./AppTimelineItem.vue?vue&type=script&lang=js\"\nimport style0 from \"./AppTimelineItem.vue?vue&type=style&index=0&id=4d50203e&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4d50203e\",\n null\n \n)\n\nexport default component.exports","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountSettingGeneral.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!./AccountSettingGeneral.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AccountSettingGeneral.vue?vue&type=template&id=58dffa96&scoped=true\"\nimport script from \"./AccountSettingGeneral.vue?vue&type=script&lang=js\"\nexport * from \"./AccountSettingGeneral.vue?vue&type=script&lang=js\"\nimport style0 from \"./AccountSettingGeneral.vue?vue&type=style&index=0&id=58dffa96&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"58dffa96\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',[_c('b-form',[_c('b-row',[_c('b-col',{attrs:{\"md\":\"6\"}},[_c('b-form-group',{attrs:{\"label-for\":\"account-new-password\",\"label\":\"Contraseña Nueva\"}},[_c('b-input-group',{staticClass:\"input-group-merge\"},[_c('b-form-input',{staticClass:\"text-white\",attrs:{\"id\":\"account-new-password\",\"type\":_vm.passwordFieldTypeNew,\"state\":_vm.isValidPassword,\"name\":\"new-password\",\"placeholder\":\"Nueva Contraseña\"},model:{value:(_vm.newPasswordValue),callback:function ($$v) {_vm.newPasswordValue=$$v},expression:\"newPasswordValue\"}}),_c('b-input-group-append',{attrs:{\"is-text\":\"\"}},[_c('feather-icon',{staticClass:\"cursor-pointer\",attrs:{\"icon\":_vm.passwordToggleIconNew},on:{\"click\":_vm.togglePasswordNew}})],1)],1)],1)],1),_c('b-col',{attrs:{\"md\":\"6\"}},[_c('b-form-group',{attrs:{\"label-for\":\"account-retype-new-password\",\"label\":\"Repita la nueva contraseña\"}},[_c('b-input-group',{staticClass:\"input-group-merge\"},[_c('b-form-input',{staticClass:\"text-white\",attrs:{\"id\":\"account-retype-new-password\",\"type\":_vm.passwordFieldTypeRetype,\"name\":\"retype-password\",\"state\":_vm.isValidPassword,\"placeholder\":\"Nueva Contraseña\"},on:{\"blur\":_vm.confirmPassword},model:{value:(_vm.RetypePassword),callback:function ($$v) {_vm.RetypePassword=$$v},expression:\"RetypePassword\"}}),_c('b-input-group-append',{attrs:{\"is-text\":\"\"}},[_c('feather-icon',{staticClass:\"cursor-pointer\",attrs:{\"icon\":_vm.passwordToggleIconRetype},on:{\"click\":_vm.togglePasswordRetype}})],1)],1)],1)],1),_c('b-col',{attrs:{\"cols\":\"6\"}},[(!_vm.loading)?_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],staticClass:\"mt-1 mr-1 float-right btn_style\",attrs:{\"variant\":\"warning\",\"disabled\":_vm.btnPassword},on:{\"click\":_vm.updatePassword}},[_vm._v(\" Actualizar \")]):_vm._e()],1)],1)],1),_c('div',{staticClass:\"text-center\"},[(_vm.loading)?_c('b-spinner',{attrs:{\"variant\":\"primary\",\"label\":\"Text Centered\"}}):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountSettingPassword.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!./AccountSettingPassword.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AccountSettingPassword.vue?vue&type=template&id=2976165c\"\nimport script from \"./AccountSettingPassword.vue?vue&type=script&lang=js\"\nexport * from \"./AccountSettingPassword.vue?vue&type=script&lang=js\"\nimport style0 from \"./AccountSettingPassword.vue?vue&type=style&index=0&id=2976165c&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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"m-2\"},[_c('b-overlay',{attrs:{\"show\":_vm.show,\"rounded\":\"sm\"}},[(_vm.totalRows > 0)?_c('b-row',[_c('b-col',{attrs:{\"lg\":\"12\",\"sm\":\"12\"}},[_c('statistic-card-horizontal',{attrs:{\"icon\":\"AirplayIcon\",\"color\":\"success\",\"statistic\":_vm.totalRows}})],1)],1):_vm._e(),_c('b-row',[_c('b-col',{staticClass:\"mt-1\",attrs:{\"lg\":\"12\",\"sm\":\"12\"}},[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],staticClass:\"btn-icon float-right\",attrs:{\"variant\":\"primary\"},on:{\"click\":function($event){return _vm.confirmDelete()}}},[_c('feather-icon',{attrs:{\"icon\":\"XIcon\"}}),_vm._v(\" Eliminar todas las sesiones \")],1)],1),_c('b-col',{staticClass:\"mt-1\",attrs:{\"lg\":\"12\",\"sm\":\"12\"}},[_c('b-card',{attrs:{\"no-body\":\"\"}},[_c('b-table',{ref:\"refUserListTable\",staticClass:\"position-relative\",attrs:{\"striped\":\"\",\"hover\":\"\",\"items\":_vm.items,\"responsive\":\"\",\"fields\":_vm.fields,\"show-empty\":\"\",\"empty-text\":\"No existen registros para mostrar\",\"id\":\"my-table\"},scopedSlots:_vm._u([{key:\"cell(id)\",fn:function(data){return [_vm._v(\" \"+_vm._s(data.index + 1)+\" \")]}},{key:\"cell(delete)\",fn:function(data){return [_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],staticClass:\"btn-icon\",attrs:{\"variant\":\"danger\"},on:{\"click\":function($event){return _vm.confirmDelete(data.item.id)}}},[_c('feather-icon',{attrs:{\"icon\":\"XIcon\"}}),_vm._v(\" Eliminar \")],1)]}}])})],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountSessions.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!./AccountSessions.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AccountSessions.vue?vue&type=template&id=6207d45e\"\nimport script from \"./AccountSessions.vue?vue&type=script&lang=js\"\nexport * from \"./AccountSessions.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',[_c('b-form',[_c('b-row',[_c('b-col',{attrs:{\"cols\":\"12\"}},[_c('b-form-group',{attrs:{\"label\":\"Bio\",\"label-for\":\"bio-area\"}},[_c('b-form-textarea',{attrs:{\"id\":\"bio-area\",\"rows\":\"4\",\"placeholder\":\"Your bio data here...\"},model:{value:(_vm.localOptions.bio),callback:function ($$v) {_vm.$set(_vm.localOptions, \"bio\", $$v)},expression:\"localOptions.bio\"}})],1)],1),_c('b-col',{attrs:{\"md\":\"6\"}},[_c('b-form-group',{attrs:{\"label-for\":\"example-datepicker\",\"label\":\"Birth date\"}},[_c('flat-pickr',{staticClass:\"form-control\",attrs:{\"name\":\"date\",\"placeholder\":\"Birth date\"},model:{value:(_vm.localOptions.dob),callback:function ($$v) {_vm.$set(_vm.localOptions, \"dob\", $$v)},expression:\"localOptions.dob\"}})],1)],1),_c('b-col',{attrs:{\"md\":\"6\"}},[_c('b-form-group',{attrs:{\"label-for\":\"countryList\",\"label\":\"Country\"}},[_c('v-select',{attrs:{\"id\":\"countryList\",\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"label\":\"title\",\"options\":_vm.countryOption},model:{value:(_vm.localOptions.country),callback:function ($$v) {_vm.$set(_vm.localOptions, \"country\", $$v)},expression:\"localOptions.country\"}})],1)],1),_c('b-col',{attrs:{\"md\":\"6\"}},[_c('b-form-group',{attrs:{\"label-for\":\"website\",\"label\":\"Website\"}},[_c('b-form-input',{attrs:{\"id\":\"website\",\"placeholder\":\"Website address\"},model:{value:(_vm.localOptions.website),callback:function ($$v) {_vm.$set(_vm.localOptions, \"website\", $$v)},expression:\"localOptions.website\"}})],1)],1),_c('b-col',{attrs:{\"md\":\"6\"}},[_c('b-form-group',{attrs:{\"label-for\":\"phone\",\"label\":\"Phone\"}},[_c('cleave',{staticClass:\"form-control\",attrs:{\"id\":\"phone\",\"raw\":false,\"options\":_vm.clevePhone,\"placeholder\":\"Phone number\"},model:{value:(_vm.localOptions.phone),callback:function ($$v) {_vm.$set(_vm.localOptions, \"phone\", $$v)},expression:\"localOptions.phone\"}})],1)],1),_c('b-col',{attrs:{\"cols\":\"12\"}},[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],staticClass:\"mt-1 mr-1\",attrs:{\"variant\":\"primary\"}},[_vm._v(\" Save changes \")]),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(186, 191, 199, 0.15)'),expression:\"'rgba(186, 191, 199, 0.15)'\",modifiers:{\"400\":true}}],staticClass:\"mt-1\",attrs:{\"type\":\"reset\",\"variant\":\"outline-secondary\"},on:{\"click\":function($event){$event.preventDefault();return _vm.resetForm.apply(null, arguments)}}},[_vm._v(\" Reset \")])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountSettingInformation.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!./AccountSettingInformation.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AccountSettingInformation.vue?vue&type=template&id=e617d1a2\"\nimport script from \"./AccountSettingInformation.vue?vue&type=script&lang=js\"\nexport * from \"./AccountSettingInformation.vue?vue&type=script&lang=js\"\nimport style0 from \"./AccountSettingInformation.vue?vue&type=style&index=0&id=e617d1a2&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',[_c('b-form',[_c('b-row',[_c('b-col',{attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"d-flex align-items-center mb-2\"},[_c('feather-icon',{attrs:{\"icon\":\"LinkIcon\",\"size\":\"18\"}}),_c('h4',{staticClass:\"mb-0 ml-75\"},[_vm._v(\" Social Links \")])],1)]),_c('b-col',{attrs:{\"md\":\"6\"}},[_c('b-form-group',{attrs:{\"label-for\":\"account-twitter\",\"label\":\"Twitter\"}},[_c('b-form-input',{attrs:{\"id\":\"account-twitter\",\"placeholder\":\"Add link\"},model:{value:(_vm.localOptions.socialLinks.twitter),callback:function ($$v) {_vm.$set(_vm.localOptions.socialLinks, \"twitter\", $$v)},expression:\"localOptions.socialLinks.twitter\"}})],1)],1),_c('b-col',{attrs:{\"md\":\"6\"}},[_c('b-form-group',{attrs:{\"label-for\":\"account-facebook\",\"label\":\"Facebook\"}},[_c('b-form-input',{attrs:{\"id\":\"account-facebook\",\"placeholder\":\"Add link\"},model:{value:(_vm.localOptions.socialLinks.facebook),callback:function ($$v) {_vm.$set(_vm.localOptions.socialLinks, \"facebook\", $$v)},expression:\"localOptions.socialLinks.facebook\"}})],1)],1),_c('b-col',{attrs:{\"md\":\"6\"}},[_c('b-form-group',{attrs:{\"label-for\":\"account-google\",\"label\":\"Google+\"}},[_c('b-form-input',{attrs:{\"id\":\"account-google\",\"placeholder\":\"Add link\"},model:{value:(_vm.localOptions.socialLinks.google),callback:function ($$v) {_vm.$set(_vm.localOptions.socialLinks, \"google\", $$v)},expression:\"localOptions.socialLinks.google\"}})],1)],1),_c('b-col',{attrs:{\"md\":\"6\"}},[_c('b-form-group',{attrs:{\"label-for\":\"account-linkedin\",\"label\":\"LinkedIn\"}},[_c('b-form-input',{attrs:{\"id\":\"account-linkedin\",\"placeholder\":\"Add link\"},model:{value:(_vm.localOptions.socialLinks.linkedIn),callback:function ($$v) {_vm.$set(_vm.localOptions.socialLinks, \"linkedIn\", $$v)},expression:\"localOptions.socialLinks.linkedIn\"}})],1)],1),_c('b-col',{attrs:{\"md\":\"6\"}},[_c('b-form-group',{attrs:{\"label\":\"Instagram\",\"label-for\":\"account-instagram\"}},[_c('b-form-input',{attrs:{\"id\":\"account-instagram\",\"placeholder\":\"Add link\"},model:{value:(_vm.localOptions.socialLinks.instagram),callback:function ($$v) {_vm.$set(_vm.localOptions.socialLinks, \"instagram\", $$v)},expression:\"localOptions.socialLinks.instagram\"}})],1)],1),_c('b-col',{attrs:{\"md\":\"6\"}},[_c('b-form-group',{attrs:{\"label-for\":\"account-quora\",\"label\":\"Quora\"}},[_c('b-form-input',{attrs:{\"id\":\"account-quora\",\"placeholder\":\"Add link\"},model:{value:(_vm.localOptions.socialLinks.quora),callback:function ($$v) {_vm.$set(_vm.localOptions.socialLinks, \"quora\", $$v)},expression:\"localOptions.socialLinks.quora\"}})],1)],1),_c('b-col',{attrs:{\"cols\":\"12\"}},[_c('hr',{staticClass:\"my-2\"})]),_c('b-col',{staticClass:\"mt-1\",attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"d-flex align-items-center mb-3\"},[_c('feather-icon',{attrs:{\"icon\":\"UserIcon\",\"size\":\"18\"}}),_c('h4',{staticClass:\"mb-0 ml-75\"},[_vm._v(\" Profile Connections \")])],1),_c('b-row',{staticClass:\"text-center\"},[_c('b-col',{staticClass:\"mb-1\",attrs:{\"md\":\"3\",\"cols\":\"6\"}},[_c('b-card-text',{staticClass:\"font-weight-bold\"},[_vm._v(\" Your Twitter \")]),_c('div',{staticClass:\"mb-1\"},[_c('b-avatar',{attrs:{\"size\":\"40\",\"src\":_vm.localOptions.connections.twitter.profileImg}})],1),_c('b-card-text',{staticClass:\"mb-0\"},[_vm._v(\" @\"+_vm._s(_vm.localOptions.connections.twitter.id)+\" \")]),_c('b-link',[_vm._v(\" Disconnect \")])],1),_c('b-col',{staticClass:\"mb-1\",attrs:{\"md\":\"3\",\"cols\":\"6\"}},[_c('b-card-text',{staticClass:\"font-weight-bold mb-2\"},[_vm._v(\" Your Facebook \")]),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"variant\":\"outline-primary\"}},[_vm._v(\" Connect \")])],1),_c('b-col',{staticClass:\"mb-1\",attrs:{\"md\":\"3\",\"cols\":\"6\"}},[_c('b-card-text',{staticClass:\"font-weight-bold\"},[_vm._v(\" Your Google \")]),_c('div',{staticClass:\"mb-1\"},[_c('b-avatar',{attrs:{\"size\":\"40\",\"src\":_vm.localOptions.connections.google.profileImg}})],1),_c('b-card-text',{staticClass:\"mb-0\"},[_vm._v(\" @\"+_vm._s(_vm.localOptions.connections.google.id)+\" \")]),_c('b-link',[_vm._v(\" Disconnect \")])],1),_c('b-col',{staticClass:\"mb-1\",attrs:{\"md\":\"3\",\"cols\":\"6\"}},[_c('b-card-text',{staticClass:\"font-weight-bold mb-2\"},[_vm._v(\" Your GitHub \")]),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"variant\":\"outline-primary\"}},[_vm._v(\" Connect \")])],1)],1)],1),_c('b-col',{attrs:{\"cols\":\"12\"}},[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],staticClass:\"mt-1 mr-1\",attrs:{\"variant\":\"primary\"}},[_vm._v(\" Save changes \")]),_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(186, 191, 199, 0.15)'),expression:\"'rgba(186, 191, 199, 0.15)'\",modifiers:{\"400\":true}}],staticClass:\"mt-1 ml-25\",attrs:{\"type\":\"reset\",\"variant\":\"outline-secondary\"},on:{\"click\":function($event){$event.preventDefault();return _vm.resetForm.apply(null, arguments)}}},[_vm._v(\" Cancel \")])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountSettingSocial.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!./AccountSettingSocial.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AccountSettingSocial.vue?vue&type=template&id=609b872e\"\nimport script from \"./AccountSettingSocial.vue?vue&type=script&lang=js\"\nexport * from \"./AccountSettingSocial.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',[_c('b-row',[_c('h6',{staticClass:\"section-label mx-1 mb-2\"},[_vm._v(\" Promociones \")]),_c('b-col',{staticClass:\"mb-2\",attrs:{\"cols\":\"12\"}},[_c('b-form-checkbox',{attrs:{\"id\":\"accountSwitch1\",\"name\":\"check-button\",\"switch\":\"\",\"inline\":\"\"}},[_c('span',[_vm._v(\"Enviar Promociones\")])])],1),_c('b-col',{attrs:{\"cols\":\"12\"}},[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(255, 255, 255, 0.15)'),expression:\"'rgba(255, 255, 255, 0.15)'\",modifiers:{\"400\":true}}],staticClass:\"mr-1 mt-1 btn_style\",attrs:{\"variant\":\"warning\"}},[_vm._v(\" Guardar \")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountSettingNotification.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!./AccountSettingNotification.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AccountSettingNotification.vue?vue&type=template&id=65d20d33\"\nimport script from \"./AccountSettingNotification.vue?vue&type=script&lang=js\"\nexport * from \"./AccountSettingNotification.vue?vue&type=script&lang=js\"\nimport style0 from \"./AccountSettingNotification.vue?vue&type=style&index=0&id=65d20d33&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","\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccountSetting.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!./AccountSetting.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AccountSetting.vue?vue&type=template&id=0492ac60\"\nimport script from \"./AccountSetting.vue?vue&type=script&lang=js\"\nexport * from \"./AccountSetting.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/*\n * Consistent and stable sort function across JavaScript platforms\n *\n * Inconsistent sorts can cause SSR problems between client and server\n * such as in if sortBy is applied to the data on server side render.\n * Chrome and V8 native sorts are inconsistent/unstable\n *\n * This function uses native sort with fallback to index compare when the a and b\n * compare returns 0\n *\n * Algorithm based on:\n * https://stackoverflow.com/questions/1427608/fast-stable-sorting-algorithm-implementation-in-javascript/45422645#45422645\n *\n * @param {array} array to sort\n * @param {function} sort compare function\n * @return {array}\n */\nexport var stableSort = function stableSort(array, compareFn) {\n // Using `.bind(compareFn)` on the wrapped anonymous function improves\n // performance by avoiding the function call setup. We don't use an arrow\n // function here as it binds `this` to the `stableSort` context rather than\n // the `compareFn` context, which wouldn't give us the performance increase.\n return array.map(function (a, index) {\n return [index, a];\n }).sort(function (a, b) {\n return this(a[1], b[1]) || a[0] - b[0];\n }.bind(compareFn)).map(function (e) {\n return e[1];\n });\n};","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppTimelineItem.vue?vue&type=style&index=0&id=4d50203e&prod&lang=scss&scoped=true\"","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_OVERLAY } from '../../constants/components';\nimport { EVENT_NAME_CLICK, EVENT_NAME_HIDDEN, EVENT_NAME_SHOWN } from '../../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_STRING, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_OVERLAY } from '../../constants/slots';\nimport { toFloat } from '../../utils/number';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { BSpinner } from '../spinner/spinner';\nimport { BVTransition } from '../transition/bv-transition'; // --- Constants ---\n\nvar POSITION_COVER = {\n top: 0,\n left: 0,\n bottom: 0,\n right: 0\n}; // --- Props ---\n\nexport var props = makePropsConfigurable({\n // Alternative to variant, allowing a specific\n // CSS color to be applied to the overlay\n bgColor: makeProp(PROP_TYPE_STRING),\n blur: makeProp(PROP_TYPE_STRING, '2px'),\n fixed: makeProp(PROP_TYPE_BOOLEAN, false),\n noCenter: makeProp(PROP_TYPE_BOOLEAN, false),\n noFade: makeProp(PROP_TYPE_BOOLEAN, false),\n // If `true, does not render the default slot\n // and switches to absolute positioning\n noWrap: makeProp(PROP_TYPE_BOOLEAN, false),\n opacity: makeProp(PROP_TYPE_NUMBER_STRING, 0.85, function (value) {\n var number = toFloat(value, 0);\n return number >= 0 && number <= 1;\n }),\n overlayTag: makeProp(PROP_TYPE_STRING, 'div'),\n rounded: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n show: makeProp(PROP_TYPE_BOOLEAN, false),\n spinnerSmall: makeProp(PROP_TYPE_BOOLEAN, false),\n spinnerType: makeProp(PROP_TYPE_STRING, 'border'),\n spinnerVariant: makeProp(PROP_TYPE_STRING),\n variant: makeProp(PROP_TYPE_STRING, 'light'),\n wrapTag: makeProp(PROP_TYPE_STRING, 'div'),\n zIndex: makeProp(PROP_TYPE_NUMBER_STRING, 10)\n}, NAME_OVERLAY); // --- Main component ---\n// @vue/component\n\nexport var BOverlay = /*#__PURE__*/Vue.extend({\n name: NAME_OVERLAY,\n mixins: [normalizeSlotMixin],\n props: props,\n computed: {\n computedRounded: function computedRounded() {\n var rounded = this.rounded;\n return rounded === true || rounded === '' ? 'rounded' : !rounded ? '' : \"rounded-\".concat(rounded);\n },\n computedVariant: function computedVariant() {\n var variant = this.variant;\n return variant && !this.bgColor ? \"bg-\".concat(variant) : '';\n },\n slotScope: function slotScope() {\n return {\n spinnerType: this.spinnerType || null,\n spinnerVariant: this.spinnerVariant || null,\n spinnerSmall: this.spinnerSmall\n };\n }\n },\n methods: {\n defaultOverlayFn: function defaultOverlayFn(_ref) {\n var spinnerType = _ref.spinnerType,\n spinnerVariant = _ref.spinnerVariant,\n spinnerSmall = _ref.spinnerSmall;\n return this.$createElement(BSpinner, {\n props: {\n type: spinnerType,\n variant: spinnerVariant,\n small: spinnerSmall\n }\n });\n }\n },\n render: function render(h) {\n var _this = this;\n\n var show = this.show,\n fixed = this.fixed,\n noFade = this.noFade,\n noWrap = this.noWrap,\n slotScope = this.slotScope;\n var $overlay = h();\n\n if (show) {\n var $background = h('div', {\n staticClass: 'position-absolute',\n class: [this.computedVariant, this.computedRounded],\n style: _objectSpread(_objectSpread({}, POSITION_COVER), {}, {\n opacity: this.opacity,\n backgroundColor: this.bgColor || null,\n backdropFilter: this.blur ? \"blur(\".concat(this.blur, \")\") : null\n })\n });\n var $content = h('div', {\n staticClass: 'position-absolute',\n style: this.noCenter ?\n /* istanbul ignore next */\n _objectSpread({}, POSITION_COVER) : {\n top: '50%',\n left: '50%',\n transform: 'translateX(-50%) translateY(-50%)'\n }\n }, [this.normalizeSlot(SLOT_NAME_OVERLAY, slotScope) || this.defaultOverlayFn(slotScope)]);\n $overlay = h(this.overlayTag, {\n staticClass: 'b-overlay',\n class: {\n 'position-absolute': !noWrap || noWrap && !fixed,\n 'position-fixed': noWrap && fixed\n },\n style: _objectSpread(_objectSpread({}, POSITION_COVER), {}, {\n zIndex: this.zIndex || 10\n }),\n on: {\n click: function click(event) {\n return _this.$emit(EVENT_NAME_CLICK, event);\n }\n },\n key: 'overlay'\n }, [$background, $content]);\n } // Wrap in a fade transition\n\n\n $overlay = h(BVTransition, {\n props: {\n noFade: noFade,\n appear: true\n },\n on: {\n 'after-enter': function afterEnter() {\n return _this.$emit(EVENT_NAME_SHOWN);\n },\n 'after-leave': function afterLeave() {\n return _this.$emit(EVENT_NAME_HIDDEN);\n }\n }\n }, [$overlay]);\n\n if (noWrap) {\n return $overlay;\n }\n\n return h(this.wrapTag, {\n staticClass: 'b-overlay-wrap position-relative',\n attrs: {\n 'aria-busy': show ? 'true' : null\n }\n }, noWrap ? [$overlay] : [this.normalizeSlot(), $overlay]);\n }\n});","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n// v-b-visible\n// Private visibility check directive\n// Based on IntersectionObserver\n//\n// Usage:\n// v-b-visibility..=\"\"\n//\n// Value:\n// : method to be called when visibility state changes, receives one arg:\n// true: element is visible\n// false: element is not visible\n// null: IntersectionObserver not supported\n//\n// Modifiers:\n// : a positive decimal value of pixels away from viewport edge\n// before being considered \"visible\". default is 0\n// : keyword 'once', meaning when the element becomes visible and\n// callback is called observation/notification will stop.\n//\n// When used in a render function:\n// export default {\n// directives: { 'b-visible': VBVisible },\n// render(h) {\n// h(\n// 'div',\n// {\n// directives: [\n// { name: 'b-visible', value=this.callback, modifiers: { '123':true, 'once':true } }\n// ]\n// }\n// )\n// }\nimport { RX_DIGITS } from '../../constants/regex';\nimport { requestAF } from '../../utils/dom';\nimport { isFunction } from '../../utils/inspect';\nimport { looseEqual } from '../../utils/loose-equal';\nimport { clone, keys } from '../../utils/object';\nvar OBSERVER_PROP_NAME = '__bv__visibility_observer';\n\nvar VisibilityObserver = /*#__PURE__*/function () {\n function VisibilityObserver(el, options, vnode) {\n _classCallCheck(this, VisibilityObserver);\n\n this.el = el;\n this.callback = options.callback;\n this.margin = options.margin || 0;\n this.once = options.once || false;\n this.observer = null;\n this.visible = undefined;\n this.doneOnce = false; // Create the observer instance (if possible)\n\n this.createObserver(vnode);\n }\n\n _createClass(VisibilityObserver, [{\n key: \"createObserver\",\n value: function createObserver(vnode) {\n var _this = this;\n\n // Remove any previous observer\n if (this.observer) {\n /* istanbul ignore next */\n this.stop();\n } // Should only be called once and `callback` prop should be a function\n\n\n if (this.doneOnce || !isFunction(this.callback)) {\n /* istanbul ignore next */\n return;\n } // Create the observer instance\n\n\n try {\n // Future: Possibly add in other modifiers for left/right/top/bottom\n // offsets, root element reference, and thresholds\n this.observer = new IntersectionObserver(this.handler.bind(this), {\n // `null` = 'viewport'\n root: null,\n // Pixels away from view port to consider \"visible\"\n rootMargin: this.margin,\n // Intersection ratio of el and root (as a value from 0 to 1)\n threshold: 0\n });\n } catch (_unused) {\n // No IntersectionObserver support, so just stop trying to observe\n this.doneOnce = true;\n this.observer = undefined;\n this.callback(null);\n return;\n } // Start observing in a `$nextTick()` (to allow DOM to complete rendering)\n\n /* istanbul ignore next: IntersectionObserver not supported in JSDOM */\n\n\n vnode.context.$nextTick(function () {\n requestAF(function () {\n // Placed in an `if` just in case we were destroyed before\n // this `requestAnimationFrame` runs\n if (_this.observer) {\n _this.observer.observe(_this.el);\n }\n });\n });\n }\n /* istanbul ignore next */\n\n }, {\n key: \"handler\",\n value: function handler(entries) {\n var entry = entries ? entries[0] : {};\n var isIntersecting = Boolean(entry.isIntersecting || entry.intersectionRatio > 0.0);\n\n if (isIntersecting !== this.visible) {\n this.visible = isIntersecting;\n this.callback(isIntersecting);\n\n if (this.once && this.visible) {\n this.doneOnce = true;\n this.stop();\n }\n }\n }\n }, {\n key: \"stop\",\n value: function stop() {\n /* istanbul ignore next */\n this.observer && this.observer.disconnect();\n this.observer = null;\n }\n }]);\n\n return VisibilityObserver;\n}();\n\nvar destroy = function destroy(el) {\n var observer = el[OBSERVER_PROP_NAME];\n\n if (observer && observer.stop) {\n observer.stop();\n }\n\n delete el[OBSERVER_PROP_NAME];\n};\n\nvar bind = function bind(el, _ref, vnode) {\n var value = _ref.value,\n modifiers = _ref.modifiers;\n // `value` is the callback function\n var options = {\n margin: '0px',\n once: false,\n callback: value\n }; // Parse modifiers\n\n keys(modifiers).forEach(function (mod) {\n /* istanbul ignore else: Until is switched to use this directive */\n if (RX_DIGITS.test(mod)) {\n options.margin = \"\".concat(mod, \"px\");\n } else if (mod.toLowerCase() === 'once') {\n options.once = true;\n }\n }); // Destroy any previous observer\n\n destroy(el); // Create new observer\n\n el[OBSERVER_PROP_NAME] = new VisibilityObserver(el, options, vnode); // Store the current modifiers on the object (cloned)\n\n el[OBSERVER_PROP_NAME]._prevModifiers = clone(modifiers);\n}; // When the directive options may have been updated (or element)\n\n\nvar componentUpdated = function componentUpdated(el, _ref2, vnode) {\n var value = _ref2.value,\n oldValue = _ref2.oldValue,\n modifiers = _ref2.modifiers;\n // Compare value/oldValue and modifiers to see if anything has changed\n // and if so, destroy old observer and create new observer\n\n /* istanbul ignore next */\n modifiers = clone(modifiers);\n /* istanbul ignore next */\n\n if (el && (value !== oldValue || !el[OBSERVER_PROP_NAME] || !looseEqual(modifiers, el[OBSERVER_PROP_NAME]._prevModifiers))) {\n // Re-bind on element\n bind(el, {\n value: value,\n modifiers: modifiers\n }, vnode);\n }\n}; // When directive un-binds from element\n\n\nvar unbind = function unbind(el) {\n // Remove the observer\n destroy(el);\n}; // Export the directive\n\n\nexport var VBVisible = {\n bind: bind,\n componentUpdated: componentUpdated,\n unbind: unbind\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_TEXTAREA } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { getCS, getStyle, isVisible, requestAF, setStyle } from '../../utils/dom';\nimport { isNull } from '../../utils/inspect';\nimport { mathCeil, mathMax, mathMin } from '../../utils/math';\nimport { toInteger, toFloat } from '../../utils/number';\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 { listenOnRootMixin } from '../../mixins/listen-on-root';\nimport { listenersMixin } from '../../mixins/listeners';\nimport { VBVisible } from '../../directives/visible/visible'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), formControlProps), formSizeProps), formStateProps), formTextProps), {}, {\n maxRows: makeProp(PROP_TYPE_NUMBER_STRING),\n // When in auto resize mode, disable shrinking to content height\n noAutoShrink: makeProp(PROP_TYPE_BOOLEAN, false),\n // Disable the resize handle of textarea\n noResize: makeProp(PROP_TYPE_BOOLEAN, false),\n rows: makeProp(PROP_TYPE_NUMBER_STRING, 2),\n // 'soft', 'hard' or 'off'\n // Browser default is 'soft'\n wrap: makeProp(PROP_TYPE_STRING, 'soft')\n})), NAME_FORM_TEXTAREA); // --- Main component ---\n// @vue/component\n\nexport var BFormTextarea = /*#__PURE__*/Vue.extend({\n name: NAME_FORM_TEXTAREA,\n directives: {\n 'b-visible': VBVisible\n },\n // Mixin order is important!\n mixins: [listenersMixin, idMixin, listenOnRootMixin, formControlMixin, formSizeMixin, formStateMixin, formTextMixin, formSelectionMixin, formValidityMixin],\n props: props,\n data: function data() {\n return {\n heightInPx: null\n };\n },\n computed: {\n computedStyle: function computedStyle() {\n var styles = {\n // Setting `noResize` to true will disable the ability for the user to\n // manually resize the textarea. We also disable when in auto height mode\n resize: !this.computedRows || this.noResize ? 'none' : null\n };\n\n if (!this.computedRows) {\n // Conditionally set the computed CSS height when auto rows/height is enabled\n // We avoid setting the style to `null`, which can override user manual resize handle\n styles.height = this.heightInPx; // We always add a vertical scrollbar to the textarea when auto-height is\n // enabled so that the computed height calculation returns a stable value\n\n styles.overflowY = 'scroll';\n }\n\n return styles;\n },\n computedMinRows: function computedMinRows() {\n // Ensure rows is at least 2 and positive (2 is the native textarea value)\n // A value of 1 can cause issues in some browsers, and most browsers\n // only support 2 as the smallest value\n return mathMax(toInteger(this.rows, 2), 2);\n },\n computedMaxRows: function computedMaxRows() {\n return mathMax(this.computedMinRows, toInteger(this.maxRows, 0));\n },\n computedRows: function computedRows() {\n // This is used to set the attribute 'rows' on the textarea\n // If auto-height is enabled, then we return `null` as we use CSS to control height\n return this.computedMinRows === this.computedMaxRows ? this.computedMinRows : null;\n },\n computedAttrs: function computedAttrs() {\n var disabled = this.disabled,\n required = this.required;\n return {\n id: this.safeId(),\n name: this.name || null,\n form: this.form || null,\n disabled: disabled,\n placeholder: this.placeholder || null,\n required: required,\n autocomplete: this.autocomplete || null,\n readonly: this.readonly || this.plaintext,\n rows: this.computedRows,\n wrap: this.wrap || null,\n 'aria-required': this.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 localValue: function localValue() {\n this.setHeight();\n }\n },\n mounted: function mounted() {\n this.setHeight();\n },\n methods: {\n // Called by intersection observer directive\n\n /* istanbul ignore next */\n visibleCallback: function visibleCallback(visible) {\n if (visible) {\n // We use a `$nextTick()` here just to make sure any\n // transitions or portalling have completed\n this.$nextTick(this.setHeight);\n }\n },\n setHeight: function setHeight() {\n var _this = this;\n\n this.$nextTick(function () {\n requestAF(function () {\n _this.heightInPx = _this.computeHeight();\n });\n });\n },\n\n /* istanbul ignore next: can't test getComputedStyle in JSDOM */\n computeHeight: function computeHeight() {\n if (this.$isServer || !isNull(this.computedRows)) {\n return null;\n }\n\n var el = this.$el; // Element must be visible (not hidden) and in document\n // Must be checked after above checks\n\n if (!isVisible(el)) {\n return null;\n } // Get current computed styles\n\n\n var computedStyle = getCS(el); // Height of one line of text in px\n\n var lineHeight = toFloat(computedStyle.lineHeight, 1); // Calculate height of border and padding\n\n var border = toFloat(computedStyle.borderTopWidth, 0) + toFloat(computedStyle.borderBottomWidth, 0);\n var padding = toFloat(computedStyle.paddingTop, 0) + toFloat(computedStyle.paddingBottom, 0); // Calculate offset\n\n var offset = border + padding; // Minimum height for min rows (which must be 2 rows or greater for cross-browser support)\n\n var minHeight = lineHeight * this.computedMinRows + offset; // Get the current style height (with `px` units)\n\n var oldHeight = getStyle(el, 'height') || computedStyle.height; // Probe scrollHeight by temporarily changing the height to `auto`\n\n setStyle(el, 'height', 'auto');\n var scrollHeight = el.scrollHeight; // Place the original old height back on the element, just in case `computedProp`\n // returns the same value as before\n\n setStyle(el, 'height', oldHeight); // Calculate content height in 'rows' (scrollHeight includes padding but not border)\n\n var contentRows = mathMax((scrollHeight - padding) / lineHeight, 2); // Calculate number of rows to display (limited within min/max rows)\n\n var rows = mathMin(mathMax(contentRows, this.computedMinRows), this.computedMaxRows); // Calculate the required height of the textarea including border and padding (in pixels)\n\n var height = mathMax(mathCeil(rows * lineHeight + offset), minHeight); // Computed height remains the larger of `oldHeight` and new `height`,\n // when height is in `sticky` mode (prop `no-auto-shrink` is true)\n\n if (this.noAutoShrink && toFloat(oldHeight, 0) > height) {\n return oldHeight;\n } // Return the new computed CSS height in px units\n\n\n return \"\".concat(height, \"px\");\n }\n },\n render: function render(h) {\n return h('textarea', {\n class: this.computedClass,\n style: this.computedStyle,\n directives: [{\n name: 'b-visible',\n value: this.visibleCallback,\n // If textarea is within 640px of viewport, consider it visible\n modifiers: {\n '640': true\n }\n }],\n attrs: this.computedAttrs,\n domProps: {\n value: this.localValue\n },\n on: this.computedListeners,\n ref: 'input'\n });\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { mergeData } from '../../vue';\nimport { NAME_ROW } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { arrayIncludes, concat } from '../../utils/array';\nimport { getBreakpointsUpCached } from '../../utils/config';\nimport { identity } from '../../utils/identity';\nimport { memoize } from '../../utils/memoize';\nimport { create, keys, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, suffixPropName } from '../../utils/props';\nimport { lowerCase, toString, trim } from '../../utils/string'; // --- Constants ---\n\nvar COMMON_ALIGNMENT = ['start', 'end', 'center']; // --- Helper methods ---\n// Compute a `row-cols-{breakpoint}-{cols}` class name\n// Memoized function for better performance on generating class names\n\nvar computeRowColsClass = memoize(function (breakpoint, cols) {\n cols = trim(toString(cols));\n return cols ? lowerCase(['row-cols', breakpoint, cols].filter(identity).join('-')) : null;\n}); // Get the breakpoint name from the `rowCols` prop name\n// Memoized function for better performance on extracting breakpoint names\n\nvar computeRowColsBreakpoint = memoize(function (prop) {\n return lowerCase(prop.replace('cols', ''));\n}); // Cached copy of the `row-cols` breakpoint prop names\n// Will be populated when the props are generated\n\nvar rowColsPropList = []; // --- Props ---\n// Prop generator for lazy generation of props\n\nexport var generateProps = function generateProps() {\n // i.e. 'row-cols-2', 'row-cols-md-4', 'row-cols-xl-6', ...\n var rowColsProps = getBreakpointsUpCached().reduce(function (props, breakpoint) {\n props[suffixPropName(breakpoint, 'cols')] = makeProp(PROP_TYPE_NUMBER_STRING);\n return props;\n }, create(null)); // Cache the row-cols prop names\n\n rowColsPropList = keys(rowColsProps); // Return the generated props\n\n return makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, rowColsProps), {}, {\n alignContent: makeProp(PROP_TYPE_STRING, null, function (value) {\n return arrayIncludes(concat(COMMON_ALIGNMENT, 'between', 'around', 'stretch'), value);\n }),\n alignH: makeProp(PROP_TYPE_STRING, null, function (value) {\n return arrayIncludes(concat(COMMON_ALIGNMENT, 'between', 'around'), value);\n }),\n alignV: makeProp(PROP_TYPE_STRING, null, function (value) {\n return arrayIncludes(concat(COMMON_ALIGNMENT, 'baseline', 'stretch'), value);\n }),\n noGutters: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n })), NAME_ROW);\n}; // --- Main component ---\n// We do not use `Vue.extend()` here as that would evaluate the props\n// immediately, which we do not want to happen\n// @vue/component\n\nexport var BRow = {\n name: NAME_ROW,\n functional: true,\n\n get props() {\n // Allow props to be lazy evaled on first access and\n // then they become a non-getter afterwards\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get#Smart_self-overwriting_lazy_getters\n delete this.props;\n this.props = generateProps();\n return this.props;\n },\n\n render: function render(h, _ref) {\n var _classList$push;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var alignV = props.alignV,\n alignH = props.alignH,\n alignContent = props.alignContent; // Loop through row-cols breakpoint props and generate the classes\n\n var classList = [];\n rowColsPropList.forEach(function (prop) {\n var c = computeRowColsClass(computeRowColsBreakpoint(prop), props[prop]); // If a class is returned, push it onto the array\n\n if (c) {\n classList.push(c);\n }\n });\n classList.push((_classList$push = {\n 'no-gutters': props.noGutters\n }, _defineProperty(_classList$push, \"align-items-\".concat(alignV), alignV), _defineProperty(_classList$push, \"justify-content-\".concat(alignH), alignH), _defineProperty(_classList$push, \"align-content-\".concat(alignContent), alignContent), _classList$push));\n return h(props.tag, mergeData(data, {\n staticClass: 'row',\n class: classList\n }), children);\n }\n};","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e(require(\"flatpickr\")):\"function\"==typeof define&&define.amd?define(\"VueFlatpickr\",[\"flatpickr\"],e):\"object\"==typeof exports?exports.VueFlatpickr=e(require(\"flatpickr\")):t.VueFlatpickr=e(t.flatpickr)}(\"undefined\"!=typeof self?self:this,(function(t){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},n.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&\"object\"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:t}),2&e&&\"string\"!=typeof t)for(var o in t)n.d(r,o,function(e){return t[e]}.bind(null,o));return r},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,\"a\",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p=\"\",n(n.s=1)}([function(e,n){e.exports=t},function(t,e,n){\"use strict\";n.r(e),n.d(e,\"Component\",(function(){return c})),n.d(e,\"Plugin\",(function(){return p}));var r=n(0),o=n.n(r),i=[\"onChange\",\"onClose\",\"onDestroy\",\"onMonthChange\",\"onOpen\",\"onYearChange\"];function u(){return(u=Object.assign||function(t){for(var e=1;en?1:l=a&&a<=i;++a)if(r=parseInt(n.substring(0,a),10),r in ll){e.a(n.substring(a)),n=r;break l}n=0}return 0!=n&&(t(l.a),l.a.a(e.toString()),e=M(n),\"001\"==e?l.g=C(l.G,\"\"+n):e!=l.D&&(l.g=D(l,e)),l.b.a(\"\"+n).a(\" \"),l.h=\"\",!0)}function K(l,n){var u=l.m.toString();if(0<=u.substring(l.s).search(l.H)){var e=u.search(l.H),u=u.replace(l.H,n);return t(l.m),l.m.a(u),l.s=e,u.substring(0,l.s+1)}return 1==l.f.length&&(l.l=!1),l.w=\"\",l.i.toString()}var Y=this;u.prototype.b=\"\",u.prototype.set=function(l){this.b=\"\"+l},u.prototype.a=function(l,n,u){if(this.b+=String(l),null!=n)for(var t=1;t instance\n tab: makeProp(),\n tabIndex: makeProp(PROP_TYPE_NUMBER)\n },\n methods: {\n focus: function focus() {\n attemptFocus(this.$refs.link);\n },\n handleEvt: function handleEvt(event) {\n /* istanbul ignore next */\n if (this.tab.disabled) {\n return;\n }\n\n var type = event.type,\n keyCode = event.keyCode,\n shiftKey = event.shiftKey;\n\n if (type === 'click') {\n stopEvent(event);\n this.$emit(EVENT_NAME_CLICK, event);\n } else if (type === 'keydown' && keyCode === CODE_SPACE) {\n // For ARIA tabs the SPACE key will also trigger a click/select\n // Even with keyboard navigation disabled, SPACE should \"click\" the button\n // See: https://github.com/bootstrap-vue/bootstrap-vue/issues/4323\n stopEvent(event);\n this.$emit(EVENT_NAME_CLICK, event);\n } else if (type === 'keydown' && !this.noKeyNav) {\n // For keyboard navigation\n if ([CODE_UP, CODE_LEFT, CODE_HOME].indexOf(keyCode) !== -1) {\n stopEvent(event);\n\n if (shiftKey || keyCode === CODE_HOME) {\n this.$emit(EVENT_NAME_FIRST, event);\n } else {\n this.$emit(EVENT_NAME_PREV, event);\n }\n } else if ([CODE_DOWN, CODE_RIGHT, CODE_END].indexOf(keyCode) !== -1) {\n stopEvent(event);\n\n if (shiftKey || keyCode === CODE_END) {\n this.$emit(EVENT_NAME_LAST, event);\n } else {\n this.$emit(EVENT_NAME_NEXT, event);\n }\n }\n }\n }\n },\n render: function render(h) {\n var id = this.id,\n tabIndex = this.tabIndex,\n setSize = this.setSize,\n posInSet = this.posInSet,\n controls = this.controls,\n handleEvt = this.handleEvt;\n var _this$tab = this.tab,\n title = _this$tab.title,\n localActive = _this$tab.localActive,\n disabled = _this$tab.disabled,\n titleItemClass = _this$tab.titleItemClass,\n titleLinkClass = _this$tab.titleLinkClass,\n titleLinkAttributes = _this$tab.titleLinkAttributes;\n var $link = h(BLink, {\n staticClass: 'nav-link',\n class: [{\n active: localActive && !disabled,\n disabled: disabled\n }, titleLinkClass, // Apply `activeNavItemClass` styles when the tab is active\n localActive ? this.bvTabs.activeNavItemClass : null],\n props: {\n disabled: disabled\n },\n attrs: _objectSpread(_objectSpread({}, titleLinkAttributes), {}, {\n id: id,\n role: 'tab',\n // Roving tab index when keynav enabled\n tabindex: tabIndex,\n 'aria-selected': localActive && !disabled ? 'true' : 'false',\n 'aria-setsize': setSize,\n 'aria-posinset': posInSet,\n 'aria-controls': controls\n }),\n on: {\n click: handleEvt,\n keydown: handleEvt\n },\n ref: 'link'\n }, [this.tab.normalizeSlot(SLOT_NAME_TITLE) || title]);\n return h('li', {\n staticClass: 'nav-item',\n class: [titleItemClass],\n attrs: {\n role: 'presentation'\n }\n }, [$link]);\n }\n}); // --- Props ---\n\nvar navProps = omit(BNavProps, ['tabs', 'isNavBar', 'cardHeader']);\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), modelProps), navProps), {}, {\n // Only applied to the currently active ``\n activeNavItemClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n // Only applied to the currently active ``\n // This prop is sniffed by the `` child\n activeTabClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n card: makeProp(PROP_TYPE_BOOLEAN, false),\n contentClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n // Synonym for 'bottom'\n end: makeProp(PROP_TYPE_BOOLEAN, false),\n // This prop is sniffed by the `` child\n lazy: makeProp(PROP_TYPE_BOOLEAN, false),\n navClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n navWrapperClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n noFade: makeProp(PROP_TYPE_BOOLEAN, false),\n noKeyNav: makeProp(PROP_TYPE_BOOLEAN, false),\n noNavStyle: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n})), NAME_TABS); // --- Main component ---\n// @vue/component\n\nexport var BTabs = /*#__PURE__*/Vue.extend({\n name: NAME_TABS,\n mixins: [idMixin, modelMixin, normalizeSlotMixin],\n provide: function provide() {\n return {\n bvTabs: this\n };\n },\n props: props,\n data: function data() {\n return {\n // Index of current tab\n currentTab: toInteger(this[MODEL_PROP_NAME], -1),\n // Array of direct child `` instances, in DOM order\n tabs: [],\n // Array of child instances registered (for triggering reactive updates)\n registeredTabs: []\n };\n },\n computed: {\n fade: function fade() {\n // This computed prop is sniffed by the tab child\n return !this.noFade;\n },\n localNavClass: function localNavClass() {\n var classes = [];\n\n if (this.card && this.vertical) {\n classes.push('card-header', 'h-100', 'border-bottom-0', 'rounded-0');\n }\n\n return [].concat(classes, [this.navClass]);\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function (newValue, oldValue) {\n if (newValue !== oldValue) {\n newValue = toInteger(newValue, -1);\n oldValue = toInteger(oldValue, 0);\n var $tab = this.tabs[newValue];\n\n if ($tab && !$tab.disabled) {\n this.activateTab($tab);\n } else {\n // Try next or prev tabs\n if (newValue < oldValue) {\n this.previousTab();\n } else {\n this.nextTab();\n }\n }\n }\n }), _defineProperty(_watch, \"currentTab\", function currentTab(newValue) {\n var index = -1; // Ensure only one tab is active at most\n\n this.tabs.forEach(function ($tab, i) {\n if (i === newValue && !$tab.disabled) {\n $tab.localActive = true;\n index = i;\n } else {\n $tab.localActive = false;\n }\n }); // Update the v-model\n\n this.$emit(MODEL_EVENT_NAME, index);\n }), _defineProperty(_watch, \"tabs\", function tabs(newValue, oldValue) {\n var _this = this;\n\n // We use `_uid` instead of `safeId()`, as the later is changed in a `$nextTick()`\n // if no explicit ID is provided, causing duplicate emits\n if (!looseEqual(newValue.map(function ($tab) {\n return $tab[COMPONENT_UID_KEY];\n }), oldValue.map(function ($tab) {\n return $tab[COMPONENT_UID_KEY];\n }))) {\n // In a `$nextTick()` to ensure `currentTab` has been set first\n this.$nextTick(function () {\n // We emit shallow copies of the new and old arrays of tabs,\n // to prevent users from potentially mutating the internal arrays\n _this.$emit(EVENT_NAME_CHANGED, newValue.slice(), oldValue.slice());\n });\n }\n }), _defineProperty(_watch, \"registeredTabs\", function registeredTabs() {\n this.updateTabs();\n }), _watch),\n created: function created() {\n // Create private non-reactive props\n this.$_observer = null;\n },\n mounted: function mounted() {\n this.setObserver(true);\n },\n beforeDestroy: function beforeDestroy() {\n this.setObserver(false); // Ensure no references to child instances exist\n\n this.tabs = [];\n },\n methods: {\n registerTab: function registerTab($tab) {\n if (!arrayIncludes(this.registeredTabs, $tab)) {\n this.registeredTabs.push($tab);\n }\n },\n unregisterTab: function unregisterTab($tab) {\n this.registeredTabs = this.registeredTabs.slice().filter(function ($t) {\n return $t !== $tab;\n });\n },\n // DOM observer is needed to detect changes in order of tabs\n setObserver: function setObserver() {\n var _this2 = this;\n\n var on = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n this.$_observer && this.$_observer.disconnect();\n this.$_observer = null;\n\n if (on) {\n /* istanbul ignore next: difficult to test mutation observer in JSDOM */\n var handler = function handler() {\n _this2.$nextTick(function () {\n requestAF(function () {\n _this2.updateTabs();\n });\n });\n }; // Watch for changes to `` sub components\n\n\n this.$_observer = observeDom(this.$refs.content, handler, {\n childList: true,\n subtree: false,\n attributes: true,\n attributeFilter: ['id']\n });\n }\n },\n getTabs: function getTabs() {\n var $tabs = this.registeredTabs.filter(function ($tab) {\n return $tab.$children.filter(function ($t) {\n return $t._isTab;\n }).length === 0;\n }); // DOM Order of Tabs\n\n var order = [];\n /* istanbul ignore next: too difficult to test */\n\n if (IS_BROWSER && $tabs.length > 0) {\n // We rely on the DOM when mounted to get the \"true\" order of the `` children\n // `querySelectorAll()` always returns elements in document order, regardless of\n // order specified in the selector\n var selector = $tabs.map(function ($tab) {\n return \"#\".concat($tab.safeId());\n }).join(', ');\n order = selectAll(selector, this.$el).map(function ($el) {\n return $el.id;\n }).filter(identity);\n } // Stable sort keeps the original order if not found in the `order` array,\n // which will be an empty array before mount\n\n\n return stableSort($tabs, function (a, b) {\n return order.indexOf(a.safeId()) - order.indexOf(b.safeId());\n });\n },\n updateTabs: function updateTabs() {\n var $tabs = this.getTabs(); // Find last active non-disabled tab in current tabs\n // We trust tab state over `currentTab`, in case tabs were added/removed/re-ordered\n\n var tabIndex = $tabs.indexOf($tabs.slice().reverse().find(function ($tab) {\n return $tab.localActive && !$tab.disabled;\n })); // Else try setting to `currentTab`\n\n if (tabIndex < 0) {\n var currentTab = this.currentTab;\n\n if (currentTab >= $tabs.length) {\n // Handle last tab being removed, so find the last non-disabled tab\n tabIndex = $tabs.indexOf($tabs.slice().reverse().find(notDisabled));\n } else if ($tabs[currentTab] && !$tabs[currentTab].disabled) {\n // Current tab is not disabled\n tabIndex = currentTab;\n }\n } // Else find first non-disabled tab in current tabs\n\n\n if (tabIndex < 0) {\n tabIndex = $tabs.indexOf($tabs.find(notDisabled));\n } // Ensure only one tab is active at a time\n\n\n $tabs.forEach(function ($tab, index) {\n $tab.localActive = index === tabIndex;\n });\n this.tabs = $tabs;\n this.currentTab = tabIndex;\n },\n // Find a button that controls a tab, given the tab reference\n // Returns the button vm instance\n getButtonForTab: function getButtonForTab($tab) {\n return (this.$refs.buttons || []).find(function ($btn) {\n return $btn.tab === $tab;\n });\n },\n // Force a button to re-render its content, given a `` instance\n // Called by `` on `update()`\n updateButton: function updateButton($tab) {\n var $button = this.getButtonForTab($tab);\n\n if ($button && $button.$forceUpdate) {\n $button.$forceUpdate();\n }\n },\n // Activate a tab given a `` instance\n // Also accessed by ``\n activateTab: function activateTab($tab) {\n var currentTab = this.currentTab,\n $tabs = this.tabs;\n var result = false;\n\n if ($tab) {\n var index = $tabs.indexOf($tab);\n\n if (index !== currentTab && index > -1 && !$tab.disabled) {\n var tabEvent = new BvEvent(EVENT_NAME_ACTIVATE_TAB, {\n cancelable: true,\n vueTarget: this,\n componentId: this.safeId()\n });\n this.$emit(tabEvent.type, index, currentTab, tabEvent);\n\n if (!tabEvent.defaultPrevented) {\n this.currentTab = index;\n result = true;\n }\n }\n } // Couldn't set tab, so ensure v-model is up to date\n\n /* istanbul ignore next: should rarely happen */\n\n\n if (!result && this[MODEL_PROP_NAME] !== currentTab) {\n this.$emit(MODEL_EVENT_NAME, currentTab);\n }\n\n return result;\n },\n // Deactivate a tab given a `` instance\n // Accessed by ``\n deactivateTab: function deactivateTab($tab) {\n if ($tab) {\n // Find first non-disabled tab that isn't the one being deactivated\n // If no tabs are available, then don't deactivate current tab\n return this.activateTab(this.tabs.filter(function ($t) {\n return $t !== $tab;\n }).find(notDisabled));\n }\n /* istanbul ignore next: should never/rarely happen */\n\n\n return false;\n },\n // Focus a tab button given its `` instance\n focusButton: function focusButton($tab) {\n var _this3 = this;\n\n // Wrap in `$nextTick()` to ensure DOM has completed rendering\n this.$nextTick(function () {\n attemptFocus(_this3.getButtonForTab($tab));\n });\n },\n // Emit a click event on a specified `` component instance\n emitTabClick: function emitTabClick(tab, event) {\n if (isEvent(event) && tab && tab.$emit && !tab.disabled) {\n tab.$emit(EVENT_NAME_CLICK, event);\n }\n },\n // Click handler\n clickTab: function clickTab($tab, event) {\n this.activateTab($tab);\n this.emitTabClick($tab, event);\n },\n // Move to first non-disabled tab\n firstTab: function firstTab(focus) {\n var $tab = this.tabs.find(notDisabled);\n\n if (this.activateTab($tab) && focus) {\n this.focusButton($tab);\n this.emitTabClick($tab, focus);\n }\n },\n // Move to previous non-disabled tab\n previousTab: function previousTab(focus) {\n var currentIndex = mathMax(this.currentTab, 0);\n var $tab = this.tabs.slice(0, currentIndex).reverse().find(notDisabled);\n\n if (this.activateTab($tab) && focus) {\n this.focusButton($tab);\n this.emitTabClick($tab, focus);\n }\n },\n // Move to next non-disabled tab\n nextTab: function nextTab(focus) {\n var currentIndex = mathMax(this.currentTab, -1);\n var $tab = this.tabs.slice(currentIndex + 1).find(notDisabled);\n\n if (this.activateTab($tab) && focus) {\n this.focusButton($tab);\n this.emitTabClick($tab, focus);\n }\n },\n // Move to last non-disabled tab\n lastTab: function lastTab(focus) {\n var $tab = this.tabs.slice().reverse().find(notDisabled);\n\n if (this.activateTab($tab) && focus) {\n this.focusButton($tab);\n this.emitTabClick($tab, focus);\n }\n }\n },\n render: function render(h) {\n var _this4 = this;\n\n var align = this.align,\n card = this.card,\n end = this.end,\n fill = this.fill,\n firstTab = this.firstTab,\n justified = this.justified,\n lastTab = this.lastTab,\n nextTab = this.nextTab,\n noKeyNav = this.noKeyNav,\n noNavStyle = this.noNavStyle,\n pills = this.pills,\n previousTab = this.previousTab,\n small = this.small,\n $tabs = this.tabs,\n vertical = this.vertical; // Currently active tab\n\n var $activeTab = $tabs.find(function ($tab) {\n return $tab.localActive && !$tab.disabled;\n }); // Tab button to allow focusing when no active tab found (keynav only)\n\n var $fallbackTab = $tabs.find(function ($tab) {\n return !$tab.disabled;\n }); // For each `` found create the tab buttons\n\n var $buttons = $tabs.map(function ($tab, index) {\n var _on;\n\n var safeId = $tab.safeId; // Ensure at least one tab button is focusable when keynav enabled (if possible)\n\n var tabIndex = null;\n\n if (!noKeyNav) {\n // Buttons are not in tab index unless active, or a fallback tab\n tabIndex = -1;\n\n if ($tab === $activeTab || !$activeTab && $tab === $fallbackTab) {\n // Place tab button in tab sequence\n tabIndex = null;\n }\n }\n\n return h(BVTabButton, {\n props: {\n controls: safeId ? safeId() : null,\n id: $tab.controlledBy || (safeId ? safeId(\"_BV_tab_button_\") : null),\n noKeyNav: noKeyNav,\n posInSet: index + 1,\n setSize: $tabs.length,\n tab: $tab,\n tabIndex: tabIndex\n },\n on: (_on = {}, _defineProperty(_on, EVENT_NAME_CLICK, function (event) {\n _this4.clickTab($tab, event);\n }), _defineProperty(_on, EVENT_NAME_FIRST, firstTab), _defineProperty(_on, EVENT_NAME_PREV, previousTab), _defineProperty(_on, EVENT_NAME_NEXT, nextTab), _defineProperty(_on, EVENT_NAME_LAST, lastTab), _on),\n key: $tab[COMPONENT_UID_KEY] || index,\n ref: 'buttons',\n // Needed to make `this.$refs.buttons` an array\n refInFor: true\n });\n });\n var $nav = h(BNav, {\n class: this.localNavClass,\n attrs: {\n role: 'tablist',\n id: this.safeId('_BV_tab_controls_')\n },\n props: {\n fill: fill,\n justified: justified,\n align: align,\n tabs: !noNavStyle && !pills,\n pills: !noNavStyle && pills,\n vertical: vertical,\n small: small,\n cardHeader: card && !vertical\n },\n ref: 'nav'\n }, [this.normalizeSlot(SLOT_NAME_TABS_START) || h(), $buttons, this.normalizeSlot(SLOT_NAME_TABS_END) || h()]);\n $nav = h('div', {\n class: [{\n 'card-header': card && !vertical && !end,\n 'card-footer': card && !vertical && end,\n 'col-auto': vertical\n }, this.navWrapperClass],\n key: 'bv-tabs-nav'\n }, [$nav]);\n var $children = this.normalizeSlot() || [];\n var $empty = h();\n\n if ($children.length === 0) {\n $empty = h('div', {\n class: ['tab-pane', 'active', {\n 'card-body': card\n }],\n key: 'bv-empty-tab'\n }, this.normalizeSlot(SLOT_NAME_EMPTY));\n }\n\n var $content = h('div', {\n staticClass: 'tab-content',\n class: [{\n col: vertical\n }, this.contentClass],\n attrs: {\n id: this.safeId('_BV_tab_container_')\n },\n key: 'bv-content',\n ref: 'content'\n }, [$children, $empty]); // Render final output\n\n return h(this.tag, {\n staticClass: 'tabs',\n class: {\n row: vertical,\n 'no-gutters': vertical && card\n },\n attrs: {\n id: this.safeId()\n }\n }, [end ? $content : h(), $nav, end ? h() : $content]);\n }\n});","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!./AccountSettingNotification.vue?vue&type=style&index=0&id=65d20d33&prod&lang=css\""],"sourceRoot":""}