{"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:///./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:///./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:///./src/views/pages/account-management/GeneralLedger.vue?17fb","webpack:///src/views/pages/account-management/GeneralLedger.vue","webpack:///./src/views/pages/account-management/GeneralLedger.vue?4e5d","webpack:///./src/views/pages/account-management/GeneralLedger.vue","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:///./node_modules/bootstrap-vue/esm/components/card/card-title.js","webpack:///./node_modules/core-js/modules/es.string.pad-start.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:///./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/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/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/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:///./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","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","height","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","_s","label","errorName","rules","vid","_u","fn","ref","errors","placeholder","readonly","step","onpaste","formatter","disableCopyPaste","on","onChange","onInput","onBlur","nativeOn","$event","handleKeyPress","innerValue","text","_e","directives","rawName","icon","iconSize","onClick","BFormInput","BFormGroup","ValidationProvider","mixins","sweetAlert","Function","validator","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","$el","btn","focusCurrent","_this2","find","el","_this3","_this4","reverse","_this5","buttons","indexOf","_this6","_this7","pageNumbers","map","p","_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","showModal","resetFilter","generalLedgersList","tableHeaders","onSelectGeneralLedgerItem","item","fetchGLAccountBalance","glStatus","buttonLabel","isLoading","modalTitle","handleSubmit","resetModal","isReadonly","glFormData","$set","level1CategoryOptions","option","parentCategory","fetchLevelTwoCategory","isEditable","isView","level2CategoryOptions","fetchLevelThreeCategory","isLoadingLevel2Category","level3CategoryOptions","isLoadingLevel3Category","ifrsCategoryOptions","isLoadingIFRSCategory","bankOptions","isLoadingBanks","transactionPermissionOptions","currencyCodeOptions","customerInformation","fetchGeneralLedger","resetFilters","categoryOptions","BBadge","BRow","BCol","BSpinner","BTable","InputField","SelectField","BModal","BDropdown","BDropdownItem","ValidationObserver","TablePagination","FullScreenSpinner","Button","TableEntries","showFinancialInstitution","accountNumber","ledgerBalance","parentCategoryList","accountCategoryCode","ifrsAccountMappingID","transactionPermission","level2Category","bankCode","currencyCode","selected","code","sortColumn","direction","newVal","mounted","fetchCategoryOptions","fetchAllCurrencies","bvModalEvt","glRules","validate","then","getifrsAccountMapping","getLevel1CategoryID","levelId","ariaInvalid","autocomplete","debounce","lazy","lazyFormatter","plaintext","trim","formTextMixin","localValue","vModelValue","modifyValue","computedClass","isRange","isColor","sizeFormClass","stateClass","computedDebounce","hasFormatter","stringifyValue","modifiedValue","clearDebounce","$_inputDebounceTimer","$on","beforeDestroy","clearTimeout","formatValue","force","updateValue","doUpdate","$input","setTimeout","composing","formattedValue","focus","blur","TYPES","list","max","noWheel","localType","computedAttrs","form","safeId","computedAriaInvalid","computedListeners","bvListeners","change","setWheelStopper","deactivated","activated","onWheelFocus","onWheelBlur","document","stopWheel","removeSpecialChar","removeNegativeNumber","removeCharAndSpace","persistPhoneNumber","persistAccountNumber","title","titleTag","BCardTitle","$","$padStart","WEBKIT_BUG","proto","forced","subTitle","subTitleTag","subTitleTextVariant","BCardSubTitle","bodyClass","BCardBody","bodyBgVariant","bodyBorderVariant","bodyTextVariant","$title","$subTitle","bodyTag","escapeChar","firstCharCode","charCodeAt","reduce","char","charCode","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","prefix","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","visible","visibleChangePrevented","inNavbar","toggler","toggle","directionClass","boundaryClass","eventName","bvEvent","menu","relatedTarget","componentId","emitEvent","$off","focusToggler","showMenu","hideMenu","$_popper","$_hideTimeout","whileOpenListen","destroyPopper","clearHideTimeout","emitOnRoot","createPopper","focusMenu","element","getPopperConfig","destroy","updatePopper","scheduleUpdate","_unused","placement","popperConfig","modifiers","flip","enabled","boundariesElement","preventOverflow","isOpen","method","$root","rootCloseListener","vm","hide","refocus","$once","_event","onMousedown","onKeydown","onEsc","onSplitClick","hideHandler","up","items","getItems","focusItem","userAgent","POSITION_COVER","bgColor","fixed","noCenter","noFade","noWrap","opacity","overlayTag","rounded","spinnerSmall","spinnerType","spinnerVariant","variant","wrapTag","zIndex","computedRounded","computedVariant","defaultOverlayFn","small","$overlay","$background","backgroundColor","backdropFilter","transform","appear","linkClass","inheritAttrs","bvAttrs","closeDropdown","formSizeMixin","block","BButton","Ripple","className","loading","thisNumberValue","fails","un$ToFixed","pow","x","acc","log","x2","multiply","c","c2","divide","dataToString","s","t","FORCED","fractionDigits","e","z","j","k","fractDigits","sign","headerClass","BCardHeader","headerBgVariant","headerBorderVariant","headerTextVariant","headerTag","$t","Pagination","formStateMixin","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","clearable","multiple","setSelected","isBrowser","window","navigator","timeoutDuration","longerTimeoutBrowsers","microtaskDebounce","called","Promise","resolve","taskDebounce","scheduled","supportsMicroTasks","isFunction","functionToCheck","getType","call","getStyleComputedProperty","property","nodeType","ownerDocument","defaultView","css","getComputedStyle","getParentNode","nodeName","parentNode","host","getScrollParent","body","_getStyleComputedProp","overflow","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","range","createRange","setStart","setEnd","commonAncestorContainer","element1root","getScroll","side","upperSide","scrollingElement","includeScroll","rect","subtract","scrollTop","scrollLeft","modifier","getBordersSize","styles","axis","sideA","sideB","parseFloat","getSize","computedStyle","parseInt","getWindowSizes","classCallCheck","instance","Constructor","TypeError","createClass","descriptor","protoProps","staticProps","prototype","_extends","assign","hasOwnProperty","getClientRect","offsets","getBoundingClientRect","sizes","clientWidth","clientHeight","horizScrollbar","offsetWidth","vertScrollbar","offsetHeight","getOffsetRectRelativeToArbitraryNode","parent","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","a","b","filteredAreas","computedPlacement","variation","getReferenceOffsets","commonOffsetParent","getOuterSizes","marginBottom","y","marginRight","getOppositePlacement","hash","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","arr","findIndex","cur","match","runModifiers","ends","modifiersToRun","console","update","isDestroyed","arrowStyles","attributes","flipped","positionFixed","originalPlacement","position","isCreated","onUpdate","onCreate","isModifierEnabled","modifierName","some","getSupportedPropertyName","prefixes","upperProp","charAt","toUpperCase","toCheck","removeAttribute","willChange","disableEventListeners","removeOnDestroy","removeChild","getWindow","attachToScrollParents","scrollParents","isBody","addEventListener","passive","setupEventListeners","updateBound","scrollElement","eventsEnabled","enableEventListeners","removeEventListeners","removeEventListener","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","querySelector","len","sideCapitalized","toLowerCase","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-53ccce50.ad5494a6.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","'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});","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('div',{staticClass:\"d-flex align-items-center\"},[_c('b-form-input',{attrs:{\"id\":_vm.id,\"for\":_vm.id,\"type\":_vm.type,\"placeholder\":_vm.placeholder,\"readonly\":_vm.readonly,\"value\":_vm.value,\"state\":errors.length > 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});","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('CREATE_GENERAL_LEDGER'))?_c('Button',{attrs:{\"label\":\"Add\",\"size\":\"md\"},on:{\"click\":function($event){return _vm.showModal('modal-lg')}}}):_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:\"glTableRef\",staticClass:\"position-relative\",attrs:{\"items\":_vm.generalLedgersList,\"busy\":_vm.isBusy,\"per-page\":_vm.pageSize,\"current-page\":_vm.currentPage,\"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(dateCreated)\",fn:function(data){return [_vm._v(\"\\n \"+_vm._s(_vm.toDateWithYear(data.value))+\"\\n \")]}},{key:\"cell(status)\",fn:function(data){return [_c('b-badge',{attrs:{\"pill\":\"\",\"variant\":_vm.variantColor(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('MODIFY_GENERAL_LEDGER'))?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onSelectGeneralLedgerItem(data.item, $event.target, 'edit')}}},[_c('feather-icon',{attrs:{\"icon\":\"EditIcon\"}}),_c('span',{staticClass:\"align-middle ml-50\"},[_vm._v(\"Modify\")])],1):_vm._e(),_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.onSelectGeneralLedgerItem(data.item, $event.target, 'view')}}},[_c('feather-icon',{attrs:{\"icon\":\"EyeIcon\"}}),_c('span',{staticClass:\"align-middle ml-50\"},[_vm._v(\"View\")])],1),_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.fetchGLAccountBalance(data.item, $event.target)}}},[_c('feather-icon',{attrs:{\"icon\":\"EyeIcon\"}}),_c('span',{staticClass:\"align-middle ml-50\"},[_vm._v(\"View Balance\")])],1),(_vm.getUserPermission(data.item.status === 'Active' ? 'DEACTIVATE_GENERAL_LEDGER' : 'ACTIVATE_GENERAL_LEDGER'))?_c('b-dropdown-item',{on:{\"click\":function($event){return _vm.glStatus(data.item, $event.target)}}},[_c('feather-icon',{attrs:{\"icon\":\"CheckSquareIcon\"}}),_c('span',{staticClass:\"align-middle ml-50\"},[_vm._v(_vm._s(data.item.status === 'Active' ? 'Deactivate' : 'Activate'))])],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-lg\",\"ok-title\":_vm.buttonLabel,\"cancel-title\":\"Cancel\",\"cancel-variant\":\"outline-secondary\",\"ok-disabled\":_vm.isLoading,\"centered\":\"\",\"size\":\"lg\",\"no-close-on-backdrop\":\"\",\"title\":_vm.modalTitle,\"modal-footer\":\"\",\"busy\":_vm.isBusy},on:{\"ok\":_vm.handleSubmit,\"hidden\":_vm.resetModal},scopedSlots:_vm._u([(_vm.isReadonly)?{key:\"modal-footer\",fn:function(ref){return [_c('div')]}}:null],null,true)},[_c('validation-observer',{ref:\"glRules\"},[_c('b-form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.handleSubmit.apply(null, arguments)}}},[_c('b-row',{staticClass:\"match-height\"},[_c('b-col',{attrs:{\"md\":\"6\"}},[_c('InputField',{attrs:{\"id\":\"gl-name\",\"label\":\"GL Name\",\"placeholder\":\"Enter GL Name\",\"type\":\"text\",\"error-name\":\"GL Name\",\"rules\":\"required\",\"for\":\"gl-name\",\"readonly\":_vm.isReadonly,\"onpaste\":\"return false;\",\"is-allow-special-characters\":false},model:{value:(_vm.glFormData.name),callback:function ($$v) {_vm.$set(_vm.glFormData, \"name\", $$v)},expression:\"glFormData.name\"}})],1),_c('b-col',{attrs:{\"md\":\"6\"}},[_c('SelectField',{attrs:{\"id\":\"level1-category\",\"label\":\"Level 1 Category\",\"placeholder\":\"Select\",\"options\":_vm.level1CategoryOptions,\"reduce\":function (option) { return option.value; },\"error-name\":\"Level 1 Category\",\"rules\":\"required\",\"item\":\"label\",\"value\":_vm.glFormData.parentCategory,\"set-selected\":_vm.fetchLevelTwoCategory,\"readonly\":_vm.isEditable},model:{value:(_vm.glFormData.parentCategory),callback:function ($$v) {_vm.$set(_vm.glFormData, \"parentCategory\", $$v)},expression:\"glFormData.parentCategory\"}})],1),(_vm.isView)?_c('b-col',{attrs:{\"md\":\"6\"}},[_c('InputField',{attrs:{\"id\":\"gl-name\",\"label\":\"Level 2 Category\",\"type\":\"text\",\"for\":\"level2-category\",\"readonly\":_vm.isReadonly},model:{value:(_vm.glFormData.level2Category),callback:function ($$v) {_vm.$set(_vm.glFormData, \"level2Category\", $$v)},expression:\"glFormData.level2Category\"}})],1):_vm._e(),(!_vm.isView)?_c('b-col',{attrs:{\"md\":\"6\"}},[_c('SelectField',{attrs:{\"id\":\"level2-category\",\"label\":\"Level 2 Category\",\"placeholder\":\"Select\",\"options\":_vm.level2CategoryOptions,\"reduce\":function (option) { return option.value; },\"error-name\":\"Level 2 Category\",\"rules\":\"required\",\"item\":\"label\",\"set-selected\":_vm.fetchLevelThreeCategory,\"readonly\":_vm.isEditable,\"loading\":_vm.isLoadingLevel2Category},model:{value:(_vm.glFormData.level2Category),callback:function ($$v) {_vm.$set(_vm.glFormData, \"level2Category\", $$v)},expression:\"glFormData.level2Category\"}})],1):_vm._e(),(_vm.isView)?_c('b-col',{attrs:{\"md\":\"6\"}},[_c('InputField',{attrs:{\"id\":\"gl-name\",\"label\":\"Level 3 Category\",\"type\":\"text\",\"for\":\"gl-name\",\"readonly\":_vm.isReadonly},model:{value:(_vm.glFormData.accountCategoryCode),callback:function ($$v) {_vm.$set(_vm.glFormData, \"accountCategoryCode\", $$v)},expression:\"glFormData.accountCategoryCode\"}})],1):_vm._e(),(!_vm.isView)?_c('b-col',{attrs:{\"md\":\"6\"}},[_c('SelectField',{attrs:{\"id\":\"level3-category\",\"label\":\"Level 3 Category\",\"reduce\":function (option) { return option.value; },\"placeholder\":\"Select\",\"options\":_vm.level3CategoryOptions,\"error-name\":\"Level 3 Category\",\"rules\":\"required\",\"item\":\"label\",\"readonly\":_vm.isEditable,\"loading\":_vm.isLoadingLevel3Category},model:{value:(_vm.glFormData.accountCategoryCode),callback:function ($$v) {_vm.$set(_vm.glFormData, \"accountCategoryCode\", $$v)},expression:\"glFormData.accountCategoryCode\"}})],1):_vm._e(),_c('b-col',{attrs:{\"md\":\"6\"}},[_c('SelectField',{attrs:{\"id\":\"ifrs-category\",\"label\":\"IFRS Category\",\"reduce\":function (option) { return option.value; },\"placeholder\":\"Select\",\"options\":_vm.ifrsCategoryOptions,\"error-name\":\"IFRS Category\",\"rules\":\"required\",\"item\":\"label\",\"readonly\":_vm.isReadonly,\"loading\":_vm.isLoadingIFRSCategory},model:{value:(_vm.glFormData.ifrsAccountMappingID),callback:function ($$v) {_vm.$set(_vm.glFormData, \"ifrsAccountMappingID\", $$v)},expression:\"glFormData.ifrsAccountMappingID\"}})],1),(_vm.showFinancialInstitution)?_c('b-col',{attrs:{\"md\":\"6\"}},[_c('SelectField',{attrs:{\"id\":\"financial-institution\",\"label\":\"Financial Institution\",\"options\":_vm.bankOptions,\"reduce\":function (option) { return option.value; },\"error-name\":\"Financial Institution\",\"rules\":\"required\",\"item\":\"label\",\"placeholder\":\"Select\",\"readonly\":_vm.isReadonly,\"loading\":_vm.isLoadingBanks},model:{value:(_vm.glFormData.bankCode),callback:function ($$v) {_vm.$set(_vm.glFormData, \"bankCode\", $$v)},expression:\"glFormData.bankCode\"}})],1):_vm._e(),_c('b-col',{attrs:{\"md\":\"6\"}},[_c('SelectField',{attrs:{\"id\":\"transaction-permission\",\"label\":\"Transaction Permission\",\"placeholder\":\"Select\",\"reduce\":function (option) { return option.value; },\"options\":_vm.transactionPermissionOptions,\"error-name\":\"Transaction Permission\",\"rules\":\"required\",\"item\":\"label\",\"readonly\":_vm.isReadonly},model:{value:(_vm.glFormData.transactionPermission),callback:function ($$v) {_vm.$set(_vm.glFormData, \"transactionPermission\", $$v)},expression:\"glFormData.transactionPermission\"}})],1),_c('b-col',{attrs:{\"md\":\"6\"}},[_c('SelectField',{attrs:{\"id\":\"currency-code\",\"label\":\"Currency\",\"reduce\":function (option) { return option; },\"options\":_vm.currencyCodeOptions,\"item\":\"label\",\"placeholder\":\"Select currency\",\"readonly\":_vm.isEditable},model:{value:(_vm.glFormData.currencyCode),callback:function ($$v) {_vm.$set(_vm.glFormData, \"currencyCode\", $$v)},expression:\"glFormData.currencyCode\"}})],1)],1)],1)],1)],1),_c('b-modal',{ref:\"my-modal\",attrs:{\"id\":\"view-balance\",\"ok-title\":\"Close\",\"no-close-on-backdrop\":\"\",\"ok-only\":\"\",\"ok-variant\":\"outline-secondary\",\"centered\":\"\",\"size\":\"md\",\"title\":\"General Ledger Balance\"}},[_c('validation-observer',{ref:\"otherBusinessRef\"},[_c('b-form',[_c('b-row',{staticClass:\"match-height\"},[_c('b-col',{attrs:{\"md\":\"12\"}},[_c('InputField',{attrs:{\"id\":\"title\",\"label\":\"Account Number\",\"type\":\"text\",\"for\":\"last-name\",\"readonly\":\"\"},model:{value:(_vm.customerInformation.accountNumber),callback:function ($$v) {_vm.$set(_vm.customerInformation, \"accountNumber\", $$v)},expression:\"customerInformation.accountNumber\"}})],1),_c('b-col',{attrs:{\"md\":\"12\"}},[_c('InputField',{attrs:{\"id\":\"ledger-balance\",\"label\":\"Ledger Balance\",\"type\":\"text\",\"for\":\"last-name\",\"readonly\":\"\"},model:{value:(_vm.customerInformation.ledgerBalance),callback:function ($$v) {_vm.$set(_vm.customerInformation, \"ledgerBalance\", $$v)},expression:\"customerInformation.ledgerBalance\"}})],1)],1)],1)],1)],1),_c('b-modal',{ref:\"my-modal\",attrs:{\"id\":\"modal-filter\",\"ok-title\":\"Apply\",\"cancel-title\":\"Cancel\",\"cancel-variant\":\"outline-secondary\",\"no-close-on-backdrop\":\"\",\"centered\":\"\",\"size\":\"lg\",\"title\":\"Filters\",\"modal-footer\":\"\"},on:{\"ok\":_vm.fetchGeneralLedger,\"cancel\":_vm.resetFilters}},[_c('b-row',{staticClass:\"match-height\"},[_c('b-col',{attrs:{\"md\":\"6\"}},[_c('InputField',{attrs:{\"id\":\"name\",\"label\":\"Account Name\",\"placeholder\":\"Enter name\",\"type\":\"text\",\"onpaste\":\"return false;\",\"is-allow-special-characters\":false},model:{value:(_vm.filter.name),callback:function ($$v) {_vm.$set(_vm.filter, \"name\", $$v)},expression:\"filter.name\"}})],1),_c('b-col',{attrs:{\"md\":\"6\"}},[_c('SelectField',{attrs:{\"id\":\"level1-category\",\"label\":\"Account Class\",\"placeholder\":\"Select\",\"item\":\"label\",\"options\":_vm.level1CategoryOptions,\"reduce\":function (option) { return option.value; }},model:{value:(_vm.filter.parentCategory),callback:function ($$v) {_vm.$set(_vm.filter, \"parentCategory\", $$v)},expression:\"filter.parentCategory\"}})],1),_c('b-col',{attrs:{\"md\":\"6\"}},[_c('SelectField',{attrs:{\"id\":\"account-category\",\"label\":\"Parent Name\",\"placeholder\":\"Select\",\"options\":_vm.categoryOptions,\"reduce\":function (option) { return option.value; },\"item\":\"label\"},model:{value:(_vm.filter.accountCategoryCode),callback:function ($$v) {_vm.$set(_vm.filter, \"accountCategoryCode\", $$v)},expression:\"filter.accountCategoryCode\"}})],1),_c('b-col',{attrs:{\"md\":\"6\"}},[_c('SelectField',{attrs:{\"id\":\"transaction-permission\",\"label\":\"Transaction Permission\",\"item\":\"label\",\"placeholder\":\"Select\",\"options\":_vm.transactionPermissionOptions,\"reduce\":function (option) { return option.value; }},model:{value:(_vm.filter.transactionPermission),callback:function ($$v) {_vm.$set(_vm.filter, \"transactionPermission\", $$v)},expression:\"filter.transactionPermission\"}})],1),_c('b-col',{attrs:{\"md\":\"6\"}},[_c('InputField',{attrs:{\"id\":\"code\",\"label\":\"Code\",\"placeholder\":\"Enter code\",\"type\":\"number\",\"for\":\"code\"},model:{value:(_vm.filter.code),callback:function ($$v) {_vm.$set(_vm.filter, \"code\", $$v)},expression:\"filter.code\"}})],1),_c('b-col',{attrs:{\"md\":\"6\"}},[_c('SelectField',{attrs:{\"id\":\"currency-code\",\"label\":\"Currency\",\"reduce\":function (option) { return option; },\"options\":_vm.currencyCodeOptions,\"item\":\"label\",\"placeholder\":\"Select currency\"},model:{value:(_vm.filter.currencyCode),callback:function ($$v) {_vm.$set(_vm.filter, \"currencyCode\", $$v)},expression:\"filter.currencyCode\"}})],1),_c('b-col',{attrs:{\"md\":\"6\"}},[_c('SelectField',{attrs:{\"id\":\"status\",\"label\":\"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('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 {{ getOverallIndex(data.index) }}\n \n\n \n {{ toDateWithYear(data.value) }}\n \n\n \n \n {{ data.value }}\n \n \n\n \n \n \n \n \n \n \n \n \n \n Modify\n \n\n \n \n View\n \n\n \n \n View Balance\n \n\n \n \n {{ data.item.status === 'Active' ? 'Deactivate' : 'Activate' }}\n \n \n \n \n \n\n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n option.value\"\n error-name=\"Level 1 Category\"\n rules=\"required\"\n item=\"label\"\n :value=\"glFormData.parentCategory\"\n :set-selected=\"fetchLevelTwoCategory\"\n :readonly=\"isEditable\"\n />\n \n \n\n \n \n \n \n\n \n option.value\"\n error-name=\"Level 2 Category\"\n rules=\"required\"\n item=\"label\"\n :set-selected=\"fetchLevelThreeCategory\"\n :readonly=\"isEditable\"\n :loading=\"isLoadingLevel2Category\"\n />\n \n \n \n \n \n\n \n \n option.value\"\n placeholder=\"Select\"\n :options=\"level3CategoryOptions\"\n error-name=\"Level 3 Category\"\n rules=\"required\"\n item=\"label\"\n :readonly=\"isEditable\"\n :loading=\"isLoadingLevel3Category\"\n />\n \n \n\n \n \n\n \n option.value\"\n placeholder=\"Select\"\n :options=\"ifrsCategoryOptions\"\n error-name=\"IFRS Category\"\n rules=\"required\"\n item=\"label\"\n :readonly=\"isReadonly\"\n :loading=\"isLoadingIFRSCategory\"\n />\n \n \n\n \n \n option.value\"\n error-name=\"Financial Institution\"\n rules=\"required\"\n item=\"label\"\n placeholder=\"Select\"\n :readonly=\"isReadonly\"\n :loading=\"isLoadingBanks\"\n />\n \n \n\n \n \n option.value\"\n :options=\"transactionPermissionOptions\"\n error-name=\"Transaction Permission\"\n rules=\"required\"\n item=\"label\"\n :readonly=\"isReadonly\"\n />\n \n \n \n option\"\n :options=\"currencyCodeOptions\"\n item=\"label\"\n placeholder=\"Select currency\"\n :readonly=\"isEditable\"\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 \n\n \n \n \n \n \n \n \n \n\n \n \n option.value\"\n />\n \n \n\n \n \n option.value\"\n item=\"label\"\n />\n \n \n\n \n \n option.value\"\n />\n \n \n\n \n \n \n \n \n \n \n option\"\n :options=\"currencyCodeOptions\"\n item=\"label\"\n placeholder=\"Select currency\"\n />\n \n \n\n \n \n option\"\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!./GeneralLedger.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!./GeneralLedger.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./GeneralLedger.vue?vue&type=template&id=43ff7830&\"\nimport script from \"./GeneralLedger.vue?vue&type=script&lang=js&\"\nexport * from \"./GeneralLedger.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","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","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","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&\"","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('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&\"","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});","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","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