{"version":3,"sources":["webpack:///./src/@core/mixins/permission.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-selection.js","webpack:///./src/helpers/formatAmount.js","webpack:///./src/@core/mixins/table.js","webpack:///./src/views/components/table/TableEntries.vue?bdbd","webpack:///src/views/components/table/TableEntries.vue","webpack:///./src/views/components/table/TableEntries.vue?c4f3","webpack:///./src/views/components/table/TableEntries.vue?e232","webpack:///./node_modules/core-js/internals/string-pad.js","webpack:///./src/helpers/getStatusColor.js","webpack:///./src/@core/directives/animations.js","webpack:///./node_modules/core-js/internals/string-repeat.js","webpack:///./node_modules/bootstrap-vue/esm/components/form/form.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-validity.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-footer.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-img.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card.js","webpack:///./node_modules/vue-cleave-component/dist/vue-cleave.min.js","webpack:///./src/views/forms/InputField.vue?b743","webpack:///src/views/forms/InputField.vue","webpack:///./src/views/forms/InputField.vue?501b","webpack:///./src/views/forms/InputField.vue?d085","webpack:///./node_modules/bootstrap-vue/esm/mixins/pagination.js","webpack:///./node_modules/bootstrap-vue/esm/components/pagination/pagination.js","webpack:///./src/views/components/spinner/FullScreenSpinner.vue?e011","webpack:///src/views/components/spinner/FullScreenSpinner.vue","webpack:///./src/views/components/spinner/FullScreenSpinner.vue?53e6","webpack:///./src/views/components/spinner/FullScreenSpinner.vue","webpack:///./src/helpers/formatDate.js","webpack:///./node_modules/bootstrap-vue/esm/components/form/form-invalid-feedback.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-text.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-input/form-input.js","webpack:///./src/helpers/handleSpecialCharacter.js","webpack:///./src/views/pages/e-channels/cards/ManageCards/Index.vue?2209","webpack:///src/views/pages/e-channels/cards/ManageCards/Index.vue","webpack:///./src/views/pages/e-channels/cards/ManageCards/Index.vue?2df3","webpack:///./src/views/pages/e-channels/cards/ManageCards/Index.vue?5eb9","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-title.js","webpack:///./node_modules/core-js/modules/es.string.pad-start.js","webpack:///./node_modules/bootstrap-vue/esm/components/collapse/collapse.js","webpack:///./node_modules/bootstrap-vue/esm/constants/classes.js","webpack:///./node_modules/bootstrap-vue/esm/components/collapse/helpers/bv-collapse.js","webpack:///./src/assets/images/gif/loader.gif","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-sub-title.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-body.js","webpack:///./src/views/forms/InputField.vue?8193","webpack:///./src/views/components/table/TableEntries.vue?3cd4","webpack:///./src/views/pages/e-channels/cards/ManageCards/Index.vue?e132","webpack:///./node_modules/cleave.js/dist/cleave-esm.js","webpack:///./node_modules/bootstrap-vue/esm/utils/css-escape.js","webpack:///./node_modules/bootstrap-vue/esm/components/layout/form-row.js","webpack:///./node_modules/bootstrap-vue/esm/components/form/form-valid-feedback.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-group/form-group.js","webpack:///./node_modules/core-js/modules/es.number.is-integer.js","webpack:///./node_modules/core-js/modules/es.number.is-nan.js","webpack:///./node_modules/bootstrap-vue/esm/components/form/form-text.js","webpack:///./node_modules/bootstrap-vue/esm/constants/popper.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/click-out.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/focus-in.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/dropdown.js","webpack:///./node_modules/core-js/internals/string-pad-webkit-bug.js","webpack:///./node_modules/bootstrap-vue/esm/components/overlay/overlay.js","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown-item.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-size.js","webpack:///./src/@core/components/app-collapse/AppCollapseItem.vue?e387","webpack:///src/@core/components/app-collapse/AppCollapseItem.vue","webpack:///./src/@core/components/app-collapse/AppCollapseItem.vue?b238","webpack:///./src/@core/components/app-collapse/AppCollapseItem.vue","webpack:///./src/views/components/button/Button.vue?5dc3","webpack:///src/views/components/button/Button.vue","webpack:///./src/views/components/button/Button.vue?2fad","webpack:///./src/views/components/button/Button.vue","webpack:///./node_modules/core-js/modules/es.number.to-fixed.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-header.js","webpack:///./src/views/components/table/TablePagination.vue?0506","webpack:///./src/views/components/pagination/Pagination.vue?4307","webpack:///src/views/components/pagination/Pagination.vue","webpack:///./src/views/components/pagination/Pagination.vue?4a4f","webpack:///./src/views/components/pagination/Pagination.vue","webpack:///src/views/components/table/TablePagination.vue","webpack:///./src/views/components/table/TablePagination.vue?75ec","webpack:///./src/views/components/table/TablePagination.vue","webpack:///./src/views/forms/SelectField.vue?e97f","webpack:///./src/@core/components/app-collapse/AppCollapse.vue?692d","webpack:///src/@core/components/app-collapse/AppCollapse.vue","webpack:///./src/@core/components/app-collapse/AppCollapse.vue?a250","webpack:///./src/@core/components/app-collapse/AppCollapse.vue","webpack:///./src/views/components/table/TableEntries.vue?1fad","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-state.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/card.js","webpack:///./src/views/forms/InputNumberField.vue?f4fa","webpack:///src/views/forms/InputNumberField.vue","webpack:///./src/views/forms/InputNumberField.vue?5d14","webpack:///./src/views/forms/InputNumberField.vue","webpack:///./src/views/forms/SelectField.vue?1739","webpack:///./node_modules/bootstrap-vue/esm/components/dropdown/dropdown.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-control.js","webpack:///./node_modules/bootstrap-vue/esm/components/badge/badge.js","webpack:///./node_modules/core-js/internals/is-integral-number.js","webpack:///./node_modules/uuid/dist/esm-browser/rng.js","webpack:///./node_modules/uuid/dist/esm-browser/regex.js","webpack:///./node_modules/uuid/dist/esm-browser/validate.js","webpack:///./node_modules/uuid/dist/esm-browser/stringify.js","webpack:///./node_modules/uuid/dist/esm-browser/v4.js","webpack:///./src/views/forms/SelectField.vue?806e","webpack:///src/views/forms/SelectField.vue","webpack:///./src/views/forms/SelectField.vue?5a8d","webpack:///./src/views/forms/SelectField.vue?09cc","webpack:///./node_modules/popper.js/dist/esm/popper.js"],"names":["permissionMixin","computed","mapGetters","userData","methods","getUserPermission","value","this","permissions","includes","formSelectionMixin","extend","selectionStart","cache","get","$refs","input","set","val","selectionEnd","selectionDirection","select","_this$$refs$input","apply","arguments","setSelectionRange","_this$$refs$input2","setRangeText","_this$$refs$input3","toAmount","amount","Intl","NumberFormat","maximumFractionDigits","minimumFractionDigits","style","currency","format","Number","toKobo","toFixed","toBalance","isInteger","formatAmount","toFormatAmount","replace","toFormatBalance","removeMoneyFormat","newText","isNaN","substring","length","containsFormattedNumber","str","regex","test","removeCommas","tableMixins","data","isBusy","showSpinner","sortDesc","searchQuery","statusFilter","perPage","pageSize","currentPage","perPageOptions","totalCount","statusOptions","approvalTotalCount","approvalPerPage","approvalPageSize","approvalCurrentPage","totalEntries","numberOfPages","Math","floor","from","to","min","approvalTotalEntries","approvalNumberOfPages","approvalFom","approvalTo","variantColor","status","getOverallIndex","index","render","_vm","_h","$createElement","_c","_self","_v","staticClass","attrs","$store","state","appConfig","isRTL","options","model","callback","$$v","expression","staticRenderFns","name","components","vSelect","props","type","Array","required","Object","String","Boolean","default","hasValue","watch","$emit","created","component","uncurryThis","toLength","toString","$repeat","requireObjectCoercible","repeat","stringSlice","slice","ceil","createMethod","IS_END","$this","maxLength","fillString","fillLen","stringFiller","S","intMaxLength","stringLength","fillStr","undefined","module","exports","start","end","getStatusColor","statusColor","Open","AwaitingOpen","Processing","EODComplete","AutomaticallyOpen","loanStatus","Yes","Active","Paid","Completed","InActive","Closed","Close","AwaitingEOD","AutomaticallyClosed","Inactive","No","Pending","Enabled","Disabled","Expired","Approved","Declined","AwaitingNextReviewer","Canceled","ReworkRequired","Defaulting","FullyPaid","PartiallyPaid","NotYetDue","DueAndUnpaid","EarlyTermination","AutoCleared","ManuallyCleared","Returned","Uncleared","Reversed","Failed","Processed","PendingTSQ","Successful","Issued","NotIssued","Linked","Unlinked","Generated","Blocked","Hotlisted","NEW","PENDING_PROCESSING","CONFIRMED","AWAITING_SERVICE_PROVIDER","EXPIRED","FAILED","REVERSED","STAGED_FOR_REVERSAL","Submitted","Uploaded","Draft","NoFileFound","heightFade","inserted","el","binding","height","offsetHeight","modifiers","appear","overflow","maxHeight","opacity","setTimeout","unbind","global","toIntegerOrInfinity","RangeError","count","result","n","Infinity","id","inline","novalidate","validated","BForm","functional","h","_ref","children","class","formValidityMixin","validity","validationMessage","willValidate","setCustomValidity","checkValidity","reportValidity","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","target","i","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","configurable","writable","bind","footer","footerClass","footerHtml","BCardFooter","_ref2","footerBgVariant","footerBorderVariant","footerTextVariant","footerTag","concat","domProps","html","bottom","top","BCardImg","src","alt","width","baseClass","right","left","cardImgProps","imgSrc","card","align","noBody","BCard","_class","slots","scopedSlots","imgLeft","imgRight","imgStart","imgEnd","imgBottom","header","headerHtml","textVariant","bgVariant","borderVariant","$scopedSlots","$slots","slotScope","$imgFirst","$imgLast","$img","$header","hasHeaderSlot","$content","overlay","$footer","hasFooterSlot","tag","e","t","self","r","o","l","call","m","c","d","Symbol","toStringTag","__esModule","create","prototype","hasOwnProperty","p","s","u","assign","a","on","blur","onBlur","validator","raw","cleave","onValueChangedFn","mounted","$el","getOptions","onValueChanged","rawValue","deep","handler","destroy","setRawValue","getRawValue","beforeDestroy","install","_s","label","errorName","rules","vid","_u","fn","ref","errors","placeholder","readonly","step","onpaste","formatter","disableCopyPaste","onChange","onInput","nativeOn","$event","handleKeyPress","innerValue","text","_e","directives","rawName","icon","iconSize","onClick","BFormInput","BFormGroup","ValidationProvider","mixins","sweetAlert","Function","showIcon","isAllowSpecialCharacters","isAllowOnlySpecialCharacters","isAllowCopyAndPaste","isAllowNegativeNumbers","validateInputLength","event","preventDefault","alertInfo","_watch","_makeModelMixin","defaultValue","warn","modelMixin","mixin","modelProps","MODEL_PROP_NAME","prop","MODEL_EVENT_NAME","ELLIPSIS_THRESHOLD","DEFAULT_LIMIT","startNumber","_","number","classes","limit","page","keyCode","immediatePropagation","currentTarget","click","ariaLabel","disabled","ellipsisClass","ellipsisText","firstClass","firstNumber","firstText","hideEllipsis","hideGotoEndButtons","labelFirstPage","labelLastPage","labelNextPage","labelPage","labelPrevPage","lastClass","lastNumber","lastText","nextClass","nextText","pageClass","pills","prevClass","prevText","size","paginationMixin","localNumberOfPages","localLimit","btnSize","alignment","styleClass","computedCurrentPage","paginationParams","showFirstDots","showLastDots","numberOfLinks","math","lastPageNumber","pageList","_this$paginationParam","pages","idx","_i","_i2","_i3","newValue","oldValue","_this","$nextTick","handleKeyNav","shiftKey","isNav","propagation","focusFirst","focusPrev","focusLast","focusNext","getButtons","btn","focusCurrent","_this2","find","_this3","_this4","reverse","_this5","buttons","indexOf","_this6","_this7","pageNumbers","map","_this$paginationParam2","fill","$buttons","isActivePage","pageNumber","noCurrentPage","makeEndBtn","linkTo","btnSlot","btnText","btnClass","pageTest","isDisabled","scope","$btnContent","normalizeSlot","$inner","linkProps","role","tabindex","ariaControls","keydown","makeEllipsis","isLast","makePageButton","active","tabIndex","btnContent","makePage","content","$firstPageBtn","offset","$lastPageBtn","$pagination","DEFAULT_PER_PAGE","DEFAULT_TOTAL_ROWS","totalRows","BPagination","pageSizeNumberOfPages","clickEvt","cancelable","vueTarget","defaultPrevented","contains","pageNum","show","staticStyle","proxy","BOverlay","toDateWithYear","moment","toDateWithYearFirst","toDateWithUnderscore","customDate","tocustomDate","toDateTimeFormat","toDateWithTime","selectedDate","toDateWithTimes","toDateWithCustomTime","toDateWithDateTime","toCustomDateTime","dateValue","toCustomDate","toDayMonthYear","toMonthYear","check","month","year","toDateWithMinute","toYearWithDate","splittedDate","split","commencementDate","Date","toDateWithMonth","checkDateFormat","splitDate","dateSpecial","dateParts","date","dateDifference","startDate","endDate","diff","dateTimeDifference","diffTime","abs","valueOf","days","hours","minutes","secs","hour","minute","sec","toMonthWithTime","toMonthWithYear","toMonthWithYearTime","getDate","numOfDays","setDate","getMinusOneDayDate","getDaysInMonth","frequency","today","getFullYear","getMonth","daysInMonth","getDaysInYear","formatSingleDates","day","inputDateStr","padStart","inputDate","setHours","convertDateString","dateString","dateObj","convertDate","operationYear","operationMonth","operationDay","ariaLive","forceShow","tooltip","BFormInvalidFeedback","ariaInvalid","autocomplete","debounce","lazy","lazyFormatter","plaintext","trim","formTextMixin","localValue","vModelValue","modifyValue","computedClass","isRange","isColor","sizeFormClass","stateClass","computedDebounce","hasFormatter","stringifyValue","modifiedValue","clearDebounce","$_inputDebounceTimer","$on","clearTimeout","formatValue","force","updateValue","doUpdate","$input","composing","formattedValue","focus","TYPES","list","max","noWheel","localType","computedAttrs","form","safeId","computedAriaInvalid","computedListeners","bvListeners","change","setWheelStopper","deactivated","activated","onWheelFocus","onWheelBlur","document","stopWheel","removeSpecialChar","removeNegativeNumber","removeCharAndSpace","persistPhoneNumber","persistAccountNumber","gotoIssueCard","showModal","resetFilter","cardAccountList","tableHeaders","item","cardAccountStatus","issuedDate","setupCardLimit","fetchCardAccounts","resetFilters","$set","StatusOptions","option","saveCustomerCardLimit","onViewATMTransactionLimitInfo","institutionData","atM_Single_Withdrawal_Limit","isReadonly","setCardLimit","cardLimitFormData","_n","setCardCount","atM_Daily_Withdrawal_Limit","atM_Weekly_Withdrawal_Limit","onViewPOSTransactionLimitInfo","poS_Daily_Transaction_Limit","setPOSCardLimit","setPOSCardCount","poS_Daily_Withdrawal_Limit","poS_Weekly_Withdrawal_Limit","onViewONLINETransactionLimitInfo","online_Daily_Transaction_Limit","buttonLabel","isLoading","hideModal","BRow","BCol","BTable","BDropdown","BDropdownItem","BBadge","TablePagination","BModal","BSpinner","ValidationObserver","TableEntries","SelectField","InputField","InputNumberField","Button","FullScreenSpinner","AppCollapse","AppCollapseItem","Ripple","channelType","sortBy","modalTitle","genderOptions","useCardId","cardId","atM_Daily_Withdrawal_Count","poS_Daily_Transaction_Count","online_Daily_Transaction_Count","default_Customer_ATM_Daily_Withdrawal_Count","default_Customer_ATM_Daily_Withdrawal_Limit","default_Customer_ATM_Single_Withdrawal_Limit","default_Customer_ATM_Weekly_Withdrawal_Limit","default_Customer_POS_Daily_Transaction_Count","default_Customer_POS_Daily_Transaction_Limit","default_Customer_POS_Daily_Withdrawal_Limit","default_Customer_POS_Weekly_Withdrawal_Limit","default_Customer_Online_Daily_Transaction_Count","default_Customer_Online_Daily_Transaction_Limit","$root","cardLimitRules","validate","then","success","confirm","updateCardStatus","$router","params","goToCardAccountDetails","title","titleTag","BCardTitle","$","$padStart","WEBKIT_BUG","proto","forced","CLASS_NAME_SHOW","scrollHeight","TRANSITION_PROPS","css","enterClass","enterActiveClass","enterToClass","leaveClass","leaveActiveClass","leaveToClass","TRANSITION_HANDLERS","enter","afterEnter","leave","afterLeave","BVCollapse","ROOT_ACTION_EVENT_NAME_TOGGLE","ROOT_ACTION_EVENT_NAME_REQUEST_STATE","ROOT_EVENT_NAME_ACCORDION","ROOT_EVENT_NAME_STATE","ROOT_EVENT_NAME_SYNC_STATE","accordion","BCollapse","transitioning","classObject","collapse","visible","close","emitState","listenOnRoot","handleToggleEvt","handleAccordionEvt","setWindowEvents","handleResize","emitSync","updated","window","toggle","onEnter","onAfterEnter","onLeave","onAfterLeave","emitOnRoot","checkDisplayBlock","restore","isBlock","display","clickHandler","openedId","openAccordion","isThis","subTitle","subTitleTag","subTitleTextVariant","BCardSubTitle","bodyClass","BCardBody","bodyBgVariant","bodyBorderVariant","bodyTextVariant","$title","$subTitle","bodyTag","NumeralFormatter","numeralDecimalMark","numeralIntegerScale","numeralDecimalScale","numeralThousandsGroupStyle","numeralPositiveOnly","stripLeadingZeroes","prefix","signBeforePrefix","tailPrefix","delimiter","owner","groupStyle","thousand","delimiterRE","RegExp","lakh","wan","none","parts","partSign","partSignAndPrefix","partInteger","partDecimal","NumeralFormatter_1","DateFormatter","datePattern","dateMin","dateMax","blocks","x","parseInt","unshift","initBlocks","getISOFormatDate","addLeadingZero","getBlocks","getValidatedDate","sub","sub0","rest","getFixedDateString","dayIndex","monthIndex","yearIndex","dayStartIndex","monthStartIndex","yearStartIndex","fullYearDone","toLowerCase","getFixedDate","getRangeFixedDate","reduce","previous","current","addLeadingZeroForYear","isLeapYear","fullYearMode","DateFormatter_1","TimeFormatter","timePattern","timeFormat","time","getISOFormatTime","getTimeFormatOptions","maxHourFirstDigit","maxHours","maxMinutesFirstDigit","maxMinutes","getValidatedTime","timeFormatOptions","getFixedTimeString","second","secondIndex","minuteIndex","hourIndex","secondStartIndex","minuteStartIndex","hourStartIndex","getFixedTime","TimeFormatter_1","PhoneFormatter","setFormatter","phoneNumber","clear","iMax","inputDigit","charAt","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","noop","strip","getPostDelimiter","delimiters","matchedDelimiter","getDelimiterREByDelimiter","getNextCursorPosition","prevPos","getPositionOffset","oldRawValue","newRawValue","lengthOffset","stripDelimiters","letter","headStr","getMaxLength","getPrefixStrippedValue","prefixLength","prevResult","noImmediatePrefix","prevValue","getFirstDiffIndex","getFormattedValue","blocksLength","delimiterLazyShow","multipleDelimiters","currentDelimiter","fixPrefixCursor","appendix","len","checkFullSelection","selection","getSelection","ex","setSelection","element","position","doc","getActiveElement","createTextRange","range","move","console","parent","activeElement","shadowRoot","isAndroid","navigator","userAgent","isAndroidBackspaceKeydown","lastInputValue","currentInputValue","Util_1","DefaultProperties","opts","creditCard","creditCardStrictMode","creditCardType","onCreditCardTypeChanged","phone","phoneRegionCode","phoneFormatter","timeFormatter","dateFormatter","numeral","swapHiddenInput","numericOnly","uppercase","lowercase","rawValueTrimPrefix","copyDelimiter","initValue","delimiterLength","root","commonjsGlobal","backspace","DefaultProperties_1","Cleave","hasMultipleElements","querySelector","querySelectorAll","Error","properties","init","pps","isBackward","onChangeListener","onKeyDownListener","onKeyDown","onFocusListener","onFocus","onCutListener","onCut","onCopyListener","onCopy","initSwapHiddenInput","addEventListener","initPhoneFormatter","initDateFormatter","initTimeFormatter","initNumeralFormatter","inputFormatter","cloneNode","parentNode","insertBefore","elementSwapHidden","numeralFormatter","AsYouTypeFormatter","charCode","which","inputType","postDelimiter","postDelimiterBackspace","copyClipboardData","inputValue","textToCopy","clipboardData","setData","postDelimiterAfter","updateValueState","toUpperCase","updateCreditCardPropsByValue","creditCardInfo","endPos","callOnValueChanged","setPhoneRegionCode","removeEventListener","Cleave_1","escapeChar","firstCharCode","charCodeAt","char","BFormRow","BFormValidFeedback","INPUTS","INPUT_SELECTOR","v","join","LEGEND_INTERACTIVE_ELEMENTS","breakpoint","description","feedbackAriaLive","invalidFeedback","labelClass","labelFor","labelSize","labelSrOnly","validFeedback","ariaDescribedby","contentColProps","getColProps","$props","labelAlignClasses","getAlignClasses","labelColProps","isHorizontal","updateAriaDescribedby","propValue","identity","attr","newIds","oldIds","ids","array","onLegendClick","tagName","inputs","computedState","isFieldset","$label","labelContent","labelId","labelTag","for","$invalidFeedback","invalidFeedbackContent","invalidFeedbackId","$validFeedback","validFeedbackContent","validFeedbackId","$description","descriptionContent","descriptionId","isIntegralNumber","stat","BFormText","PLACEMENT_TOP_START","PLACEMENT_TOP_END","PLACEMENT_BOTTOM_START","PLACEMENT_BOTTOM_END","PLACEMENT_RIGHT_START","PLACEMENT_LEFT_START","clickOutMixin","listenForClickOut","clickOutElement","clickOutEventName","_clickOutHandler","beforeCreate","isClickOut","clickOutHandler","focusInMixin","listenForFocusIn","focusInElement","_focusInHandler","focusInHandler","ROOT_EVENT_NAME_SHOWN","ROOT_EVENT_NAME_HIDDEN","SELECTOR_FORM_CHILD","SELECTOR_ITEM","selector","els","boundary","dropleft","dropright","dropup","noFlip","popperOpts","dropdownMixin","provide","bvDropdown","inject","bvNavbar","visibleChangePrevented","inNavbar","toggler","directionClass","boundaryClass","eventName","bvEvent","menu","relatedTarget","componentId","emitEvent","$off","focusToggler","showMenu","hideMenu","$_popper","$_hideTimeout","whileOpenListen","destroyPopper","clearHideTimeout","createPopper","focusMenu","getPopperConfig","updatePopper","scheduleUpdate","_unused","placement","popperConfig","flip","enabled","boundariesElement","preventOverflow","isOpen","method","rootCloseListener","vm","hide","refocus","$once","_event","onMousedown","onKeydown","onEsc","onSplitClick","hideHandler","up","items","getItems","focusItem","POSITION_COVER","bgColor","fixed","noCenter","noFade","noWrap","overlayTag","rounded","spinnerSmall","spinnerType","spinnerVariant","variant","wrapTag","zIndex","computedRounded","computedVariant","defaultOverlayFn","small","$overlay","$background","backgroundColor","backdropFilter","transform","linkClass","inheritAttrs","bvAttrs","closeDropdown","formSizeMixin","collapseOpen","collapseClose","collapseItemID","updateVisible","_t","BCardHeader","isVisible","openOnHover","$parent","hover","BButton","className","loading","thisNumberValue","fails","un$ToFixed","pow","acc","log","x2","multiply","c2","divide","dataToString","FORCED","fractionDigits","z","j","k","fractDigits","sign","headerClass","headerBgVariant","headerBorderVariant","headerTextVariant","headerTag","$t","Pagination","collapseClasses","collapseID","border","shadow","margin","collapseVariants","formStateMixin","kCode","menuClass","noCaret","splitButtonType","splitClass","splitHref","splitTo","splitVariant","toggleClass","toggleTag","toggleText","dropdownClasses","menuClasses","toggleClasses","commonProps","$buttonChildren","buttonContentDomProps","hasNormalizedSlot","$split","btnProps","href","$toggle","mousedown","$menu","SELECTOR","autofocus","formControlMixin","handleAutofocus","pill","link","isObject","it","isFinite","getRandomValues","rnds8","Uint8Array","rng","crypto","msCrypto","uuid","byteToHex","substr","stringify","arr","TypeError","v4","buf","rnds","random","clearable","multiple","setSelected","isBrowser","timeoutDuration","longerTimeoutBrowsers","microtaskDebounce","called","Promise","resolve","taskDebounce","scheduled","supportsMicroTasks","isFunction","functionToCheck","getType","getStyleComputedProperty","property","nodeType","ownerDocument","defaultView","getComputedStyle","getParentNode","nodeName","host","getScrollParent","body","_getStyleComputedProp","overflowX","overflowY","getReferenceNode","reference","referenceNode","isIE11","MSInputMethodContext","documentMode","isIE10","isIE","version","getOffsetParent","documentElement","noOffsetParent","offsetParent","nextElementSibling","isOffsetContainer","firstElementChild","getRoot","node","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","createRange","setStart","setEnd","commonAncestorContainer","element1root","getScroll","side","upperSide","scrollingElement","includeScroll","rect","subtract","scrollTop","scrollLeft","modifier","getBordersSize","styles","axis","sideA","sideB","parseFloat","getSize","computedStyle","getWindowSizes","classCallCheck","instance","Constructor","createClass","descriptor","protoProps","staticProps","_extends","getClientRect","offsets","getBoundingClientRect","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","getOffsetRectRelativeToArbitraryNode","fixedPosition","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","getViewportOffsetRectRelativeToArtbitraryNode","excludeScroll","relativeOffset","innerWidth","innerHeight","isFixed","getFixedPositionOffsetParent","parentElement","getBoundaries","popper","padding","boundaries","boundariesNode","_getWindowSizes","isPaddingNumber","getArea","computeAutoPlacement","refRect","rects","sortedAreas","area","sort","b","filteredAreas","computedPlacement","variation","getReferenceOffsets","commonOffsetParent","getOuterSizes","marginBottom","y","marginRight","getOppositePlacement","hash","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","findIndex","cur","match","runModifiers","ends","modifiersToRun","update","isDestroyed","arrowStyles","attributes","flipped","positionFixed","originalPlacement","isCreated","onUpdate","onCreate","isModifierEnabled","modifierName","some","getSupportedPropertyName","prefixes","upperProp","toCheck","removeAttribute","willChange","disableEventListeners","removeOnDestroy","removeChild","getWindow","attachToScrollParents","scrollParents","isBody","passive","setupEventListeners","updateBound","scrollElement","eventsEnabled","enableEventListeners","removeEventListeners","cancelAnimationFrame","isNumeric","setStyles","unit","setAttributes","setAttribute","applyStyle","arrowElement","applyStyleOnLoad","modifierOptions","getRoundedOffsets","shouldRound","_data$offsets","round","noRound","referenceWidth","popperWidth","isVertical","isVariation","sameWidthParity","bothOddWidth","horizontalToInteger","verticalToInteger","isFirefox","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","devicePixelRatio","prefixedProperty","invertTop","invertLeft","arrow","isModifierRequired","requestingName","requestedName","requesting","isRequired","_requesting","requested","_data$offsets$arrow","sideCapitalized","altSide","opSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","getOppositeVariation","placements","validPlacements","clockwise","counter","BEHAVIORS","FLIP","CLOCKWISE","COUNTERCLOCKWISE","placementOpposite","flipOrder","behavior","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariationByRef","flipVariations","flippedVariationByContent","flipVariationsByContent","flippedVariation","keepTogether","toValue","parseOffset","basePlacement","useHeight","fragments","frag","divider","search","splitRegex","ops","op","mergeWithPrevious","index2","transformProp","popperStyles","priority","primary","escapeWithReference","secondary","shift","shiftvariation","shiftOffsets","bound","inner","subtractLength","onLoad","Defaults","Popper","requestAnimationFrame","jquery","Utils","PopperUtils"],"mappings":"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","file":"js/chunk-5d32c708.54140a4b.js","sourcesContent":["import { mapGetters } from 'vuex'\n\nexport const permissionMixin = {\n computed: {\n ...mapGetters({\n userData: 'auth/getCurrentUser',\n }),\n },\n methods: {\n getUserPermission(value) {\n return this.userData.permissions.includes(value)\n },\n },\n}\n\nexport const _ = null\n","import { Vue } from '../vue'; // @vue/component\n\nexport var formSelectionMixin = Vue.extend({\n computed: {\n selectionStart: {\n // Expose selectionStart for formatters, etc\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.selectionStart;\n },\n\n /* istanbul ignore next */\n set: function set(val) {\n this.$refs.input.selectionStart = val;\n }\n },\n selectionEnd: {\n // Expose selectionEnd for formatters, etc\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.selectionEnd;\n },\n\n /* istanbul ignore next */\n set: function set(val) {\n this.$refs.input.selectionEnd = val;\n }\n },\n selectionDirection: {\n // Expose selectionDirection for formatters, etc\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.selectionDirection;\n },\n\n /* istanbul ignore next */\n set: function set(val) {\n this.$refs.input.selectionDirection = val;\n }\n }\n },\n methods: {\n /* istanbul ignore next */\n select: function select() {\n var _this$$refs$input;\n\n // For external handler that may want a select() method\n (_this$$refs$input = this.$refs.input).select.apply(_this$$refs$input, arguments);\n },\n\n /* istanbul ignore next */\n setSelectionRange: function setSelectionRange() {\n var _this$$refs$input2;\n\n // For external handler that may want a setSelectionRange(a,b,c) method\n (_this$$refs$input2 = this.$refs.input).setSelectionRange.apply(_this$$refs$input2, arguments);\n },\n\n /* istanbul ignore next */\n setRangeText: function setRangeText() {\n var _this$$refs$input3;\n\n // For external handler that may want a setRangeText(a,b,c) method\n (_this$$refs$input3 = this.$refs.input).setRangeText.apply(_this$$refs$input3, arguments);\n }\n }\n});","export const toAmount = amount => (\n new Intl.NumberFormat('en-NG', {\n maximumFractionDigits: 2,\n minimumFractionDigits: 2,\n style: 'currency',\n currency: 'NGN',\n }).format(Number(amount))\n)\n\nexport const toKobo = value => (\n Number(((value) * 100).toFixed())\n)\n\nexport const toBalance = value => (\n Number.isInteger(Number(value)) ? toAmount(Number(value) / 100) : value\n)\n\nexport const toLedgerBalance = value => (\n toAmount(Number(value) * 100)\n)\n\nexport const formatAmount = value => (\n Number(value) / 100\n)\nexport const toFormatAmount = value => (\n (Number(value) / 100).toFixed(2).replace(/(\\d)(?=(\\d{3})+\\.)/g, '$1,')\n // (Number(value) / 100).toFixed(2).replace(/(\\d)(?=(\\d{3})+\\.)/g, '$1,').replace('.00', '')\n)\nexport const toFormatBalance = value => (\n (Number(value) / 100).toFixed(2)\n)\n\nexport const removeMoneyFormat = value => {\n let newText = value?.replace(/\\s/g, '').replace(/,/g, '')\n if (Number.isNaN(Number(value[0]))) {\n newText = newText.substring(1, newText.length)\n }\n return newText\n}\n\nexport const containsFormattedNumber = str => {\n if (str) {\n const regex = /\\b\\d{1,3}(,\\d{3})*\\.\\d{2}\\b/\n return regex.test(str)\n }\n return null\n}\nexport const removeCommas = str => {\n if (str) {\n return str.replace(/,/g, '')\n }\n return null\n}\n\nexport const datass = [\n {\n id: '7beeb1c6-12e7-eb11-82dc-0abb463f1216',\n name: 'DISBURSE_LOAN',\n description: 'Disburse Loan',\n groupName: 'Customer Account Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '4ceeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'CREATE_USER',\n description: 'Create User',\n groupName: 'User Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '4deeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'MODIFY_USER',\n description: 'Modify User',\n groupName: 'User Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '4eeeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'ACTIVATE_USER',\n description: 'Activate User',\n groupName: 'User Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '4feeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'DEACTIVATE_USER',\n description: 'Deactivate User',\n groupName: 'User Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '50eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'VIEW_USER',\n description: 'View User',\n groupName: 'User Management',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '51eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'CREATE_USER_ROLE',\n description: 'Create User Role',\n groupName: 'User Role Management',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '52eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'MODIFY_USER_ROLE',\n description: 'Modify User Role',\n groupName: 'User Role Management',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '53eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'ACTIVATE_USER_ROLE',\n description: 'Activate User Role',\n groupName: 'User Role Management',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '54eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'DEACTIVATE_USER_ROLE',\n description: 'Deactivate User Role',\n groupName: 'User Role Management',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '55eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'VIEW_USER_ROLE',\n description: 'View User Role',\n groupName: 'User Role Management',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '56eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'CREATE_BRANCH',\n description: 'Create Branch',\n groupName: 'Branch Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '57eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'MODIFY_BRANCH',\n description: 'Modify Branch',\n groupName: 'Branch Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '58eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'ACTIVATE_BRANCH',\n description: 'Activate Branch ',\n groupName: 'Branch Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: true,\n },\n {\n id: '59eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'DEACTIVATE_BRANCH',\n description: 'Deactivate Branch',\n groupName: 'Branch Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '5aeeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'VIEW_BRANCH',\n description: 'View Branch',\n groupName: 'Branch Management',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '5beeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'CREATE_REGION',\n description: 'Create Region',\n groupName: 'Region Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '5ceeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'MODIFY_REGION',\n description: 'Modify Region',\n groupName: 'Region Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '5deeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'ACTIVATE_REGION',\n description: 'Activate Region',\n groupName: 'Region Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '5eeeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'DEACTIVATE_REGION',\n description: 'Deactivate Region',\n groupName: 'Region Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '5feeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'VIEW_REGION',\n description: 'View Region',\n groupName: 'Region Management',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '60eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'MODIFY_SYSTEM_SETUP',\n description: 'Modify System Setup',\n groupName: 'System Setup',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '61eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'VIEW_SYSTEM_SETUP',\n description: 'View System Setup',\n groupName: 'System Setup',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '62eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'CREATE_LIEN',\n description: 'Create Lien',\n groupName: 'Lien Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '63eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'MODIFY_LIEN',\n description: 'Modify Lien',\n groupName: 'Lien Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '64eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'ACTIVATE_LIEN',\n description: 'Activate Lien',\n groupName: 'Lien Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '65eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'DEACTIVATE_LIEN',\n description: 'Deactivate Lien',\n groupName: 'Lien Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '66eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'VIEW_LIEN',\n description: 'View Lien',\n groupName: 'Lien Management',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '67eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'OPEN_CLOSE_BRANCH',\n description: 'Open/Close Branch',\n groupName: 'Business Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '68eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'OPEN_CLOSE_BUSINESS',\n description: 'Open/Close Business',\n groupName: 'Business Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '69eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'OPEN_CLOSE_BUSINESS_HISTORY',\n description: 'Open/Close Business History',\n groupName: 'Business Management',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '6aeeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'AUDIT_TRAIL',\n description: 'Audit Trail',\n groupName: 'Audit Trail Management',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '6beeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'CREATE_APPROVAL_SETUP',\n description: 'Create Approval Setup',\n groupName: 'Approval Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '6ceeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'MODIFY_APPROVAL_SETUP',\n description: 'Modify Approval Setup',\n groupName: 'Approval Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '6deeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'VIEW_APPROVAL_SETUP',\n description: 'View Approval Setups',\n groupName: 'Approval Management',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '6eeeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'CREATE_BUSINESS_AUTOMATION',\n description: 'Create Business Automation',\n groupName: 'Business Automation Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '6feeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'MODIFY_BUSINESS_AUTOMATION',\n description: 'Modify Business Automation',\n groupName: 'Business Automation Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '70eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'ACTIVATE_BUSINESS_AUTOMATION',\n description: 'Activate Business Automation',\n groupName: 'Business Automation Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '71eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'DEACTIVATE_BUSINESS_AUTOMATION',\n description: 'Deactivate Business Automation',\n groupName: 'Business Automation Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '72eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'VIEW_BUSINESS_AUTOMATION',\n description: 'View Business Automation',\n groupName: 'Business Automation Management',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '73eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'CREATE_SAVING_CURRENT_ACCOUNT',\n description: 'Create Saving/Current Account',\n groupName: 'Customer Account Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '74eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'MODIFY_SAVING_CURRENT_ACCOUNT',\n description: 'Modify Saving/Current Account',\n groupName: 'Customer Account Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '75eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'ACTIVATE_SAVING_CURRENT_ACCOUNT',\n description: 'Activate Saving/Current Account',\n groupName: 'Customer Account Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '76eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'DEACTIVATE_SAVING_CURRENT_ACCOUNT',\n description: 'Deactivate Saving/Current Account',\n groupName: 'Customer Account Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '77eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'VIEW_SAVING_CURRENT_ACCOUNT',\n description: 'View Saving/Current Account',\n groupName: 'Customer Account Management',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '78eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'VIEW_CUSTOMER_ACCOUNT_BALANCE',\n description: 'View Customer Account Balance',\n groupName: 'Customer Account Management',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '79eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'CLOSE_CUSTOMER_ACCOUNT',\n description: 'Customer Account Closure',\n groupName: 'Customer Account Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '7aeeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'VIEW_CLOSED_ACCOUNTS',\n description: 'View Closed Accounts',\n groupName: 'Customer Account Management',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '7beeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'CREATE_LOAN_ACCOUNT',\n description: 'Create Loan Account',\n groupName: 'Customer Account Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '7ceeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'MODIFY_LOAN_ACCOUNT',\n description: 'Modify Loan Account',\n groupName: 'Customer Account Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '7deeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'VIEW_LOAN_ACCOUNT',\n description: 'View Loan Account',\n groupName: 'Customer Account Management',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '7eeeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'CREATE_FIXED_DEPOSIT_ACCOUNT',\n description: 'Create Fixed Deposit Account',\n groupName: 'Customer Account Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '7feeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'MODIFY_FIXED_DEPOSIT_ACCOUNT',\n description: 'Modify Fixed Deposit Account',\n groupName: 'Customer Account Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '80eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'LIQUIDATE_FIXED_DEPOSIT_ACCOUNT',\n description: 'Liquidate Fixed Deposit Account',\n groupName: 'Customer Account Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '81eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'VIEW_FIXED_DEPOSIT_ACCOUNT',\n description: 'View Fixed Deposit Account',\n groupName: 'Customer Account Management',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '82eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'CREATE_OVERDRAFT',\n description: 'Create Overdraft',\n groupName: 'Overdraft',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '83eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'MODIFY_OVERDRAFT',\n description: 'Modify Overdraft',\n groupName: 'Overdraft',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '84eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'VIEW_OVERDRAFT',\n description: 'View Overdraft Accounts',\n groupName: 'Overdraft',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '85eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'ACTIVATE_OVERDRAFT',\n description: 'Activate Overdraft',\n groupName: 'Overdraft',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '86eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'DEACTIVATE_OVERDRAFT',\n description: 'Deactivate Overdraft',\n groupName: 'Overdraft',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '87eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'CREATE_GENERAL_LEDGER',\n description: 'Create General Ledger',\n groupName: 'General Ledger Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '88eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'MODIFY_GENERAL_LEDGER',\n description: 'Modify General Ledger',\n groupName: 'General Ledger Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '89eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'VIEW_GENERAL_LEDGER',\n description: 'View General Ledger',\n groupName: 'General Ledger Management',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '8aeeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'ACTIVATE_GENERAL_LEDGER',\n description: 'Activate General Ledger',\n groupName: 'General Ledger Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '8beeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'DEACTIVATE_GENERAL_LEDGER',\n description: 'Deactivate General Ledger ',\n groupName: 'General Ledger Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '8ceeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'CREATE_COT_FEE',\n description: 'Create COT Fee',\n groupName: 'Fee Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '8deeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'MODIFY_COT_FEE',\n description: 'Modify COT Fee',\n groupName: 'Fee Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '8eeeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'VIEW_COT_FEE',\n description: 'View COT Fee',\n groupName: 'Fee Management',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '8feeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'ACTIVATE_COT_FEE',\n description: 'Activate COT Fee',\n groupName: 'Fee Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '90eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'DEACTIVATE_COT_FEE',\n description: 'Deactivate COT Fee',\n groupName: 'Fee Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '91eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'CREATE_OVERDRAFT_FEE',\n description: 'Create Overdraft Fee',\n groupName: 'Fee Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '92eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'MODIFY_OVERDRAFT_FEE',\n description: 'Modify Overdraft Fee',\n groupName: 'Fee Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '93eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'VIEW_OVERDRAFT_FEE',\n description: 'View Overdraft Fee',\n groupName: 'Fee Management',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '94eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'ACTIVATE_OVERDRAFT_FEE',\n description: 'Activate Overdraft Fee',\n groupName: 'Fee Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '95eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'DEACTIVATE_OVERDRAFT_FEE',\n description: 'Deactivate Overdraft Fee',\n groupName: 'Fee Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '96eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'CREATE_LOAN_FEE',\n description: 'Create Loan Fee',\n groupName: 'Fee Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '97eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'MODIFY_LOAN_FEE',\n description: 'Modify Loan Fee',\n groupName: 'Fee Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '98eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'VIEW_LOAN_FEE',\n description: 'View Loan Fee',\n groupName: 'Fee Management',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '99eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'ACTIVATE_LOAN_FEE',\n description: 'Activate Loan Fee',\n groupName: 'Fee Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '9aeeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'DEACTIVATE_LOAN_FEE',\n description: 'Deactivate Loan Fee',\n groupName: 'Fee Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '9beeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'CREATE_INTEREST',\n description: 'Create Interest',\n groupName: 'Interest Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '9ceeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'MODIFY_INTEREST',\n description: 'Modify Interest',\n groupName: 'Interest Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '9deeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'VIEW_INTEREST',\n description: 'View Interest',\n groupName: 'Interest Management',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '9eeeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'ACTIVATE_INTEREST',\n description: 'Activate Interest',\n groupName: 'Interest Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '9feeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'DEACTIVATE_INTEREST',\n description: 'Deactivate Interest',\n groupName: 'Interest Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'a0eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'CREATE_CHARGE',\n description: 'Create Charge',\n groupName: 'Charge Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'a1eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'MODIFY_CHARGE',\n description: 'Modify Charge',\n groupName: 'Charge Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'a2eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'VIEW_CHARGE',\n description: 'View Charge',\n groupName: 'Charge Management',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'a3eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'ACTIVATE_CHARGE',\n description: 'Activate Charge',\n groupName: 'Charge Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'a4eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'DEACTIVATE_CHARGE',\n description: 'Deactivate Charge',\n groupName: 'Charge Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'a5eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'CREATE_INDIVIDUAL_CUSTOMER',\n description: 'Create Individual Customer',\n groupName: 'Customer Information Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'a6eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'MODIFY_INDIVIDUAL_CUSTOMER',\n description: 'Modify Individual Customer',\n groupName: 'Customer Information Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'a7eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'VIEW_INDIVIDUAL_CUSTOMER',\n description: 'View Individual Customer',\n groupName: 'Customer Information Management',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'a8eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'ACTIVATE_INDIVIDUAL_CUSTOMER',\n description: 'Activate Individual Customer',\n groupName: 'Customer Information Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'a9eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'DEACTIVATE_INDIVIDUAL_CUSTOMER',\n description: 'Deactivate Individual Customer',\n groupName: 'Customer Information Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'aaeeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'CREATE_GROUP_CUSTOMER',\n description: 'Create Group Customer',\n groupName: 'Customer Information Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'abeeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'MODIFY_GROUP_CUSTOMER',\n description: 'Modify Group Customer',\n groupName: 'Customer Information Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'aceeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'VIEW_GROUP_CUSTOMER',\n description: 'View Group Customer',\n groupName: 'Customer Information Management',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'adeeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'ACTIVATE_GROUP_CUSTOMER',\n description: 'Activate Group Customer',\n groupName: 'Customer Information Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'aeeeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'DEACTIVATE_GROUP_CUSTOMER',\n description: 'Deactivate Group Customer',\n groupName: 'Customer Information Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'afeeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'CREATE_CORPORATE_CUSTOMER',\n description: 'Create Corporate Customer',\n groupName: 'Customer Information Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'b0eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'MODIFY_CORPORATE_CUSTOMER',\n description: 'Modify Corporate Customer',\n groupName: 'Customer Information Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'b1eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'VIEW_CORPORATE_CUSTOMER',\n description: 'View Corporate Customer',\n groupName: 'Customer Information Management',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'b2eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'ACTIVATE_CORPORATE_CUSTOMER',\n description: 'Activate Corporate Customer',\n groupName: 'Customer Information Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'b3eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'DEACTIVATE_CORPORATE_CUSTOMER',\n description: 'Deactivate Corporate Customer',\n groupName: 'Customer Information Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'b4eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'CREATE_SAVING_CURRENT_PRODUCT',\n description: 'Create Saving/Current Product',\n groupName: 'Product Manangement',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'b5eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'MODIFY_SAVING_CURRENT_PRODUCT',\n description: 'Modify Saving/Current Product',\n groupName: 'Product Manangement',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'b6eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'VIEW_SAVING_CURRENT_PRODUCT',\n description: 'View Saving/Current Product',\n groupName: 'Product Manangement',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'b7eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'ACTIVATE_SAVING_CURRENT_PRODUCT',\n description: 'Activate Saving/Current Product',\n groupName: 'Product Manangement',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'b8eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'DEACTIVATE_SAVING_CURRENT_PRODUCT',\n description: 'Deactivate Saving/Current Product',\n groupName: 'Product Manangement',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'b9eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'CREATE_LOAN_PRODUCT',\n description: 'Create Loan Product',\n groupName: 'Product Manangement',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'baeeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'MODIFY_LOAN_PRODUCT',\n description: 'Modify Loan Product',\n groupName: 'Product Manangement',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'bbeeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'VIEW_LOAN_PRODUCT',\n description: 'View Loan Product',\n groupName: 'Product Manangement',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'bceeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'ACTIVATE_LOAN_PRODUCT',\n description: 'Activate Loan Product',\n groupName: 'Product Manangement',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'bdeeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'DEACTIVATE_LOAN_PRODUCT',\n description: 'Deactivate Loan Product',\n groupName: 'Product Manangement',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'beeeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'CREATE_FIXED_DEPOSIT_PRODUCT',\n description: 'Create Loan Product',\n groupName: 'Product Manangement',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'bfeeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'MODIFY_FIXED_DEPOSIT_PRODUCT',\n description: 'Modify Loan Product',\n groupName: 'Product Manangement',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'c0eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'VIEW_FIXED_DEPOSIT_PRODUCT',\n description: 'View Loan Product',\n groupName: 'Product Manangement',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'c1eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'ACTIVATE_FIXED_DEPOSIT_PRODUCT',\n description: 'Activate Loan Product',\n groupName: 'Product Manangement',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'c2eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'DEACTIVATE_FIXED_DEPOSIT_PRODUCT',\n description: 'Deactivate Loan Product',\n groupName: 'Product Manangement',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'c3eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'CREATE_ACCOUNT_OFFICER',\n description: 'Create Account Officer',\n groupName: 'Account Officer Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'c4eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'MODIFY_ACCOUNT_OFFICER',\n description: 'Modify Account Officer',\n groupName: 'Account Officer Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'c5eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'VIEW_ACCOUNT_OFFICER',\n description: 'View Account Officer',\n groupName: 'Account Officer Management',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'c6eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'ACTIVATE_ACCOUNT_OFFICER',\n description: 'Activate Account Officer',\n groupName: 'Account Officer Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'c7eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'DEACTIVATE_ACCOUNT_OFFICER',\n description: 'Deactivate Account Officer',\n groupName: 'Account Officer Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'c8eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'CASH_DEPOSIT_POSTING',\n description: 'Cash Deposit Posting',\n groupName: 'Posting Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'c9eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'VIEW_CASH_DEPOSIT_POSTING_LIST',\n description: 'View Cash Deposits Posting',\n groupName: 'Posting Management',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'caeeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'CASH_WITHDRAWAL_POSTING',\n description: 'Cash Withdrawal Posting',\n groupName: 'Posting Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'cbeeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'VIEW_CASH_WITHDRAWAL_POSTING_LIST',\n description: 'View Cash Withdrawal Posting',\n groupName: 'Posting Management',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'cceeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'LOCAL_FUNDS_TRANSFER_POSTING',\n description: 'Local Funds Transfer Posting',\n groupName: 'Posting Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'cdeeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'VIEW_LOCAL_FUNDS_TRANSFER_POSTING',\n description: 'View Local Funds Transfer Posting',\n groupName: 'Posting Management',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'ceeeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'SINGLE_JOURNAL_POSTING',\n description: 'Single Journal Posting',\n groupName: 'Posting Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'cfeeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'VIEW_SINGLE_JOURNAL_POSTING',\n description: 'View Single Posting',\n groupName: 'Posting Management',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'd0eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'BATCH_JOURNAL_POSTING',\n description: 'Batch Journal Posting',\n groupName: 'Posting Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'd1eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'VIEW_BATCH_JOURNAL_POSTING',\n description: 'View Batch Journal Posting',\n groupName: 'Posting Management',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'd2eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'SINGLE_JOURNAL_TO_CUSTOMER_POSTING',\n description: 'Single Journal to Customer Posting',\n groupName: 'Posting Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'd3eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'VIEW_SINGLE_JOURNAL_TO_CUSTOMER_POSTING',\n description: 'View Single Journal to Customer Posting',\n groupName: 'Posting Management',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'd4eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'BATCH_JOURNAL_TO_CUSTOMER_POSTING',\n description: 'Batch Journal to Customer Posting',\n groupName: 'Posting Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'd5eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'VIEW_BATCH_JOURNAL_TO_CUSTOMER_POSTING',\n description: 'View Batch Journal to Customer Posting',\n groupName: 'Posting Management',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'd6eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'BATCH_JOURNAL_UPLOAD_POSTING',\n description: 'Batch Journal Upload Posting',\n groupName: 'Posting Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'd7eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'VIEW_BATCH_JOURNAL_UPLOAD_POSTING',\n description: 'View Batch Journal Upload Posting',\n groupName: 'Posting Management',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'd8eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'BUY_CASH_POSTING',\n description: 'Buy Cash Posting',\n groupName: 'Posting Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'd9eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'VIEW_BUY_CASH_POSTING',\n description: 'View Buy Cash Posting',\n groupName: 'Posting Management',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'daeeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'SELL_CASH_POSTING',\n description: 'Sell Cash Posting',\n groupName: 'Posting Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'dbeeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'VIEW_SELL_CASH_POSTING',\n description: 'View Sell Cash Posting',\n groupName: 'Posting Management',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'dceeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'REVERSAL_POSTING',\n description: 'Reversal Posting',\n groupName: 'Posting Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'ddeeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'VIEW_REVERSAL_POSTING',\n description: 'View Reversal Posting',\n groupName: 'Posting Management',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'deeeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'CHEQUE_WITHDRAWAL_POSTING',\n description: 'Cheque Withdrawal Posting',\n groupName: 'Posting Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'dfeeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'VIEW_CHEQUE_WITHDRAWAL_POSTING',\n description: 'View Cheque Withdrawal Posting',\n groupName: 'Posting Management',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'e0eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'LOCAL_CHEQUE_DEPOSIT_POSTING',\n description: 'Local Cheque Deposit Posting',\n groupName: 'Posting Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'e1eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'VIEW_LOCAL_CHEQUE_DEPOSIT_POSTING',\n description: 'View Local Cheque Deposit Posting',\n groupName: 'Posting Management',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'e2eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'OUTWARD_CHEQUE_DEPOSIT_POSTING',\n description: 'Outward Cheque Deposit Posting',\n groupName: 'Posting Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'e3eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'VIEW_OUTWARD_CHEQUE_DEPOSIT_POSTING',\n description: 'View Outward Cheque Deposit Posting',\n groupName: 'Posting Management',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'e4eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'TELLER_TO_TELLER_POSTING',\n description: 'Teller to Teller Posting',\n groupName: 'Posting Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'e5eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'VIEW_TELLER_TO_TELLER_POSTING',\n description: 'View Teller to Teller Posting',\n groupName: 'Posting Management',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'e6eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'CREATE_ACCOUNT_CATEGORY',\n description: 'Create Account Category',\n groupName: 'Account Category Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'e7eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'MODIFY_ACCOUNT_CATEGORY',\n description: 'Modify Account Category',\n groupName: 'Account Category Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'e8eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'VIEW_ACCOUNT_CATEGORY',\n description: 'View Account Category',\n groupName: 'Account Category Management',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'e9eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'ACTIVATE_ACCOUNT_CATEGORY',\n description: 'Activate Account Category',\n groupName: 'Account Category Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'eaeeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'DEACTIVATE_ACCOUNT_CATEGORY',\n description: 'Deactivate Account Category',\n groupName: 'Account Category Management',\n isApprovable: true,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'ebeeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'VIEW_CHART_OF_ACCOUNT_REPORT',\n description: 'View Chart of Account',\n groupName: 'Financial Reporting Management',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'eceeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'EXPORT_CHART_OF_ACCOUNT_REPORT',\n description: 'Export Chart of Account',\n groupName: 'Financial Reporting Management',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'edeeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'VIEW_TRIAL_BALANCE_REPORT',\n description: 'View Trial Balance Report',\n groupName: 'Financial Reporting Management',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'eeeeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'EXPORT_TRIAL_BALANCE_REPORT',\n description: 'Export Trial Balance Report',\n groupName: 'Financial Reporting Management',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'efeeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'VIEW_PROFIT_OR_LOSS_REPORT',\n description: 'View Profit or Loss Report',\n groupName: 'Financial Reporting Management',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'f0eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'EXPORT_PROFIT_OR_LOSS_REPORT',\n description: 'Export Profit or Loss Report',\n groupName: 'Financial Reporting Management',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'f1eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'VIEW_BALANCE_SHEET_REPORT',\n description: 'View Balance Sheet Report',\n groupName: 'Financial Reporting Management',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'f2eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'EXPORT_BALANCE_SHEET_REPORT',\n description: 'Export Balance Sheet Report',\n groupName: 'Financial Reporting Management',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'f3eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'GL_CLOSING_BALANCE_HISTORY_REPORT',\n description: 'GL Closing Balance History ',\n groupName: 'Management Information System',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'f4eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'CUSTOMER_CLOSING_BALANCE_HISTORY_REPORT',\n description: 'Customer Closing Balance History',\n groupName: 'Management Information System',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'f5eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'TOTAL_DEPOSIT_LIABILITY_REPORT',\n description: 'Total Deposit Liability Report',\n groupName: 'Management Information System',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'f6eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'EXPORT_TOTAL_DEPOSIT_LIABILITY_REPORT',\n description: 'Export Total Deposit Liability Report',\n groupName: 'Management Information System',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'f7eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'TOTAL_OVERDRAWN_ACCOUNT_REPORT',\n description: 'Total Overdrawn Account Report',\n groupName: 'Management Information System',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'f8eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'EXPORT_OVERDRAWN_ACCOUNT_REPORT',\n description: 'Export Overdrawn Account Report',\n groupName: 'Management Information System',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'f9eeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'MANAGE_CLEARING_CHEQUES',\n description: 'Manage Clearing Cheques',\n groupName: 'Management Information System',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'faeeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'TRANSACTION_CALLOVER_REPORT',\n description: 'View Transaction Callover Report',\n groupName: 'Operational Reports',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'fbeeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'EXPORT_TRANSACTION_CALLOVER_REPORT',\n description: 'Export Transaction Callover Report',\n groupName: 'Operational Reports',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'fceeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'END_OF_DAY_TRANSACTION_REPORT',\n description: 'View End of Day Transaction Report',\n groupName: 'Operational Reports',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'fdeeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'EXPORT_END_OF_DAY_TRANSACTION_REPORT',\n description: 'Export End of Day Transaction Report',\n groupName: 'Operational Reports',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'feeeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'TOTAL_DEPOSIT_TRANSACTION_REPORT',\n description: 'Veiw Total Deposit Transaction Report',\n groupName: 'Operational Reports',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'ffeeb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'EXPORT_TOTAL_DEPOSIT_TRANSACTION_REPORT',\n description: 'Export Total Deposit Transaction Report',\n groupName: 'Operational Reports',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '00efb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'TOTAL_CASH_WITHDRAWAL_REPORT',\n description: 'View Total Cash Withdrawal Report',\n groupName: 'Operational Reports',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '01efb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'EXPORT_TOTAL_CASH_WITHDRAWAL_REPORT',\n description: 'Export Total Cash Withdrawal Report',\n groupName: 'Operational Reports',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '02efb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'TELLER_TILL_REPORT',\n description: \"View Teller's Till Report\",\n groupName: 'Operational Reports',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '03efb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'EXPORT_TELLER_TILL_REPORT',\n description: \"Export Teller's Till Report\",\n groupName: 'Operational Reports',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '04efb1c6-12e7-eb11-82dc-0abb469f1216',\n name: 'CHECK_MY_TILL_SUMMARY',\n description: 'Check My Till Summary',\n groupName: 'Transaction Reporting',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '87bcf41f-b034-ec11-82dc-0abb469f1216',\n name: 'VIEW_PENALTY',\n description: 'View Penalties',\n groupName: 'Penalty Management',\n isApprovable: false,\n dateCreated: '2021-10-23T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'fe460738-b034-ec11-82dc-0abb469f1216',\n name: 'CREATE_PENALTY',\n description: 'Create Penalties',\n groupName: 'Penalty Management',\n isApprovable: true,\n dateCreated: '2021-10-23T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '9f21aa4c-b034-ec11-82dc-0abb469f1216',\n name: 'MODIFY_PENALTY',\n description: 'Modify Penalties',\n groupName: 'Penalty Management',\n isApprovable: true,\n dateCreated: '2021-10-23T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '243b6160-b034-ec11-82dc-0abb469f1216',\n name: 'ACTIVATE_PENALTY',\n description: 'Activate Penalties',\n groupName: 'Penalty Management',\n isApprovable: true,\n dateCreated: '2021-10-23T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '0316ce6e-b034-ec11-82dc-0abb469f1216',\n name: 'DEACTIVATE_PENALTY',\n description: 'Deactivate Penalties',\n groupName: 'Penalty Management',\n isApprovable: true,\n dateCreated: '2021-10-23T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '1173b523-5458-ec11-82dc-0abb469f1216',\n name: 'BATCH_ACCOUNT_UPLOAD',\n description: 'Batch Account Upload',\n groupName: 'Data Upload',\n isApprovable: true,\n dateCreated: '2021-12-08T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '7e29c63b-5458-ec11-82dc-0abb469f1216',\n name: 'BATCH_LOAN_UPLOAD',\n description: 'Batch Loan Upload',\n groupName: 'Data Upload',\n isApprovable: true,\n dateCreated: '2021-12-08T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'd31b2ed1-bd4b-4110-bbdf-17e5b46adceb',\n name: 'OVERDRAFT_REPORT',\n description: 'View Overdraft Report',\n groupName: 'Credit & Loan Reports',\n isApprovable: false,\n dateCreated: '2022-03-10T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'c365cb95-c7cb-47d0-b603-1b051a65fede',\n name: 'VIEW_EXECUTIVE_DASHBOARD',\n description: 'Executive Dashboard',\n groupName: 'Dashboard Reports',\n isApprovable: false,\n dateCreated: '2022-04-10T10:38:52.5366667',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '05f505cc-edd5-4f37-b128-2878ec5e9f73',\n name: 'EXPORT_OVERDRAFT_REPORT',\n description: 'Export Overdraft Report',\n groupName: 'Credit & Loan Reports',\n isApprovable: false,\n dateCreated: '2022-03-10T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'cd6028ef-8433-4106-8037-29e1e6178fd1',\n name: 'EXPORT_DEPOSITS_BALANCE_REPORT',\n description: 'Export Deposits Balance Report',\n groupName: 'Operational Reports',\n isApprovable: false,\n dateCreated: '2022-03-10T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '9a7770a9-4b00-48c1-bd7f-2b415f38fdc9',\n name: 'EXPORT_LOAN_REPAYMENT_REPORT',\n description: 'Export Loan Repayment Report',\n groupName: 'Credit & Loan Reports',\n isApprovable: false,\n dateCreated: '2022-03-10T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'b4a0471f-f31c-4157-bf9a-319bd2ec47b5',\n name: 'ACCOUNT_BALANCE_MOVEMENT_REPORT',\n description: 'View Account Balance Movement Report',\n groupName: 'Operational Reports',\n isApprovable: false,\n dateCreated: '2022-03-10T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'be5987a6-f271-4be9-a97b-32c63475b0aa',\n name: 'EXPORT_DAILY_TILL_BALANCE_REPORT',\n description: 'Export Daily Till Balance Report',\n groupName: 'Operational Reports',\n isApprovable: false,\n dateCreated: '2022-03-10T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '12befcd4-0442-43c9-aede-354c27bb11d4',\n name: 'VIEW_BASIC_DASHBOARD',\n description: 'General Dashboard',\n groupName: 'Dashboard Reports',\n isApprovable: false,\n dateCreated: '2022-04-10T10:39:45.64',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'ac2655e9-dbe8-4ea3-970c-4d4e0fd6c4cf',\n name: 'GL_HISTORY_REPORT',\n description: 'View GL History Report',\n groupName: 'Operational Reports',\n isApprovable: false,\n dateCreated: '2022-03-10T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '25baf72b-994a-43c4-9cec-4f295ca58c8f',\n name: 'FIXED_DEPOSITS_REPORT',\n description: 'View Fixed Deposits Report',\n groupName: 'Operational Reports',\n isApprovable: false,\n dateCreated: '2022-03-10T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '5b638862-bed2-4213-9916-5706bb967197',\n name: 'EXPORT_GL_HISTORY_REPORT',\n description: 'Export GL History Report',\n groupName: 'Operational Reports',\n isApprovable: false,\n dateCreated: '2022-03-10T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '6de7eaee-673a-437c-9482-6b5eb9bc37e7',\n name: 'EXPORT_LOANS_AND_ADVANCES_REPORT',\n description: 'Export Loan & Advances Report',\n groupName: 'Credit & Loan Reports',\n isApprovable: false,\n dateCreated: '2022-03-10T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '8efc1e0e-3840-4b9f-b0f8-6dafca2c2bfd',\n name: 'DAILY_TILL_BALANCE_REPORT',\n description: 'View Daily Till Balance Report',\n groupName: 'Operational Reports',\n isApprovable: false,\n dateCreated: '2022-03-10T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'e6f4c79d-4a41-44f2-a4fb-75acc1d93242',\n name: 'EXPORT_LOAN_TRACKING_REPORT',\n description: 'Export Loan Tracking Report',\n groupName: 'Credit & Loan Reports',\n isApprovable: false,\n dateCreated: '2022-03-10T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '49c8b404-88aa-416f-a288-7b5ba7f34aa7',\n name: 'LOAN_AND_ADVANCES_REPORT',\n description: 'View Loan & Advances Report',\n groupName: 'Credit & Loan Reports',\n isApprovable: false,\n dateCreated: '2022-03-10T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '689d8a0f-b498-455f-898b-98ac40f7fb1d',\n name: 'ACCOUNT_BALANCE_REPORT',\n description: 'View Account Balance Report',\n groupName: 'Operational Reports',\n isApprovable: false,\n dateCreated: '2022-03-10T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'ff99b473-f376-4341-ae20-9f124410e8ea',\n name: 'EXPORT_ACCOUNT_BALANCE_REPORT',\n description: 'Export Account Balance Report',\n groupName: 'Operational Reports',\n isApprovable: false,\n dateCreated: '2022-03-10T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '76dcd111-5de5-44ef-8935-b543f9260ed1',\n name: 'LOAN_TRACKING_REPORT',\n description: 'View Loan Tracking Report',\n groupName: 'Credit & Loan Reports',\n isApprovable: false,\n dateCreated: '2022-03-10T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '389250d3-32b1-48ee-8c6a-bc477131a44f',\n name: 'EXPORT_ACCOUNT_HISTORY_REPORT',\n description: 'Export Account History Report',\n groupName: 'Operational Reports',\n isApprovable: false,\n dateCreated: '2022-03-10T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '510f6c04-8189-4978-99f3-d80a065085a8',\n name: 'DEPOSITS_BALANCE_REPORT',\n description: 'View Deposits Balance Report',\n groupName: 'Operational Reports',\n isApprovable: false,\n dateCreated: '2022-03-10T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'b7792915-d6e2-4bc0-b9c2-d84161d594c8',\n name: 'EXPORT_ACCOUNT_BALANCE_MOVEMENT_REPORT',\n description: 'Export Account Balance Movement Report',\n groupName: 'Operational Reports',\n isApprovable: false,\n dateCreated: '2022-03-10T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '67b3677e-e6ea-46d1-ae78-d8dea0608345',\n name: 'EXPORT_FIXED_DEPOSITS_REPORT',\n description: 'Export Fixed Deposit Report',\n groupName: 'Operational Reports',\n isApprovable: false,\n dateCreated: '2022-03-10T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'f93f68d8-84d2-4f80-88d0-ea5480fb8395',\n name: 'RESET_PASSWORD',\n description: 'Reset Password',\n groupName: 'User Management',\n isApprovable: false,\n dateCreated: '2021-07-16T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: 'bffc0306-167d-49d8-9932-f3b482759f04',\n name: 'LOAN_REPAYMENT_REPORT',\n description: 'View Loan Repayment Report',\n groupName: 'Credit & Loan Reports',\n isApprovable: false,\n dateCreated: '2022-03-10T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n {\n id: '4446315f-9ac3-422d-8527-f589fad1342d',\n name: 'ACCOUNT_HISTORY_REPORT',\n description: 'View Account History Report',\n groupName: 'Operational Reports',\n isApprovable: false,\n dateCreated: '2022-03-10T00:00:00',\n dateLastModified: null,\n hasApprovalConfigured: false,\n },\n]\n","export const tableMixins = {\n data() {\n return {\n isBusy: false,\n showSpinner: false,\n sortDesc: false,\n searchQuery: '',\n statusFilter: '',\n perPage: 10,\n pageSize: 0,\n currentPage: 1,\n perPageOptions: [10, 25, 50, 100],\n totalCount: 0,\n statusOptions: [\n 'Active',\n 'Inactive',\n ],\n approvalTotalCount: 0,\n approvalPerPage: 10,\n approvalPageSize: 0,\n approvalCurrentPage: 1,\n }\n },\n computed: {\n totalEntries() {\n return this.totalCount\n },\n numberOfPages() {\n return Math.floor((this.totalEntries + this.perPage - 1) / this.perPage)\n },\n from() {\n if (this.totalCount === 0) {\n return 0\n }\n return (this.currentPage * this.perPage) - (this.perPage - 1)\n },\n to() {\n return Math.min(this.from + this.perPage - 1, this.totalEntries)\n },\n approvalTotalEntries() {\n return this.approvalTotalCount\n },\n approvalNumberOfPages() {\n return Math.floor((this.approvalTotalCount + this.approvalPerPage - 1) / this.approvalPerPage)\n },\n approvalFom() {\n if (this.approvalTotalCount === 0) {\n return 0\n }\n return (this.approvalCurrentPage * this.approvalPerPage) - (this.approvalPerPage - 1)\n },\n approvalTo() {\n return Math.min(this.approvalFom + this.approvalPerPage - 1, this.approvalTotalCount)\n },\n },\n methods: {\n variantColor(status) {\n return status === 'Active' ? 'light-success' : 'light-secondary'\n },\n getOverallIndex(index) {\n return (this.currentPage * this.perPage) - this.perPage + index + 1\n },\n },\n}\n\nexport const _ = null\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('label',[_vm._v(\"Show\")]),_c('v-select',{staticClass:\"per-page-selector d-inline-block ml-50 mr-1\",attrs:{\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"options\":_vm.options,\"value\":_vm.value,\"clearable\":false},model:{value:(_vm.perPage),callback:function ($$v) {_vm.perPage=$$v},expression:\"perPage\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n Show\n \n \n\n\n\n\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableEntries.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableEntries.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TableEntries.vue?vue&type=template&id=bcfccc92&scoped=true&\"\nimport script from \"./TableEntries.vue?vue&type=script&lang=js&\"\nexport * from \"./TableEntries.vue?vue&type=script&lang=js&\"\nimport style0 from \"./TableEntries.vue?vue&type=style&index=0&lang=scss&\"\nimport style1 from \"./TableEntries.vue?vue&type=style&index=1&id=bcfccc92&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 \"bcfccc92\",\n null\n \n)\n\nexport default component.exports","// https://github.com/tc39/proposal-string-pad-start-end\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar $repeat = require('../internals/string-repeat');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar repeat = uncurryThis($repeat);\nvar stringSlice = uncurryThis(''.slice);\nvar ceil = Math.ceil;\n\n// `String.prototype.{ padStart, padEnd }` methods implementation\nvar createMethod = function (IS_END) {\n return function ($this, maxLength, fillString) {\n var S = toString(requireObjectCoercible($this));\n var intMaxLength = toLength(maxLength);\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : toString(fillString);\n var fillLen, stringFiller;\n if (intMaxLength <= stringLength || fillStr == '') return S;\n fillLen = intMaxLength - stringLength;\n stringFiller = repeat(fillStr, ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen) stringFiller = stringSlice(stringFiller, 0, fillLen);\n return IS_END ? S + stringFiller : stringFiller + S;\n };\n};\n\nmodule.exports = {\n // `String.prototype.padStart` method\n // https://tc39.es/ecma262/#sec-string.prototype.padstart\n start: createMethod(false),\n // `String.prototype.padEnd` method\n // https://tc39.es/ecma262/#sec-string.prototype.padend\n end: createMethod(true)\n};\n","const getStatusColor = status => {\n const statusColor = {\n Open: 'light-success',\n AwaitingOpen: 'light-info',\n Processing: 'light-info',\n EODComplete: 'light-success',\n AutomaticallyOpen: 'light-success',\n loanStatus: 'light-success',\n Yes: 'light-success',\n Active: 'light-success',\n Paid: 'light-success',\n Completed: 'light-success',\n InActive: 'light-secondary',\n Closed: 'light-secondary',\n Close: 'light-secondary',\n AwaitingEOD: 'light-secondary',\n AutomaticallyClosed: 'light-secondary',\n Inactive: 'light-secondary',\n No: 'light-secondary',\n Pending: 'light-pending',\n Enabled: 'light-success',\n Disabled: 'light-secondary',\n Expired: 'light-danger',\n Approved: 'light-success',\n Declined: 'light-danger',\n AwaitingNextReviewer: 'light-info',\n Canceled: 'light-secondary',\n ReworkRequired: 'light-secondary',\n Defaulting: 'light-pending',\n\n FullyPaid: 'light-success',\n PartiallyPaid: 'light-pending',\n NotYetDue: 'light-secondary',\n DueAndUnpaid: 'light-danger',\n EarlyTermination: 'light-success',\n\n AutoCleared: 'light-success',\n ManuallyCleared: 'light-success',\n Returned: 'light-danger',\n Uncleared: 'light-pending',\n\n Reversed: 'light-secondary',\n Failed: 'light-danger',\n Processed: 'light-success',\n PendingTSQ: 'light-pending',\n Successful: 'light-success',\n Issued: 'light-success',\n NotIssued: 'light-secondary',\n Linked: 'light-success',\n Unlinked: 'light-secondary',\n Generated: 'light-pending',\n Blocked: 'light-danger',\n Hotlisted: 'light-secondary',\n NEW: 'light-success',\n PENDING_PROCESSING: 'light-pending',\n CONFIRMED: 'light-success',\n AWAITING_SERVICE_PROVIDER: 'light-info',\n EXPIRED: 'light-danger',\n FAILED: 'light-danger',\n REVERSED: 'light-secondary',\n STAGED_FOR_REVERSAL: 'light-secondary',\n Submitted: 'light-success',\n Uploaded: 'light-success',\n Draft: 'light-pending',\n NoFileFound: 'light-pending',\n }\n return statusColor[status]\n}\n\nexport default getStatusColor\n","export const heightFade = {\n /* eslint-disable no-param-reassign */\n inserted(el, binding) {\n const height = `${el.offsetHeight}px`\n\n if (binding.modifiers.appear) {\n el.style.overflow = 'hidden'\n el.style.maxHeight = '0px'\n el.style.opacity = 0\n\n // Focus the element\n setTimeout(() => {\n el.style.maxHeight = height\n el.style.opacity = 1\n setTimeout(() => {\n el.style.overflow = 'unset'\n }, 300)\n }, 100)\n } else {\n el.style.maxHeight = height\n }\n },\n unbind(el) {\n if (el.style === undefined) return\n el.style.overflow = 'hidden'\n el.style.maxHeight = '0px'\n el.style.opacity = 0\n },\n /* eslint-enable no-param-reassign */\n}\n\nexport const temp = 2\n","'use strict';\nvar global = require('../internals/global');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar RangeError = global.RangeError;\n\n// `String.prototype.repeat` method implementation\n// https://tc39.es/ecma262/#sec-string.prototype.repeat\nmodule.exports = function repeat(count) {\n var str = toString(requireObjectCoercible(this));\n var result = '';\n var n = toIntegerOrInfinity(count);\n if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions');\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;\n return result;\n};\n","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});","import { Vue } from '../vue'; // @vue/component\n\nexport var formValidityMixin = Vue.extend({\n computed: {\n validity: {\n // Expose validity property\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.validity;\n }\n },\n validationMessage: {\n // Expose validationMessage property\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.validationMessage;\n }\n },\n willValidate: {\n // Expose willValidate property\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.willValidate;\n }\n }\n },\n methods: {\n /* istanbul ignore next */\n setCustomValidity: function setCustomValidity() {\n var _this$$refs$input;\n\n // For external handler that may want a setCustomValidity(...) method\n return (_this$$refs$input = this.$refs.input).setCustomValidity.apply(_this$$refs$input, arguments);\n },\n\n /* istanbul ignore next */\n checkValidity: function checkValidity() {\n var _this$$refs$input2;\n\n // For external handler that may want a checkValidity(...) method\n return (_this$$refs$input2 = this.$refs.input).checkValidity.apply(_this$$refs$input2, arguments);\n },\n\n /* istanbul ignore next */\n reportValidity: function reportValidity() {\n var _this$$refs$input3;\n\n // For external handler that may want a reportValidity(...) method\n return (_this$$refs$input3 = this.$refs.input).reportValidity.apply(_this$$refs$input3, arguments);\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_FOOTER } from '../../constants/components';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { htmlOrText } from '../../utils/html';\nimport { sortKeys } from '../../utils/object';\nimport { copyProps, makeProp, makePropsConfigurable, prefixPropName } from '../../utils/props';\nimport { props as BCardProps } from '../../mixins/card'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, copyProps(BCardProps, prefixPropName.bind(null, 'footer'))), {}, {\n footer: makeProp(PROP_TYPE_STRING),\n footerClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n footerHtml: makeProp(PROP_TYPE_STRING)\n})), NAME_CARD_FOOTER); // --- Main component ---\n// @vue/component\n\nexport var BCardFooter = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_FOOTER,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _ref2;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var footerBgVariant = props.footerBgVariant,\n footerBorderVariant = props.footerBorderVariant,\n footerTextVariant = props.footerTextVariant;\n return h(props.footerTag, mergeData(data, {\n staticClass: 'card-footer',\n class: [props.footerClass, (_ref2 = {}, _defineProperty(_ref2, \"bg-\".concat(footerBgVariant), footerBgVariant), _defineProperty(_ref2, \"border-\".concat(footerBorderVariant), footerBorderVariant), _defineProperty(_ref2, \"text-\".concat(footerTextVariant), footerTextVariant), _ref2)],\n domProps: children ? {} : htmlOrText(props.footerHtml, props.footer)\n }), children);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_IMG } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN } from '../../constants/props';\nimport { pick, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { props as BImgProps } from '../image/img'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, pick(BImgProps, ['src', 'alt', 'width', 'height', 'left', 'right'])), {}, {\n bottom: makeProp(PROP_TYPE_BOOLEAN, false),\n end: makeProp(PROP_TYPE_BOOLEAN, false),\n start: makeProp(PROP_TYPE_BOOLEAN, false),\n top: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_CARD_IMG); // --- Main component ---\n// @vue/component\n\nexport var BCardImg = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_IMG,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data;\n var src = props.src,\n alt = props.alt,\n width = props.width,\n height = props.height;\n var baseClass = 'card-img';\n\n if (props.top) {\n baseClass += '-top';\n } else if (props.right || props.end) {\n baseClass += '-right';\n } else if (props.bottom) {\n baseClass += '-bottom';\n } else if (props.left || props.start) {\n baseClass += '-left';\n }\n\n return h('img', mergeData(data, {\n class: baseClass,\n attrs: {\n src: src,\n alt: alt,\n width: width,\n height: height\n }\n }));\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_CARD } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_DEFAULT, SLOT_NAME_FOOTER, SLOT_NAME_HEADER } from '../../constants/slots';\nimport { htmlOrText } from '../../utils/html';\nimport { hasNormalizedSlot, normalizeSlot } from '../../utils/normalize-slot';\nimport { sortKeys } from '../../utils/object';\nimport { copyProps, makeProp, makePropsConfigurable, pluckProps, prefixPropName, unprefixPropName } from '../../utils/props';\nimport { props as cardProps } from '../../mixins/card';\nimport { BCardBody, props as BCardBodyProps } from './card-body';\nimport { BCardHeader, props as BCardHeaderProps } from './card-header';\nimport { BCardFooter, props as BCardFooterProps } from './card-footer';\nimport { BCardImg, props as BCardImgProps } from './card-img'; // --- Props ---\n\nvar cardImgProps = copyProps(BCardImgProps, prefixPropName.bind(null, 'img'));\ncardImgProps.imgSrc.required = false;\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, BCardBodyProps), BCardHeaderProps), BCardFooterProps), cardImgProps), cardProps), {}, {\n align: makeProp(PROP_TYPE_STRING),\n noBody: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_CARD); // --- Main component ---\n// @vue/component\n\nexport var BCard = /*#__PURE__*/Vue.extend({\n name: NAME_CARD,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots,\n scopedSlots = _ref.scopedSlots;\n var imgSrc = props.imgSrc,\n imgLeft = props.imgLeft,\n imgRight = props.imgRight,\n imgStart = props.imgStart,\n imgEnd = props.imgEnd,\n imgBottom = props.imgBottom,\n header = props.header,\n headerHtml = props.headerHtml,\n footer = props.footer,\n footerHtml = props.footerHtml,\n align = props.align,\n textVariant = props.textVariant,\n bgVariant = props.bgVariant,\n borderVariant = props.borderVariant;\n var $scopedSlots = scopedSlots || {};\n var $slots = slots();\n var slotScope = {};\n var $imgFirst = h();\n var $imgLast = h();\n\n if (imgSrc) {\n var $img = h(BCardImg, {\n props: pluckProps(cardImgProps, props, unprefixPropName.bind(null, 'img'))\n });\n\n if (imgBottom) {\n $imgLast = $img;\n } else {\n $imgFirst = $img;\n }\n }\n\n var $header = h();\n var hasHeaderSlot = hasNormalizedSlot(SLOT_NAME_HEADER, $scopedSlots, $slots);\n\n if (hasHeaderSlot || header || headerHtml) {\n $header = h(BCardHeader, {\n props: pluckProps(BCardHeaderProps, props),\n domProps: hasHeaderSlot ? {} : htmlOrText(headerHtml, header)\n }, normalizeSlot(SLOT_NAME_HEADER, slotScope, $scopedSlots, $slots));\n }\n\n var $content = normalizeSlot(SLOT_NAME_DEFAULT, slotScope, $scopedSlots, $slots); // Wrap content in `` when `noBody` prop set\n\n if (!props.noBody) {\n $content = h(BCardBody, {\n props: pluckProps(BCardBodyProps, props)\n }, $content); // When the `overlap` prop is set we need to wrap the `` and ``\n // into a relative positioned wrapper to don't distract a potential header or footer\n\n if (props.overlay && imgSrc) {\n $content = h('div', {\n staticClass: 'position-relative'\n }, [$imgFirst, $content, $imgLast]); // Reset image variables since they are already in the wrapper\n\n $imgFirst = h();\n $imgLast = h();\n }\n }\n\n var $footer = h();\n var hasFooterSlot = hasNormalizedSlot(SLOT_NAME_FOOTER, $scopedSlots, $slots);\n\n if (hasFooterSlot || footer || footerHtml) {\n $footer = h(BCardFooter, {\n props: pluckProps(BCardFooterProps, props),\n domProps: hasHeaderSlot ? {} : htmlOrText(footerHtml, footer)\n }, normalizeSlot(SLOT_NAME_FOOTER, slotScope, $scopedSlots, $slots));\n }\n\n return h(props.tag, mergeData(data, {\n staticClass: 'card',\n class: (_class = {\n 'flex-row': imgLeft || imgStart,\n 'flex-row-reverse': (imgRight || imgEnd) && !(imgLeft || imgStart)\n }, _defineProperty(_class, \"text-\".concat(align), align), _defineProperty(_class, \"bg-\".concat(bgVariant), bgVariant), _defineProperty(_class, \"border-\".concat(borderVariant), borderVariant), _defineProperty(_class, \"text-\".concat(textVariant), textVariant), _class)\n }), [$imgFirst, $header, $content, $footer, $imgLast]);\n }\n});","!function(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 0 ? false : null,\"step\":_vm.step,\"onpaste\":_vm.onpaste,\"formatter\":_vm.formatter,\"autocomplete\":\"off\",\"on-mousedown\":_vm.disableCopyPaste},on:{\"change\":_vm.onChange,\"input\":_vm.onInput,\"blur\":_vm.onBlur},nativeOn:{\"keypress\":function($event){return _vm.handleKeyPress.apply(null, arguments)},\"keydown\":function($event){return _vm.disableCopyPaste.apply(null, arguments)}},model:{value:(_vm.innerValue),callback:function ($$v) {_vm.innerValue=$$v},expression:\"innerValue\"}}),(_vm.text)?_c('p',{staticClass:\"ml-1\"},[_vm._v(\"\\n \"+_vm._s(_vm.text)+\"\\n \")]):_vm._e(),_c('feather-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showIcon),expression:\"showIcon\"}],staticClass:\"cursor-pointer ml-1\",attrs:{\"icon\":_vm.icon,\"size\":_vm.iconSize},on:{\"click\":_vm.onClick}})],1),_c('small',{staticClass:\"text-danger error-text\"},[_vm._v(_vm._s(errors[0]))])]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n {{ label }} \n \n \n 0 ? false : null\"\n :step=\"step\"\n :onpaste=\"onpaste\"\n :formatter=\"formatter\"\n autocomplete=\"off\"\n :on-mousedown=\"disableCopyPaste\"\n @change=\"onChange\"\n @input=\"onInput\"\n @blur=\"onBlur\"\n @keypress.native=\"handleKeyPress\"\n @keydown.native=\"disableCopyPaste\"\n />\n \n {{ text }}\n \n \n \n\n {{ errors[0] }}\n \n \n \n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputField.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputField.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./InputField.vue?vue&type=template&id=c26398c2&scoped=true&\"\nimport script from \"./InputField.vue?vue&type=script&lang=js&\"\nexport * from \"./InputField.vue?vue&type=script&lang=js&\"\nimport style0 from \"./InputField.vue?vue&type=style&index=0&id=c26398c2&scoped=true&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 \"c26398c2\",\n null\n \n)\n\nexport default component.exports","var _watch;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../vue';\nimport { NAME_PAGINATION } from '../constants/components';\nimport { CODE_DOWN, CODE_LEFT, CODE_RIGHT, CODE_SPACE, CODE_UP } from '../constants/key-codes';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_NUMBER_STRING, PROP_TYPE_FUNCTION_STRING, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../constants/props';\nimport { SLOT_NAME_ELLIPSIS_TEXT, SLOT_NAME_FIRST_TEXT, SLOT_NAME_LAST_TEXT, SLOT_NAME_NEXT_TEXT, SLOT_NAME_PAGE, SLOT_NAME_PREV_TEXT } from '../constants/slots';\nimport { createArray } from '../utils/array';\nimport { attemptFocus, getActiveElement, getAttr, isDisabled, isVisible, selectAll } from '../utils/dom';\nimport { stopEvent } from '../utils/events';\nimport { isFunction, isNull } from '../utils/inspect';\nimport { mathFloor, mathMax, mathMin } from '../utils/math';\nimport { makeModelMixin } from '../utils/model';\nimport { toInteger } from '../utils/number';\nimport { sortKeys } from '../utils/object';\nimport { hasPropFunction, makeProp, makePropsConfigurable } from '../utils/props';\nimport { toString } from '../utils/string';\nimport { warn } from '../utils/warn';\nimport { normalizeSlotMixin } from '../mixins/normalize-slot';\nimport { BLink } from '../components/link/link'; // Common props, computed, data, render function, and methods\n// for `` and ``\n// --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('value', {\n type: PROP_TYPE_BOOLEAN_NUMBER_STRING,\n defaultValue: null,\n\n /* istanbul ignore next */\n validator: function validator(value) {\n if (!isNull(value) && toInteger(value, 0) < 1) {\n warn('\"v-model\" value must be a number greater than \"0\"', NAME_PAGINATION);\n return false;\n }\n\n return true;\n }\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event;\n\nexport { MODEL_PROP_NAME, MODEL_EVENT_NAME }; // Threshold of limit size when we start/stop showing ellipsis\n\nvar ELLIPSIS_THRESHOLD = 3; // Default # of buttons limit\n\nvar DEFAULT_LIMIT = 5; // --- Helper methods ---\n// Make an array of N to N+X\n\nvar makePageArray = function makePageArray(startNumber, numberOfPages) {\n return createArray(numberOfPages, function (_, i) {\n return {\n number: startNumber + i,\n classes: null\n };\n });\n}; // Sanitize the provided limit value (converting to a number)\n\n\nvar sanitizeLimit = function sanitizeLimit(value) {\n var limit = toInteger(value) || 1;\n return limit < 1 ? DEFAULT_LIMIT : limit;\n}; // Sanitize the provided current page number (converting to a number)\n\n\nvar sanitizeCurrentPage = function sanitizeCurrentPage(val, numberOfPages) {\n var page = toInteger(val) || 1;\n return page > numberOfPages ? numberOfPages : page < 1 ? 1 : page;\n}; // Links don't normally respond to SPACE, so we add that\n// functionality via this handler\n\n\nvar onSpaceKey = function onSpaceKey(event) {\n if (event.keyCode === CODE_SPACE) {\n // Stop page from scrolling\n stopEvent(event, {\n immediatePropagation: true\n }); // Trigger the click event on the link\n\n event.currentTarget.click();\n return false;\n }\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, modelProps), {}, {\n align: makeProp(PROP_TYPE_STRING, 'left'),\n ariaLabel: makeProp(PROP_TYPE_STRING, 'Pagination'),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n ellipsisClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n ellipsisText: makeProp(PROP_TYPE_STRING, \"\\u2026\"),\n // '…'\n firstClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n firstNumber: makeProp(PROP_TYPE_BOOLEAN, false),\n firstText: makeProp(PROP_TYPE_STRING, \"\\xAB\"),\n // '«'\n hideEllipsis: makeProp(PROP_TYPE_BOOLEAN, false),\n hideGotoEndButtons: makeProp(PROP_TYPE_BOOLEAN, false),\n labelFirstPage: makeProp(PROP_TYPE_STRING, 'Go to first page'),\n labelLastPage: makeProp(PROP_TYPE_STRING, 'Go to last page'),\n labelNextPage: makeProp(PROP_TYPE_STRING, 'Go to next page'),\n labelPage: makeProp(PROP_TYPE_FUNCTION_STRING, 'Go to page'),\n labelPrevPage: makeProp(PROP_TYPE_STRING, 'Go to previous page'),\n lastClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n lastNumber: makeProp(PROP_TYPE_BOOLEAN, false),\n lastText: makeProp(PROP_TYPE_STRING, \"\\xBB\"),\n // '»'\n limit: makeProp(PROP_TYPE_NUMBER_STRING, DEFAULT_LIMIT,\n /* istanbul ignore next */\n function (value) {\n if (toInteger(value, 0) < 1) {\n warn('Prop \"limit\" must be a number greater than \"0\"', NAME_PAGINATION);\n return false;\n }\n\n return true;\n }),\n nextClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n nextText: makeProp(PROP_TYPE_STRING, \"\\u203A\"),\n // '›'\n pageClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n pills: makeProp(PROP_TYPE_BOOLEAN, false),\n prevClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n prevText: makeProp(PROP_TYPE_STRING, \"\\u2039\"),\n // '‹'\n size: makeProp(PROP_TYPE_STRING)\n})), 'pagination'); // --- Mixin ---\n// @vue/component\n\nexport var paginationMixin = Vue.extend({\n mixins: [modelMixin, normalizeSlotMixin],\n props: props,\n data: function data() {\n // `-1` signifies no page initially selected\n var currentPage = toInteger(this[MODEL_PROP_NAME], 0);\n currentPage = currentPage > 0 ? currentPage : -1;\n return {\n currentPage: currentPage,\n localNumberOfPages: 1,\n localLimit: DEFAULT_LIMIT\n };\n },\n computed: {\n btnSize: function btnSize() {\n var size = this.size;\n return size ? \"pagination-\".concat(size) : '';\n },\n alignment: function alignment() {\n var align = this.align;\n\n if (align === 'center') {\n return 'justify-content-center';\n } else if (align === 'end' || align === 'right') {\n return 'justify-content-end';\n } else if (align === 'fill') {\n // The page-items will also have 'flex-fill' added\n // We add text centering to make the button appearance better in fill mode\n return 'text-center';\n }\n\n return '';\n },\n styleClass: function styleClass() {\n return this.pills ? 'b-pagination-pills' : '';\n },\n computedCurrentPage: function computedCurrentPage() {\n return sanitizeCurrentPage(this.currentPage, this.localNumberOfPages);\n },\n paginationParams: function paginationParams() {\n // Determine if we should show the the ellipsis\n var limit = this.localLimit,\n numberOfPages = this.localNumberOfPages,\n currentPage = this.computedCurrentPage,\n hideEllipsis = this.hideEllipsis,\n firstNumber = this.firstNumber,\n lastNumber = this.lastNumber;\n var showFirstDots = false;\n var showLastDots = false;\n var numberOfLinks = limit;\n var startNumber = 1;\n\n if (numberOfPages <= limit) {\n // Special case: Less pages available than the limit of displayed pages\n numberOfLinks = numberOfPages;\n } else if (currentPage < limit - 1 && limit > ELLIPSIS_THRESHOLD) {\n if (!hideEllipsis || lastNumber) {\n showLastDots = true;\n numberOfLinks = limit - (firstNumber ? 0 : 1);\n }\n\n numberOfLinks = mathMin(numberOfLinks, limit);\n } else if (numberOfPages - currentPage + 2 < limit && limit > ELLIPSIS_THRESHOLD) {\n if (!hideEllipsis || firstNumber) {\n showFirstDots = true;\n numberOfLinks = limit - (lastNumber ? 0 : 1);\n }\n\n startNumber = numberOfPages - numberOfLinks + 1;\n } else {\n // We are somewhere in the middle of the page list\n if (limit > ELLIPSIS_THRESHOLD) {\n numberOfLinks = limit - (hideEllipsis ? 0 : 2);\n showFirstDots = !!(!hideEllipsis || firstNumber);\n showLastDots = !!(!hideEllipsis || lastNumber);\n }\n\n startNumber = currentPage - mathFloor(numberOfLinks / 2);\n } // Sanity checks\n\n /* istanbul ignore if */\n\n\n if (startNumber < 1) {\n startNumber = 1;\n showFirstDots = false;\n } else if (startNumber > numberOfPages - numberOfLinks) {\n startNumber = numberOfPages - numberOfLinks + 1;\n showLastDots = false;\n }\n\n if (showFirstDots && firstNumber && startNumber < 4) {\n numberOfLinks = numberOfLinks + 2;\n startNumber = 1;\n showFirstDots = false;\n }\n\n var lastPageNumber = startNumber + numberOfLinks - 1;\n\n if (showLastDots && lastNumber && lastPageNumber > numberOfPages - 3) {\n numberOfLinks = numberOfLinks + (lastPageNumber === numberOfPages - 2 ? 2 : 3);\n showLastDots = false;\n } // Special handling for lower limits (where ellipsis are never shown)\n\n\n if (limit <= ELLIPSIS_THRESHOLD) {\n if (firstNumber && startNumber === 1) {\n numberOfLinks = mathMin(numberOfLinks + 1, numberOfPages, limit + 1);\n } else if (lastNumber && numberOfPages === startNumber + numberOfLinks - 1) {\n startNumber = mathMax(startNumber - 1, 1);\n numberOfLinks = mathMin(numberOfPages - startNumber + 1, numberOfPages, limit + 1);\n }\n }\n\n numberOfLinks = mathMin(numberOfLinks, numberOfPages - startNumber + 1);\n return {\n showFirstDots: showFirstDots,\n showLastDots: showLastDots,\n numberOfLinks: numberOfLinks,\n startNumber: startNumber\n };\n },\n pageList: function pageList() {\n // Generates the pageList array\n var _this$paginationParam = this.paginationParams,\n numberOfLinks = _this$paginationParam.numberOfLinks,\n startNumber = _this$paginationParam.startNumber;\n var currentPage = this.computedCurrentPage; // Generate list of page numbers\n\n var pages = makePageArray(startNumber, numberOfLinks); // We limit to a total of 3 page buttons on XS screens\n // So add classes to page links to hide them for XS breakpoint\n // Note: Ellipsis will also be hidden on XS screens\n // TODO: Make this visual limit configurable based on breakpoint(s)\n\n if (pages.length > 3) {\n var idx = currentPage - startNumber; // THe following is a bootstrap-vue custom utility class\n\n var classes = 'bv-d-xs-down-none';\n\n if (idx === 0) {\n // Keep leftmost 3 buttons visible when current page is first page\n for (var i = 3; i < pages.length; i++) {\n pages[i].classes = classes;\n }\n } else if (idx === pages.length - 1) {\n // Keep rightmost 3 buttons visible when current page is last page\n for (var _i = 0; _i < pages.length - 3; _i++) {\n pages[_i].classes = classes;\n }\n } else {\n // Hide all except current page, current page - 1 and current page + 1\n for (var _i2 = 0; _i2 < idx - 1; _i2++) {\n // hide some left button(s)\n pages[_i2].classes = classes;\n }\n\n for (var _i3 = pages.length - 1; _i3 > idx + 1; _i3--) {\n // hide some right button(s)\n pages[_i3].classes = classes;\n }\n }\n }\n\n return pages;\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function (newValue, oldValue) {\n if (newValue !== oldValue) {\n this.currentPage = sanitizeCurrentPage(newValue, this.localNumberOfPages);\n }\n }), _defineProperty(_watch, \"currentPage\", function currentPage(newValue, oldValue) {\n if (newValue !== oldValue) {\n // Emit `null` if no page selected\n this.$emit(MODEL_EVENT_NAME, newValue > 0 ? newValue : null);\n }\n }), _defineProperty(_watch, \"limit\", function limit(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.localLimit = sanitizeLimit(newValue);\n }\n }), _watch),\n created: function created() {\n var _this = this;\n\n // Set our default values in data\n this.localLimit = sanitizeLimit(this.limit);\n this.$nextTick(function () {\n // Sanity check\n _this.currentPage = _this.currentPage > _this.localNumberOfPages ? _this.localNumberOfPages : _this.currentPage;\n });\n },\n methods: {\n handleKeyNav: function handleKeyNav(event) {\n var keyCode = event.keyCode,\n shiftKey = event.shiftKey;\n /* istanbul ignore if */\n\n if (this.isNav) {\n // We disable left/right keyboard navigation in ``\n return;\n }\n\n if (keyCode === CODE_LEFT || keyCode === CODE_UP) {\n stopEvent(event, {\n propagation: false\n });\n shiftKey ? this.focusFirst() : this.focusPrev();\n } else if (keyCode === CODE_RIGHT || keyCode === CODE_DOWN) {\n stopEvent(event, {\n propagation: false\n });\n shiftKey ? this.focusLast() : this.focusNext();\n }\n },\n getButtons: function getButtons() {\n // Return only buttons that are visible\n return selectAll('button.page-link, a.page-link', this.$el).filter(function (btn) {\n return isVisible(btn);\n });\n },\n focusCurrent: function focusCurrent() {\n var _this2 = this;\n\n // We do this in `$nextTick()` to ensure buttons have finished rendering\n this.$nextTick(function () {\n var btn = _this2.getButtons().find(function (el) {\n return toInteger(getAttr(el, 'aria-posinset'), 0) === _this2.computedCurrentPage;\n });\n\n if (!attemptFocus(btn)) {\n // Fallback if current page is not in button list\n _this2.focusFirst();\n }\n });\n },\n focusFirst: function focusFirst() {\n var _this3 = this;\n\n // We do this in `$nextTick()` to ensure buttons have finished rendering\n this.$nextTick(function () {\n var btn = _this3.getButtons().find(function (el) {\n return !isDisabled(el);\n });\n\n attemptFocus(btn);\n });\n },\n focusLast: function focusLast() {\n var _this4 = this;\n\n // We do this in `$nextTick()` to ensure buttons have finished rendering\n this.$nextTick(function () {\n var btn = _this4.getButtons().reverse().find(function (el) {\n return !isDisabled(el);\n });\n\n attemptFocus(btn);\n });\n },\n focusPrev: function focusPrev() {\n var _this5 = this;\n\n // We do this in `$nextTick()` to ensure buttons have finished rendering\n this.$nextTick(function () {\n var buttons = _this5.getButtons();\n\n var index = buttons.indexOf(getActiveElement());\n\n if (index > 0 && !isDisabled(buttons[index - 1])) {\n attemptFocus(buttons[index - 1]);\n }\n });\n },\n focusNext: function focusNext() {\n var _this6 = this;\n\n // We do this in `$nextTick()` to ensure buttons have finished rendering\n this.$nextTick(function () {\n var buttons = _this6.getButtons();\n\n var index = buttons.indexOf(getActiveElement());\n\n if (index < buttons.length - 1 && !isDisabled(buttons[index + 1])) {\n attemptFocus(buttons[index + 1]);\n }\n });\n }\n },\n render: function render(h) {\n var _this7 = this;\n\n var disabled = this.disabled,\n labelPage = this.labelPage,\n ariaLabel = this.ariaLabel,\n isNav = this.isNav,\n numberOfPages = this.localNumberOfPages,\n currentPage = this.computedCurrentPage;\n var pageNumbers = this.pageList.map(function (p) {\n return p.number;\n });\n var _this$paginationParam2 = this.paginationParams,\n showFirstDots = _this$paginationParam2.showFirstDots,\n showLastDots = _this$paginationParam2.showLastDots;\n var fill = this.align === 'fill';\n var $buttons = []; // Helper function and flag\n\n var isActivePage = function isActivePage(pageNumber) {\n return pageNumber === currentPage;\n };\n\n var noCurrentPage = this.currentPage < 1; // Factory function for prev/next/first/last buttons\n\n var makeEndBtn = function makeEndBtn(linkTo, ariaLabel, btnSlot, btnText, btnClass, pageTest, key) {\n var isDisabled = disabled || isActivePage(pageTest) || noCurrentPage || linkTo < 1 || linkTo > numberOfPages;\n var pageNumber = linkTo < 1 ? 1 : linkTo > numberOfPages ? numberOfPages : linkTo;\n var scope = {\n disabled: isDisabled,\n page: pageNumber,\n index: pageNumber - 1\n };\n var $btnContent = _this7.normalizeSlot(btnSlot, scope) || toString(btnText) || h();\n var $inner = h(isDisabled ? 'span' : isNav ? BLink : 'button', {\n staticClass: 'page-link',\n class: {\n 'flex-grow-1': !isNav && !isDisabled && fill\n },\n props: isDisabled || !isNav ? {} : _this7.linkProps(linkTo),\n attrs: {\n role: isNav ? null : 'menuitem',\n type: isNav || isDisabled ? null : 'button',\n tabindex: isDisabled || isNav ? null : '-1',\n 'aria-label': ariaLabel,\n 'aria-controls': _this7.ariaControls || null,\n 'aria-disabled': isDisabled ? 'true' : null\n },\n on: isDisabled ? {} : {\n '!click': function click(event) {\n _this7.onClick(event, linkTo);\n },\n keydown: onSpaceKey\n }\n }, [$btnContent]);\n return h('li', {\n key: key,\n staticClass: 'page-item',\n class: [{\n disabled: isDisabled,\n 'flex-fill': fill,\n 'd-flex': fill && !isNav && !isDisabled\n }, btnClass],\n attrs: {\n role: isNav ? null : 'presentation',\n 'aria-hidden': isDisabled ? 'true' : null\n }\n }, [$inner]);\n }; // Ellipsis factory\n\n\n var makeEllipsis = function makeEllipsis(isLast) {\n return h('li', {\n staticClass: 'page-item',\n class: ['disabled', 'bv-d-xs-down-none', fill ? 'flex-fill' : '', _this7.ellipsisClass],\n attrs: {\n role: 'separator'\n },\n key: \"ellipsis-\".concat(isLast ? 'last' : 'first')\n }, [h('span', {\n staticClass: 'page-link'\n }, [_this7.normalizeSlot(SLOT_NAME_ELLIPSIS_TEXT) || toString(_this7.ellipsisText) || h()])]);\n }; // Page button factory\n\n\n var makePageButton = function makePageButton(page, idx) {\n var pageNumber = page.number;\n var active = isActivePage(pageNumber) && !noCurrentPage; // Active page will have tabindex of 0, or if no current page and first page button\n\n var tabIndex = disabled ? null : active || noCurrentPage && idx === 0 ? '0' : '-1';\n var attrs = {\n role: isNav ? null : 'menuitemradio',\n type: isNav || disabled ? null : 'button',\n 'aria-disabled': disabled ? 'true' : null,\n 'aria-controls': _this7.ariaControls || null,\n 'aria-label': hasPropFunction(labelPage) ?\n /* istanbul ignore next */\n labelPage(pageNumber) : \"\".concat(isFunction(labelPage) ? labelPage() : labelPage, \" \").concat(pageNumber),\n 'aria-checked': isNav ? null : active ? 'true' : 'false',\n 'aria-current': isNav && active ? 'page' : null,\n 'aria-posinset': isNav ? null : pageNumber,\n 'aria-setsize': isNav ? null : numberOfPages,\n // ARIA \"roving tabindex\" method (except in `isNav` mode)\n tabindex: isNav ? null : tabIndex\n };\n var btnContent = toString(_this7.makePage(pageNumber));\n var scope = {\n page: pageNumber,\n index: pageNumber - 1,\n content: btnContent,\n active: active,\n disabled: disabled\n };\n var $inner = h(disabled ? 'span' : isNav ? BLink : 'button', {\n props: disabled || !isNav ? {} : _this7.linkProps(pageNumber),\n staticClass: 'page-link',\n class: {\n 'flex-grow-1': !isNav && !disabled && fill\n },\n attrs: attrs,\n on: disabled ? {} : {\n '!click': function click(event) {\n _this7.onClick(event, pageNumber);\n },\n keydown: onSpaceKey\n }\n }, [_this7.normalizeSlot(SLOT_NAME_PAGE, scope) || btnContent]);\n return h('li', {\n staticClass: 'page-item',\n class: [{\n disabled: disabled,\n active: active,\n 'flex-fill': fill,\n 'd-flex': fill && !isNav && !disabled\n }, page.classes, _this7.pageClass],\n attrs: {\n role: isNav ? null : 'presentation'\n },\n key: \"page-\".concat(pageNumber)\n }, [$inner]);\n }; // Goto first page button\n // Don't render button when `hideGotoEndButtons` or `firstNumber` is set\n\n\n var $firstPageBtn = h();\n\n if (!this.firstNumber && !this.hideGotoEndButtons) {\n $firstPageBtn = makeEndBtn(1, this.labelFirstPage, SLOT_NAME_FIRST_TEXT, this.firstText, this.firstClass, 1, 'pagination-goto-first');\n }\n\n $buttons.push($firstPageBtn); // Goto previous page button\n\n $buttons.push(makeEndBtn(currentPage - 1, this.labelPrevPage, SLOT_NAME_PREV_TEXT, this.prevText, this.prevClass, 1, 'pagination-goto-prev')); // Show first (1) button?\n\n $buttons.push(this.firstNumber && pageNumbers[0] !== 1 ? makePageButton({\n number: 1\n }, 0) : h()); // First ellipsis\n\n $buttons.push(showFirstDots ? makeEllipsis(false) : h()); // Individual page links\n\n this.pageList.forEach(function (page, idx) {\n var offset = showFirstDots && _this7.firstNumber && pageNumbers[0] !== 1 ? 1 : 0;\n $buttons.push(makePageButton(page, idx + offset));\n }); // Last ellipsis\n\n $buttons.push(showLastDots ? makeEllipsis(true) : h()); // Show last page button?\n\n $buttons.push(this.lastNumber && pageNumbers[pageNumbers.length - 1] !== numberOfPages ? makePageButton({\n number: numberOfPages\n }, -1) : h()); // Goto next page button\n\n $buttons.push(makeEndBtn(currentPage + 1, this.labelNextPage, SLOT_NAME_NEXT_TEXT, this.nextText, this.nextClass, numberOfPages, 'pagination-goto-next')); // Goto last page button\n // Don't render button when `hideGotoEndButtons` or `lastNumber` is set\n\n var $lastPageBtn = h();\n\n if (!this.lastNumber && !this.hideGotoEndButtons) {\n $lastPageBtn = makeEndBtn(numberOfPages, this.labelLastPage, SLOT_NAME_LAST_TEXT, this.lastText, this.lastClass, numberOfPages, 'pagination-goto-last');\n }\n\n $buttons.push($lastPageBtn); // Assemble the pagination buttons\n\n var $pagination = h('ul', {\n staticClass: 'pagination',\n class: ['b-pagination', this.btnSize, this.alignment, this.styleClass],\n attrs: {\n role: isNav ? null : 'menubar',\n 'aria-disabled': disabled ? 'true' : 'false',\n 'aria-label': isNav ? null : ariaLabel || null\n },\n // We disable keyboard left/right nav when ``\n on: isNav ? {} : {\n keydown: this.handleKeyNav\n },\n ref: 'ul'\n }, $buttons); // If we are ``, wrap in `` wrapper\n\n if (isNav) {\n return h('nav', {\n attrs: {\n 'aria-disabled': disabled ? 'true' : null,\n 'aria-hidden': disabled ? 'true' : 'false',\n 'aria-label': isNav ? ariaLabel || null : null\n }\n }, [$pagination]);\n }\n\n return $pagination;\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_PAGINATION } from '../../constants/components';\nimport { EVENT_NAME_CHANGE, EVENT_NAME_PAGE_CLICK } from '../../constants/events';\nimport { PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { BvEvent } from '../../utils/bv-event.class';\nimport { attemptFocus, isVisible } from '../../utils/dom';\nimport { isUndefinedOrNull } from '../../utils/inspect';\nimport { mathCeil, mathMax } from '../../utils/math';\nimport { toInteger } from '../../utils/number';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { MODEL_PROP_NAME, paginationMixin, props as paginationProps } from '../../mixins/pagination'; // --- Constants ---\n\nvar DEFAULT_PER_PAGE = 20;\nvar DEFAULT_TOTAL_ROWS = 0; // --- Helper methods ---\n// Sanitize the provided per page number (converting to a number)\n\nvar sanitizePerPage = function sanitizePerPage(value) {\n return mathMax(toInteger(value) || DEFAULT_PER_PAGE, 1);\n}; // Sanitize the provided total rows number (converting to a number)\n\n\nvar sanitizeTotalRows = function sanitizeTotalRows(value) {\n return mathMax(toInteger(value) || DEFAULT_TOTAL_ROWS, 0);\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, paginationProps), {}, {\n ariaControls: makeProp(PROP_TYPE_STRING),\n perPage: makeProp(PROP_TYPE_NUMBER_STRING, DEFAULT_PER_PAGE),\n totalRows: makeProp(PROP_TYPE_NUMBER_STRING, DEFAULT_TOTAL_ROWS)\n})), NAME_PAGINATION); // --- Main component ---\n// @vue/component\n\nexport var BPagination = /*#__PURE__*/Vue.extend({\n name: NAME_PAGINATION,\n // The render function is brought in via the `paginationMixin`\n mixins: [paginationMixin],\n props: props,\n computed: {\n numberOfPages: function numberOfPages() {\n var result = mathCeil(sanitizeTotalRows(this.totalRows) / sanitizePerPage(this.perPage));\n return result < 1 ? 1 : result;\n },\n // Used for watching changes to `perPage` and `numberOfPages`\n pageSizeNumberOfPages: function pageSizeNumberOfPages() {\n return {\n perPage: sanitizePerPage(this.perPage),\n totalRows: sanitizeTotalRows(this.totalRows),\n numberOfPages: this.numberOfPages\n };\n }\n },\n watch: {\n pageSizeNumberOfPages: function pageSizeNumberOfPages(newValue, oldValue) {\n if (!isUndefinedOrNull(oldValue)) {\n if (newValue.perPage !== oldValue.perPage && newValue.totalRows === oldValue.totalRows) {\n // If the page size changes, reset to page 1\n this.currentPage = 1;\n } else if (newValue.numberOfPages !== oldValue.numberOfPages && this.currentPage > newValue.numberOfPages) {\n // If `numberOfPages` changes and is less than\n // the `currentPage` number, reset to page 1\n this.currentPage = 1;\n }\n }\n\n this.localNumberOfPages = newValue.numberOfPages;\n }\n },\n created: function created() {\n var _this = this;\n\n // Set the initial page count\n this.localNumberOfPages = this.numberOfPages; // Set the initial page value\n\n var currentPage = toInteger(this[MODEL_PROP_NAME], 0);\n\n if (currentPage > 0) {\n this.currentPage = currentPage;\n } else {\n this.$nextTick(function () {\n // If this value parses to `NaN` or a value less than `1`\n // trigger an initial emit of `null` if no page specified\n _this.currentPage = 0;\n });\n }\n },\n methods: {\n // These methods are used by the render function\n onClick: function onClick(event, pageNumber) {\n var _this2 = this;\n\n // Dont do anything if clicking the current active page\n if (pageNumber === this.currentPage) {\n return;\n }\n\n var target = event.target; // Emit a user-cancelable `page-click` event\n\n var clickEvt = new BvEvent(EVENT_NAME_PAGE_CLICK, {\n cancelable: true,\n vueTarget: this,\n target: target\n });\n this.$emit(clickEvt.type, clickEvt, pageNumber);\n\n if (clickEvt.defaultPrevented) {\n return;\n } // Update the `v-model`\n\n\n this.currentPage = pageNumber; // Emit event triggered by user interaction\n\n this.$emit(EVENT_NAME_CHANGE, this.currentPage); // Keep the current button focused if possible\n\n this.$nextTick(function () {\n if (isVisible(target) && _this2.$el.contains(target)) {\n attemptFocus(target);\n } else {\n _this2.focusCurrent();\n }\n });\n },\n makePage: function makePage(pageNum) {\n return pageNum;\n },\n\n /* istanbul ignore next */\n linkProps: function linkProps() {\n // No props, since we render a plain button\n return {};\n }\n }\n});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-overlay',{attrs:{\"id\":\"overlay-background\",\"show\":_vm.show,\"variant\":\"transparent\",\"opacity\":\"0.85\",\"blur\":\"2px\",\"rounded\":\"sm\",\"no-wrap\":\"\"},scopedSlots:_vm._u([{key:\"overlay\",fn:function(){return [_c('div',{staticClass:\"text-center\",staticStyle:{\"height\":\"120px\",\"width\":\"70px\"}},[_c('img',{attrs:{\"src\":require(\"../../../assets/images/gif/loader.gif\"),\"alt\":\"udara360-logo\",\"width\":\"100%\",\"height\":\"100%\"}})])]},proxy:true}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n \n \n \n \n \n \n \n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FullScreenSpinner.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FullScreenSpinner.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FullScreenSpinner.vue?vue&type=template&id=2d1b72aa&\"\nimport script from \"./FullScreenSpinner.vue?vue&type=script&lang=js&\"\nexport * from \"./FullScreenSpinner.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 moment from 'moment'\n\nexport const toDateWithYear = value => (\n moment(value).format('DD/MM/YYYY')\n)\nexport const toDateWithYearFirst = value => (\n moment(value).format('YYYY-MM-DD')\n)\nexport const toDateWithUnderscore = value => (\n moment(value).format('YYYY_MM_DD')\n)\nexport const customDate = value => (\n moment(value).format('DD/MMM/YYYY')\n)\nexport const tocustomDate = value => (\n moment(value).format('DD-MMM-YYYY')\n)\nexport const toDateYear = value => (\n moment(value).format('DD-MM-YYYY')\n)\nexport const toDateTime = value => (\n moment(value).format('DD/MMM/YYYY h:mm:ss')\n)\n\nexport const toDateTimeFormat = value => (\n moment(value).format('DD MMM, YYYY h:mm:ss a')\n)\n\nexport const toDateWithTime = selectedDate => (\n moment(selectedDate).format('DD/MM/YYYY h:mm:ss a')\n)\nexport const toDateWithTimes = selectedDate => (\n moment(selectedDate).format('DD/MM/YYYY h:mm')\n)\nexport const toDateWithCustomTime = selectedDate => (\n moment(selectedDate).format('DD/MM/YYYY h:mm:ss')\n)\nexport const toYearWithDateTime = selectedDate => (\n moment(selectedDate).format('YYYY-MM-DD h:mm:ss a')\n)\nexport const toDateWithDateTime = selectedDate => (\n moment(selectedDate).format('YYYY-MM-DD h:mm:ss')\n)\n\nexport const toCustomDateTime = dateValue => (\n moment(dateValue).format('Do MMM YYYY h:mm:ss')\n)\nexport const toCustomDate = dateValue => (\n moment(dateValue).format('Do MMM YYYY')\n)\nexport const toDayMonthYear = dateValue => (\n moment(dateValue).format('DD MMM, YYYY')\n)\nexport const toMonthYear = dateValue => {\n const check = moment(dateValue, 'DD/MM/YYYY')\n const month = check.format('MMM')\n const year = check.format('YYYY')\n return month + year\n}\nexport const toDateWithMinute = selectedDate => (\n moment(selectedDate).format('DD/MM/YYYY h:mm a')\n)\n\nexport const toYearWithDate = selectedDate => {\n if (selectedDate !== null) {\n const splittedDate = selectedDate.split('/')\n const commencementDate = new Date(+splittedDate[2], splittedDate[1] - 1, +splittedDate[0])\n return moment(commencementDate).format('YYYY-MM-DD')\n }\n return ''\n}\n\nexport const toDateWithMonth = selectedDate => {\n if (selectedDate !== null) {\n const splittedDate = selectedDate.split('-')\n return `${splittedDate[2]}-${splittedDate[1]}-${splittedDate[0]}`\n }\n return ''\n}\nexport const checkDateFormat = dateValue => {\n // eslint-disable-next-line eqeqeq\n if (new Date(dateValue) == 'Invalid Date') {\n const splitDate = dateValue.split(' ')[0]\n const splittedDate = splitDate.split('-')\n return `${splittedDate[2]}-${splittedDate[1]}-${splittedDate[0]}`\n }\n return dateValue\n}\nexport const dateSpecial = dateValue => {\n const dateParts = dateValue.split(' ')\n const date = dateParts[0].split('-')\n return `${date[0]}/${date[1]}/${date[2]}`\n}\n\nexport const dateDifference = (startDate, endDate) => {\n const start = moment(startDate)\n const end = moment(endDate)\n return end.diff(start, 'days')\n}\n\nexport const dateTimeDifference = (startDate, endDate) => {\n const diffTime = Math.abs(new Date(endDate).valueOf() - new Date(startDate).valueOf())\n const days = diffTime / (24 * 60 * 60 * 1000)\n const hours = (days % 1) * 24\n const minutes = (hours % 1) * 60\n const secs = ((minutes % 1) * 60) < 1 ? 1 : ((minutes % 1) * 60)\n const [hour, minute, sec] = [Math.floor(hours), Math.floor(minutes), Math.floor(secs)]\n return `${hour}h : ${minute}m : ${sec}s`\n}\n\nexport const toMonthWithTime = selectedDate => (\n moment(selectedDate).format('MMM Do YYYY, h:mm:ss a')\n)\nexport const toMonthWithYear = selectedDate => (\n moment(selectedDate).format('MMM Do, YYYY')\n)\n\nexport const toMonthWithYearTime = selectedDate => {\n if (selectedDate !== null) {\n const splittedDate = selectedDate.split('/')\n const commencementDate = new Date(+splittedDate[2], splittedDate[1] - 1, +splittedDate[0])\n return moment(commencementDate).format('MMM DD YYYY, h:mm:ss')\n }\n return ''\n}\n\nexport const getDate = (date, numOfDays = 1) => {\n const endDate = new Date(date)\n endDate.setDate(endDate.getDate() - Number(numOfDays))\n return moment(endDate).format('DD/MM/YYYY')\n}\nexport const getMinusOneDayDate = (date, numOfDays = 1) => {\n const endDate = new Date(date)\n endDate.setDate(endDate.getDate() - Number(numOfDays))\n return moment(endDate).format('YYYY-MM-DD')\n}\nexport const getDaysInMonth = frequency => {\n if (frequency === 'Month') {\n const today = new Date()\n const year = today.getFullYear()\n const month = today.getMonth() + 1\n const daysInMonth = [31, (year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0)) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]\n return daysInMonth[month - 1]\n }\n return ''\n}\nexport const getDaysInYear = frequency => {\n if (frequency === 'Year') {\n const today = new Date()\n const year = today.getFullYear()\n return (year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0)) ? 366 : 365\n }\n return ''\n}\n\nexport const formatSingleDates = (day, month, year) => {\n const inputDateStr = `${year}-${String(month).padStart(2, '0')}-${String(day).padStart(2, '0')}`\n const inputDate = new Date(inputDateStr)\n const today = new Date()\n today.setHours(0, 0, 0, 0)\n if (inputDate > today) {\n return 'Invalid Date, The selected Date cannot be in the future.'\n }\n return inputDateStr\n}\n\nexport const convertDateString = dateString => {\n const dateObj = new Date(dateString)\n const year = dateObj.getFullYear()\n const month = dateObj.getMonth() + 1\n const day = dateObj.getDate()\n\n return { year, month, day }\n}\nexport const convertDate = dateString => {\n const dateObj = new Date(dateString)\n const operationYear = dateObj.getFullYear()\n const operationMonth = dateObj.getMonth() + 1\n const operationDay = dateObj.getDate()\n\n return { operationYear, operationMonth, operationDay }\n}\n","import { Vue, mergeData } from '../../vue';\nimport { NAME_FORM_INVALID_FEEDBACK } 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 ariaLive: makeProp(PROP_TYPE_STRING),\n forceShow: makeProp(PROP_TYPE_BOOLEAN, false),\n id: makeProp(PROP_TYPE_STRING),\n role: makeProp(PROP_TYPE_STRING),\n // Tri-state prop: `true`, `false`, or `null`\n state: makeProp(PROP_TYPE_BOOLEAN, null),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n tooltip: makeProp(PROP_TYPE_BOOLEAN, false)\n}, NAME_FORM_INVALID_FEEDBACK); // --- Main component ---\n// @vue/component\n\nexport var BFormInvalidFeedback = /*#__PURE__*/Vue.extend({\n name: NAME_FORM_INVALID_FEEDBACK,\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 tooltip = props.tooltip,\n ariaLive = props.ariaLive;\n var show = props.forceShow === true || props.state === false;\n return h(props.tag, mergeData(data, {\n class: {\n 'd-block': show,\n 'invalid-feedback': !tooltip,\n 'invalid-tooltip': tooltip\n },\n attrs: {\n id: props.id || null,\n role: props.role || null,\n 'aria-live': ariaLive || null,\n 'aria-atomic': ariaLive ? 'true' : null\n }\n }), children);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../vue';\nimport { EVENT_NAME_BLUR, EVENT_NAME_CHANGE, EVENT_NAME_INPUT, EVENT_NAME_UPDATE, HOOK_EVENT_NAME_BEFORE_DESTROY } from '../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_STRING, PROP_TYPE_FUNCTION, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../constants/props';\nimport { attemptBlur, attemptFocus } from '../utils/dom';\nimport { stopEvent } from '../utils/events';\nimport { mathMax } from '../utils/math';\nimport { makeModelMixin } from '../utils/model';\nimport { toInteger, toFloat } from '../utils/number';\nimport { sortKeys } from '../utils/object';\nimport { hasPropFunction, makeProp, makePropsConfigurable } from '../utils/props';\nimport { toString } from '../utils/string'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('value', {\n type: PROP_TYPE_NUMBER_STRING,\n defaultValue: '',\n event: EVENT_NAME_UPDATE\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event;\n\nexport { MODEL_PROP_NAME, MODEL_EVENT_NAME }; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, modelProps), {}, {\n ariaInvalid: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n autocomplete: makeProp(PROP_TYPE_STRING),\n // Debounce timeout (in ms). Not applicable with `lazy` prop\n debounce: makeProp(PROP_TYPE_NUMBER_STRING, 0),\n formatter: makeProp(PROP_TYPE_FUNCTION),\n // Only update the `v-model` on blur/change events\n lazy: makeProp(PROP_TYPE_BOOLEAN, false),\n lazyFormatter: makeProp(PROP_TYPE_BOOLEAN, false),\n number: makeProp(PROP_TYPE_BOOLEAN, false),\n placeholder: makeProp(PROP_TYPE_STRING),\n plaintext: makeProp(PROP_TYPE_BOOLEAN, false),\n readonly: makeProp(PROP_TYPE_BOOLEAN, false),\n trim: makeProp(PROP_TYPE_BOOLEAN, false)\n})), 'formTextControls'); // --- Mixin ---\n// @vue/component\n\nexport var formTextMixin = Vue.extend({\n mixins: [modelMixin],\n props: props,\n data: function data() {\n var value = this[MODEL_PROP_NAME];\n return {\n localValue: toString(value),\n vModelValue: this.modifyValue(value)\n };\n },\n computed: {\n computedClass: function computedClass() {\n var plaintext = this.plaintext,\n type = this.type;\n var isRange = type === 'range';\n var isColor = type === 'color';\n return [{\n // Range input needs class `custom-range`\n 'custom-range': isRange,\n // `plaintext` not supported by `type=\"range\"` or `type=\"color\"`\n 'form-control-plaintext': plaintext && !isRange && !isColor,\n // `form-control` not used by `type=\"range\"` or `plaintext`\n // Always used by `type=\"color\"`\n 'form-control': isColor || !plaintext && !isRange\n }, this.sizeFormClass, this.stateClass];\n },\n computedDebounce: function computedDebounce() {\n // Ensure we have a positive number equal to or greater than 0\n return mathMax(toInteger(this.debounce, 0), 0);\n },\n hasFormatter: function hasFormatter() {\n return hasPropFunction(this.formatter);\n }\n },\n watch: _defineProperty({}, MODEL_PROP_NAME, function (newValue) {\n var stringifyValue = toString(newValue);\n var modifiedValue = this.modifyValue(newValue);\n\n if (stringifyValue !== this.localValue || modifiedValue !== this.vModelValue) {\n // Clear any pending debounce timeout, as we are overwriting the user input\n this.clearDebounce(); // Update the local values\n\n this.localValue = stringifyValue;\n this.vModelValue = modifiedValue;\n }\n }),\n created: function created() {\n // Create private non-reactive props\n this.$_inputDebounceTimer = null;\n },\n mounted: function mounted() {\n // Set up destroy handler\n this.$on(HOOK_EVENT_NAME_BEFORE_DESTROY, this.clearDebounce);\n },\n beforeDestroy: function beforeDestroy() {\n this.clearDebounce();\n },\n methods: {\n clearDebounce: function clearDebounce() {\n clearTimeout(this.$_inputDebounceTimer);\n this.$_inputDebounceTimer = null;\n },\n formatValue: function formatValue(value, event) {\n var force = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n value = toString(value);\n\n if (this.hasFormatter && (!this.lazyFormatter || force)) {\n value = this.formatter(value, event);\n }\n\n return value;\n },\n modifyValue: function modifyValue(value) {\n value = toString(value); // Emulate `.trim` modifier behaviour\n\n if (this.trim) {\n value = value.trim();\n } // Emulate `.number` modifier behaviour\n\n\n if (this.number) {\n value = toFloat(value, value);\n }\n\n return value;\n },\n updateValue: function updateValue(value) {\n var _this = this;\n\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var lazy = this.lazy;\n\n if (lazy && !force) {\n return;\n } // Make sure to always clear the debounce when `updateValue()`\n // is called, even when the v-model hasn't changed\n\n\n this.clearDebounce(); // Define the shared update logic in a method to be able to use\n // it for immediate and debounced value changes\n\n var doUpdate = function doUpdate() {\n value = _this.modifyValue(value);\n\n if (value !== _this.vModelValue) {\n _this.vModelValue = value;\n\n _this.$emit(MODEL_EVENT_NAME, value);\n } else if (_this.hasFormatter) {\n // When the `vModelValue` hasn't changed but the actual input value\n // is out of sync, make sure to change it to the given one\n // Usually caused by browser autocomplete and how it triggers the\n // change or input event, or depending on the formatter function\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/2657\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/3498\n\n /* istanbul ignore next: hard to test */\n var $input = _this.$refs.input;\n /* istanbul ignore if: hard to test out of sync value */\n\n if ($input && value !== $input.value) {\n $input.value = value;\n }\n }\n }; // Only debounce the value update when a value greater than `0`\n // is set and we are not in lazy mode or this is a forced update\n\n\n var debounce = this.computedDebounce;\n\n if (debounce > 0 && !lazy && !force) {\n this.$_inputDebounceTimer = setTimeout(doUpdate, debounce);\n } else {\n // Immediately update the v-model\n doUpdate();\n }\n },\n onInput: function onInput(event) {\n // `event.target.composing` is set by Vue\n // https://github.com/vuejs/vue/blob/dev/src/platforms/web/runtime/directives/model.js\n // TODO: Is this needed now with the latest Vue?\n\n /* istanbul ignore if: hard to test composition events */\n if (event.target.composing) {\n return;\n }\n\n var value = event.target.value;\n var formattedValue = this.formatValue(value, event); // Exit when the `formatter` function strictly returned `false`\n // or prevented the input event\n\n /* istanbul ignore next */\n\n if (formattedValue === false || event.defaultPrevented) {\n stopEvent(event, {\n propagation: false\n });\n return;\n }\n\n this.localValue = formattedValue;\n this.updateValue(formattedValue);\n this.$emit(EVENT_NAME_INPUT, formattedValue);\n },\n onChange: function onChange(event) {\n var value = event.target.value;\n var formattedValue = this.formatValue(value, event); // Exit when the `formatter` function strictly returned `false`\n // or prevented the input event\n\n /* istanbul ignore next */\n\n if (formattedValue === false || event.defaultPrevented) {\n stopEvent(event, {\n propagation: false\n });\n return;\n }\n\n this.localValue = formattedValue;\n this.updateValue(formattedValue, true);\n this.$emit(EVENT_NAME_CHANGE, formattedValue);\n },\n onBlur: function onBlur(event) {\n // Apply the `localValue` on blur to prevent cursor jumps\n // on mobile browsers (e.g. caused by autocomplete)\n var value = event.target.value;\n var formattedValue = this.formatValue(value, event, true);\n\n if (formattedValue !== false) {\n // We need to use the modified value here to apply the\n // `.trim` and `.number` modifiers properly\n this.localValue = toString(this.modifyValue(formattedValue)); // We pass the formatted value here since the `updateValue` method\n // handles the modifiers itself\n\n this.updateValue(formattedValue, true);\n } // Emit native blur event\n\n\n this.$emit(EVENT_NAME_BLUR, event);\n },\n focus: function focus() {\n // For external handler that may want a focus method\n if (!this.disabled) {\n attemptFocus(this.$el);\n }\n },\n blur: function blur() {\n // For external handler that may want a blur method\n if (!this.disabled) {\n attemptBlur(this.$el);\n }\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_FORM_INPUT } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { arrayIncludes } from '../../utils/array';\nimport { attemptBlur } from '../../utils/dom';\nimport { eventOn, eventOff, eventOnOff, stopEvent } from '../../utils/events';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { formControlMixin, props as formControlProps } from '../../mixins/form-control';\nimport { formSelectionMixin } from '../../mixins/form-selection';\nimport { formSizeMixin, props as formSizeProps } from '../../mixins/form-size';\nimport { formStateMixin, props as formStateProps } from '../../mixins/form-state';\nimport { formTextMixin, props as formTextProps } from '../../mixins/form-text';\nimport { formValidityMixin } from '../../mixins/form-validity';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { listenersMixin } from '../../mixins/listeners'; // --- Constants ---\n// Valid supported input types\n\nvar TYPES = ['text', 'password', 'email', 'number', 'url', 'tel', 'search', 'range', 'color', 'date', 'time', 'datetime', 'datetime-local', 'month', 'week']; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), formControlProps), formSizeProps), formStateProps), formTextProps), {}, {\n list: makeProp(PROP_TYPE_STRING),\n max: makeProp(PROP_TYPE_NUMBER_STRING),\n min: makeProp(PROP_TYPE_NUMBER_STRING),\n // Disable mousewheel to prevent wheel from changing values (i.e. number/date)\n noWheel: makeProp(PROP_TYPE_BOOLEAN, false),\n step: makeProp(PROP_TYPE_NUMBER_STRING),\n type: makeProp(PROP_TYPE_STRING, 'text', function (type) {\n return arrayIncludes(TYPES, type);\n })\n})), NAME_FORM_INPUT); // --- Main component ---\n// @vue/component\n\nexport var BFormInput = /*#__PURE__*/Vue.extend({\n name: NAME_FORM_INPUT,\n // Mixin order is important!\n mixins: [listenersMixin, idMixin, formControlMixin, formSizeMixin, formStateMixin, formTextMixin, formSelectionMixin, formValidityMixin],\n props: props,\n computed: {\n localType: function localType() {\n // We only allow certain types\n var type = this.type;\n return arrayIncludes(TYPES, type) ? type : 'text';\n },\n computedAttrs: function computedAttrs() {\n var type = this.localType,\n name = this.name,\n form = this.form,\n disabled = this.disabled,\n placeholder = this.placeholder,\n required = this.required,\n min = this.min,\n max = this.max,\n step = this.step;\n return {\n id: this.safeId(),\n name: name,\n form: form,\n type: type,\n disabled: disabled,\n placeholder: placeholder,\n required: required,\n autocomplete: this.autocomplete || null,\n readonly: this.readonly || this.plaintext,\n min: min,\n max: max,\n step: step,\n list: type !== 'password' ? this.list : null,\n 'aria-required': required ? 'true' : null,\n 'aria-invalid': this.computedAriaInvalid\n };\n },\n computedListeners: function computedListeners() {\n return _objectSpread(_objectSpread({}, this.bvListeners), {}, {\n input: this.onInput,\n change: this.onChange,\n blur: this.onBlur\n });\n }\n },\n watch: {\n noWheel: function noWheel(newValue) {\n this.setWheelStopper(newValue);\n }\n },\n mounted: function mounted() {\n this.setWheelStopper(this.noWheel);\n },\n\n /* istanbul ignore next */\n deactivated: function deactivated() {\n // Turn off listeners when keep-alive component deactivated\n\n /* istanbul ignore next */\n this.setWheelStopper(false);\n },\n\n /* istanbul ignore next */\n activated: function activated() {\n // Turn on listeners (if no-wheel) when keep-alive component activated\n\n /* istanbul ignore next */\n this.setWheelStopper(this.noWheel);\n },\n beforeDestroy: function beforeDestroy() {\n /* istanbul ignore next */\n this.setWheelStopper(false);\n },\n methods: {\n setWheelStopper: function setWheelStopper(on) {\n var input = this.$el; // We use native events, so that we don't interfere with propagation\n\n eventOnOff(on, input, 'focus', this.onWheelFocus);\n eventOnOff(on, input, 'blur', this.onWheelBlur);\n\n if (!on) {\n eventOff(document, 'wheel', this.stopWheel);\n }\n },\n onWheelFocus: function onWheelFocus() {\n eventOn(document, 'wheel', this.stopWheel);\n },\n onWheelBlur: function onWheelBlur() {\n eventOff(document, 'wheel', this.stopWheel);\n },\n stopWheel: function stopWheel(event) {\n stopEvent(event, {\n propagation: false\n });\n attemptBlur(this.$el);\n }\n },\n render: function render(h) {\n return h('input', {\n class: this.computedClass,\n attrs: this.computedAttrs,\n domProps: {\n value: this.localValue\n },\n on: this.computedListeners,\n ref: 'input'\n });\n }\n});","export const removeSpecialChar = event => {\n const regex = /^[A-Za-z0-9 %-]$/\n if (!regex.test(event.key)) {\n event.preventDefault()\n }\n}\nexport const removeNegativeNumber = event => {\n const regex = /^\\d*\\.?\\d*$/\n if (!regex.test(event.key)) {\n event.preventDefault()\n }\n}\nexport const removeCharAndSpace = event => {\n const regex = /^[A-Za-z0-9]$/\n if (!regex.test(event.key)) {\n event.preventDefault()\n }\n}\nexport const persistPhoneNumber = event => {\n const regex = /^[\\d,+]*$/\n if (!regex.test(event.key)) {\n event.preventDefault()\n }\n}\nexport const persistAccountNumber = event => {\n const regex = /^[\\d,]*$/\n if (!regex.test(event.key)) {\n event.preventDefault()\n }\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('div',{staticClass:\"m-2\"},[_c('b-row',[_c('b-col',{staticClass:\"d-flex align-items-center justify-content-start mb-1 mb-md-0\",attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('TableEntries',{attrs:{\"options\":_vm.perPageOptions},model:{value:(_vm.perPage),callback:function ($$v) {_vm.perPage=$$v},expression:\"perPage\"}}),(_vm.getUserPermission('VIEW_ISSUED_CARDS'))?_c('Button',{attrs:{\"label\":\"Issue Card\",\"size\":\"md\"},on:{\"click\":_vm.gotoIssueCard}}):_vm._e()],1),_c('b-col',{attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('div',{staticClass:\"d-flex align-items-center justify-content-lg-end\"},[_c('Button',{staticClass:\"mr-1\",attrs:{\"label\":\"Filter\",\"size\":\"md\",\"icon\":\"FilterIcon\",\"show-icon\":\"\"},on:{\"click\":function($event){return _vm.showModal('modal-filter')}}}),_c('Button',{attrs:{\"label\":\"Reset Filter\",\"size\":\"md\",\"icon\":\"RotateCwIcon\",\"show-icon\":\"\"},on:{\"click\":_vm.resetFilter}})],1)])],1)],1),_c('b-table',{ref:\"cardProfiles\",staticClass:\"position-relative\",attrs:{\"busy\":_vm.isBusy,\"per-page\":_vm.pageSize,\"current-page\":_vm.currentPage,\"items\":_vm.cardAccountList,\"responsive\":\"\",\"fields\":_vm.tableHeaders,\"primary-key\":\"id\",\"show-empty\":\"\",\"empty-text\":\"No records available\"},scopedSlots:_vm._u([{key:\"table-busy\",fn:function(){return [_c('div',{staticClass:\"text-center text-danger my-2\"},[_c('b-spinner',{staticClass:\"align-middle\",attrs:{\"variant\":\"primary\"}})],1)]},proxy:true},{key:\"cell(SN)\",fn:function(data){return [_vm._v(\"\\n \"+_vm._s(_vm.getOverallIndex(data.index))+\"\\n \")]}},{key:\"cell(requestDate)\",fn:function(data){return [_vm._v(\"\\n \"+_vm._s(data.value ? _vm.toDateWithYear(data.value) : '')+\"\\n \")]}},{key:\"cell(issuedDate)\",fn:function(data){return [_vm._v(\"\\n \"+_vm._s(data.value ? _vm.toDateWithYear(data.value) : '')+\"\\n \")]}},{key:\"cell(status)\",fn:function(data){return [_c('b-badge',{attrs:{\"pill\":\"\",\"variant\":_vm.getStatusColor(data.value)}},[_vm._v(\"\\n \"+_vm._s(data.value)+\"\\n \")])]}},{key:\"cell(actions)\",fn:function(data){return [_c('div',{staticClass:\"text-nowrap\"},[_c('b-dropdown',{attrs:{\"variant\":\"link\",\"toggle-class\":\"p-0\",\"no-caret\":\"\",\"right\":_vm.$store.state.appConfig.isRTL},scopedSlots:_vm._u([{key:\"button-content\",fn:function(){return [_c('feather-icon',{staticClass:\"align-middle text-body\",attrs:{\"icon\":\"MoreVerticalIcon\",\"size\":\"16\"}})]},proxy:true}],null,true)},[(_vm.getUserPermission(data.item.status === 'Linked' ? 'DEACTIVATE_ACCOUNT_OFFICER' : 'ACTIVATE_ACCOUNT_OFFICER'))?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.cardAccountStatus(data.item, $event.target)}}},[_c('feather-icon',{attrs:{\"icon\":\"CheckSquareIcon\"}}),_c('span',{staticClass:\"align-middle ml-50\"},[_vm._v(_vm._s(data.item.status === 'Linked' ? 'Unlink Card' : 'Link Card'))])],1):_vm._e(),(_vm.getUserPermission('VIEW_CARD_LIMIT') && data.item.issuedDate)?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.setupCardLimit(data.item, $event.target)}}},[_c('feather-icon',{attrs:{\"icon\":\"MinusSquareIcon\"}}),_c('span',{staticClass:\"align-middle ml-50\"},[_vm._v(\"Card Limit\")])],1):_vm._e()],1)],1)]}}])}),_c('TablePagination',{attrs:{\"from\":_vm.from,\"to\":_vm.to,\"total-rows\":_vm.totalEntries,\"per-page\":_vm.perPage},model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}}),_c('b-modal',{ref:\"my-modal\",attrs:{\"id\":\"modal-filter\",\"ok-title\":\"Apply\",\"no-close-on-backdrop\":\"\",\"cancel-title\":\"Cancel\",\"cancel-variant\":\"outline-secondary\",\"centered\":\"\",\"size\":\"lg\",\"title\":\"Filters\",\"modal-footer\":\"\"},on:{\"ok\":_vm.fetchCardAccounts,\"cancel\":_vm.resetFilters}},[_c('b-row',{staticClass:\"match-height\"},[_c('b-col',{attrs:{\"md\":\"6\"}},[_c('InputField',{attrs:{\"id\":\"account-number\",\"label\":\" Account Number\",\"placeholder\":\"Enter Account Number\",\"type\":\"number\"},model:{value:(_vm.filter.accountNumber),callback:function ($$v) {_vm.$set(_vm.filter, \"accountNumber\", $$v)},expression:\"filter.accountNumber\"}})],1),_c('b-col',{attrs:{\"md\":\"6\"}},[_c('InputField',{attrs:{\"id\":\"masked-pan\",\"label\":\"Masked PAN\",\"placeholder\":\"Enter Masked PAN\",\"type\":\"text\"},model:{value:(_vm.filter.maskedPAN),callback:function ($$v) {_vm.$set(_vm.filter, \"maskedPAN\", $$v)},expression:\"filter.maskedPAN\"}})],1),_c('b-col',{attrs:{\"md\":\"6\"}},[_c('SelectField',{attrs:{\"id\":\"status\",\"label\":\"Card Status\",\"placeholder\":\"Select\",\"options\":_vm.StatusOptions,\"item\":\"label\",\"reduce\":function (option) { return option; }},model:{value:(_vm.filter.status),callback:function ($$v) {_vm.$set(_vm.filter, \"status\", $$v)},expression:\"filter.status\"}})],1)],1)],1),_c('b-modal',{ref:\"manage-cards-limit-modal\",attrs:{\"id\":\"manage-cards-limit-modal\",\"cancel-title\":\"Cancel\",\"cancel-variant\":\"outline-secondary\",\"centered\":\"\",\"no-close-on-backdrop\":\"\",\"size\":\"lg\",\"title\":\"Customer Card Limit\",\"ok-only\":\"\"},scopedSlots:_vm._u([{key:\"modal-footer\",fn:function(ref){return [_c('div')]}}])},[_c('validation-observer',{ref:\"cardLimitRules\"},[_c('b-form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.saveCustomerCardLimit.apply(null, arguments)}}},[_c('app-collapse',{staticClass:\"business-items mb-4\",attrs:{\"type\":\"margin\",\"accordion\":\"\"}},[_c('app-collapse-item',{staticClass:\"card-item\",attrs:{\"title\":\"ATM TRANSACTION LIMIT\",\"is-visible\":\"\"}},[_c('div',{staticClass:\"d-flex\"},[_c('h6',{staticClass:\"section-label mb-2 mt-0 sub-menu-title\"},[_vm._v(\"\\n INFORMATION\\n \")]),_c('feather-icon',{staticClass:\"align-middle text-body ml-1\",attrs:{\"icon\":\"InfoIcon\",\"size\":\"16\"},on:{\"click\":_vm.onViewATMTransactionLimitInfo}})],1),_c('b-row',[_c('b-col',{attrs:{\"md\":\"6\"}},[_c('ValidationObserver',[_c('InputNumberField',{attrs:{\"id\":\"limit-per-transaction\",\"label\":(\"Limit Per Transaction - (Institution limit: \" + (_vm.toBalance(_vm.institutionData.atM_Single_Withdrawal_Limit * 100)) + \")\"),\"placeholder\":\"Enter Limit Per Transaction\",\"error-name\":\"Limit Per Transaction\",\"rules\":(\"required|limit-amount:\" + (_vm.institutionData.atM_Single_Withdrawal_Limit) + \"|positive\"),\"readonly\":_vm.isReadonly},on:{\"input\":_vm.setCardLimit},model:{value:(_vm.cardLimitFormData.atM_Single_Withdrawal_Limit),callback:function ($$v) {_vm.$set(_vm.cardLimitFormData, \"atM_Single_Withdrawal_Limit\", _vm._n($$v))},expression:\"cardLimitFormData.atM_Single_Withdrawal_Limit\"}})],1)],1),_c('b-col',{attrs:{\"md\":\"6\"}},[_c('ValidationObserver',[_c('InputField',{attrs:{\"id\":\"daily-transaction-count\",\"label\":(\"Daily Transaction Count - (Institution limit: \" + (_vm.institutionData.atM_Daily_Withdrawal_Count) + \")\"),\"placeholder\":\"Enter Daily Transaction Count\",\"type\":\"number\",\"error-name\":\"Daily Transaction Count\",\"rules\":(\"required|limit-amount:\" + (_vm.institutionData.atM_Daily_Withdrawal_Count) + \"|positive\"),\"readonly\":_vm.isReadonly},on:{\"input\":_vm.setCardCount},model:{value:(_vm.cardLimitFormData.atM_Daily_Withdrawal_Count),callback:function ($$v) {_vm.$set(_vm.cardLimitFormData, \"atM_Daily_Withdrawal_Count\", $$v)},expression:\"cardLimitFormData.atM_Daily_Withdrawal_Count\"}})],1)],1),_c('b-col',{attrs:{\"md\":\"6\"}},[_c('ValidationObserver',[_c('InputNumberField',{attrs:{\"id\":\"daily-transaction-limit\",\"label\":(\"Daily Transaction limit - (Institution limit: \" + (_vm.toBalance(_vm.institutionData.atM_Daily_Withdrawal_Limit * 100)) + \")\"),\"placeholder\":\"Daily Transaction limit\",\"error-name\":\"Daily Transaction limit\",\"rules\":(\"required|limit-amount:\" + (_vm.institutionData.atM_Daily_Withdrawal_Limit) + \"|positive\"),\"readonly\":\"\"},model:{value:(_vm.cardLimitFormData.atM_Daily_Withdrawal_Limit),callback:function ($$v) {_vm.$set(_vm.cardLimitFormData, \"atM_Daily_Withdrawal_Limit\", $$v)},expression:\"cardLimitFormData.atM_Daily_Withdrawal_Limit\"}})],1)],1),_c('b-col',{attrs:{\"md\":\"6\"}},[_c('ValidationObserver',[_c('InputNumberField',{attrs:{\"id\":\"weekly-transaction-limit\",\"label\":(\"Weekly Transaction limit - (Institution limit: \" + (_vm.toBalance(_vm.institutionData.atM_Weekly_Withdrawal_Limit * 100)) + \")\"),\"placeholder\":\"Weekly Transaction limit\",\"error-name\":\"Weekly Transaction limit\",\"rules\":(\"required|limit-amount:\" + (_vm.institutionData.atM_Weekly_Withdrawal_Limit) + \"|positive\"),\"readonly\":_vm.isReadonly},model:{value:(_vm.cardLimitFormData.atM_Weekly_Withdrawal_Limit),callback:function ($$v) {_vm.$set(_vm.cardLimitFormData, \"atM_Weekly_Withdrawal_Limit\", $$v)},expression:\"cardLimitFormData.atM_Weekly_Withdrawal_Limit\"}})],1)],1)],1)],1)],1),_c('app-collapse',{staticClass:\"business-items mb-4\",attrs:{\"type\":\"margin\",\"accordion\":\"\"}},[_c('app-collapse-item',{staticClass:\"card-item\",attrs:{\"title\":\"POS TRANSACTION LIMIT\",\"is-visible\":\"\"}},[_c('div',{staticClass:\"d-flex\"},[_c('h6',{staticClass:\"section-label mb-2 mt-0 sub-menu-title\"},[_vm._v(\"\\n INFORMATION\\n \")]),_c('feather-icon',{staticClass:\"align-middle text-body ml-1\",attrs:{\"icon\":\"InfoIcon\",\"size\":\"16\"},on:{\"click\":_vm.onViewPOSTransactionLimitInfo}})],1),_c('b-row',[_c('b-col',{attrs:{\"md\":\"6\"}},[_c('ValidationObserver',[_c('InputNumberField',{attrs:{\"id\":\"limit-per-transaction\",\"label\":(\"Limit Per Transaction - (Institution limit: \" + (_vm.toBalance(_vm.institutionData.poS_Daily_Transaction_Limit * 100)) + \")\"),\"placeholder\":\"Enter Limit Per Transaction\",\"error-name\":\"Limit Per Transaction\",\"rules\":(\"required|limit-amount:\" + (_vm.institutionData.poS_Daily_Transaction_Limit) + \"|positive\"),\"readonly\":_vm.isReadonly},on:{\"input\":_vm.setPOSCardLimit},model:{value:(_vm.cardLimitFormData.poS_Daily_Transaction_Limit),callback:function ($$v) {_vm.$set(_vm.cardLimitFormData, \"poS_Daily_Transaction_Limit\", _vm._n($$v))},expression:\"cardLimitFormData.poS_Daily_Transaction_Limit\"}})],1)],1),_c('b-col',{attrs:{\"md\":\"6\"}},[_c('ValidationObserver',[_c('InputField',{attrs:{\"id\":\"daily-transaction-count\",\"label\":(\"Daily Transaction Count - (Institution limit: \" + (_vm.institutionData.poS_Daily_Transaction_Count) + \")\"),\"placeholder\":\"Enter Daily Transaction Count\",\"type\":\"number\",\"error-name\":\"Daily Transaction Count\",\"rules\":(\"limit-amount:\" + (_vm.institutionData.poS_Daily_Transaction_Count) + \"|positive\"),\"readonly\":_vm.isReadonly},on:{\"input\":_vm.setPOSCardCount},model:{value:(_vm.cardLimitFormData.poS_Daily_Transaction_Count),callback:function ($$v) {_vm.$set(_vm.cardLimitFormData, \"poS_Daily_Transaction_Count\", $$v)},expression:\"cardLimitFormData.poS_Daily_Transaction_Count\"}})],1)],1),_c('b-col',{attrs:{\"md\":\"6\"}},[_c('ValidationObserver',[_c('InputNumberField',{attrs:{\"id\":\"daily-transaction-limit\",\"label\":(\"Daily Transaction limit - (Institution limit: \" + (_vm.toBalance(_vm.institutionData.poS_Daily_Withdrawal_Limit * 100)) + \")\"),\"placeholder\":\"Daily Transaction limit\",\"error-name\":\"Daily Transaction limit\",\"rules\":(\"required|limit-amount:\" + (_vm.institutionData.poS_Daily_Withdrawal_Limit) + \"|positive\"),\"readonly\":\"\"},model:{value:(_vm.cardLimitFormData.poS_Daily_Withdrawal_Limit),callback:function ($$v) {_vm.$set(_vm.cardLimitFormData, \"poS_Daily_Withdrawal_Limit\", $$v)},expression:\"cardLimitFormData.poS_Daily_Withdrawal_Limit\"}})],1)],1),_c('b-col',{attrs:{\"md\":\"6\"}},[_c('ValidationObserver',[_c('InputNumberField',{attrs:{\"id\":\"weekly-transaction-limit\",\"label\":(\"Weekly Transaction limit - (Institution limit: \" + (_vm.toBalance(_vm.institutionData.poS_Weekly_Withdrawal_Limit * 100)) + \")\"),\"placeholder\":\"Weekly Transaction limit\",\"error-name\":\"Weekly Transaction limit\",\"rules\":(\"required|limit-amount:\" + (_vm.institutionData.poS_Weekly_Withdrawal_Limit) + \"|positive\"),\"readonly\":_vm.isReadonly},model:{value:(_vm.cardLimitFormData.poS_Weekly_Withdrawal_Limit),callback:function ($$v) {_vm.$set(_vm.cardLimitFormData, \"poS_Weekly_Withdrawal_Limit\", $$v)},expression:\"cardLimitFormData.poS_Weekly_Withdrawal_Limit\"}})],1)],1)],1)],1)],1),_c('app-collapse',{staticClass:\"business-items mb-4\",attrs:{\"type\":\"margin\",\"accordion\":\"\"}},[_c('app-collapse-item',{staticClass:\"card-item\",attrs:{\"title\":\"ONLINE TRANSACTION LIMIT\",\"is-visible\":\"\"}},[_c('div',{staticClass:\"d-flex\"},[_c('h6',{staticClass:\"section-label mb-2 mt-0 sub-menu-title\"},[_vm._v(\"\\n INFORMATION\\n \")]),_c('feather-icon',{staticClass:\"align-middle text-body ml-1\",attrs:{\"icon\":\"InfoIcon\",\"size\":\"16\"},on:{\"click\":_vm.onViewONLINETransactionLimitInfo}})],1),_c('b-row',[_c('b-col',{attrs:{\"md\":\"6\"}},[_c('ValidationObserver',[_c('InputNumberField',{attrs:{\"id\":\"daily-transaction-limit\",\"label\":(\"Daily Transaction Limit - (Institution limit: \" + (_vm.toBalance(_vm.institutionData.online_Daily_Transaction_Limit * 100)) + \")\"),\"placeholder\":\"Enter Daily Transaction Limit\",\"error-name\":\"Daily Transaction Limit\",\"rules\":(\"required|limit-amount:\" + (_vm.institutionData.online_Daily_Transaction_Limit) + \"|positive\"),\"readonly\":_vm.isReadonly},model:{value:(_vm.cardLimitFormData.online_Daily_Transaction_Limit),callback:function ($$v) {_vm.$set(_vm.cardLimitFormData, \"online_Daily_Transaction_Limit\", _vm._n($$v))},expression:\"cardLimitFormData.online_Daily_Transaction_Limit\"}})],1)],1),_c('b-col',{attrs:{\"md\":\"6\"}},[_c('ValidationObserver',[_c('InputField',{attrs:{\"id\":\"daily-transaction-count\",\"label\":(\"Daily Transaction Count - (Institution limit: \" + (_vm.institutionData.online_Daily_Transaction_Count) + \")\"),\"placeholder\":\"Enter Daily Transaction Count\",\"type\":\"number\",\"error-name\":\"Daily Transaction Count\",\"rules\":(\"limit-amount:\" + (_vm.institutionData.online_Daily_Transaction_Count) + \"|positive\"),\"readonly\":_vm.isReadonly},model:{value:(_vm.cardLimitFormData.online_Daily_Transaction_Count),callback:function ($$v) {_vm.$set(_vm.cardLimitFormData, \"online_Daily_Transaction_Count\", $$v)},expression:\"cardLimitFormData.online_Daily_Transaction_Count\"}})],1)],1)],1)],1)],1),_c('div',{staticClass:\"button-center mt-5\"},[_c('div',[_c('Button',{attrs:{\"label\":_vm.buttonLabel,\"loading\":_vm.isLoading,\"disabled\":_vm.isDisabled,\"size\":\"lg\"},on:{\"click\":_vm.saveCustomerCardLimit}})],1)])],1)],1)],1),_c('b-modal',{ref:\"atmTransactionLimitModal\",attrs:{\"id\":\"atm-transaction-limit\",\"centered\":\"\",\"size\":\"md\",\"ok-only\":\"\",\"ok-title\":\"Okay\"},on:{\"ok\":function($event){return _vm.hideModal('atm-transaction-limit')}}},[_c('div',{staticClass:\"p-0\"},[_c('p',{staticClass:\"section-label mb-2\"},[_vm._v(\"\\n NOTE!\\n \")]),_c('p',[_vm._v(\"This is the limits the system would allow your customers to configure for physical ATM card transactions.\")])])]),_c('b-modal',{ref:\"posTransactionLimit\",attrs:{\"id\":\"pos-transaction-limit\",\"centered\":\"\",\"size\":\"md\",\"ok-only\":\"\",\"ok-title\":\"Okay\"},on:{\"ok\":function($event){return _vm.hideModal('pos-transaction-limit')}}},[_c('div',{staticClass:\"p-0\"},[_c('p',{staticClass:\"section-label mb-2\"},[_vm._v(\"\\n NOTE!\\n \")]),_c('p',[_vm._v(\"This is the limits the system would allow your customers to configure for POS card transactions.\")])])]),_c('b-modal',{ref:\"OnlineTransactionLimit\",attrs:{\"id\":\"online-transaction-limit\",\"centered\":\"\",\"size\":\"md\",\"ok-only\":\"\",\"ok-title\":\"Okay\"},on:{\"ok\":function($event){return _vm.hideModal('online-transaction-limit')}}},[_c('div',{staticClass:\"p-0\"},[_c('p',{staticClass:\"section-label mb-2\"},[_vm._v(\"\\n NOTE!\\n \")]),_c('p',[_vm._v(\"This is the limits the system would allow your customers to configure for Web/ Online card transaction.\")])])]),_c('FullScreenSpinner',{attrs:{\"show\":_vm.showSpinner}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n \n\n \n \n\n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {{ getOverallIndex(data.index) }}\n \n \n {{ data.value ? toDateWithYear(data.value) : '' }}\n \n \n {{ data.value ? toDateWithYear(data.value) : '' }}\n \n\n \n \n {{ data.value }}\n \n \n\n \n \n \n \n \n\n \n \n \n \n \n {{ data.item.status === 'Linked' ? 'Unlink Card' : 'Link Card' }}\n \n \n \n Card Limit\n \n \n \n \n\n \n\n \n\n \n \n \n \n \n \n \n \n\n \n \n \n \n \n\n \n \n option\"\n />\n \n \n \n \n \n \n \n \n \n \n\n \n \n INFORMATION\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n INFORMATION\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n INFORMATION\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n NOTE!\n \n This is the limits the system would allow your customers to configure for physical ATM card transactions.\n \n \n \n \n \n NOTE!\n \n This is the limits the system would allow your customers to configure for POS card transactions.\n \n \n \n \n \n NOTE!\n \n This is the limits the system would allow your customers to configure for Web/ Online card transaction.\n \n \n \n \n\n\n\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Index.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Index.vue?vue&type=template&id=2fecb624&scoped=true&\"\nimport script from \"./Index.vue?vue&type=script&lang=js&\"\nexport * from \"./Index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Index.vue?vue&type=style&index=0&id=2fecb624&scoped=true&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 \"2fecb624\",\n null\n \n)\n\nexport default component.exports","import { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_TITLE } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { toString } from '../../utils/string'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n title: makeProp(PROP_TYPE_STRING),\n titleTag: makeProp(PROP_TYPE_STRING, 'h4')\n}, NAME_CARD_TITLE); // --- Main component ---\n// @vue/component\n\nexport var BCardTitle = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_TITLE,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.titleTag, mergeData(data, {\n staticClass: 'card-title'\n }), children || toString(props.title));\n }\n});","'use strict';\nvar $ = require('../internals/export');\nvar $padStart = require('../internals/string-pad').start;\nvar WEBKIT_BUG = require('../internals/string-pad-webkit-bug');\n\n// `String.prototype.padStart` method\n// https://tc39.es/ecma262/#sec-string.prototype.padstart\n$({ target: 'String', proto: true, forced: WEBKIT_BUG }, {\n padStart: function padStart(maxLength /* , fillString = ' ' */) {\n return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var _watch;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_COLLAPSE } from '../../constants/components';\nimport { CLASS_NAME_SHOW } from '../../constants/classes';\nimport { IS_BROWSER } from '../../constants/env';\nimport { EVENT_NAME_HIDDEN, EVENT_NAME_HIDE, EVENT_NAME_SHOW, EVENT_NAME_SHOWN, EVENT_OPTIONS_NO_CAPTURE } from '../../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_DEFAULT } from '../../constants/slots';\nimport { addClass, hasClass, removeClass, closest, matches, getCS } from '../../utils/dom';\nimport { getRootActionEventName, getRootEventName, eventOnOff } from '../../utils/events';\nimport { makeModelMixin } from '../../utils/model';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { listenOnRootMixin } from '../../mixins/listen-on-root';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BVCollapse } from './helpers/bv-collapse'; // --- Constants ---\n\nvar ROOT_ACTION_EVENT_NAME_TOGGLE = getRootActionEventName(NAME_COLLAPSE, 'toggle');\nvar ROOT_ACTION_EVENT_NAME_REQUEST_STATE = getRootActionEventName(NAME_COLLAPSE, 'request-state');\nvar ROOT_EVENT_NAME_ACCORDION = getRootEventName(NAME_COLLAPSE, 'accordion');\nvar ROOT_EVENT_NAME_STATE = getRootEventName(NAME_COLLAPSE, 'state');\nvar ROOT_EVENT_NAME_SYNC_STATE = getRootEventName(NAME_COLLAPSE, 'sync-state');\n\nvar _makeModelMixin = makeModelMixin('visible', {\n type: PROP_TYPE_BOOLEAN,\n defaultValue: false\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread({}, idProps), modelProps), {}, {\n // If `true` (and `visible` is `true` on mount), animate initially visible\n accordion: makeProp(PROP_TYPE_STRING),\n appear: makeProp(PROP_TYPE_BOOLEAN, false),\n isNav: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n})), NAME_COLLAPSE); // --- Main component ---\n// @vue/component\n\nexport var BCollapse = /*#__PURE__*/Vue.extend({\n name: NAME_COLLAPSE,\n mixins: [idMixin, modelMixin, normalizeSlotMixin, listenOnRootMixin],\n props: props,\n data: function data() {\n return {\n show: this[MODEL_PROP_NAME],\n transitioning: false\n };\n },\n computed: {\n classObject: function classObject() {\n var transitioning = this.transitioning;\n return {\n 'navbar-collapse': this.isNav,\n collapse: !transitioning,\n show: this.show && !transitioning\n };\n },\n slotScope: function slotScope() {\n var _this = this;\n\n return {\n visible: this.show,\n close: function close() {\n _this.show = false;\n }\n };\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function (newValue) {\n if (newValue !== this.show) {\n this.show = newValue;\n }\n }), _defineProperty(_watch, \"show\", function show(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.emitState();\n }\n }), _watch),\n created: function created() {\n this.show = this[MODEL_PROP_NAME];\n },\n mounted: function mounted() {\n var _this2 = this;\n\n this.show = this[MODEL_PROP_NAME]; // Listen for toggle events to open/close us\n\n this.listenOnRoot(ROOT_ACTION_EVENT_NAME_TOGGLE, this.handleToggleEvt); // Listen to other collapses for accordion events\n\n this.listenOnRoot(ROOT_EVENT_NAME_ACCORDION, this.handleAccordionEvt);\n\n if (this.isNav) {\n // Set up handlers\n this.setWindowEvents(true);\n this.handleResize();\n }\n\n this.$nextTick(function () {\n _this2.emitState();\n }); // Listen for \"Sync state\" requests from `v-b-toggle`\n\n this.listenOnRoot(ROOT_ACTION_EVENT_NAME_REQUEST_STATE, function (id) {\n if (id === _this2.safeId()) {\n _this2.$nextTick(_this2.emitSync);\n }\n });\n },\n updated: function updated() {\n // Emit a private event every time this component updates to ensure\n // the toggle button is in sync with the collapse's state\n // It is emitted regardless if the visible state changes\n this.emitSync();\n },\n\n /* istanbul ignore next */\n deactivated: function deactivated() {\n if (this.isNav) {\n this.setWindowEvents(false);\n }\n },\n\n /* istanbul ignore next */\n activated: function activated() {\n if (this.isNav) {\n this.setWindowEvents(true);\n }\n\n this.emitSync();\n },\n beforeDestroy: function beforeDestroy() {\n // Trigger state emit if needed\n this.show = false;\n\n if (this.isNav && IS_BROWSER) {\n this.setWindowEvents(false);\n }\n },\n methods: {\n setWindowEvents: function setWindowEvents(on) {\n eventOnOff(on, window, 'resize', this.handleResize, EVENT_OPTIONS_NO_CAPTURE);\n eventOnOff(on, window, 'orientationchange', this.handleResize, EVENT_OPTIONS_NO_CAPTURE);\n },\n toggle: function toggle() {\n this.show = !this.show;\n },\n onEnter: function onEnter() {\n this.transitioning = true; // This should be moved out so we can add cancellable events\n\n this.$emit(EVENT_NAME_SHOW);\n },\n onAfterEnter: function onAfterEnter() {\n this.transitioning = false;\n this.$emit(EVENT_NAME_SHOWN);\n },\n onLeave: function onLeave() {\n this.transitioning = true; // This should be moved out so we can add cancellable events\n\n this.$emit(EVENT_NAME_HIDE);\n },\n onAfterLeave: function onAfterLeave() {\n this.transitioning = false;\n this.$emit(EVENT_NAME_HIDDEN);\n },\n emitState: function emitState() {\n var show = this.show,\n accordion = this.accordion;\n var id = this.safeId();\n this.$emit(MODEL_EVENT_NAME, show); // Let `v-b-toggle` know the state of this collapse\n\n this.emitOnRoot(ROOT_EVENT_NAME_STATE, id, show);\n\n if (accordion && show) {\n // Tell the other collapses in this accordion to close\n this.emitOnRoot(ROOT_EVENT_NAME_ACCORDION, id, accordion);\n }\n },\n emitSync: function emitSync() {\n // Emit a private event every time this component updates to ensure\n // the toggle button is in sync with the collapse's state\n // It is emitted regardless if the visible state changes\n this.emitOnRoot(ROOT_EVENT_NAME_SYNC_STATE, this.safeId(), this.show);\n },\n checkDisplayBlock: function checkDisplayBlock() {\n // Check to see if the collapse has `display: block !important` set\n // We can't set `display: none` directly on `this.$el`, as it would\n // trigger a new transition to start (or cancel a current one)\n var $el = this.$el;\n var restore = hasClass($el, CLASS_NAME_SHOW);\n removeClass($el, CLASS_NAME_SHOW);\n var isBlock = getCS($el).display === 'block';\n\n if (restore) {\n addClass($el, CLASS_NAME_SHOW);\n }\n\n return isBlock;\n },\n clickHandler: function clickHandler(event) {\n var el = event.target; // If we are in a nav/navbar, close the collapse when non-disabled link clicked\n\n /* istanbul ignore next: can't test `getComputedStyle()` in JSDOM */\n\n if (!this.isNav || !el || getCS(this.$el).display !== 'block') {\n return;\n } // Only close the collapse if it is not forced to be `display: block !important`\n\n\n if ((matches(el, '.nav-link,.dropdown-item') || closest('.nav-link,.dropdown-item', el)) && !this.checkDisplayBlock()) {\n this.show = false;\n }\n },\n handleToggleEvt: function handleToggleEvt(id) {\n if (id === this.safeId()) {\n this.toggle();\n }\n },\n handleAccordionEvt: function handleAccordionEvt(openedId, openAccordion) {\n var accordion = this.accordion,\n show = this.show;\n\n if (!accordion || accordion !== openAccordion) {\n return;\n }\n\n var isThis = openedId === this.safeId(); // Open this collapse if not shown or\n // close this collapse if shown\n\n if (isThis && !show || !isThis && show) {\n this.toggle();\n }\n },\n handleResize: function handleResize() {\n // Handler for orientation/resize to set collapsed state in nav/navbar\n this.show = getCS(this.$el).display === 'block';\n }\n },\n render: function render(h) {\n var appear = this.appear;\n var $content = h(this.tag, {\n class: this.classObject,\n directives: [{\n name: 'show',\n value: this.show\n }],\n attrs: {\n id: this.safeId()\n },\n on: {\n click: this.clickHandler\n }\n }, this.normalizeSlot(SLOT_NAME_DEFAULT, this.slotScope));\n return h(BVCollapse, {\n props: {\n appear: appear\n },\n on: {\n enter: this.onEnter,\n afterEnter: this.onAfterEnter,\n leave: this.onLeave,\n afterLeave: this.onAfterLeave\n }\n }, [$content]);\n }\n});","export var CLASS_NAME_SHOW = 'show';\nexport var CLASS_NAME_FADE = 'fade';","// Generic collapse transion helper component\n//\n// Note:\n// Applies the classes `collapse`, `show` and `collapsing`\n// during the enter/leave transition phases only\n// Although it appears that Vue may be leaving the classes\n// in-place after the transition completes\nimport { Vue, mergeData } from '../../../vue';\nimport { NAME_COLLAPSE_HELPER } from '../../../constants/components';\nimport { getBCR, reflow, removeStyle, requestAF, setStyle } from '../../../utils/dom'; // --- Helper methods ---\n// Transition event handler helpers\n\nvar onEnter = function onEnter(el) {\n setStyle(el, 'height', 0); // In a `requestAF()` for `appear` to work\n\n requestAF(function () {\n reflow(el);\n setStyle(el, 'height', \"\".concat(el.scrollHeight, \"px\"));\n });\n};\n\nvar onAfterEnter = function onAfterEnter(el) {\n removeStyle(el, 'height');\n};\n\nvar onLeave = function onLeave(el) {\n setStyle(el, 'height', 'auto');\n setStyle(el, 'display', 'block');\n setStyle(el, 'height', \"\".concat(getBCR(el).height, \"px\"));\n reflow(el);\n setStyle(el, 'height', 0);\n};\n\nvar onAfterLeave = function onAfterLeave(el) {\n removeStyle(el, 'height');\n}; // --- Constants ---\n// Default transition props\n// `appear` will use the enter classes\n\n\nvar TRANSITION_PROPS = {\n css: true,\n enterClass: '',\n enterActiveClass: 'collapsing',\n enterToClass: 'collapse show',\n leaveClass: 'collapse show',\n leaveActiveClass: 'collapsing',\n leaveToClass: 'collapse'\n}; // Default transition handlers\n// `appear` will use the enter handlers\n\nvar TRANSITION_HANDLERS = {\n enter: onEnter,\n afterEnter: onAfterEnter,\n leave: onLeave,\n afterLeave: onAfterLeave\n}; // --- Main component ---\n// @vue/component\n\nexport var BVCollapse = /*#__PURE__*/Vue.extend({\n name: NAME_COLLAPSE_HELPER,\n functional: true,\n props: {\n appear: {\n // If `true` (and `visible` is `true` on mount), animate initially visible\n type: Boolean,\n default: false\n }\n },\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h('transition', // We merge in the `appear` prop last\n mergeData(data, {\n props: TRANSITION_PROPS,\n on: TRANSITION_HANDLERS\n }, {\n props: props\n }), // Note: `` supports a single root element only\n children);\n }\n});","module.exports = __webpack_public_path__ + \"img/loader.eb08adcf.gif\";","import { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_SUB_TITLE } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { toString } from '../../utils/string'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n subTitle: makeProp(PROP_TYPE_STRING),\n subTitleTag: makeProp(PROP_TYPE_STRING, 'h6'),\n subTitleTextVariant: makeProp(PROP_TYPE_STRING, 'muted')\n}, NAME_CARD_SUB_TITLE); // --- Main component ---\n// @vue/component\n\nexport var BCardSubTitle = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_SUB_TITLE,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.subTitleTag, mergeData(data, {\n staticClass: 'card-subtitle',\n class: [props.subTitleTextVariant ? \"text-\".concat(props.subTitleTextVariant) : null]\n }), children || toString(props.subTitle));\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_BODY } from '../../constants/components';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN } from '../../constants/props';\nimport { sortKeys } from '../../utils/object';\nimport { copyProps, makeProp, makePropsConfigurable, pluckProps, prefixPropName } from '../../utils/props';\nimport { props as cardProps } from '../../mixins/card';\nimport { BCardTitle, props as titleProps } from './card-title';\nimport { BCardSubTitle, props as subTitleProps } from './card-sub-title'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, titleProps), subTitleProps), copyProps(cardProps, prefixPropName.bind(null, 'body'))), {}, {\n bodyClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n overlay: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_CARD_BODY); // --- Main component ---\n// @vue/component\n\nexport var BCardBody = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_BODY,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _ref2;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var bodyBgVariant = props.bodyBgVariant,\n bodyBorderVariant = props.bodyBorderVariant,\n bodyTextVariant = props.bodyTextVariant;\n var $title = h();\n\n if (props.title) {\n $title = h(BCardTitle, {\n props: pluckProps(titleProps, props)\n });\n }\n\n var $subTitle = h();\n\n if (props.subTitle) {\n $subTitle = h(BCardSubTitle, {\n props: pluckProps(subTitleProps, props),\n class: ['mb-2']\n });\n }\n\n return h(props.bodyTag, mergeData(data, {\n staticClass: 'card-body',\n class: [(_ref2 = {\n 'card-img-overlay': props.overlay\n }, _defineProperty(_ref2, \"bg-\".concat(bodyBgVariant), bodyBgVariant), _defineProperty(_ref2, \"border-\".concat(bodyBorderVariant), bodyBorderVariant), _defineProperty(_ref2, \"text-\".concat(bodyTextVariant), bodyTextVariant), _ref2), props.bodyClass]\n }), [$title, $subTitle, children]);\n }\n});","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputField.vue?vue&type=style&index=0&id=c26398c2&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableEntries.vue?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../../node_modules/css-loader/index.js??ref--6-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Index.vue?vue&type=style&index=0&id=2fecb624&scoped=true&lang=css&\"","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","import { toString } from './string';\n\nvar escapeChar = function escapeChar(value) {\n return '\\\\' + value;\n}; // The `cssEscape()` util is based on this `CSS.escape()` polyfill:\n// https://github.com/mathiasbynens/CSS.escape\n\n\nexport var cssEscape = function cssEscape(value) {\n value = toString(value);\n var length = value.length;\n var firstCharCode = value.charCodeAt(0);\n return value.split('').reduce(function (result, char, index) {\n var charCode = value.charCodeAt(index); // If the character is NULL (U+0000), use (U+FFFD) as replacement\n\n if (charCode === 0x0000) {\n return result + \"\\uFFFD\";\n } // If the character ...\n\n\n if ( // ... is U+007F OR\n charCode === 0x007f || // ... is in the range [\\1-\\1F] (U+0001 to U+001F) OR ...\n charCode >= 0x0001 && charCode <= 0x001f || // ... is the first character and is in the range [0-9] (U+0030 to U+0039) OR ...\n index === 0 && charCode >= 0x0030 && charCode <= 0x0039 || // ... is the second character and is in the range [0-9] (U+0030 to U+0039)\n // and the first character is a `-` (U+002D) ...\n index === 1 && charCode >= 0x0030 && charCode <= 0x0039 && firstCharCode === 0x002d) {\n // ... https://drafts.csswg.org/cssom/#escape-a-character-as-code-point\n return result + escapeChar(\"\".concat(charCode.toString(16), \" \"));\n } // If the character ...\n\n\n if ( // ... is the first character AND ...\n index === 0 && // ... is a `-` (U+002D) AND ...\n charCode === 0x002d && // ... there is no second character ...\n length === 1) {\n // ... use the escaped character\n return result + escapeChar(char);\n } // If the character ...\n\n\n if ( // ... is greater than or equal to U+0080 OR ...\n charCode >= 0x0080 || // ... is `-` (U+002D) OR ...\n charCode === 0x002d || // ... is `_` (U+005F) OR ...\n charCode === 0x005f || // ... is in the range [0-9] (U+0030 to U+0039) OR ...\n charCode >= 0x0030 && charCode <= 0x0039 || // ... is in the range [A-Z] (U+0041 to U+005A) OR ...\n charCode >= 0x0041 && charCode <= 0x005a || // ... is in the range [a-z] (U+0061 to U+007A) ...\n charCode >= 0x0061 && charCode <= 0x007a) {\n // ... use the character itself\n return result + char;\n } // Otherwise use the escaped character\n // See: https://drafts.csswg.org/cssom/#escape-a-character\n\n\n return result + escapeChar(char);\n }, '');\n};","import { Vue, mergeData } from '../../vue';\nimport { NAME_FORM_ROW } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n tag: makeProp(PROP_TYPE_STRING, 'div')\n}, NAME_FORM_ROW); // --- Main component ---\n// @vue/component\n\nexport var BFormRow = /*#__PURE__*/Vue.extend({\n name: NAME_FORM_ROW,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.tag, mergeData(data, {\n staticClass: 'form-row'\n }), children);\n }\n});","import { Vue, mergeData } from '../../vue';\nimport { NAME_FORM_VALID_FEEDBACK } 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 ariaLive: makeProp(PROP_TYPE_STRING),\n forceShow: makeProp(PROP_TYPE_BOOLEAN, false),\n id: makeProp(PROP_TYPE_STRING),\n role: makeProp(PROP_TYPE_STRING),\n // Tri-state prop: `true`, `false`, or `null`\n state: makeProp(PROP_TYPE_BOOLEAN, null),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n tooltip: makeProp(PROP_TYPE_BOOLEAN, false)\n}, NAME_FORM_VALID_FEEDBACK); // --- Main component ---\n// @vue/component\n\nexport var BFormValidFeedback = /*#__PURE__*/Vue.extend({\n name: NAME_FORM_VALID_FEEDBACK,\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 tooltip = props.tooltip,\n ariaLive = props.ariaLive;\n var show = props.forceShow === true || props.state === true;\n return h(props.tag, mergeData(data, {\n class: {\n 'd-block': show,\n 'valid-feedback': !tooltip,\n 'valid-tooltip': tooltip\n },\n attrs: {\n id: props.id || null,\n role: props.role || null,\n 'aria-live': ariaLive || null,\n 'aria-atomic': ariaLive ? 'true' : null\n }\n }), children);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { NAME_FORM_GROUP } from '../../constants/components';\nimport { IS_BROWSER } from '../../constants/env';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { RX_SPACE_SPLIT } from '../../constants/regex';\nimport { SLOT_NAME_DEFAULT, SLOT_NAME_DESCRIPTION, SLOT_NAME_INVALID_FEEDBACK, SLOT_NAME_LABEL, SLOT_NAME_VALID_FEEDBACK } from '../../constants/slots';\nimport { arrayIncludes } from '../../utils/array';\nimport { getBreakpointsUpCached } from '../../utils/config';\nimport { cssEscape } from '../../utils/css-escape';\nimport { select, selectAll, isVisible, setAttr, removeAttr, getAttr, attemptFocus } from '../../utils/dom';\nimport { identity } from '../../utils/identity';\nimport { isBoolean } from '../../utils/inspect';\nimport { toInteger } from '../../utils/number';\nimport { create, keys, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, suffixPropName } from '../../utils/props';\nimport { formStateMixin, props as formStateProps } from '../../mixins/form-state';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BCol } from '../layout/col';\nimport { BFormRow } from '../layout/form-row';\nimport { BFormText } from '../form/form-text';\nimport { BFormInvalidFeedback } from '../form/form-invalid-feedback';\nimport { BFormValidFeedback } from '../form/form-valid-feedback'; // --- Constants ---\n\nvar INPUTS = ['input', 'select', 'textarea']; // Selector for finding first input in the form group\n\nvar INPUT_SELECTOR = INPUTS.map(function (v) {\n return \"\".concat(v, \":not([disabled])\");\n}).join(); // A list of interactive elements (tag names) inside ``'s legend\n\nvar LEGEND_INTERACTIVE_ELEMENTS = [].concat(INPUTS, ['a', 'button', 'label']); // --- Props ---\n// Prop generator for lazy generation of props\n\nexport var generateProps = function generateProps() {\n return makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), formStateProps), getBreakpointsUpCached().reduce(function (props, breakpoint) {\n // i.e. 'content-cols', 'content-cols-sm', 'content-cols-md', ...\n props[suffixPropName(breakpoint, 'contentCols')] = makeProp(PROP_TYPE_BOOLEAN_NUMBER_STRING); // i.e. 'label-align', 'label-align-sm', 'label-align-md', ...\n\n props[suffixPropName(breakpoint, 'labelAlign')] = makeProp(PROP_TYPE_STRING); // i.e. 'label-cols', 'label-cols-sm', 'label-cols-md', ...\n\n props[suffixPropName(breakpoint, 'labelCols')] = makeProp(PROP_TYPE_BOOLEAN_NUMBER_STRING);\n return props;\n }, create(null))), {}, {\n description: makeProp(PROP_TYPE_STRING),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n feedbackAriaLive: makeProp(PROP_TYPE_STRING, 'assertive'),\n invalidFeedback: makeProp(PROP_TYPE_STRING),\n label: makeProp(PROP_TYPE_STRING),\n labelClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n labelFor: makeProp(PROP_TYPE_STRING),\n labelSize: makeProp(PROP_TYPE_STRING),\n labelSrOnly: makeProp(PROP_TYPE_BOOLEAN, false),\n tooltip: makeProp(PROP_TYPE_BOOLEAN, false),\n validFeedback: makeProp(PROP_TYPE_STRING),\n validated: makeProp(PROP_TYPE_BOOLEAN, false)\n })), NAME_FORM_GROUP);\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 BFormGroup = {\n name: NAME_FORM_GROUP,\n mixins: [idMixin, formStateMixin, normalizeSlotMixin],\n\n get props() {\n // Allow props to be lazy evaled on first access and\n // then they become a non-getter afterwards\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get#Smart_self-overwriting_lazy_getters\n delete this.props; // eslint-disable-next-line no-return-assign\n\n return this.props = generateProps();\n },\n\n data: function data() {\n return {\n ariaDescribedby: null\n };\n },\n computed: {\n contentColProps: function contentColProps() {\n return this.getColProps(this.$props, 'content');\n },\n labelAlignClasses: function labelAlignClasses() {\n return this.getAlignClasses(this.$props, 'label');\n },\n labelColProps: function labelColProps() {\n return this.getColProps(this.$props, 'label');\n },\n isHorizontal: function isHorizontal() {\n // Determine if the form group will be rendered horizontal\n // based on the existence of 'content-col' or 'label-col' props\n return keys(this.contentColProps).length > 0 || keys(this.labelColProps).length > 0;\n }\n },\n watch: {\n ariaDescribedby: function ariaDescribedby(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.updateAriaDescribedby(newValue, oldValue);\n }\n }\n },\n mounted: function mounted() {\n var _this = this;\n\n this.$nextTick(function () {\n // Set `aria-describedby` on the input specified by `labelFor`\n // We do this in a `$nextTick()` to ensure the children have finished rendering\n _this.updateAriaDescribedby(_this.ariaDescribedby);\n });\n },\n methods: {\n getAlignClasses: function getAlignClasses(props, prefix) {\n return getBreakpointsUpCached().reduce(function (result, breakpoint) {\n var propValue = props[suffixPropName(breakpoint, \"\".concat(prefix, \"Align\"))] || null;\n\n if (propValue) {\n result.push(['text', breakpoint, propValue].filter(identity).join('-'));\n }\n\n return result;\n }, []);\n },\n getColProps: function getColProps(props, prefix) {\n return getBreakpointsUpCached().reduce(function (result, breakpoint) {\n var propValue = props[suffixPropName(breakpoint, \"\".concat(prefix, \"Cols\"))]; // Handle case where the prop's value is an empty string,\n // which represents `true`\n\n propValue = propValue === '' ? true : propValue || false;\n\n if (!isBoolean(propValue) && propValue !== 'auto') {\n // Convert to column size to number\n propValue = toInteger(propValue, 0); // Ensure column size is greater than `0`\n\n propValue = propValue > 0 ? propValue : false;\n } // Add the prop to the list of props to give to ``\n // If breakpoint is '' (`${prefix}Cols` is `true`), then we use\n // the 'col' prop to make equal width at 'xs'\n\n\n if (propValue) {\n result[breakpoint || (isBoolean(propValue) ? 'col' : 'cols')] = propValue;\n }\n\n return result;\n }, {});\n },\n // Sets the `aria-describedby` attribute on the input if `labelFor` is set\n // Optionally accepts a string of IDs to remove as the second parameter\n // Preserves any `aria-describedby` value(s) user may have on input\n updateAriaDescribedby: function updateAriaDescribedby(newValue, oldValue) {\n var labelFor = this.labelFor;\n\n if (IS_BROWSER && labelFor) {\n // We need to escape `labelFor` since it can be user-provided\n var $input = select(\"#\".concat(cssEscape(labelFor)), this.$refs.content);\n\n if ($input) {\n var attr = 'aria-describedby';\n var newIds = (newValue || '').split(RX_SPACE_SPLIT);\n var oldIds = (oldValue || '').split(RX_SPACE_SPLIT); // Update ID list, preserving any original IDs\n // and ensuring the ID's are unique\n\n var ids = (getAttr($input, attr) || '').split(RX_SPACE_SPLIT).filter(function (id) {\n return !arrayIncludes(oldIds, id);\n }).concat(newIds).filter(function (id, index, ids) {\n return ids.indexOf(id) === index;\n }).filter(identity).join(' ').trim();\n\n if (ids) {\n setAttr($input, attr, ids);\n } else {\n removeAttr($input, attr);\n }\n }\n }\n },\n onLegendClick: function onLegendClick(event) {\n // Don't do anything if `labelFor` is set\n\n /* istanbul ignore next: clicking a label will focus the input, so no need to test */\n if (this.labelFor) {\n return;\n }\n\n var target = event.target;\n var tagName = target ? target.tagName : ''; // If clicked an interactive element inside legend,\n // we just let the default happen\n\n /* istanbul ignore next */\n\n if (LEGEND_INTERACTIVE_ELEMENTS.indexOf(tagName) !== -1) {\n return;\n } // If only a single input, focus it, emulating label behaviour\n\n\n var inputs = selectAll(INPUT_SELECTOR, this.$refs.content).filter(isVisible);\n\n if (inputs.length === 1) {\n attemptFocus(inputs[0]);\n }\n }\n },\n render: function render(h) {\n var state = this.computedState,\n feedbackAriaLive = this.feedbackAriaLive,\n isHorizontal = this.isHorizontal,\n labelFor = this.labelFor,\n normalizeSlot = this.normalizeSlot,\n safeId = this.safeId,\n tooltip = this.tooltip;\n var id = safeId();\n var isFieldset = !labelFor;\n var $label = h();\n var labelContent = normalizeSlot(SLOT_NAME_LABEL) || this.label;\n var labelId = labelContent ? safeId('_BV_label_') : null;\n\n if (labelContent || isHorizontal) {\n var labelSize = this.labelSize,\n labelColProps = this.labelColProps;\n var labelTag = isFieldset ? 'legend' : 'label';\n\n if (this.labelSrOnly) {\n if (labelContent) {\n $label = h(labelTag, {\n class: 'sr-only',\n attrs: {\n id: labelId,\n for: labelFor || null\n }\n }, [labelContent]);\n }\n\n $label = h(isHorizontal ? BCol : 'div', {\n props: isHorizontal ? labelColProps : {}\n }, [$label]);\n } else {\n $label = h(isHorizontal ? BCol : labelTag, {\n on: isFieldset ? {\n click: this.onLegendClick\n } : {},\n props: isHorizontal ? _objectSpread(_objectSpread({}, labelColProps), {}, {\n tag: labelTag\n }) : {},\n attrs: {\n id: labelId,\n for: labelFor || null,\n // We add a `tabindex` to legend so that screen readers\n // will properly read the `aria-labelledby` in IE\n tabindex: isFieldset ? '-1' : null\n },\n class: [// Hide the focus ring on the legend\n isFieldset ? 'bv-no-focus-ring' : '', // When horizontal or if a legend is rendered, add 'col-form-label' class\n // for correct sizing as Bootstrap has inconsistent font styling for\n // legend in non-horizontal form groups\n // See: https://github.com/twbs/bootstrap/issues/27805\n isHorizontal || isFieldset ? 'col-form-label' : '', // Emulate label padding top of `0` on legend when not horizontal\n !isHorizontal && isFieldset ? 'pt-0' : '', // If not horizontal and not a legend, we add 'd-block' class to label\n // so that label-align works\n !isHorizontal && !isFieldset ? 'd-block' : '', labelSize ? \"col-form-label-\".concat(labelSize) : '', this.labelAlignClasses, this.labelClass]\n }, [labelContent]);\n }\n }\n\n var $invalidFeedback = h();\n var invalidFeedbackContent = normalizeSlot(SLOT_NAME_INVALID_FEEDBACK) || this.invalidFeedback;\n var invalidFeedbackId = invalidFeedbackContent ? safeId('_BV_feedback_invalid_') : null;\n\n if (invalidFeedbackContent) {\n $invalidFeedback = h(BFormInvalidFeedback, {\n props: {\n ariaLive: feedbackAriaLive,\n id: invalidFeedbackId,\n role: feedbackAriaLive ? 'alert' : null,\n // If state is explicitly `false`, always show the feedback\n state: state,\n tooltip: tooltip\n },\n attrs: {\n tabindex: invalidFeedbackContent ? '-1' : null\n }\n }, [invalidFeedbackContent]);\n }\n\n var $validFeedback = h();\n var validFeedbackContent = normalizeSlot(SLOT_NAME_VALID_FEEDBACK) || this.validFeedback;\n var validFeedbackId = validFeedbackContent ? safeId('_BV_feedback_valid_') : null;\n\n if (validFeedbackContent) {\n $validFeedback = h(BFormValidFeedback, {\n props: {\n ariaLive: feedbackAriaLive,\n id: validFeedbackId,\n role: feedbackAriaLive ? 'alert' : null,\n // If state is explicitly `true`, always show the feedback\n state: state,\n tooltip: tooltip\n },\n attrs: {\n tabindex: validFeedbackContent ? '-1' : null\n }\n }, [validFeedbackContent]);\n }\n\n var $description = h();\n var descriptionContent = normalizeSlot(SLOT_NAME_DESCRIPTION) || this.description;\n var descriptionId = descriptionContent ? safeId('_BV_description_') : null;\n\n if (descriptionContent) {\n $description = h(BFormText, {\n attrs: {\n id: descriptionId,\n tabindex: '-1'\n }\n }, [descriptionContent]);\n } // Update `ariaDescribedby`\n // Screen readers will read out any content linked to by `aria-describedby`\n // even if the content is hidden with `display: none;`, hence we only include\n // feedback IDs if the form group's state is explicitly valid or invalid\n\n\n var ariaDescribedby = this.ariaDescribedby = [descriptionId, state === false ? invalidFeedbackId : null, state === true ? validFeedbackId : null].filter(identity).join(' ') || null;\n var $content = h(isHorizontal ? BCol : 'div', {\n props: isHorizontal ? this.contentColProps : {},\n ref: 'content'\n }, [normalizeSlot(SLOT_NAME_DEFAULT, {\n ariaDescribedby: ariaDescribedby,\n descriptionId: descriptionId,\n id: id,\n labelId: labelId\n }) || h(), $invalidFeedback, $validFeedback, $description]); // Return it wrapped in a form group\n // Note: Fieldsets do not support adding `row` or `form-row` directly\n // to them due to browser specific render issues, so we move the `form-row`\n // to an inner wrapper div when horizontal and using a fieldset\n\n return h(isFieldset ? 'fieldset' : isHorizontal ? BFormRow : 'div', {\n staticClass: 'form-group',\n class: [{\n 'was-validated': this.validated\n }, this.stateClass],\n attrs: {\n id: id,\n disabled: isFieldset ? this.disabled : null,\n role: isFieldset ? null : 'group',\n 'aria-invalid': this.computedAriaInvalid,\n // Only apply `aria-labelledby` if we are a horizontal fieldset\n // as the legend is no longer a direct child of fieldset\n 'aria-labelledby': isFieldset && isHorizontal ? labelId : null\n }\n }, isHorizontal && isFieldset ? [h(BFormRow, [$label, $content])] : [$label, $content]);\n }\n};","var $ = require('../internals/export');\nvar isIntegralNumber = require('../internals/is-integral-number');\n\n// `Number.isInteger` method\n// https://tc39.es/ecma262/#sec-number.isinteger\n$({ target: 'Number', stat: true }, {\n isInteger: isIntegralNumber\n});\n","var $ = require('../internals/export');\n\n// `Number.isNaN` method\n// https://tc39.es/ecma262/#sec-number.isnan\n$({ target: 'Number', stat: true }, {\n isNaN: function isNaN(number) {\n // eslint-disable-next-line no-self-compare -- NaN check\n return number != number;\n }\n});\n","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_FORM_TEXT } 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 tag: makeProp(PROP_TYPE_STRING, 'small'),\n textVariant: makeProp(PROP_TYPE_STRING, 'muted')\n}, NAME_FORM_TEXT); // --- Main component ---\n// @vue/component\n\nexport var BFormText = /*#__PURE__*/Vue.extend({\n name: NAME_FORM_TEXT,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.tag, mergeData(data, {\n class: _defineProperty({\n 'form-text': !props.inline\n }, \"text-\".concat(props.textVariant), props.textVariant),\n attrs: {\n id: props.id\n }\n }), children);\n }\n});","export var PLACEMENT_TOP_START = 'top-start';\nexport var PLACEMENT_TOP_END = 'top-end';\nexport var PLACEMENT_BOTTOM_START = 'bottom-start';\nexport var PLACEMENT_BOTTOM_END = 'bottom-end';\nexport var PLACEMENT_RIGHT_START = 'right-start';\nexport var PLACEMENT_RIGHT_END = 'right-end';\nexport var PLACEMENT_LEFT_START = 'left-start';\nexport var PLACEMENT_LEFT_END = 'left-end';","import { Vue } from '../vue';\nimport { EVENT_OPTIONS_NO_CAPTURE } from '../constants/events';\nimport { contains } from '../utils/dom';\nimport { eventOn, eventOff } from '../utils/events'; // @vue/component\n\nexport var clickOutMixin = Vue.extend({\n data: function data() {\n return {\n listenForClickOut: false\n };\n },\n watch: {\n listenForClickOut: function listenForClickOut(newValue, oldValue) {\n if (newValue !== oldValue) {\n eventOff(this.clickOutElement, this.clickOutEventName, this._clickOutHandler, EVENT_OPTIONS_NO_CAPTURE);\n\n if (newValue) {\n eventOn(this.clickOutElement, this.clickOutEventName, this._clickOutHandler, EVENT_OPTIONS_NO_CAPTURE);\n }\n }\n }\n },\n beforeCreate: function beforeCreate() {\n // Declare non-reactive properties\n this.clickOutElement = null;\n this.clickOutEventName = null;\n },\n mounted: function mounted() {\n if (!this.clickOutElement) {\n this.clickOutElement = document;\n }\n\n if (!this.clickOutEventName) {\n this.clickOutEventName = 'click';\n }\n\n if (this.listenForClickOut) {\n eventOn(this.clickOutElement, this.clickOutEventName, this._clickOutHandler, EVENT_OPTIONS_NO_CAPTURE);\n }\n },\n beforeDestroy: function beforeDestroy() {\n eventOff(this.clickOutElement, this.clickOutEventName, this._clickOutHandler, EVENT_OPTIONS_NO_CAPTURE);\n },\n methods: {\n isClickOut: function isClickOut(event) {\n return !contains(this.$el, event.target);\n },\n _clickOutHandler: function _clickOutHandler(event) {\n if (this.clickOutHandler && this.isClickOut(event)) {\n this.clickOutHandler(event);\n }\n }\n }\n});","import { Vue } from '../vue';\nimport { EVENT_OPTIONS_NO_CAPTURE } from '../constants/events';\nimport { eventOn, eventOff } from '../utils/events'; // @vue/component\n\nexport var focusInMixin = Vue.extend({\n data: function data() {\n return {\n listenForFocusIn: false\n };\n },\n watch: {\n listenForFocusIn: function listenForFocusIn(newValue, oldValue) {\n if (newValue !== oldValue) {\n eventOff(this.focusInElement, 'focusin', this._focusInHandler, EVENT_OPTIONS_NO_CAPTURE);\n\n if (newValue) {\n eventOn(this.focusInElement, 'focusin', this._focusInHandler, EVENT_OPTIONS_NO_CAPTURE);\n }\n }\n }\n },\n beforeCreate: function beforeCreate() {\n // Declare non-reactive properties\n this.focusInElement = null;\n },\n mounted: function mounted() {\n if (!this.focusInElement) {\n this.focusInElement = document;\n }\n\n if (this.listenForFocusIn) {\n eventOn(this.focusInElement, 'focusin', this._focusInHandler, EVENT_OPTIONS_NO_CAPTURE);\n }\n },\n beforeDestroy: function beforeDestroy() {\n eventOff(this.focusInElement, 'focusin', this._focusInHandler, EVENT_OPTIONS_NO_CAPTURE);\n },\n methods: {\n _focusInHandler: function _focusInHandler(event) {\n if (this.focusInHandler) {\n this.focusInHandler(event);\n }\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport Popper from 'popper.js';\nimport { Vue } from '../vue';\nimport { NAME_DROPDOWN } from '../constants/components';\nimport { EVENT_NAME_CLICK, EVENT_NAME_HIDDEN, EVENT_NAME_HIDE, EVENT_NAME_SHOW, EVENT_NAME_SHOWN, EVENT_NAME_TOGGLE } from '../constants/events';\nimport { CODE_DOWN, CODE_ENTER, CODE_ESC, CODE_SPACE, CODE_UP } from '../constants/key-codes';\nimport { PLACEMENT_TOP_START, PLACEMENT_TOP_END, PLACEMENT_BOTTOM_START, PLACEMENT_BOTTOM_END, PLACEMENT_RIGHT_START, PLACEMENT_LEFT_START } from '../constants/popper';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_OBJECT, PROP_TYPE_STRING } from '../constants/props';\nimport { HTMLElement } from '../constants/safe-types';\nimport { BvEvent } from '../utils/bv-event.class';\nimport { attemptFocus, closest, contains, isVisible, requestAF, selectAll } from '../utils/dom';\nimport { getRootEventName, stopEvent } from '../utils/events';\nimport { isNull } from '../utils/inspect';\nimport { mergeDeep, sortKeys } from '../utils/object';\nimport { makeProp, makePropsConfigurable } from '../utils/props';\nimport { warn } from '../utils/warn';\nimport { clickOutMixin } from './click-out';\nimport { focusInMixin } from './focus-in';\nimport { idMixin, props as idProps } from './id';\nimport { listenOnRootMixin } from './listen-on-root'; // --- Constants ---\n\nvar ROOT_EVENT_NAME_SHOWN = getRootEventName(NAME_DROPDOWN, EVENT_NAME_SHOWN);\nvar ROOT_EVENT_NAME_HIDDEN = getRootEventName(NAME_DROPDOWN, EVENT_NAME_HIDDEN); // CSS selectors\n\nvar SELECTOR_FORM_CHILD = '.dropdown form';\nvar SELECTOR_ITEM = ['.dropdown-item', '.b-dropdown-form'].map(function (selector) {\n return \"\".concat(selector, \":not(.disabled):not([disabled])\");\n}).join(', '); // --- Helper methods ---\n// Return an array of visible items\n\nvar filterVisibles = function filterVisibles(els) {\n return (els || []).filter(isVisible);\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, idProps), {}, {\n // String: `scrollParent`, `window` or `viewport`\n // HTMLElement: HTML Element reference\n boundary: makeProp([HTMLElement, PROP_TYPE_STRING], 'scrollParent'),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n // Place left if possible\n dropleft: makeProp(PROP_TYPE_BOOLEAN, false),\n // Place right if possible\n dropright: makeProp(PROP_TYPE_BOOLEAN, false),\n // Place on top if possible\n dropup: makeProp(PROP_TYPE_BOOLEAN, false),\n // Disable auto-flipping of menu from bottom <=> top\n noFlip: makeProp(PROP_TYPE_BOOLEAN, false),\n // Number of pixels or a CSS unit value to offset menu\n // (i.e. `1px`, `1rem`, etc.)\n offset: makeProp(PROP_TYPE_NUMBER_STRING, 0),\n popperOpts: makeProp(PROP_TYPE_OBJECT, {}),\n // Right align menu (default is left align)\n right: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_DROPDOWN); // --- Mixin ---\n// @vue/component\n\nexport var dropdownMixin = Vue.extend({\n mixins: [idMixin, listenOnRootMixin, clickOutMixin, focusInMixin],\n provide: function provide() {\n return {\n bvDropdown: this\n };\n },\n inject: {\n bvNavbar: {\n default: null\n }\n },\n props: props,\n data: function data() {\n return {\n visible: false,\n visibleChangePrevented: false\n };\n },\n computed: {\n inNavbar: function inNavbar() {\n return !isNull(this.bvNavbar);\n },\n toggler: function toggler() {\n var toggle = this.$refs.toggle;\n return toggle ? toggle.$el || toggle : null;\n },\n directionClass: function directionClass() {\n if (this.dropup) {\n return 'dropup';\n } else if (this.dropright) {\n return 'dropright';\n } else if (this.dropleft) {\n return 'dropleft';\n }\n\n return '';\n },\n boundaryClass: function boundaryClass() {\n // Position `static` is needed to allow menu to \"breakout\" of the `scrollParent`\n // boundaries when boundary is anything other than `scrollParent`\n // See: https://github.com/twbs/bootstrap/issues/24251#issuecomment-341413786\n return this.boundary !== 'scrollParent' && !this.inNavbar ? 'position-static' : '';\n }\n },\n watch: {\n visible: function visible(newValue, oldValue) {\n if (this.visibleChangePrevented) {\n this.visibleChangePrevented = false;\n return;\n }\n\n if (newValue !== oldValue) {\n var eventName = newValue ? EVENT_NAME_SHOW : EVENT_NAME_HIDE;\n var bvEvent = new BvEvent(eventName, {\n cancelable: true,\n vueTarget: this,\n target: this.$refs.menu,\n relatedTarget: null,\n componentId: this.safeId ? this.safeId() : this.id || null\n });\n this.emitEvent(bvEvent);\n\n if (bvEvent.defaultPrevented) {\n // Reset value and exit if canceled\n this.visibleChangePrevented = true;\n this.visible = oldValue; // Just in case a child element triggered `this.hide(true)`\n\n this.$off(EVENT_NAME_HIDDEN, this.focusToggler);\n return;\n }\n\n if (newValue) {\n this.showMenu();\n } else {\n this.hideMenu();\n }\n }\n },\n disabled: function disabled(newValue, oldValue) {\n if (newValue !== oldValue && newValue && this.visible) {\n // Hide dropdown if disabled changes to true\n this.visible = false;\n }\n }\n },\n created: function created() {\n // Create private non-reactive props\n this.$_popper = null;\n this.$_hideTimeout = null;\n },\n\n /* istanbul ignore next */\n deactivated: function deactivated() {\n // In case we are inside a ``\n this.visible = false;\n this.whileOpenListen(false);\n this.destroyPopper();\n },\n beforeDestroy: function beforeDestroy() {\n this.visible = false;\n this.whileOpenListen(false);\n this.destroyPopper();\n this.clearHideTimeout();\n },\n methods: {\n // Event emitter\n emitEvent: function emitEvent(bvEvent) {\n var type = bvEvent.type;\n this.emitOnRoot(getRootEventName(NAME_DROPDOWN, type), bvEvent);\n this.$emit(type, bvEvent);\n },\n showMenu: function showMenu() {\n var _this = this;\n\n if (this.disabled) {\n /* istanbul ignore next */\n return;\n } // Only instantiate Popper.js when dropdown is not in ``\n\n\n if (!this.inNavbar) {\n if (typeof Popper === 'undefined') {\n /* istanbul ignore next */\n warn('Popper.js not found. Falling back to CSS positioning', NAME_DROPDOWN);\n } else {\n // For dropup with alignment we use the parent element as popper container\n var el = this.dropup && this.right || this.split ? this.$el : this.$refs.toggle; // Make sure we have a reference to an element, not a component!\n\n el = el.$el || el; // Instantiate Popper.js\n\n this.createPopper(el);\n }\n } // Ensure other menus are closed\n\n\n this.emitOnRoot(ROOT_EVENT_NAME_SHOWN, this); // Enable listeners\n\n this.whileOpenListen(true); // Wrap in `$nextTick()` to ensure menu is fully rendered/shown\n\n this.$nextTick(function () {\n // Focus on the menu container on show\n _this.focusMenu(); // Emit the shown event\n\n\n _this.$emit(EVENT_NAME_SHOWN);\n });\n },\n hideMenu: function hideMenu() {\n this.whileOpenListen(false);\n this.emitOnRoot(ROOT_EVENT_NAME_HIDDEN, this);\n this.$emit(EVENT_NAME_HIDDEN);\n this.destroyPopper();\n },\n createPopper: function createPopper(element) {\n this.destroyPopper();\n this.$_popper = new Popper(element, this.$refs.menu, this.getPopperConfig());\n },\n // Ensure popper event listeners are removed cleanly\n destroyPopper: function destroyPopper() {\n this.$_popper && this.$_popper.destroy();\n this.$_popper = null;\n },\n // Instructs popper to re-computes the dropdown position\n // useful if the content changes size\n updatePopper: function updatePopper() {\n try {\n this.$_popper.scheduleUpdate();\n } catch (_unused) {}\n },\n clearHideTimeout: function clearHideTimeout() {\n clearTimeout(this.$_hideTimeout);\n this.$_hideTimeout = null;\n },\n getPopperConfig: function getPopperConfig() {\n var placement = PLACEMENT_BOTTOM_START;\n\n if (this.dropup) {\n placement = this.right ? PLACEMENT_TOP_END : PLACEMENT_TOP_START;\n } else if (this.dropright) {\n placement = PLACEMENT_RIGHT_START;\n } else if (this.dropleft) {\n placement = PLACEMENT_LEFT_START;\n } else if (this.right) {\n placement = PLACEMENT_BOTTOM_END;\n }\n\n var popperConfig = {\n placement: placement,\n modifiers: {\n offset: {\n offset: this.offset || 0\n },\n flip: {\n enabled: !this.noFlip\n }\n }\n };\n var boundariesElement = this.boundary;\n\n if (boundariesElement) {\n popperConfig.modifiers.preventOverflow = {\n boundariesElement: boundariesElement\n };\n }\n\n return mergeDeep(popperConfig, this.popperOpts || {});\n },\n // Turn listeners on/off while open\n whileOpenListen: function whileOpenListen(isOpen) {\n // Hide the dropdown when clicked outside\n this.listenForClickOut = isOpen; // Hide the dropdown when it loses focus\n\n this.listenForFocusIn = isOpen; // Hide the dropdown when another dropdown is opened\n\n var method = isOpen ? '$on' : '$off';\n this.$root[method](ROOT_EVENT_NAME_SHOWN, this.rootCloseListener);\n },\n rootCloseListener: function rootCloseListener(vm) {\n if (vm !== this) {\n this.visible = false;\n }\n },\n // Public method to show dropdown\n show: function show() {\n var _this2 = this;\n\n if (this.disabled) {\n return;\n } // Wrap in a `requestAF()` to allow any previous\n // click handling to occur first\n\n\n requestAF(function () {\n _this2.visible = true;\n });\n },\n // Public method to hide dropdown\n hide: function hide() {\n var refocus = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n /* istanbul ignore next */\n if (this.disabled) {\n return;\n }\n\n this.visible = false;\n\n if (refocus) {\n // Child element is closing the dropdown on click\n this.$once(EVENT_NAME_HIDDEN, this.focusToggler);\n }\n },\n // Called only by a button that toggles the menu\n toggle: function toggle(event) {\n event = event || {}; // Early exit when not a click event or ENTER, SPACE or DOWN were pressed\n\n var _event = event,\n type = _event.type,\n keyCode = _event.keyCode;\n\n if (type !== 'click' && !(type === 'keydown' && [CODE_ENTER, CODE_SPACE, CODE_DOWN].indexOf(keyCode) !== -1)) {\n /* istanbul ignore next */\n return;\n }\n /* istanbul ignore next */\n\n\n if (this.disabled) {\n this.visible = false;\n return;\n }\n\n this.$emit(EVENT_NAME_TOGGLE, event);\n stopEvent(event); // Toggle visibility\n\n if (this.visible) {\n this.hide(true);\n } else {\n this.show();\n }\n },\n // Mousedown handler for the toggle\n\n /* istanbul ignore next */\n onMousedown: function onMousedown(event) {\n // We prevent the 'mousedown' event for the toggle to stop the\n // 'focusin' event from being fired\n // The event would otherwise be picked up by the global 'focusin'\n // listener and there is no cross-browser solution to detect it\n // relates to the toggle click\n // The 'click' event will still be fired and we handle closing\n // other dropdowns there too\n // See https://github.com/bootstrap-vue/bootstrap-vue/issues/4328\n stopEvent(event, {\n propagation: false\n });\n },\n // Called from dropdown menu context\n onKeydown: function onKeydown(event) {\n var keyCode = event.keyCode;\n\n if (keyCode === CODE_ESC) {\n // Close on ESC\n this.onEsc(event);\n } else if (keyCode === CODE_DOWN) {\n // Down Arrow\n this.focusNext(event, false);\n } else if (keyCode === CODE_UP) {\n // Up Arrow\n this.focusNext(event, true);\n }\n },\n // If user presses ESC, close the menu\n onEsc: function onEsc(event) {\n if (this.visible) {\n this.visible = false;\n stopEvent(event); // Return focus to original trigger button\n\n this.$once(EVENT_NAME_HIDDEN, this.focusToggler);\n }\n },\n // Called only in split button mode, for the split button\n onSplitClick: function onSplitClick(event) {\n /* istanbul ignore next */\n if (this.disabled) {\n this.visible = false;\n return;\n }\n\n this.$emit(EVENT_NAME_CLICK, event);\n },\n // Shared hide handler between click-out and focus-in events\n hideHandler: function hideHandler(event) {\n var _this3 = this;\n\n var target = event.target;\n\n if (this.visible && !contains(this.$refs.menu, target) && !contains(this.toggler, target)) {\n this.clearHideTimeout();\n this.$_hideTimeout = setTimeout(function () {\n return _this3.hide();\n }, this.inNavbar ? 300 : 0);\n }\n },\n // Document click-out listener\n clickOutHandler: function clickOutHandler(event) {\n this.hideHandler(event);\n },\n // Document focus-in listener\n focusInHandler: function focusInHandler(event) {\n this.hideHandler(event);\n },\n // Keyboard nav\n focusNext: function focusNext(event, up) {\n var _this4 = this;\n\n // Ignore key up/down on form elements\n var target = event.target;\n\n if (!this.visible || event && closest(SELECTOR_FORM_CHILD, target)) {\n /* istanbul ignore next: should never happen */\n return;\n }\n\n stopEvent(event);\n this.$nextTick(function () {\n var items = _this4.getItems();\n\n if (items.length < 1) {\n /* istanbul ignore next: should never happen */\n return;\n }\n\n var index = items.indexOf(target);\n\n if (up && index > 0) {\n index--;\n } else if (!up && index < items.length - 1) {\n index++;\n }\n\n if (index < 0) {\n /* istanbul ignore next: should never happen */\n index = 0;\n }\n\n _this4.focusItem(index, items);\n });\n },\n focusItem: function focusItem(index, items) {\n var el = items.find(function (el, i) {\n return i === index;\n });\n attemptFocus(el);\n },\n getItems: function getItems() {\n // Get all items\n return filterVisibles(selectAll(SELECTOR_ITEM, this.$refs.menu));\n },\n focusMenu: function focusMenu() {\n attemptFocus(this.$refs.menu);\n },\n focusToggler: function focusToggler() {\n var _this5 = this;\n\n this.$nextTick(function () {\n attemptFocus(_this5.toggler);\n });\n }\n }\n});","// https://github.com/zloirock/core-js/issues/280\nvar userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /Version\\/10(?:\\.\\d+){1,2}(?: [\\w./]+)?(?: Mobile\\/\\w+)? Safari\\//.test(userAgent);\n","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_OVERLAY } from '../../constants/components';\nimport { EVENT_NAME_CLICK, EVENT_NAME_HIDDEN, EVENT_NAME_SHOWN } from '../../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_STRING, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_OVERLAY } from '../../constants/slots';\nimport { toFloat } from '../../utils/number';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { BSpinner } from '../spinner/spinner';\nimport { BVTransition } from '../transition/bv-transition'; // --- Constants ---\n\nvar POSITION_COVER = {\n top: 0,\n left: 0,\n bottom: 0,\n right: 0\n}; // --- Props ---\n\nexport var props = makePropsConfigurable({\n // Alternative to variant, allowing a specific\n // CSS color to be applied to the overlay\n bgColor: makeProp(PROP_TYPE_STRING),\n blur: makeProp(PROP_TYPE_STRING, '2px'),\n fixed: makeProp(PROP_TYPE_BOOLEAN, false),\n noCenter: makeProp(PROP_TYPE_BOOLEAN, false),\n noFade: makeProp(PROP_TYPE_BOOLEAN, false),\n // If `true, does not render the default slot\n // and switches to absolute positioning\n noWrap: makeProp(PROP_TYPE_BOOLEAN, false),\n opacity: makeProp(PROP_TYPE_NUMBER_STRING, 0.85, function (value) {\n var number = toFloat(value, 0);\n return number >= 0 && number <= 1;\n }),\n overlayTag: makeProp(PROP_TYPE_STRING, 'div'),\n rounded: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n show: makeProp(PROP_TYPE_BOOLEAN, false),\n spinnerSmall: makeProp(PROP_TYPE_BOOLEAN, false),\n spinnerType: makeProp(PROP_TYPE_STRING, 'border'),\n spinnerVariant: makeProp(PROP_TYPE_STRING),\n variant: makeProp(PROP_TYPE_STRING, 'light'),\n wrapTag: makeProp(PROP_TYPE_STRING, 'div'),\n zIndex: makeProp(PROP_TYPE_NUMBER_STRING, 10)\n}, NAME_OVERLAY); // --- Main component ---\n// @vue/component\n\nexport var BOverlay = /*#__PURE__*/Vue.extend({\n name: NAME_OVERLAY,\n mixins: [normalizeSlotMixin],\n props: props,\n computed: {\n computedRounded: function computedRounded() {\n var rounded = this.rounded;\n return rounded === true || rounded === '' ? 'rounded' : !rounded ? '' : \"rounded-\".concat(rounded);\n },\n computedVariant: function computedVariant() {\n var variant = this.variant;\n return variant && !this.bgColor ? \"bg-\".concat(variant) : '';\n },\n slotScope: function slotScope() {\n return {\n spinnerType: this.spinnerType || null,\n spinnerVariant: this.spinnerVariant || null,\n spinnerSmall: this.spinnerSmall\n };\n }\n },\n methods: {\n defaultOverlayFn: function defaultOverlayFn(_ref) {\n var spinnerType = _ref.spinnerType,\n spinnerVariant = _ref.spinnerVariant,\n spinnerSmall = _ref.spinnerSmall;\n return this.$createElement(BSpinner, {\n props: {\n type: spinnerType,\n variant: spinnerVariant,\n small: spinnerSmall\n }\n });\n }\n },\n render: function render(h) {\n var _this = this;\n\n var show = this.show,\n fixed = this.fixed,\n noFade = this.noFade,\n noWrap = this.noWrap,\n slotScope = this.slotScope;\n var $overlay = h();\n\n if (show) {\n var $background = h('div', {\n staticClass: 'position-absolute',\n class: [this.computedVariant, this.computedRounded],\n style: _objectSpread(_objectSpread({}, POSITION_COVER), {}, {\n opacity: this.opacity,\n backgroundColor: this.bgColor || null,\n backdropFilter: this.blur ? \"blur(\".concat(this.blur, \")\") : null\n })\n });\n var $content = h('div', {\n staticClass: 'position-absolute',\n style: this.noCenter ?\n /* istanbul ignore next */\n _objectSpread({}, POSITION_COVER) : {\n top: '50%',\n left: '50%',\n transform: 'translateX(-50%) translateY(-50%)'\n }\n }, [this.normalizeSlot(SLOT_NAME_OVERLAY, slotScope) || this.defaultOverlayFn(slotScope)]);\n $overlay = h(this.overlayTag, {\n staticClass: 'b-overlay',\n class: {\n 'position-absolute': !noWrap || noWrap && !fixed,\n 'position-fixed': noWrap && fixed\n },\n style: _objectSpread(_objectSpread({}, POSITION_COVER), {}, {\n zIndex: this.zIndex || 10\n }),\n on: {\n click: function click(event) {\n return _this.$emit(EVENT_NAME_CLICK, event);\n }\n },\n key: 'overlay'\n }, [$background, $content]);\n } // Wrap in a fade transition\n\n\n $overlay = h(BVTransition, {\n props: {\n noFade: noFade,\n appear: true\n },\n on: {\n 'after-enter': function afterEnter() {\n return _this.$emit(EVENT_NAME_SHOWN);\n },\n 'after-leave': function afterLeave() {\n return _this.$emit(EVENT_NAME_HIDDEN);\n }\n }\n }, [$overlay]);\n\n if (noWrap) {\n return $overlay;\n }\n\n return h(this.wrapTag, {\n staticClass: 'b-overlay-wrap position-relative',\n attrs: {\n 'aria-busy': show ? 'true' : null\n }\n }, noWrap ? [$overlay] : [this.normalizeSlot(), $overlay]);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_DROPDOWN_ITEM } from '../../constants/components';\nimport { EVENT_NAME_CLICK } from '../../constants/events';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { requestAF } from '../../utils/dom';\nimport { omit, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BLink, props as BLinkProps } from '../link/link'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, omit(BLinkProps, ['event', 'routerTag'])), {}, {\n linkClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n variant: makeProp(PROP_TYPE_STRING)\n})), NAME_DROPDOWN_ITEM); // --- Main component ---\n// @vue/component\n\nexport var BDropdownItem = /*#__PURE__*/Vue.extend({\n name: NAME_DROPDOWN_ITEM,\n mixins: [attrsMixin, normalizeSlotMixin],\n inject: {\n bvDropdown: {\n default: null\n }\n },\n inheritAttrs: false,\n props: props,\n computed: {\n computedAttrs: function computedAttrs() {\n return _objectSpread(_objectSpread({}, this.bvAttrs), {}, {\n role: 'menuitem'\n });\n }\n },\n methods: {\n closeDropdown: function closeDropdown() {\n var _this = this;\n\n // Close on next animation frame to allow time to process\n requestAF(function () {\n if (_this.bvDropdown) {\n _this.bvDropdown.hide(true);\n }\n });\n },\n onClick: function onClick(event) {\n this.$emit(EVENT_NAME_CLICK, event);\n this.closeDropdown();\n }\n },\n render: function render(h) {\n var linkClass = this.linkClass,\n variant = this.variant,\n active = this.active,\n disabled = this.disabled,\n onClick = this.onClick,\n bvAttrs = this.bvAttrs;\n return h('li', {\n class: bvAttrs.class,\n style: bvAttrs.style,\n attrs: {\n role: 'presentation'\n }\n }, [h(BLink, {\n staticClass: 'dropdown-item',\n class: [linkClass, _defineProperty({}, \"text-\".concat(variant), variant && !(active || disabled))],\n props: this.$props,\n attrs: this.computedAttrs,\n on: {\n click: onClick\n },\n ref: 'item'\n }, this.normalizeSlot())]);\n }\n});","import { Vue } from '../vue';\nimport { PROP_TYPE_STRING } from '../constants/props';\nimport { makeProp, makePropsConfigurable } from '../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n size: makeProp(PROP_TYPE_STRING)\n}, 'formControls'); // --- Mixin ---\n// @vue/component\n\nexport var formSizeMixin = Vue.extend({\n props: props,\n computed: {\n sizeFormClass: function sizeFormClass() {\n return [this.size ? \"form-control-\".concat(this.size) : null];\n }\n }\n});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',{class:{'open': _vm.visible},attrs:{\"no-body\":\"\"},on:{\"mouseenter\":_vm.collapseOpen,\"mouseleave\":_vm.collapseClose}},[_c('b-card-header',{class:{'collapsed': !_vm.visible},attrs:{\"aria-expanded\":_vm.visible ? 'true' : 'false',\"aria-controls\":_vm.collapseItemID,\"role\":\"tab\",\"data-toggle\":\"collapse\"},on:{\"click\":function($event){return _vm.updateVisible(!_vm.visible)}}},[_vm._t(\"header\",function(){return [_c('span',{staticClass:\"lead collapse-title\"},[_vm._v(_vm._s(_vm.title))])]})],2),_c('b-collapse',{attrs:{\"id\":_vm.collapseItemID,\"accordion\":_vm.accordion,\"role\":\"tabpanel\"},model:{value:(_vm.visible),callback:function ($$v) {_vm.visible=$$v},expression:\"visible\"}},[_c('b-card-body',[_vm._t(\"default\")],2)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n \n {{ title }}\n \n \n\n \n \n \n \n \n \n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppCollapseItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppCollapseItem.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AppCollapseItem.vue?vue&type=template&id=af0845a4&\"\nimport script from \"./AppCollapseItem.vue?vue&type=script&lang=js&\"\nexport * from \"./AppCollapseItem.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('div',[_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}}],attrs:{\"variant\":_vm.variant,\"disabled\":_vm.disabled,\"size\":_vm.size,\"block\":_vm.block},on:{\"click\":_vm.onClick}},[_c('feather-icon',{staticClass:\"mr-50\",attrs:{\"icon\":_vm.icon,\"show-icon\":_vm.showIcon}}),(_vm.loading)?_c('b-spinner',{attrs:{\"small\":\"\"}}):_vm._e(),_c('span',{staticClass:\"align-middle\"},[_vm._v(\" \"+_vm._s(_vm.label))])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n \n \n {{ label }}\n \n \n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Button.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Button.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Button.vue?vue&type=template&id=501d0161&\"\nimport script from \"./Button.vue?vue&type=script&lang=js&\"\nexport * from \"./Button.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","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar thisNumberValue = require('../internals/this-number-value');\nvar $repeat = require('../internals/string-repeat');\nvar fails = require('../internals/fails');\n\nvar RangeError = global.RangeError;\nvar String = global.String;\nvar floor = Math.floor;\nvar repeat = uncurryThis($repeat);\nvar stringSlice = uncurryThis(''.slice);\nvar un$ToFixed = uncurryThis(1.0.toFixed);\n\nvar pow = function (x, n, acc) {\n return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\n\nvar log = function (x) {\n var n = 0;\n var x2 = x;\n while (x2 >= 4096) {\n n += 12;\n x2 /= 4096;\n }\n while (x2 >= 2) {\n n += 1;\n x2 /= 2;\n } return n;\n};\n\nvar multiply = function (data, n, c) {\n var index = -1;\n var c2 = c;\n while (++index < 6) {\n c2 += n * data[index];\n data[index] = c2 % 1e7;\n c2 = floor(c2 / 1e7);\n }\n};\n\nvar divide = function (data, n) {\n var index = 6;\n var c = 0;\n while (--index >= 0) {\n c += data[index];\n data[index] = floor(c / n);\n c = (c % n) * 1e7;\n }\n};\n\nvar dataToString = function (data) {\n var index = 6;\n var s = '';\n while (--index >= 0) {\n if (s !== '' || index === 0 || data[index] !== 0) {\n var t = String(data[index]);\n s = s === '' ? t : s + repeat('0', 7 - t.length) + t;\n }\n } return s;\n};\n\nvar FORCED = fails(function () {\n return un$ToFixed(0.00008, 3) !== '0.000' ||\n un$ToFixed(0.9, 0) !== '1' ||\n un$ToFixed(1.255, 2) !== '1.25' ||\n un$ToFixed(1000000000000000128.0, 0) !== '1000000000000000128';\n}) || !fails(function () {\n // V8 ~ Android 4.3-\n un$ToFixed({});\n});\n\n// `Number.prototype.toFixed` method\n// https://tc39.es/ecma262/#sec-number.prototype.tofixed\n$({ target: 'Number', proto: true, forced: FORCED }, {\n toFixed: function toFixed(fractionDigits) {\n var number = thisNumberValue(this);\n var fractDigits = toIntegerOrInfinity(fractionDigits);\n var data = [0, 0, 0, 0, 0, 0];\n var sign = '';\n var result = '0';\n var e, z, j, k;\n\n // TODO: ES2018 increased the maximum number of fraction digits to 100, need to improve the implementation\n if (fractDigits < 0 || fractDigits > 20) throw RangeError('Incorrect fraction digits');\n // eslint-disable-next-line no-self-compare -- NaN check\n if (number != number) return 'NaN';\n if (number <= -1e21 || number >= 1e21) return String(number);\n if (number < 0) {\n sign = '-';\n number = -number;\n }\n if (number > 1e-21) {\n e = log(number * pow(2, 69, 1)) - 69;\n z = e < 0 ? number * pow(2, -e, 1) : number / pow(2, e, 1);\n z *= 0x10000000000000;\n e = 52 - e;\n if (e > 0) {\n multiply(data, 0, z);\n j = fractDigits;\n while (j >= 7) {\n multiply(data, 1e7, 0);\n j -= 7;\n }\n multiply(data, pow(10, j, 1), 0);\n j = e - 1;\n while (j >= 23) {\n divide(data, 1 << 23);\n j -= 23;\n }\n divide(data, 1 << j);\n multiply(data, 1, 1);\n divide(data, 2);\n result = dataToString(data);\n } else {\n multiply(data, 0, z);\n multiply(data, 1 << -e, 0);\n result = dataToString(data) + repeat('0', fractDigits);\n }\n }\n if (fractDigits > 0) {\n k = result.length;\n result = sign + (k <= fractDigits\n ? '0.' + repeat('0', fractDigits - k) + result\n : stringSlice(result, 0, k - fractDigits) + '.' + stringSlice(result, k - fractDigits));\n } else {\n result = sign + result;\n } return result;\n }\n});\n","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_HEADER } from '../../constants/components';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { htmlOrText } from '../../utils/html';\nimport { sortKeys } from '../../utils/object';\nimport { copyProps, makeProp, makePropsConfigurable, prefixPropName } from '../../utils/props';\nimport { props as BCardProps } from '../../mixins/card'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, copyProps(BCardProps, prefixPropName.bind(null, 'header'))), {}, {\n header: makeProp(PROP_TYPE_STRING),\n headerClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n headerHtml: makeProp(PROP_TYPE_STRING)\n})), NAME_CARD_HEADER); // --- Main component ---\n// @vue/component\n\nexport var BCardHeader = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_HEADER,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _ref2;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var headerBgVariant = props.headerBgVariant,\n headerBorderVariant = props.headerBorderVariant,\n headerTextVariant = props.headerTextVariant;\n return h(props.headerTag, mergeData(data, {\n staticClass: 'card-header',\n class: [props.headerClass, (_ref2 = {}, _defineProperty(_ref2, \"bg-\".concat(headerBgVariant), headerBgVariant), _defineProperty(_ref2, \"border-\".concat(headerBorderVariant), headerBorderVariant), _defineProperty(_ref2, \"text-\".concat(headerTextVariant), headerTextVariant), _ref2)],\n domProps: children ? {} : htmlOrText(props.headerHtml, props.header)\n }), children);\n }\n});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"mx-2 mb-2\"},[_c('b-row',[_c('b-col',{staticClass:\"d-flex align-items-center justify-content-center justify-content-sm-start\",attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('span',{staticClass:\"text-muted\"},[_vm._v(_vm._s(_vm.$t('Showing'))+\" \"+_vm._s(_vm.from)+\" \"+_vm._s(_vm.$t('to'))+\" \"+_vm._s(_vm.to)+\" \"+_vm._s(_vm.$t('of'))+\" \"+_vm._s(_vm.totalRows)+\" \"+_vm._s(_vm.$t('entries'))+\" \")])]),_c('b-col',{staticClass:\"d-flex align-items-center justify-content-center justify-content-sm-end\",attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('Pagination',{attrs:{\"total-rows\":_vm.totalRows,\"per-page\":_vm.perPage},model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}})],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('div',[_c('b-pagination',{staticClass:\"mb-0 mt-1 mt-sm-0\",attrs:{\"total-rows\":_vm.totalRows,\"per-page\":_vm.perPage,\"first-number\":\"\",\"last-number\":\"\",\"prev-class\":\"prev-item\",\"next-class\":\"next-item\"},scopedSlots:_vm._u([{key:\"prev-text\",fn:function(){return [_c('feather-icon',{attrs:{\"icon\":\"ChevronLeftIcon\",\"size\":\"18\"}})]},proxy:true},{key:\"next-text\",fn:function(){return [_c('feather-icon',{attrs:{\"icon\":\"ChevronRightIcon\",\"size\":\"18\"}})]},proxy:true}]),model:{value:(_vm.currentPage),callback:function ($$v) {_vm.currentPage=$$v},expression:\"currentPage\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\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--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Pagination.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Pagination.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Pagination.vue?vue&type=template&id=24a69b3b&\"\nimport script from \"./Pagination.vue?vue&type=script&lang=js&\"\nexport * from \"./Pagination.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 \n \n\n \n {{ $t('Showing') }} {{ from }} {{ $t('to') }} {{ to }} {{ $t('of') }} {{ totalRows }} {{ $t('entries') }} \n \n\n \n \n \n \n\n \n \n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TablePagination.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TablePagination.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TablePagination.vue?vue&type=template&id=77d3811a&\"\nimport script from \"./TablePagination.vue?vue&type=script&lang=js&\"\nexport * from \"./TablePagination.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","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SelectField.vue?vue&type=style&index=0&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"collapse-icon\",class:_vm.collapseClasses,attrs:{\"role\":\"tablist\"}},[_vm._t(\"default\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n \n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppCollapse.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppCollapse.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AppCollapse.vue?vue&type=template&id=20c0c53e&\"\nimport script from \"./AppCollapse.vue?vue&type=script&lang=js&\"\nexport * from \"./AppCollapse.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","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableEntries.vue?vue&type=style&index=1&id=bcfccc92&lang=scss&scoped=true&\"","/* Form control contextual state class computation\n *\n * Returned class is either 'is-valid' or 'is-invalid' based on the 'state' prop\n * state can be one of five values:\n * - true for is-valid\n * - false for is-invalid\n * - null for no contextual state\n */\nimport { Vue } from '../vue';\nimport { PROP_TYPE_BOOLEAN } from '../constants/props';\nimport { isBoolean } from '../utils/inspect';\nimport { makeProp, makePropsConfigurable } from '../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n // Tri-state prop: true, false, null (or undefined)\n state: makeProp(PROP_TYPE_BOOLEAN, null)\n}, 'formState'); // --- Mixin ---\n// @vue/component\n\nexport var formStateMixin = Vue.extend({\n props: props,\n computed: {\n computedState: function computedState() {\n // If not a boolean, ensure that value is null\n return isBoolean(this.state) ? this.state : null;\n },\n stateClass: function stateClass() {\n var state = this.computedState;\n return state === true ? 'is-valid' : state === false ? 'is-invalid' : null;\n },\n computedAriaInvalid: function computedAriaInvalid() {\n var ariaInvalid = this.ariaInvalid;\n\n if (ariaInvalid === true || ariaInvalid === 'true' || ariaInvalid === '') {\n return 'true';\n }\n\n return this.computedState === false ? 'true' : ariaInvalid;\n }\n }\n});","import { Vue } from '../vue';\nimport { NAME_CARD } from '../constants/components';\nimport { PROP_TYPE_STRING } from '../constants/props';\nimport { makeProp, makePropsConfigurable } from '../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n bgVariant: makeProp(PROP_TYPE_STRING),\n borderVariant: makeProp(PROP_TYPE_STRING),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n textVariant: makeProp(PROP_TYPE_STRING)\n}, NAME_CARD); // --- Mixin ---\n// @vue/component\n\nexport var cardMixin = Vue.extend({\n props: props\n});","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-form-group',[_c('label',{attrs:{\"for\":_vm.id}},[_vm._v(_vm._s(_vm.label))]),_c('validation-provider',{attrs:{\"name\":_vm.errorName,\"rules\":_vm.rules,\"vid\":_vm.vid},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('cleave',{staticClass:\"form-control\",attrs:{\"id\":_vm.id,\"raw\":true,\"options\":_vm.options,\"placeholder\":_vm.placeholder,\"disabled\":_vm.readonly,\"autocomplete\":\"off\"},on:{\"input\":_vm.onInput},nativeOn:{\"keypress\":function($event){return _vm.handleKeyPress.apply(null, arguments)},\"keydown\":function($event){return _vm.disableCopyPaste.apply(null, arguments)}},model:{value:(_vm.innerValue),callback:function ($$v) {_vm.innerValue=_vm._n($$v)},expression:\"innerValue\"}}),_c('small',{staticClass:\"text-danger\"},[_vm._v(_vm._s(errors[0]))])]}}])})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n {{ label }}\n \n \n {{ errors[0] }}\n \n \n \n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputNumberField.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InputNumberField.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./InputNumberField.vue?vue&type=template&id=1d087349&\"\nimport script from \"./InputNumberField.vue?vue&type=script&lang=js&\"\nexport * from \"./InputNumberField.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","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SelectField.vue?vue&type=style&index=1&id=4d9d6277&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_DROPDOWN } from '../../constants/components';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_OBJECT_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_BUTTON_CONTENT, SLOT_NAME_DEFAULT } from '../../constants/slots';\nimport { arrayIncludes } from '../../utils/array';\nimport { htmlOrText } from '../../utils/html';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { toString } from '../../utils/string';\nimport { dropdownMixin, props as dropdownProps } from '../../mixins/dropdown';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BButton } from '../button/button';\nimport { sortKeys } from '../../utils/object'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread({}, idProps), dropdownProps), {}, {\n block: makeProp(PROP_TYPE_BOOLEAN, false),\n html: makeProp(PROP_TYPE_STRING),\n // If `true`, only render menu contents when open\n lazy: makeProp(PROP_TYPE_BOOLEAN, false),\n menuClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n noCaret: makeProp(PROP_TYPE_BOOLEAN, false),\n role: makeProp(PROP_TYPE_STRING, 'menu'),\n size: makeProp(PROP_TYPE_STRING),\n split: makeProp(PROP_TYPE_BOOLEAN, false),\n splitButtonType: makeProp(PROP_TYPE_STRING, 'button', function (value) {\n return arrayIncludes(['button', 'submit', 'reset'], value);\n }),\n splitClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n splitHref: makeProp(PROP_TYPE_STRING),\n splitTo: makeProp(PROP_TYPE_OBJECT_STRING),\n splitVariant: makeProp(PROP_TYPE_STRING),\n text: makeProp(PROP_TYPE_STRING),\n toggleClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n toggleTag: makeProp(PROP_TYPE_STRING, 'button'),\n // TODO: This really should be `toggleLabel`\n toggleText: makeProp(PROP_TYPE_STRING, 'Toggle dropdown'),\n variant: makeProp(PROP_TYPE_STRING, 'secondary')\n})), NAME_DROPDOWN); // --- Main component ---\n// @vue/component\n\nexport var BDropdown = /*#__PURE__*/Vue.extend({\n name: NAME_DROPDOWN,\n mixins: [idMixin, dropdownMixin, normalizeSlotMixin],\n props: props,\n computed: {\n dropdownClasses: function dropdownClasses() {\n var block = this.block,\n split = this.split;\n return [this.directionClass, this.boundaryClass, {\n show: this.visible,\n // The 'btn-group' class is required in `split` mode for button alignment\n // It needs also to be applied when `block` is disabled to allow multiple\n // dropdowns to be aligned one line\n 'btn-group': split || !block,\n // When `block` is enabled and we are in `split` mode the 'd-flex' class\n // needs to be applied to allow the buttons to stretch to full width\n 'd-flex': block && split\n }];\n },\n menuClasses: function menuClasses() {\n return [this.menuClass, {\n 'dropdown-menu-right': this.right,\n show: this.visible\n }];\n },\n toggleClasses: function toggleClasses() {\n var split = this.split;\n return [this.toggleClass, {\n 'dropdown-toggle-split': split,\n 'dropdown-toggle-no-caret': this.noCaret && !split\n }];\n }\n },\n render: function render(h) {\n var visible = this.visible,\n variant = this.variant,\n size = this.size,\n block = this.block,\n disabled = this.disabled,\n split = this.split,\n role = this.role,\n hide = this.hide,\n toggle = this.toggle;\n var commonProps = {\n variant: variant,\n size: size,\n block: block,\n disabled: disabled\n };\n var $buttonChildren = this.normalizeSlot(SLOT_NAME_BUTTON_CONTENT);\n var buttonContentDomProps = this.hasNormalizedSlot(SLOT_NAME_BUTTON_CONTENT) ? {} : htmlOrText(this.html, this.text);\n var $split = h();\n\n if (split) {\n var splitTo = this.splitTo,\n splitHref = this.splitHref,\n splitButtonType = this.splitButtonType;\n\n var btnProps = _objectSpread(_objectSpread({}, commonProps), {}, {\n variant: this.splitVariant || variant\n }); // We add these as needed due to issues with\n // defined property with `undefined`/`null` values\n\n\n if (splitTo) {\n btnProps.to = splitTo;\n } else if (splitHref) {\n btnProps.href = splitHref;\n } else if (splitButtonType) {\n btnProps.type = splitButtonType;\n }\n\n $split = h(BButton, {\n class: this.splitClass,\n attrs: {\n id: this.safeId('_BV_button_')\n },\n props: btnProps,\n domProps: buttonContentDomProps,\n on: {\n click: this.onSplitClick\n },\n ref: 'button'\n }, $buttonChildren); // Overwrite button content for the toggle when in `split` mode\n\n $buttonChildren = [h('span', {\n class: ['sr-only']\n }, [this.toggleText])];\n buttonContentDomProps = {};\n }\n\n var $toggle = h(BButton, {\n staticClass: 'dropdown-toggle',\n class: this.toggleClasses,\n attrs: {\n id: this.safeId('_BV_toggle_'),\n 'aria-haspopup': 'true',\n 'aria-expanded': toString(visible)\n },\n props: _objectSpread(_objectSpread({}, commonProps), {}, {\n tag: this.toggleTag,\n block: block && !split\n }),\n domProps: buttonContentDomProps,\n on: {\n mousedown: this.onMousedown,\n click: toggle,\n keydown: toggle // Handle ENTER, SPACE and DOWN\n\n },\n ref: 'toggle'\n }, $buttonChildren);\n var $menu = h('ul', {\n staticClass: 'dropdown-menu',\n class: this.menuClasses,\n attrs: {\n role: role,\n tabindex: '-1',\n 'aria-labelledby': this.safeId(split ? '_BV_button_' : '_BV_toggle_')\n },\n on: {\n keydown: this.onKeydown // Handle UP, DOWN and ESC\n\n },\n ref: 'menu'\n }, [!this.lazy || visible ? this.normalizeSlot(SLOT_NAME_DEFAULT, {\n hide: hide\n }) : h()]);\n return h('div', {\n staticClass: 'dropdown b-dropdown',\n class: this.dropdownClasses,\n attrs: {\n id: this.safeId()\n }\n }, [$split, $toggle, $menu]);\n }\n});","import { Vue } from '../vue';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../constants/props';\nimport { attemptFocus, isVisible, matches, requestAF, select } from '../utils/dom';\nimport { makeProp, makePropsConfigurable } from '../utils/props'; // --- Constants ---\n\nvar SELECTOR = 'input, textarea, select'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n autofocus: makeProp(PROP_TYPE_BOOLEAN, false),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n form: makeProp(PROP_TYPE_STRING),\n id: makeProp(PROP_TYPE_STRING),\n name: makeProp(PROP_TYPE_STRING),\n required: makeProp(PROP_TYPE_BOOLEAN, false)\n}, 'formControls'); // --- Mixin ---\n// @vue/component\n\nexport var formControlMixin = Vue.extend({\n props: props,\n mounted: function mounted() {\n this.handleAutofocus();\n },\n\n /* istanbul ignore next */\n activated: function activated() {\n this.handleAutofocus();\n },\n methods: {\n handleAutofocus: function handleAutofocus() {\n var _this = this;\n\n this.$nextTick(function () {\n requestAF(function () {\n var el = _this.$el;\n\n if (_this.autofocus && isVisible(el)) {\n if (!matches(el, SELECTOR)) {\n el = select(SELECTOR, el);\n }\n\n attemptFocus(el);\n }\n });\n });\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_BADGE } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { omit, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props';\nimport { isLink } from '../../utils/router';\nimport { BLink, props as BLinkProps } from '../link/link'; // --- Props ---\n\nvar linkProps = omit(BLinkProps, ['event', 'routerTag']);\ndelete linkProps.href.default;\ndelete linkProps.to.default;\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, linkProps), {}, {\n pill: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'span'),\n variant: makeProp(PROP_TYPE_STRING, 'secondary')\n})), NAME_BADGE); // --- Main component ---\n// @vue/component\n\nexport var BBadge = /*#__PURE__*/Vue.extend({\n name: NAME_BADGE,\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 active = props.active,\n disabled = props.disabled;\n var link = isLink(props);\n var tag = link ? BLink : props.tag;\n var variant = props.variant || 'secondary';\n return h(tag, mergeData(data, {\n staticClass: 'badge',\n class: [\"badge-\".concat(variant), {\n 'badge-pill': props.pill,\n active: active,\n disabled: disabled\n }],\n props: link ? pluckProps(linkProps, props) : {}\n }), children);\n }\n});","var isObject = require('../internals/is-object');\n\nvar floor = Math.floor;\n\n// `IsIntegralNumber` abstract operation\n// https://tc39.es/ecma262/#sec-isintegralnumber\n// eslint-disable-next-line es/no-number-isinteger -- safe\nmodule.exports = Number.isInteger || function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n // find the complete implementation of crypto (msCrypto) on IE11.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return stringify(rnds);\n}\n\nexport default v4;","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('validation-provider',{attrs:{\"name\":_vm.errorName,\"rules\":_vm.rules},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nreturn [_c('b-form-group',{attrs:{\"state\":errors.length > 0 ? false:null}},[_c('label',{attrs:{\"for\":_vm.id}},[_vm._v(_vm._s(_vm.label))]),_c('v-select',{attrs:{\"id\":_vm.id,\"dir\":_vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\"options\":_vm.options,\"placeholder\":_vm.placeholder,\"label\":_vm.item,\"clearable\":_vm.clearable,\"value\":_vm.value,\"disabled\":_vm.readonly,\"reduce\":_vm.reduce,\"multiple\":_vm.multiple},on:{\"input\":_vm.setSelected},scopedSlots:_vm._u([{key:\"spinner\",fn:function(ref){return [(_vm.loading)?_c('b-spinner',{attrs:{\"variant\":\"primary\",\"small\":\"\"}}):_vm._e()]}}],null,true),model:{value:(_vm.innerValue),callback:function ($$v) {_vm.innerValue=$$v},expression:\"innerValue\"}}),_c('b-form-invalid-feedback',{attrs:{\"state\":errors.length > 0 ? false:null}},[_vm._v(\"\\n \"+_vm._s(errors[0])+\"\\n \")])],1)]}}])})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n\n \n 0 ? false:null\"\n >\n {{ label }}\n \n \n \n \n \n\n 0 ? false:null\">\n {{ errors[0] }}\n \n \n \n\n \n\n\n\n\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SelectField.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SelectField.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SelectField.vue?vue&type=template&id=4d9d6277&scoped=true&\"\nimport script from \"./SelectField.vue?vue&type=script&lang=js&\"\nexport * from \"./SelectField.vue?vue&type=script&lang=js&\"\nimport style0 from \"./SelectField.vue?vue&type=style&index=0&lang=scss&\"\nimport style1 from \"./SelectField.vue?vue&type=style&index=1&id=4d9d6277&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 \"4d9d6277\",\n null\n \n)\n\nexport default component.exports","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.16.1\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\n\nvar timeoutDuration = function () {\n var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\n for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n return 1;\n }\n }\n return 0;\n}();\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var window = element.ownerDocument.defaultView;\n var css = window.getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the reference node of the reference object, or the reference object itself.\n * @method\n * @memberof Popper.Utils\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\n * @returns {Element} parent\n */\nfunction getReferenceNode(reference) {\n return reference && reference.referenceNode ? reference.referenceNode : reference;\n}\n\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\n\n/**\n * Determines if the browser is Internet Explorer\n * @method\n * @memberof Popper.Utils\n * @param {Number} version to check\n * @returns {Boolean} isIE\n */\nfunction isIE(version) {\n if (version === 11) {\n return isIE11;\n }\n if (version === 10) {\n return isIE10;\n }\n return isIE11 || isIE10;\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n if (!element) {\n return document.documentElement;\n }\n\n var noOffsetParent = isIE(10) ? document.body : null;\n\n // NOTE: 1 DOM access here\n var offsetParent = element.offsetParent || null;\n // Skip hidden elements which don't have an offsetParent\n while (offsetParent === noOffsetParent && element.nextElementSibling) {\n offsetParent = (element = element.nextElementSibling).offsetParent;\n }\n\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n return element ? element.ownerDocument.documentElement : document.documentElement;\n }\n\n // .offsetParent will return the closest TH, TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width']) + parseFloat(styles['border' + sideB + 'Width']);\n}\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\n}\n\nfunction getWindowSizes(document) {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE(10) && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n try {\n if (isIE(10)) {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } else {\n rect = element.getBoundingClientRect();\n }\n } catch (e) {}\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\n var width = sizes.width || element.clientWidth || result.width;\n var height = sizes.height || element.clientHeight || result.height;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var isIE10 = isIE(10);\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth);\n\n // In cases where the parent is fixed, we must ignore negative scroll in offset calc\n if (fixedPosition && isHTML) {\n parentRect.top = Math.max(parentRect.top, 0);\n parentRect.left = Math.max(parentRect.left, 0);\n }\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop);\n var marginLeft = parseFloat(styles.marginLeft);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = !excludeScroll ? getScroll(html) : 0;\n var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n var parentNode = getParentNode(element);\n if (!parentNode) {\n return false;\n }\n return isFixed(parentNode);\n}\n\n/**\n * Finds the first parent of an element that has a transformed property defined\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} first transformed parent or documentElement\n */\n\nfunction getFixedPositionOffsetParent(element) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element || !element.parentElement || isIE()) {\n return document.documentElement;\n }\n var el = element.parentElement;\n while (el && getStyleComputedProperty(el, 'transform') === 'none') {\n el = el.parentElement;\n }\n return el || document.documentElement;\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @param {Boolean} fixedPosition - Is in fixed position mode\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n // NOTE: 1 DOM access here\n\n var boundaries = { top: 0, left: 0 };\n var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(popper.ownerDocument),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n padding = padding || 0;\n var isPaddingNumber = typeof padding === 'number';\n boundaries.left += isPaddingNumber ? padding : padding.left || 0;\n boundaries.top += isPaddingNumber ? padding : padding.top || 0;\n boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\n boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @param {Element} fixedPosition - is in fixed position mode\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var window = element.ownerDocument.defaultView;\n var styles = window.getComputedStyle(element);\n var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\n var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n data.positionFixed = this.options.positionFixed;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n\n data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroys the popper.\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style.left = '';\n this.popper.style.right = '';\n this.popper.style.bottom = '';\n this.popper.style.willChange = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicitly asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\n * @returns {Object} The popper's position offsets rounded\n *\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\n * good as it can be within reason.\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\n *\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\n * as well on High DPI screens).\n *\n * Firefox prefers no rounding for positioning and does not have blurriness on\n * high DPI screens.\n *\n * Only horizontal placement and left/right values need to be considered.\n */\nfunction getRoundedOffsets(data, shouldRound) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n var round = Math.round,\n floor = Math.floor;\n\n var noRound = function noRound(v) {\n return v;\n };\n\n var referenceWidth = round(reference.width);\n var popperWidth = round(popper.width);\n\n var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\n var isVariation = data.placement.indexOf('-') !== -1;\n var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\n var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\n\n var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\n var verticalToInteger = !shouldRound ? noRound : round;\n\n return {\n left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\n top: verticalToInteger(popper.top),\n bottom: verticalToInteger(popper.bottom),\n right: horizontalToInteger(popper.right)\n };\n}\n\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n // when offsetParent is the positioning is relative to the bottom of the screen (excluding the scrollbar)\n // and not the bottom of the html element\n if (offsetParent.nodeName === 'HTML') {\n top = -offsetParent.clientHeight + offsets.bottom;\n } else {\n top = -offsetParentRect.height + offsets.bottom;\n }\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n if (offsetParent.nodeName === 'HTML') {\n left = -offsetParent.clientWidth + offsets.right;\n } else {\n left = -offsetParentRect.width + offsets.right;\n }\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjunction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized]);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width']);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-end` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n\n // flips variation if reference element overflows boundaries\n var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n // flips variation if popper content overflows boundaries\n var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\n\n var flippedVariation = flippedVariationByRef || flippedVariationByContent;\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n // NOTE: DOM access here\n // resets the popper's position so that the document size can be calculated excluding\n // the size of the popper element itself\n var transformProp = getSupportedPropertyName('transform');\n var popperStyles = data.instance.popper.style; // assignment to help minification\n var top = popperStyles.top,\n left = popperStyles.left,\n transform = popperStyles[transformProp];\n\n popperStyles.top = '';\n popperStyles.left = '';\n popperStyles[transformProp] = '';\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\n\n // NOTE: DOM access here\n // restores the original style properties after the offsets have been computed\n popperStyles.top = top;\n popperStyles.left = left;\n popperStyles[transformProp] = transform;\n\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.\n * It will read the variation of the `placement` property.\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unit-less, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the `height`.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * A scenario exists where the reference itself is not within the boundaries.\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper. This makes sure the popper always has a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier. Can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near each other\n * without leaving any gap between the two. Especially useful when the arrow is\n * enabled and you want to ensure that it points to its reference element.\n * It cares only about the first axis. You can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjunction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations)\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position.\n * The popper will never be placed outside of the defined boundaries\n * (except if `keepTogether` is enabled)\n */\n boundariesElement: 'viewport',\n /**\n * @prop {Boolean} flipVariations=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the reference element overlaps its boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariations: false,\n /**\n * @prop {Boolean} flipVariationsByContent=false\n * The popper will switch placement variation between `-start` and `-end` when\n * the popper element overlaps its reference boundaries.\n *\n * The original placement should have a set variation.\n */\n flipVariationsByContent: false\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define your own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3D transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the information used by Popper.js.\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.\n * These can be overridden using the `options` argument of Popper.js.\n * To override an option, simply pass an object with the same\n * structure of the `options` object, as the 3rd argument. For example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement.\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Set this to true if you want popper to position it self in 'fixed' mode\n * @prop {Boolean} positionFixed=false\n */\n positionFixed: false,\n\n /**\n * Whether events (resize, scroll) are initially enabled.\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.\n * By default, it is set to no-op.\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated. This callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.\n * By default, it is set to no-op.\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js.\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Creates a new Popper.js instance.\n * @class Popper\n * @param {Element|referenceObject} reference - The reference element used to position the popper\n * @param {Element} popper - The HTML / XML element used as the popper\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedules an update. It will run on the next UI update available.\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10.\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n"],"sourceRoot":""}
\n {{ text }}\n
\n NOTE!\n
This is the limits the system would allow your customers to configure for physical ATM card transactions.
This is the limits the system would allow your customers to configure for POS card transactions.
This is the limits the system would allow your customers to configure for Web/ Online card transaction.