{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/@core/directives/bloqueioCaractereMask.js","webpack:///./src/@core/components/feather-icon/FeatherIcon.vue","webpack:///src/@core/components/feather-icon/FeatherIcon.vue","webpack:///./src/@core/components/feather-icon/FeatherIcon.vue?ebdc","webpack:///./themeConfig.js","webpack:///./src/@core/components/toastification/ToastificationContent.vue?4c7a","webpack:///src/@core/components/toastification/ToastificationContent.vue","webpack:///./src/@core/components/toastification/ToastificationContent.vue?512b","webpack:///./src/@core/components/toastification/ToastificationContent.vue","webpack:///./src/assets/images/logo/Alogo2.png","webpack:///./src/store/app/index.js","webpack:///./src/store/app-config/index.js","webpack:///./src/store/vertical-menu/index.js","webpack:///./src/store/index.js","webpack:///./src/App.vue?fea3","webpack:///./src/App.vue?f9af","webpack:///src/App.vue","webpack:///./src/App.vue?774d","webpack:///./src/App.vue","webpack:///./src/global-components.js","webpack:///./src/libs/acl/index.js","webpack:///./src/libs/portal-vue.js","webpack:///./src/libs/toastification.js","webpack:///./src/libs/sweet-alerts.js","webpack:///./src/@core/directives/animations.js","webpack:///./src/main.js","webpack:///./src/@core/components/feather-icon/FeatherIcon.vue?969b","webpack:///./src/@core/auth/jwt/jwtDefaultConfig.js","webpack:///./src/@core/auth/jwt/boundary.js","webpack:///./src/@core/auth/jwt/jwtService.js","webpack:///./src/@core/auth/jwt/useJwt.js","webpack:///./src/libs/axios.js","webpack:///./src/auth/jwt/useJwt.js","webpack:///./src/@core/directives/numberDecimalMask.js","webpack:///./src/auth/utils.js","webpack:///./src/libs/utils.js","webpack:///./src/libs/acl/routeProtection.js","webpack:///./src/router/routes/pages.js","webpack:///./src/router/routes/dashboards.js","webpack:///./src/router/index.js","webpack:///./src/@core/components/toastification/ToastificationContent.vue?6df4","webpack:///./src/@core/components/v-select-pt/VSelectPT.vue?a181","webpack:///src/@core/components/v-select-pt/VSelectPT.vue","webpack:///./src/@core/components/v-select-pt/VSelectPT.vue?d6ae","webpack:///./src/@core/components/v-select-pt/VSelectPT.vue","webpack:///./src/@core/app-config/useAppConfig.js","webpack:///./src/libs/acl/ability.js","webpack:///./src/libs/acl/config.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","inserted","element","binding","_binding$value","tamanho","regex","inputElement","permiteAcentos","tagName","querySelector","addEventListener","filteredValue","replace","unbind","removeEventListener","staticRenderFns","functional","props","icon","required","String","size","default","badge","Number","badgeClasses","Array","render","h","_ref","svg","icons","_objectSpread","badgeEl","staticClass","class","component","$themeColors","$themeBreakpoints","$themeConfig","app","appName","appLogoImage","require","layout","isRTL","skin","routerTransition","contentWidth","menu","hidden","isCollapsed","navbar","backgroundColor","footer","customizer","enableScrollToTop","_vm","this","_h","$createElement","_c","_self","attrs","variant","domProps","_s","title","_e","text","on","$event","$emit","hideClose","components","BAvatar","Boolean","namespaced","state","windowWidth","shallShowOverlay","getters","currentBreakPoint","xl","lg","md","sm","mutations","UPDATE_WINDOW_WIDTH","val","TOGGLE_OVERLAY","actions","localStorage","getItem","TOGGLE_RTL","documentElement","UPDATE_SKIN","setItem","body","classList","add","className","match","remove","UPDATE_ROUTER_TRANSITION","UPDATE_LAYOUT_TYPE","UPDATE_CONTENT_WIDTH","UPDATE_NAV_MENU_HIDDEN","UPDATE_NAVBAR_CONFIG","obj","assign","UPDATE_FOOTER_CONFIG","isVerticalMenuCollapsed","UPDATE_VERTICAL_MENU_COLLAPSED","Vue","use","Vuex","Store","appConfig","verticalMenu","strict","process","DEV","skinClasses","LayoutVertical","LayoutHorizontal","LayoutFull","VueRecaptcha","created","VUE_APP_AMBIENTE","computed","$route","meta","concat","contentLayoutType","$store","beforeCreate","colors","len","useCssVar","trim","breakpoints","setup","_","context","carregou","ref","getCurrentInstance","_useAppConfig","useAppConfig","provideToast","hideProgressBar","closeOnClick","closeButton","transition","store","commit","innerWidth","_useWindowSize","useWindowSize","width","watch","proxy","$router","onReady","FeatherIcon","VSelectPT","abilitiesPlugin","ability","PortalVue","Toast","VueSweetalert2","el","height","offsetHeight","modifiers","appear","style","overflow","maxHeight","opacity","keys","directives","forEach","directive","DatePicker","BootstrapVue","BootstrapVueIcons","number","decimal","separator","precision","masked","reverseFill","prefill","PiniaVuePlugin","ToastPlugin","ModalPlugin","VueCompositionAPI","VueMask","config","productionTip","pinia","createPinia","router","App","jwtDecode","$jwtDecode","messages","$toast","sweetAlert","$swal","decode","$message","$mount","recoverPasswordEndpoint","forgotEndpoint","registerEndpoint","refreshEndpoint","logoutEndpoint","verifyEndpoint","loginTomadorEndpoint","getUserData","tokenType","storageTokenKeyName","storageRefreshTokenKeyName","BOUNDARY_LENGTH","from","crypto","getRandomValues","Uint8Array","map","byte","fromCharCode","join","JwtService","axiosIns","jwtOverrideConfig","_this","_classCallCheck","_defineProperty","jwtDefaultConfig","jwtConfig","defaults","interceptors","accessToken","getToken","headers","Authorization","acceptedMethods","includes","method","userData","identidadeUsuario","id","identidadeNome","identidadeGrupoAcesso","role","identidadeinstituto","institutoSelecionado","response","dataStorage","status","possuiUserData","ToastificationContent","position","removeItem","catch","_createClass","isAxiosError","subscribers","filter","callback","_this$axiosIns","_len","arguments","args","_key","patch","_this$axiosIns2","_len2","_key2","post","_this$axiosIns3","_len3","_key3","refreshToken","getRefreshToken","_this$axiosIns4","_len4","_key4","_this$axiosIns5","_len5","_key5","_pesquisar","_asyncToGenerator","_regeneratorRuntime","mark","_callee","controller","_this$axiosIns6","_len6","_key6","_args","wrap","_context","prev","next","abrupt","sent","stop","pesquisar","_x","_post","_callee2","_this$axiosIns7","_len7","_key7","_args2","_context2","_x2","_patch","_callee3","_this$axiosIns8","_len8","_key8","_args3","_context3","_x3","_postDocumento","_callee4","onUploadProgress","_this$axiosIns9","_len9","_key9","_args4","_context4","postDocumento","_x4","_x5","_downloadManual","_callee5","_context5","responseType","downloadManual","_x6","_downloadDocumento","_callee6","_context6","downloadDocumento","_x7","_x8","_delete2","_callee7","_context7","delete","_delete","_x9","_x10","_edit","_callee8","_context8","edit","_x11","_x12","_update","_callee9","_this$axiosIns10","_len10","_key10","_args9","_context9","put","update","_x13","_x14","_put","_callee10","_this$axiosIns11","_len11","_key11","_args10","_context10","_x15","_updateDocumento","_callee11","_context11","updateDocumento","_x16","_x17","_x18","_get","_callee12","options","_context12","_x19","_x20","_enviarSMS","_callee13","receiver","content","_context13","enviarSMSEndpoint","Sender","Receivers","Content","SMS_AUTH_KEY","enviarSMS","_x21","useJwt","jwt","axios","baseURL","$http","_useJwt","input","currentValue","newValue","formattedValue","preventDefault","isUserLoggedIn","userDataLocalStorage","decodedUserData","getGrupoAcesso","GrupoAcesso","getHomeRouteForLoggedInUser","userRole","Ufs","isLetter","char","keyCode","test","isNumber","numero","toNumeric","campo","isCPFValid","cpf","parseInt","charAt","rev","validarEmail","email","re","toLowerCase","validarTelefone","telefone","validarCnpj","cnpj","sum","peso","digit","validaCNPJ","numeros","substring","digitos","soma","pos","resultado","validaRG","rg","digito","toString","formatarValor","Intl","NumberFormat","currency","format","formatarValorPorcentagem","toFixed","parseFloat","formatarData","date","DateTimeFormat","timeZone","Date","formatarCompetencia","ano","getFullYear","mes","getMonth","meses","textoMesAno","formatarDataHora","day","month","year","hour","minute","hour12","formatarAposentadoInativo","cat","formatarValorReais","valor","formatarCompetenciaDescricao","competencia","mesStr","formatarDataGlobal","isValid","formattedDate","parse","formatarCodigoSequencial","codigo","padStart","formatarParseFloat","formatarDataWTime","toLocaleDateString","dateStyle","toLocaleTimeString","formatarDataCurto","getDate","toast","msgError","success","msgSuccess","info","msgInfo","warning","msgWarning","Text","validarData","regexData","_data$split$map","split","_data$split$map2","_slicedToArray","dia","dataObj","formatarParaNumber","entrada","isNaN","valorLimpo","detectarNavegador","navegador","agenteUsuario","navigator","userAgent","indexOf","formatarCPF","regexCPF","censurarCPF","formatado","formatarTipoDate","dataFormatada","dataLista","calcularDiasEntreDatas","dataInicio","dataFim","inicio","startOfDay","fim","endOfDay","differenceInDays","PascalCaseComEspaco","texto","palavras","palavra","toUpperCase","roundUp","num","DECIMAL_SHIFT","DECIMAL_PLACES","rounded","Math","ceil","arrendondarCalculo","partes","parteDecimal","terceiraCasa","valorAjustado","calcularIdade","dataNascimento","dataAtual","dataNascimentoFormatada","idade","mesAtual","diaAtual","mesNascimento","diaNascimento","formatarToStringComPonto","primeiroNome","nome","formatarToParseFloat","canNavigate","to","matched","some","route","can","action","resource","path","pageTitle","requiresParametrizacao","requiresAuth","VueRouter","base","scrollBehavior","x","y","routes","redirect","_toConsumableArray","apps","dashboards","redirectIfLoggedIn","beforeEach","isLoggedIn","_Object$entries","permissoes","entries","flatMap","retorno","afterEach","appLoading","getElementById","display","_g","_b","scopedSlots","_u","fn","_v","$attrs","$listeners","vSelect","inheritAttrs","usAppConfig","set","layoutType","isNavMenuHidden","navbarBackgroundColor","navbarType","footerType","_localStorage$getItem","existingAbility","Ability","initialAbility","subject"],"mappings":"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","file":"js/app.6c18832c.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-189bdac8\":\"c552c8c3\",\"chunk-25ec5b84\":\"29f180f3\",\"chunk-e96ac3da\":\"e3429291\",\"chunk-2f867bae\":\"581eb49d\",\"chunk-28e82048\":\"1e9132de\",\"chunk-2d0e1d50\":\"35d6de8e\",\"chunk-72a3536c\":\"c8888d6e\",\"chunk-33f50b83\":\"e9783766\",\"chunk-6eeae7a0\":\"792e9587\",\"chunk-8f648896\":\"b0237116\",\"chunk-63f9cd5a\":\"64415704\",\"chunk-e6d46f30\":\"92d6715d\",\"chunk-0e6be4db\":\"7770068d\",\"chunk-14c88a70\":\"364b91b2\",\"chunk-1c8a7b48\":\"ad4420f3\",\"chunk-1ebe380a\":\"0c272d42\",\"chunk-2342e657\":\"ffae1e8e\",\"chunk-2447766c\":\"1cd9519f\",\"chunk-40ba27af\":\"f80e9b1c\",\"chunk-422082ac\":\"c39c3dfb\",\"chunk-47a3cb91\":\"9564a6f0\",\"chunk-4c311dbe\":\"e97dcde2\",\"chunk-4e548bf8\":\"af516243\",\"chunk-53a00322\":\"979f391d\",\"chunk-64145a3b\":\"ad2b84a8\",\"chunk-67be2936\":\"0d459f0c\",\"chunk-751f5a16\":\"5ebece6a\",\"chunk-7d490f53\":\"33c0efba\",\"chunk-a6a392e8\":\"33b00b8a\",\"chunk-b91f522e\":\"28ac2afe\",\"chunk-c6399d32\":\"93c4ba3a\",\"chunk-e372814a\":\"6303eb8d\",\"chunk-ec8066ca\":\"e67e2449\",\"chunk-7a5894ea\":\"6c68756f\",\"chunk-a89bbbb0\":\"9ba4be93\",\"chunk-d0a913ec\":\"b4b96207\",\"chunk-df0ec81c\":\"2773e298\",\"chunk-509ce8c0\":\"611e2cca\",\"chunk-4892c44c\":\"704e8ec8\",\"chunk-085a511e\":\"07552d96\",\"chunk-66a5f7e6\":\"a5fb7be7\",\"chunk-17828c8f\":\"a0bf5dcf\",\"chunk-e5267ff6\":\"666fe30f\",\"chunk-6ecb7e69\":\"0acf7f62\",\"chunk-f26b55d4\":\"24539d19\",\"chunk-2d22bcc3\":\"6ef6a4b2\",\"chunk-7246a220\":\"068625b0\",\"chunk-4a321c30\":\"8e8eaab1\",\"chunk-62024176\":\"7a17d14a\",\"chunk-42c3502a\":\"d8166aa6\",\"chunk-799cb384\":\"ed22ac7a\",\"chunk-c1579a44\":\"7a40edf4\",\"chunk-048dd59d\":\"fe1c531b\",\"chunk-13f5e15a\":\"b78a236d\",\"chunk-35ad3fb0\":\"8f096ed3\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-189bdac8\":1,\"chunk-2f867bae\":1,\"chunk-28e82048\":1,\"chunk-72a3536c\":1,\"chunk-6eeae7a0\":1,\"chunk-63f9cd5a\":1,\"chunk-e6d46f30\":1,\"chunk-0e6be4db\":1,\"chunk-14c88a70\":1,\"chunk-1c8a7b48\":1,\"chunk-1ebe380a\":1,\"chunk-2342e657\":1,\"chunk-2447766c\":1,\"chunk-40ba27af\":1,\"chunk-422082ac\":1,\"chunk-47a3cb91\":1,\"chunk-4c311dbe\":1,\"chunk-4e548bf8\":1,\"chunk-53a00322\":1,\"chunk-64145a3b\":1,\"chunk-67be2936\":1,\"chunk-751f5a16\":1,\"chunk-7d490f53\":1,\"chunk-a6a392e8\":1,\"chunk-b91f522e\":1,\"chunk-c6399d32\":1,\"chunk-e372814a\":1,\"chunk-ec8066ca\":1,\"chunk-7a5894ea\":1,\"chunk-d0a913ec\":1,\"chunk-df0ec81c\":1,\"chunk-509ce8c0\":1,\"chunk-085a511e\":1,\"chunk-66a5f7e6\":1,\"chunk-6ecb7e69\":1,\"chunk-f26b55d4\":1,\"chunk-4a321c30\":1,\"chunk-62024176\":1,\"chunk-42c3502a\":1,\"chunk-799cb384\":1,\"chunk-c1579a44\":1,\"chunk-048dd59d\":1,\"chunk-13f5e15a\":1,\"chunk-35ad3fb0\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-189bdac8\":\"a4e83c67\",\"chunk-25ec5b84\":\"31d6cfe0\",\"chunk-e96ac3da\":\"31d6cfe0\",\"chunk-2f867bae\":\"ce6dee3b\",\"chunk-28e82048\":\"e46afbde\",\"chunk-2d0e1d50\":\"31d6cfe0\",\"chunk-72a3536c\":\"d9848a9f\",\"chunk-33f50b83\":\"31d6cfe0\",\"chunk-6eeae7a0\":\"771d3e5c\",\"chunk-8f648896\":\"31d6cfe0\",\"chunk-63f9cd5a\":\"6125be3d\",\"chunk-e6d46f30\":\"684b4e57\",\"chunk-0e6be4db\":\"3b026c4d\",\"chunk-14c88a70\":\"0351aaf0\",\"chunk-1c8a7b48\":\"4b58e009\",\"chunk-1ebe380a\":\"c2010fe5\",\"chunk-2342e657\":\"0351aaf0\",\"chunk-2447766c\":\"c1f82541\",\"chunk-40ba27af\":\"ff9736af\",\"chunk-422082ac\":\"cf17d0f2\",\"chunk-47a3cb91\":\"fecca020\",\"chunk-4c311dbe\":\"4ec1a5db\",\"chunk-4e548bf8\":\"b22fc29f\",\"chunk-53a00322\":\"f4d4b9df\",\"chunk-64145a3b\":\"102f70ca\",\"chunk-67be2936\":\"5d069777\",\"chunk-751f5a16\":\"aa599d40\",\"chunk-7d490f53\":\"40268e6b\",\"chunk-a6a392e8\":\"a4e83c67\",\"chunk-b91f522e\":\"374d8dd2\",\"chunk-c6399d32\":\"a4224dd1\",\"chunk-e372814a\":\"e63b5b68\",\"chunk-ec8066ca\":\"ad15d7c6\",\"chunk-7a5894ea\":\"19c77f17\",\"chunk-a89bbbb0\":\"31d6cfe0\",\"chunk-d0a913ec\":\"ab7146d5\",\"chunk-df0ec81c\":\"6d1ac192\",\"chunk-509ce8c0\":\"20211493\",\"chunk-4892c44c\":\"31d6cfe0\",\"chunk-085a511e\":\"63b8bc19\",\"chunk-66a5f7e6\":\"29378c74\",\"chunk-17828c8f\":\"31d6cfe0\",\"chunk-e5267ff6\":\"31d6cfe0\",\"chunk-6ecb7e69\":\"b7ef396a\",\"chunk-f26b55d4\":\"19c77f17\",\"chunk-2d22bcc3\":\"31d6cfe0\",\"chunk-7246a220\":\"31d6cfe0\",\"chunk-4a321c30\":\"a4e83c67\",\"chunk-62024176\":\"f2a78018\",\"chunk-42c3502a\":\"157975c9\",\"chunk-799cb384\":\"75f61537\",\"chunk-c1579a44\":\"a4e83c67\",\"chunk-048dd59d\":\"653608c8\",\"chunk-13f5e15a\":\"341fce91\",\"chunk-35ad3fb0\":\"24bd8632\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","/**\r\n * Diretiva Vue.js para restringir a entrada do usuário em um campo de input.\r\n *\r\n * A diretiva permite apenas a entrada de caracteres que correspondam a um padrão regex fornecido e limita o tamanho do valor do input.\r\n * É útil para casos como campos de entrada numérica, máscaras de formatação, etc.\r\n *\r\n * Uso:\r\n * \r\n * Este exemplo cria uma diretiva que aceita apenas números e limita o comprimento do input a 5 caracteres.\r\n *\r\n * @param {HTMLElement} element - O elemento DOM ao qual a diretiva está vinculada. Pode ser um elemento 'input' ou um contêiner que contenha um 'input'.\r\n * @param {Object} binding - Um objeto contendo as opções passadas para a diretiva. Deve ter as propriedades 'tamanho' e 'regex'.\r\n * - tamanho (Number): O número máximo de caracteres permitidos no input.\r\n * - regex (RegExp): Uma expressão regular para validar cada caractere digitado.\r\n *\r\n * Exemplo de Objeto binding:\r\n * {\r\n * tamanho: 5,\r\n * regex: /[0-9]/\r\n * }\r\n */\r\n\r\nexport default {\r\n inserted(element, binding) {\r\n const { tamanho, regex, permiteAcentos } = binding.value\r\n const inputElement = element.tagName === 'INPUT' ? element : element.querySelector('input')\r\n\r\n inputElement.addEventListener('input', function (event) {\r\n const value = event.target.value\r\n setTimeout(() => {\r\n const filteredValue = value.replace(regex, '').slice(0, tamanho)\r\n event.target.value = filteredValue\r\n }, 0)\r\n })\r\n },\r\n unbind(element) {\r\n const inputElement = element.tagName === 'INPUT' ? element : element.querySelector('input')\r\n inputElement.removeEventListener('input', () => {})\r\n },\r\n}\r\n","var render, staticRenderFns\nimport script from \"./FeatherIcon.vue?vue&type=script&lang=js\"\nexport * from \"./FeatherIcon.vue?vue&type=script&lang=js\"\nimport style0 from \"./FeatherIcon.vue?vue&type=style&index=0&id=47c8f973&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FeatherIcon.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FeatherIcon.vue?vue&type=script&lang=js\"","// Theme Colors\r\n// Initially this will be blank. Later on when app is initialized we will assign bootstrap colors to this from CSS variables.\r\nexport const $themeColors = {}\r\n\r\n// App Breakpoints\r\n// Initially this will be blank. Later on when app is initialized we will assign bootstrap breakpoints to this object from CSS variables.\r\nexport const $themeBreakpoints = {}\r\n\r\n// APP CONFIG\r\nexport const $themeConfig = {\r\n app: {\r\n appName: 'ConsigPrev', // Will update name in navigation menu (Branding)\r\n // eslint-disable-next-line global-require\r\n appLogoImage: require('@/assets/images/logo/Alogo2.png'), // Will update logo in navigation menu (Branding)\r\n },\r\n layout: {\r\n isRTL: false,\r\n skin: 'light', // light, dark, bordered, semi-dark\r\n routerTransition: 'zoom-fade', // zoom-fade, slide-fade, fade-bottom, fade, zoom-out, none\r\n type: 'vertical', // vertical, horizontal\r\n contentWidth: 'full', // full, boxed\r\n menu: {\r\n hidden: false,\r\n isCollapsed: false,\r\n },\r\n navbar: {\r\n // ? For horizontal menu, navbar type will work for navMenu type\r\n type: 'floating', // static , sticky , floating, hidden\r\n backgroundColor: 'primary', // BS color options [primary, success, etc]\r\n },\r\n footer: {\r\n type: 'static', // static, sticky, hidden\r\n },\r\n customizer: true,\r\n enableScrollToTop: true,\r\n },\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"toastification\"},[_c('div',{staticClass:\"d-flex align-items-start\"},[_c('b-avatar',{staticClass:\"mr-75 flex-shrink-0\",attrs:{\"variant\":_vm.variant,\"size\":\"1.8rem\"}},[_c('feather-icon',{attrs:{\"icon\":_vm.icon,\"size\":\"15\"}})],1),_c('div',{staticClass:\"d-flex flex-grow-1\"},[_c('div',[(_vm.title)?_c('h5',{staticClass:\"mb-0 font-weight-bolder toastification-title\",class:(\"text-\" + _vm.variant),domProps:{\"textContent\":_vm._s(_vm.title)}}):_vm._e(),(_vm.text)?_c('small',{staticClass:\"d-inline-block text-body\",domProps:{\"textContent\":_vm._s(_vm.text)}}):_vm._e()]),_c('span',{staticClass:\"cursor-pointer toastification-close-icon ml-auto\",on:{\"click\":function($event){return _vm.$emit('close-toast')}}},[(!_vm.hideClose)?_c('feather-icon',{staticClass:\"text-body\",attrs:{\"icon\":\"XIcon\"}}):_vm._e()],1)])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ToastificationContent.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ToastificationContent.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ToastificationContent.vue?vue&type=template&id=d2db6976&scoped=true\"\nimport script from \"./ToastificationContent.vue?vue&type=script&lang=js\"\nexport * from \"./ToastificationContent.vue?vue&type=script&lang=js\"\nimport style0 from \"./ToastificationContent.vue?vue&type=style&index=0&id=d2db6976&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d2db6976\",\n null\n \n)\n\nexport default component.exports","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAxCAYAAACs0jsDAAADlElEQVRogc2ZX2wURRjAf7t3pEBoqVhCfFEM0OKf5NMPHyBSAQPxxWhMFGIkBWI0GpXoi6kxBtISMUJN6ofhEFGLr2oR0RejITwYY3wymmjwlYQXaEt7V1tyd2bKXrOYHr3e7d7u97SzNzP7yzczv5nJeeVymbSHqK1NPaiotQO/+SlgqRqi5gFfA2tSDQqcAra5h9SCito7wL5KOZVzVNR2A1+E36UOVNS6gZ+AbPh9qkCdhoBfgdv+/1tq5qioLQfOzQVJWkBFzXEMA13V6qQlo59WNFQtEgcVtQPAnvnqJbqYRK0HGKqlbmKgorYF+BHI1FI/EVBRWxdoqL3WNk2fo6Lm9PPdQiBpNmigIXcaWrfQts3O6GfA1noaNg1U1A4CPfW2b8piErW9QTbrjthBRc3tOD/UqqFqESuoqHUGGlreaF+xzdGQhhqGJC5QUXPDfAZYG1WfcWX0c+CRKDuMHFTU+oHdUfcb6WIStX3B2RLPg+npDJlMCd9v/BuRgYrao4GGfM8rU5hs4Y5VY1y/nmF8oqVh2EiGXtS6gj3cd5l0kCtXjDN46BRLFk9RLDX+mWwNdeaDvD2sITfcnudx7MjHPHD/P+QLixuGpNGMhjS0xpVLJY98YQnvHxjiwU0XuTrSipsGiYMG14jN7sHhjIy28uarZ3hy588wHQnfbNQNKmqHgOeYWeFlrlxtpeeZC7zyxlkoBORJg4ra88DbFUg3xNu7/6S/bwimgGK0kNQDKmrbgZMVyLHxpdzbeQn7IEdmUfEGaAyxIFBRWw98NcPoNFRooaM9z4nBj2hbOXFjyL2EQQMNfQ+0EWjI9+H4QI67ui7DtfggqdWjoubqfQPcTUhDdvgTHur+C8bjhWQBGT0NPFwpjIwuo/e1YZ5wGpqIDy4c84KK2rvAs4Q0tGfnBV5+/dtYNFQXqKi9ALxFSEM7tvxBf99p+DceDVWLqqCitgM4UYEcu7aU+7ouMXg0h58tRr7z1AUqavcAX96koRWBhjrysWqoZlBR6whraGo6O6Oh3MBx7uy83JQVPlfcpCdRWwScBVa7crHkMTnZwrH3TrJh89+JQTJHRt1/O5vcgzv4j4620rt/mMef/qVpGqoWs6CidhjYRXDfuTLSxt5d53lp/znIN09DtwQVtReBXmY1tIzHtv5OX0VDpWQhXWRF7amKhly4+87GDRf5cCCHnynBZJ3zcqZNRMMA/AfTvSMiYyuhgQAAAABJRU5ErkJggg==\"","import { $themeBreakpoints } from '@themeConfig'\r\n\r\nexport default {\r\n namespaced: true,\r\n state: {\r\n windowWidth: 0,\r\n shallShowOverlay: false,\r\n },\r\n getters: {\r\n currentBreakPoint: (state) => {\r\n const { windowWidth } = state\r\n if (windowWidth >= $themeBreakpoints.xl) return 'xl'\r\n if (windowWidth >= $themeBreakpoints.lg) return 'lg'\r\n if (windowWidth >= $themeBreakpoints.md) return 'md'\r\n if (windowWidth >= $themeBreakpoints.sm) return 'sm'\r\n return 'xs'\r\n },\r\n },\r\n mutations: {\r\n UPDATE_WINDOW_WIDTH(state, val) {\r\n state.windowWidth = val\r\n },\r\n TOGGLE_OVERLAY(state, val) {\r\n state.shallShowOverlay = val !== undefined ? val : !state.shallShowOverlay\r\n },\r\n },\r\n actions: {},\r\n}\r\n","import { $themeConfig } from '@themeConfig'\r\n\r\nexport default {\r\n namespaced: true,\r\n state: {\r\n layout: {\r\n isRTL: $themeConfig.layout.isRTL,\r\n skin: localStorage.getItem('vuexy-skin') || $themeConfig.layout.skin,\r\n routerTransition: $themeConfig.layout.routerTransition,\r\n type: $themeConfig.layout.type,\r\n contentWidth: $themeConfig.layout.contentWidth,\r\n menu: {\r\n hidden: $themeConfig.layout.menu.hidden,\r\n },\r\n navbar: {\r\n type: $themeConfig.layout.navbar.type,\r\n backgroundColor: $themeConfig.layout.navbar.backgroundColor,\r\n },\r\n footer: {\r\n type: $themeConfig.layout.footer.type,\r\n },\r\n },\r\n },\r\n getters: {},\r\n mutations: {\r\n TOGGLE_RTL(state) {\r\n state.layout.isRTL = !state.layout.isRTL\r\n document.documentElement.setAttribute('dir', state.layout.isRTL ? 'rtl' : 'ltr')\r\n },\r\n UPDATE_SKIN(state, skin) {\r\n state.layout.skin = skin\r\n\r\n // Update value in localStorage\r\n localStorage.setItem('vuexy-skin', skin)\r\n\r\n // Update DOM for dark-layout\r\n if (skin === 'dark') document.body.classList.add('dark-layout')\r\n else if (document.body.className.match('dark-layout')) document.body.classList.remove('dark-layout')\r\n },\r\n UPDATE_ROUTER_TRANSITION(state, val) {\r\n state.layout.routerTransition = val\r\n },\r\n UPDATE_LAYOUT_TYPE(state, val) {\r\n state.layout.type = val\r\n },\r\n UPDATE_CONTENT_WIDTH(state, val) {\r\n state.layout.contentWidth = val\r\n },\r\n UPDATE_NAV_MENU_HIDDEN(state, val) {\r\n state.layout.menu.hidden = val\r\n },\r\n UPDATE_NAVBAR_CONFIG(state, obj) {\r\n Object.assign(state.layout.navbar, obj)\r\n },\r\n UPDATE_FOOTER_CONFIG(state, obj) {\r\n Object.assign(state.layout.footer, obj)\r\n },\r\n },\r\n actions: {},\r\n}\r\n","import { $themeConfig } from '@themeConfig'\r\n\r\nexport default {\r\n namespaced: true,\r\n state: {\r\n isVerticalMenuCollapsed: $themeConfig.layout.menu.isCollapsed,\r\n },\r\n getters: {},\r\n mutations: {\r\n UPDATE_VERTICAL_MENU_COLLAPSED(state, val) {\r\n state.isVerticalMenuCollapsed = val\r\n },\r\n },\r\n actions: {},\r\n}\r\n","import Vue from 'vue'\r\nimport Vuex from 'vuex'\r\n\r\n// Modules\r\nimport app from './app'\r\nimport appConfig from './app-config'\r\nimport verticalMenu from './vertical-menu'\r\n\r\nVue.use(Vuex)\r\n\r\nexport default new Vuex.Store({\r\n modules: {\r\n app,\r\n appConfig,\r\n verticalMenu,\r\n },\r\n strict: process.env.DEV,\r\n})\r\n","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=448b3fd8&prod&lang=scss\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"h-100\",class:[_vm.skinClasses],attrs:{\"id\":\"app\"}},[(_vm.carregou)?_c(_vm.layout,{tag:\"component\"},[_c('router-view')],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=448b3fd8\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=448b3fd8&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\r\nimport FeatherIcon from '@core/components/feather-icon/FeatherIcon.vue'\r\nimport VSelectPT from '@/@core/components/v-select-pt/VSelectPT.vue'\r\n\r\nVue.component(FeatherIcon.name, FeatherIcon)\r\nVue.component('v-select-pt', VSelectPT)\r\n","import Vue from 'vue'\r\nimport { abilitiesPlugin } from '@casl/vue'\r\nimport ability from './ability'\r\n\r\nVue.use(abilitiesPlugin, ability)\r\n","import Vue from 'vue'\r\nimport PortalVue from 'portal-vue'\r\n\r\nVue.use(PortalVue)\r\n","import Vue from 'vue'\r\nimport Toast from 'vue-toastification'\r\n\r\n// Toast Notification Component Styles\r\nimport '@core/scss/vue/libs/toastification.scss'\r\n\r\n/**\r\n * NOTE: If you are using other transition them make sure to import it in `src/@core/scss/vue/libs/notification.scss` from it's source\r\n */\r\nVue.use(Toast, {\r\n hideProgressBar: true,\r\n closeOnClick: false,\r\n closeButton: false,\r\n icon: false,\r\n timeout: 3000,\r\n transition: 'Vue-Toastification__fade',\r\n})\r\n","import Vue from 'vue'\r\nimport VueSweetalert2 from 'vue-sweetalert2'\r\n\r\nVue.use(VueSweetalert2)\r\n","export default {\r\n /* eslint-disable no-param-reassign */\r\n inserted(el, binding) {\r\n const height = `${el.offsetHeight}px`\r\n\r\n if (binding.modifiers.appear) {\r\n el.style.overflow = 'hidden'\r\n el.style.maxHeight = '0px'\r\n el.style.opacity = 0\r\n\r\n // Focus the element\r\n setTimeout(() => {\r\n el.style.maxHeight = height\r\n el.style.opacity = 1\r\n setTimeout(() => {\r\n el.style.overflow = 'unset'\r\n }, 300)\r\n }, 100)\r\n } else {\r\n el.style.maxHeight = height\r\n }\r\n },\r\n unbind(el) {\r\n if (el.style === undefined) return\r\n el.style.overflow = 'hidden'\r\n el.style.maxHeight = '0px'\r\n el.style.opacity = 0\r\n },\r\n /* eslint-enable no-param-reassign */\r\n}\r\n\r\nexport const temp = 2\r\n","import Vue from 'vue'\r\nimport Swal from 'sweetalert2'\r\nimport { ToastPlugin, ModalPlugin } from 'bootstrap-vue'\r\nimport VueCompositionAPI from '@vue/composition-api'\r\nimport number from '@coders-tm/vue-number-format'\r\nimport VueMask from 'v-mask'\r\nimport router from './router'\r\nimport store from './store'\r\nimport App from './App.vue'\r\nimport './tailwind.css'\r\n// Global Components\r\nimport './global-components'\r\n\r\n// 3rd party plugins\r\nimport '@/libs/acl'\r\nimport '@/libs/portal-vue'\r\nimport '@/libs/toastification'\r\nimport '@/libs/sweet-alerts'\r\n\r\nimport { messages } from '@/libs/utils'\r\nimport { BootstrapVue, BootstrapVueIcons } from 'bootstrap-vue'\r\nimport 'bootstrap/dist/css/bootstrap.css'\r\nimport 'bootstrap-vue/dist/bootstrap-vue.css'\r\nimport * as directives from './@core/directives/diretivasGlobais'\r\nimport { createPinia, PiniaVuePlugin } from 'pinia'\r\nimport DatePicker from 'vue2-datepicker'\r\nimport 'vue2-datepicker/index.css'\r\nimport 'vue2-datepicker/locale/pt-br'\r\nimport { jwtDecode as decode } from 'jwt-decode'\r\n\r\nObject.keys(directives).forEach((key) => {\r\n Vue.directive(key, directives[key])\r\n})\r\nVue.use(DatePicker)\r\nVue.use(BootstrapVue)\r\nVue.use(BootstrapVueIcons)\r\n\r\nVue.use(number, {\r\n decimal: ',',\r\n separator: '.',\r\n //prefix: \"R$ \",\r\n precision: 2,\r\n masked: false,\r\n reverseFill: true,\r\n prefill: false,\r\n})\r\nVue.use(PiniaVuePlugin)\r\n\r\n// BSV Plugin Registration\r\nVue.use(ToastPlugin)\r\nVue.use(ModalPlugin)\r\n// Composition API\r\nVue.use(VueCompositionAPI)\r\nVue.use(VueMask)\r\n// import core styles\r\nrequire('@core/scss/core.scss')\r\n// import assets styles\r\nrequire('@/assets/scss/style.scss')\r\n\r\nVue.config.productionTip = false\r\n\r\nconst pinia = createPinia()\r\n\r\nconst app = new Vue({\r\n router,\r\n store,\r\n render: (h) => h(App),\r\n pinia,\r\n})\r\n\r\nexport const jwtDecode = app.$jwtDecode\r\nexport const message = messages(app.$toast)\r\nexport const sweetAlert = app.$swal\r\n\r\n// Configurando jwtDecode como global\r\nVue.prototype.$jwtDecode = decode\r\nVue.prototype.$message = message\r\n\r\napp.$mount('#app')\r\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FeatherIcon.vue?vue&type=style&index=0&id=47c8f973&prod&lang=scss\"","export default {\r\n // Endpoints\r\n recoverPasswordEndpoint: '/auth/recoverPassword',\r\n forgotEndpoint: '/auth/GetforgotPassword',\r\n registerEndpoint: '/auth/register',\r\n refreshEndpoint: '/auth/refresh-token',\r\n logoutEndpoint: '/auth/logout',\r\n verifyEndpoint: '/auth/verificarSenha',\r\n loginTomadorEndpoint: '/auth/GetloginTomador',\r\n getUserData: '/auth/GetUserData',\r\n\r\n // This will be prefixed in authorization header with token\r\n // e.g. Authorization: Bearer \r\n tokenType: 'Bearer',\r\n\r\n // Value of this property will be used as key to store JWT token in storage\r\n storageTokenKeyName: 'accessToken',\r\n storageRefreshTokenKeyName: 'refreshToken',\r\n}\r\n","const BOUNDARY_LENGTH = 16\r\n\r\nexport let boundary = Array.from(crypto.getRandomValues(new Uint8Array(BOUNDARY_LENGTH)))\r\n .map((byte) => String.fromCharCode(byte))\r\n .join('')\r\n .replace(/[^\\w\\d]/g, '')\r\n","import jwtDefaultConfig from './jwtDefaultConfig'\r\nimport router from '../../../router'\r\nimport axios from 'axios'\r\nimport { getUserData } from '../../../auth/utils'\r\nimport { boundary } from './boundary'\r\nimport Vue from 'vue'\r\nimport ToastificationContent from '@core/components/toastification/ToastificationContent.vue'\r\nimport { jwtDecode } from 'jwt-decode'\r\n\r\nexport default class JwtService {\r\n // Will be used by this service for making API calls\r\n axiosIns = null\r\n\r\n // jwtConfig <= Will be used by this service\r\n jwtConfig = { ...jwtDefaultConfig }\r\n\r\n // For Refreshing Token\r\n isAlreadyFetchingAccessToken = false\r\n\r\n // For Refreshing Token\r\n subscribers = []\r\n\r\n constructor(axiosIns, jwtOverrideConfig) {\r\n this.axiosIns = axiosIns\r\n this.jwtConfig = { ...this.jwtConfig, ...jwtOverrideConfig }\r\n\r\n axiosIns.defaults.timeout = 240000\r\n\r\n // Request Interceptor\r\n this.axiosIns.interceptors.request.use(\r\n (config) => {\r\n // Get token from localStorage\r\n const accessToken = this.getToken()\r\n\r\n // If token is present add it to request's Authorization Header\r\n if (accessToken) {\r\n // eslint-disable-next-line no-param-reassign\r\n config.headers.Authorization = `${this.jwtConfig.tokenType} ${accessToken}`\r\n }\r\n const acceptedMethods = ['post', 'patch', 'put', 'delete']\r\n if (acceptedMethods.includes(config.method)) {\r\n const userData = getUserData()\r\n if (userData) {\r\n config.headers = {\r\n ...config.headers,\r\n identidadeUsuario: userData.id,\r\n identidadeNome: userData.name,\r\n identidadeGrupoAcesso: userData.role,\r\n identidadeinstituto: userData.institutoSelecionado,\r\n }\r\n }\r\n }\r\n return config\r\n },\r\n (error) => Promise.reject(error),\r\n )\r\n\r\n // Verifica se o token expirou ou se houve erro na conexão\r\n this.axiosIns.interceptors.response.use(\r\n (response) => response,\r\n (error) => {\r\n const dataStorage = localStorage.getItem('userData')\r\n let userData = null\r\n if (dataStorage) {\r\n userData = jwtDecode(dataStorage)['userData']\r\n }\r\n\r\n const { status } = error.response\r\n if (status === 401 || (!userData && status === 401)) {\r\n setTimeout(() => {\r\n // Logout user\r\n const possuiUserData = !!getUserData()\r\n if (possuiUserData) {\r\n Vue.$toast(\r\n {\r\n component: ToastificationContent,\r\n props: {\r\n title: 'Alerta!',\r\n text: 'Sua sessão expirou. Você será redirecionado para a página de login.',\r\n icon: 'BellIcon',\r\n variant: 'danger',\r\n },\r\n },\r\n {\r\n position: 'top-right',\r\n timeout: 8000,\r\n },\r\n )\r\n }\r\n\r\n // Remove tokens and user data from localStorage\r\n localStorage.removeItem(this.jwtConfig.storageTokenKeyName)\r\n localStorage.removeItem(this.jwtConfig.storageRefreshTokenKeyName)\r\n localStorage.removeItem('userData')\r\n\r\n // Redirect to login page after 5 seconds\r\n router.push('/login').catch(() => {})\r\n }, 5000)\r\n }\r\n return Promise.reject(error)\r\n },\r\n )\r\n }\r\n\r\n isNetworkError(err) {\r\n return !!err.isAxiosError && !err.response\r\n }\r\n\r\n onAccessTokenFetched(accessToken) {\r\n this.subscribers = this.subscribers.filter((callback) => callback(accessToken))\r\n }\r\n\r\n addSubscriber(callback) {\r\n this.subscribers.push(callback)\r\n }\r\n\r\n getToken() {\r\n return localStorage.getItem(this.jwtConfig.storageTokenKeyName)\r\n }\r\n\r\n getRefreshToken() {\r\n return localStorage.getItem(this.jwtConfig.storageRefreshTokenKeyName)\r\n }\r\n\r\n setToken(value) {\r\n localStorage.setItem(this.jwtConfig.storageTokenKeyName, value)\r\n }\r\n\r\n setRefreshToken(value) {\r\n localStorage.setItem(this.jwtConfig.storageRefreshTokenKeyName, value)\r\n }\r\n\r\n recoverPassword(...args) {\r\n return this.axiosIns.patch(this.jwtConfig.recoverPasswordEndpoint, ...args)\r\n }\r\n\r\n GetloginTomador(...args) {\r\n return this.axiosIns.post(this.jwtConfig.loginTomadorEndpoint, ...args)\r\n }\r\n\r\n register(...args) {\r\n return this.axiosIns.post(this.jwtConfig.registerEndpoint, ...args)\r\n }\r\n\r\n refreshToken() {\r\n return this.axiosIns.post(this.jwtConfig.refreshEndpoint, {\r\n refreshToken: this.getRefreshToken(),\r\n })\r\n }\r\n\r\n verifyPassword(...args) {\r\n return this.axiosIns.post(this.jwtConfig.verifyEndpoint, ...args)\r\n }\r\n\r\n forgotPassword(...args) {\r\n return this.axiosIns.post(this.jwtConfig.forgotEndpoint, ...args)\r\n }\r\n\r\n async pesquisar(controller, ...args) {\r\n return await this.axiosIns.post(controller, ...args)\r\n }\r\n\r\n async post(controller, ...args) {\r\n return await this.axiosIns.post(controller, ...args)\r\n }\r\n\r\n async patch(controller, ...args) {\r\n return await this.axiosIns.patch(controller, ...args)\r\n }\r\n\r\n async postDocumento(controller, onUploadProgress, ...args) {\r\n return await this.axiosIns.post(controller, ...args, {\r\n headers: {\r\n 'Content-Type': 'multipart/form-data',\r\n },\r\n onUploadProgress,\r\n })\r\n }\r\n\r\n async downloadManual(controller) {\r\n return await this.axiosIns.get(controller, {\r\n responseType: 'arraybuffer',\r\n })\r\n }\r\n\r\n async downloadDocumento(controller, id) {\r\n return await this.axiosIns.get(controller + '/' + id)\r\n }\r\n\r\n async delete(controller, id) {\r\n return await this.axiosIns.delete(controller + '/' + id)\r\n }\r\n\r\n async edit(controller, id) {\r\n return await this.axiosIns.get(controller + '/' + id)\r\n }\r\n\r\n async update(controller, id, ...args) {\r\n return await this.axiosIns.put(controller + '/' + id, ...args)\r\n }\r\n\r\n async put(controller, ...args) {\r\n return await this.axiosIns.put(controller, ...args)\r\n }\r\n\r\n async updateDocumento(controller, id, args) {\r\n return await this.axiosIns.put(controller + '/' + id, args)\r\n }\r\n\r\n async get(controller, options) {\r\n if (options) {\r\n return await this.axiosIns.get(controller, options)\r\n }\r\n return await this.axiosIns.get(controller)\r\n }\r\n\r\n async enviarSMS({ title, receiver, content }) {\r\n return this.axiosIns.post(\r\n this.jwtConfig.enviarSMSEndpoint,\r\n {\r\n Sender: title,\r\n Receivers: receiver,\r\n Content: content,\r\n },\r\n {\r\n headers: {\r\n 'auth-key': process.env.SMS_AUTH_KEY,\r\n },\r\n },\r\n )\r\n }\r\n}\r\n","import JwtService from './jwtService'\r\n\r\nexport default function useJwt(axiosIns, jwtOverrideConfig) {\r\n const jwt = new JwtService(axiosIns, jwtOverrideConfig)\r\n\r\n return {\r\n jwt,\r\n }\r\n}\r\n","import Vue from 'vue'\r\n\r\n// axios\r\nimport axios from 'axios'\r\n\r\nconst axiosIns = axios.create({\r\n baseURL: process.env.VUE_APP_BASE_URL,\r\n timeout: 30000,\r\n})\r\n\r\nVue.prototype.$http = axiosIns\r\n\r\nexport default axiosIns\r\n","import useJwt from '../../@core/auth/jwt/useJwt'\r\nimport axios from '../../libs/axios'\r\n\r\nconst { jwt } = useJwt(axios, {})\r\nexport default jwt\r\n","// Versão 1\r\n// export default function(input) {\r\n// // if (input.length > 5) return String(input).substring(0,6)\r\n// const currentValue = input.replace(/[^0-9]/g, ''); // Remove tudo que não é número\r\n// const newValue = (currentValue).slice(-4); // Mantém apenas os últimos 5 caracteres\r\n\r\n// // Aplica a máscara\r\n// const formattedValue = newValue.slice(0, 1) + ',' + newValue.slice(1);\r\n// return formattedValue\r\n// };\r\n\r\n// Versão 2\r\n// export default {\r\n// bind(e) {\r\n// // Permite teclas de controle (backspace, setas, etc.)\r\n// if (['Backspace', 'ArrowLeft', 'ArrowRight', 'Delete'].includes(e.key)) return;\r\n\r\n// // Bloqueia qualquer input que não seja número\r\n// if (!e.key.match(/[0-9]/)) {\r\n// e.preventDefault();\r\n// return;\r\n// }\r\n\r\n// const currentValue = input.value.replace(/[^0-9]/g, ''); // Remove tudo que não é número\r\n// const newValue = (currentValue + e.key).slice(-5); // Mantém apenas os últimos 5 caracteres\r\n\r\n// // Aplica a máscara\r\n// const formattedValue = newValue.slice(0, 1) + ',' + newValue.slice(1);\r\n// input.value = formattedValue;\r\n\r\n// // Previne a inserção do número pela lógica padrão do navegador\r\n// e.preventDefault();\r\n// }\r\n// };\r\n\r\n// Versão 3\r\nexport default {\r\n inserted(el) {\r\n const input = el.tagName === 'INPUT' ? el : el.querySelector('input')\r\n\r\n if (input) {\r\n input.addEventListener('keydown', (e) => {\r\n // Permite teclas de controle (backspace, setas, etc.)\r\n if (['Backspace', 'ArrowLeft', 'ArrowRight', 'Delete'].includes(e.key)) return\r\n\r\n // Bloqueia qualquer input que não seja número\r\n if (!e.key.match(/[0-9]/)) {\r\n e.preventDefault()\r\n return\r\n }\r\n\r\n const currentValue = input.value.replace(/[^0-9]/g, '') // Remove tudo que não é número\r\n const newValue = (currentValue + e.key).slice(-5) // Mantém apenas os últimos 5 caracteres\r\n\r\n // Aplica a máscara\r\n const formattedValue = newValue.slice(0, 1) + ',' + newValue.slice(1)\r\n input.value = formattedValue\r\n\r\n // Previne a inserção do número pela lógica padrão do navegador\r\n e.preventDefault()\r\n })\r\n }\r\n },\r\n}\r\n","import useJwt from '@/auth/jwt/useJwt'\r\nimport { jwtDecode } from 'jwt-decode'\r\n\r\n/**\r\n * Return if user is logged in\r\n * This is completely up to you and how you want to store the token in your frontend application\r\n * e.g. If you are using cookies to store the application please update this function\r\n */\r\n\r\nexport const isUserLoggedIn = () => {\r\n return localStorage.getItem('userData') && localStorage.getItem(useJwt.jwtConfig.storageTokenKeyName)\r\n}\r\n\r\nexport const getUserData = () => {\r\n const userDataLocalStorage = localStorage.getItem('userData')\r\n if (userDataLocalStorage) {\r\n const decodedUserData = jwtDecode(userDataLocalStorage)['userData']\r\n return decodedUserData\r\n } else {\r\n return undefined\r\n }\r\n}\r\n\r\nexport const getGrupoAcesso = () => {\r\n const userDataLocalStorage = localStorage.getItem('userData')\r\n if (userDataLocalStorage) {\r\n const decodedUserData = jwtDecode(userDataLocalStorage)['userData']\r\n if (!decodedUserData.GrupoAcesso) {\r\n return decodedUserData.GrupoAcesso\r\n } else return undefined\r\n } else {\r\n return undefined\r\n }\r\n}\r\n\r\n/**\r\n * @param {String} userRole Role of user\r\n */\r\nexport const getHomeRouteForLoggedInUser = (userRole) => {\r\n if (userRole) return '/'\r\n return { name: 'auth-login' }\r\n}\r\n\r\nexport const hasPermissao = (perm, grupoAcesso) => {\r\n try {\r\n if (!grupoAcesso) {\r\n grupoAcesso = getGrupoAcesso()\r\n }\r\n\r\n if (!grupoAcesso) {\r\n return false\r\n }\r\n\r\n const hasPerm = grupoAcesso?.filter((item) => item.chave === perm).length > 0\r\n return hasPerm\r\n } catch (error) {\r\n console.error('[hasPermissao]', error)\r\n return false\r\n }\r\n}\r\n","import ToastificationContent from '@core/components/toastification/ToastificationContent.vue'\r\nimport { differenceInDays, endOfDay, isValid, parse, startOfDay } from 'date-fns'\r\n\r\nexport function mensageAlert(Title, mode) {\r\n let setup\r\n if (mode == 'error')\r\n setup = {\r\n icon: 'BellIcon',\r\n variant: 'danger',\r\n }\r\n else if (mode == 'success')\r\n setup = {\r\n icon: 'CheckIcon',\r\n variant: 'success',\r\n }\r\n this.$toast(\r\n {\r\n component: ToastificationContent,\r\n props: {\r\n title: Title,\r\n icon: setup.icon,\r\n variant: setup.variant,\r\n },\r\n },\r\n {\r\n position: 'top-right',\r\n timeout: 8000,\r\n },\r\n )\r\n}\r\n\r\nexport const Ufs = [\r\n { text: 'Selecione', value: '' },\r\n { text: 'Acre', value: 'AC' },\r\n { text: 'Alagoas', value: 'AL' },\r\n { text: 'Amapá', value: 'AP' },\r\n { text: 'Amazonas', value: 'AM' },\r\n { text: 'Bahia', value: 'BA' },\r\n { text: 'Ceará', value: 'CE' },\r\n { text: 'Distrito Federal', value: 'DF' },\r\n { text: 'Espírito Santo', value: 'ES' },\r\n { text: 'Goiás', value: 'GO' },\r\n { text: 'Maranhão', value: 'MA' },\r\n { text: 'Mato Grosso', value: 'MT' },\r\n { text: 'Mato Grosso do Sul', value: 'MS' },\r\n { text: 'Minas Gerais', value: 'MG' },\r\n { text: 'Pará', value: 'PA' },\r\n { text: 'Paraíba', value: 'PB' },\r\n { text: 'Paraná', value: 'PR' },\r\n { text: 'Pernambuco', value: 'PE' },\r\n { text: 'Piauí', value: 'PI' },\r\n { text: 'Rio de Janeiro', value: 'RJ' },\r\n { text: 'Rio Grande do Norte', value: 'RN' },\r\n { text: 'Rio Grande do Sul', value: 'RS' },\r\n { text: 'Rondônia', value: 'RO' },\r\n { text: 'Roraima', value: 'RR' },\r\n { text: 'Santa Catarina', value: 'SC' },\r\n { text: 'São Paulo', value: 'SP' },\r\n { text: 'Sergipe', value: 'SE' },\r\n { text: 'Tocantins', value: 'TO' },\r\n]\r\n\r\nexport function phoneMask(value) {\r\n const ddd = [/[0-9]/, /[0-9]/]\r\n\r\n if (value.length < 14) {\r\n return ['(', ...ddd, ')', /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/, '-', /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/]\r\n }\r\n return value.length > 2\r\n ? ['(', ...ddd, ')', /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/, '-', /[0-9]/, /[0-9]/, /[0-9]/, /[0-9]/]\r\n : ['(', ...ddd, ')']\r\n}\r\n\r\nexport function isLetter(e) {\r\n let char = String.fromCharCode(e.keyCode)\r\n if (/^[a-zA-Z\\u00C0-\\u017F\\s]+$/.test(char)) return true\r\n else e.preventDefault()\r\n}\r\n\r\n// export function isNumber(e) {\r\n// let char = String.fromCharCode(e.keyCode);\r\n// if (/^[0-9]+$/.test(char)) return true;\r\n// else e.preventDefault();\r\n// }\r\nexport function isNumber(numero) {\r\n return Number(numero) === numero\r\n}\r\n\r\n/**\r\n * Remove os caracteres que não sao números e retorna no tipo Number\r\n * @param {string} campo\r\n * @returns {Number}\r\n */\r\nexport function toNumeric(campo) {\r\n let numero = campo.replace(/[^\\d]/g, '')\r\n return numero\r\n}\r\n\r\nexport function isCPFValid(cpf) {\r\n if (cpf == undefined) return false\r\n cpf = cpf.replace(/[^\\d]+/g, '')\r\n if (cpf == '' || cpf.length !== 11) return false\r\n // Elimina CPFs invalidos conhecidos\r\n if (\r\n cpf.length != 11 ||\r\n cpf == '00000000000' ||\r\n cpf == '11111111111' ||\r\n cpf == '22222222222' ||\r\n cpf == '33333333333' ||\r\n cpf == '44444444444' ||\r\n cpf == '55555555555' ||\r\n cpf == '66666666666' ||\r\n cpf == '77777777777' ||\r\n cpf == '88888888888' ||\r\n cpf == '99999999999'\r\n )\r\n return false\r\n // Valida 1o digito\r\n var add = 0\r\n for (var i = 0; i < 9; i++) add += parseInt(cpf.charAt(i)) * (10 - i)\r\n var rev = 11 - (add % 11)\r\n if (rev == 10 || rev == 11) rev = 0\r\n if (rev != parseInt(cpf.charAt(9))) return false\r\n // Valida 2o digito\r\n add = 0\r\n for (i = 0; i < 10; i++) add += parseInt(cpf.charAt(i)) * (11 - i)\r\n rev = 11 - (add % 11)\r\n if (rev == 10 || rev == 11) rev = 0\r\n if (rev != parseInt(cpf.charAt(10))) return false\r\n return true\r\n}\r\nexport function validarEmail(email) {\r\n const re = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/\r\n return re.test(String(email).toLowerCase())\r\n}\r\nexport function validarTelefone(telefone) {\r\n const re = /^[1-9]{2}(?:9[0-9]{8})$/\r\n return re.test(String(telefone).replace(/[^\\d]/g, ''))\r\n}\r\nexport function validarCnpj(cnpj) {\r\n // Remove caracteres não numéricos\r\n cnpj = cnpj.replace(/[^\\d]/g, '')\r\n // Verifica se o CNPJ tem 14 dígitos\r\n if (cnpj.length !== 14) return false\r\n // Verifica se todos os dígitos são iguais\r\n if (/^(\\d)\\1+$/.test(cnpj)) return false\r\n // Calcula o primeiro dígito verificador\r\n let sum = 0\r\n let peso = 5\r\n for (let i = 0; i < 12; i++) {\r\n sum += parseInt(cnpj.charAt(i)) * peso\r\n peso--\r\n if (peso < 2) peso = 9\r\n }\r\n let digit = 11 - (sum % 11)\r\n if (digit > 9) digit = 0\r\n if (parseInt(cnpj.charAt(12)) !== digit) return false\r\n // Calcula o segundo dígito verificador\r\n sum = 0\r\n peso = 6\r\n for (let i = 0; i < 13; i++) {\r\n sum += parseInt(cnpj.charAt(i)) * peso\r\n peso--\r\n if (peso < 2) peso = 9\r\n }\r\n digit = 11 - (sum % 11)\r\n if (digit > 9) digit = 0\r\n if (parseInt(cnpj.charAt(13)) !== digit) return false\r\n\r\n return true\r\n}\r\n\r\n/**\r\n * Valida um CNPJ.\r\n *\r\n * Esta função verifica se um CNPJ é válido. Um CNPJ válido deve ter 14 dígitos\r\n * e passar no teste dos dois dígitos verificadores.\r\n *\r\n * @param {string} cnpj O CNPJ a ser validado.\r\n * @returns {boolean} Retorna `true` se o CNPJ for válido, caso contrário retorna `false`.\r\n */\r\nexport function validaCNPJ(cnpj) {\r\n cnpj = cnpj.replace(/[^\\d]+/g, '') // Remove caracteres não numéricos\r\n\r\n if (cnpj.length !== 14) {\r\n return false\r\n }\r\n\r\n // Elimina CNPJs invalidos conhecidos\r\n if (/^(\\d)\\1+$/.test(cnpj)) {\r\n return false\r\n }\r\n\r\n // Valida DVs\r\n let tamanho = cnpj.length - 2\r\n let numeros = cnpj.substring(0, tamanho)\r\n let digitos = cnpj.substring(tamanho)\r\n let soma = 0\r\n let pos = tamanho - 7\r\n\r\n for (let i = tamanho; i >= 1; i--) {\r\n soma += numeros.charAt(tamanho - i) * pos--\r\n if (pos < 2) pos = 9\r\n }\r\n\r\n let resultado = soma % 11 < 2 ? 0 : 11 - (soma % 11)\r\n if (resultado != digitos.charAt(0)) {\r\n return false\r\n }\r\n\r\n tamanho = tamanho + 1\r\n numeros = cnpj.substring(0, tamanho)\r\n soma = 0\r\n pos = tamanho - 7\r\n\r\n for (let i = tamanho; i >= 1; i--) {\r\n soma += numeros.charAt(tamanho - i) * pos--\r\n if (pos < 2) pos = 9\r\n }\r\n\r\n resultado = soma % 11 < 2 ? 0 : 11 - (soma % 11)\r\n return resultado == digitos.charAt(1)\r\n}\r\n/**\r\n * Valida um número de RG (Registro Geral) brasileiro.\r\n *\r\n * Esta função verifica se um número de RG é válido. Um RG válido deve ter 9 dígitos\r\n * e passar no teste do dígito verificador.\r\n *\r\n * @param {string} rg O número de RG a ser validado.\r\n * @returns {boolean} Retorna `true` se o RG for válido, caso contrário retorna `false`.\r\n */\r\nexport function validaRG(rg) {\r\n if (!rg) return false\r\n rg = rg.replace(/[^\\d]+/g, '')\r\n\r\n if (rg === '' || rg.length < 8 || rg.length > 9) return false\r\n\r\n // Elimina RGs inválidos conhecidos\r\n if (/^(0{8,9}|1{8,9}|2{8,9}|3{8,9}|4{8,9}|5{8,9}|6{8,9}|7{8,9}|8{8,9}|9{8,9})$/.test(rg)) {\r\n return false\r\n }\r\n\r\n // Validação do dígito verificador para RGs de 9 dígitos\r\n if (rg.length === 9) {\r\n let soma = 0\r\n for (let i = 0; i < 8; i++) {\r\n soma += parseInt(rg.charAt(i), 10) * (9 - i)\r\n }\r\n let digito = soma % 11\r\n if (digito === 10) digito = 'X' // Alguns estados usam 'X' como dígito verificador\r\n else digito = digito.toString()\r\n\r\n if (digito !== rg.charAt(8)) return false\r\n }\r\n\r\n // Para RGs de 8 dígitos, a validação específica do estado seria necessária\r\n // Aqui, estamos apenas verificando o comprimento e a não repetição de dígitos\r\n\r\n return true\r\n}\r\n\r\n/**\r\n * Função para formatar um valor numérico em formato de moeda brasileira (Real - BRL).\r\n *\r\n * @param {number} value - O valor numérico a ser formatado.\r\n * @returns {string} Uma string formatada no formato de moeda brasileira.\r\n */\r\nexport function formatarValor(value) {\r\n // A função utiliza o construtor Intl.NumberFormat para criar um objeto\r\n // que realizará a formatação do valor numérico no formato de moeda brasileira.\r\n // O primeiro parâmetro é o código da localidade (pt-BR para português do Brasil).\r\n // O segundo parâmetro é um objeto que define as opções de formatação, neste caso:\r\n // - style: \"currency\" indica que queremos formatar como moeda.\r\n // - currency: \"BRL\" indica que queremos utilizar o Real brasileiro como moeda.\r\n if (String(value).includes('R$')) return value\r\n const formattedValue = new Intl.NumberFormat('pt-BR', { style: 'currency', currency: 'BRL' }).format(value)\r\n\r\n // Retorna o valor formatado em formato de string de moeda brasileira.\r\n return formattedValue\r\n}\r\n\r\n/**\r\n *\r\n * @param {*} value Formata o valor tipo number para a string com '%'\r\n * @returns Valor formatado com % e formato '##,##%'\r\n */\r\nexport function formatarValorPorcentagem(value) {\r\n if (typeof value === 'number') {\r\n value = value.toFixed(2)\r\n } else if (typeof value === 'string') {\r\n value = parseFloat(value).toFixed(2)\r\n } else {\r\n return 'Invalid input'\r\n }\r\n\r\n return value.replace('.', ',') + '%'\r\n}\r\n\r\n/**\r\n * Função que formata a data para o padrao brasileiro\r\n * @param {string} date Exemplo \"1998-03-15\"\r\n * @returns Exemplo '15/03/1998'\r\n */\r\nexport function formatarData(date) {\r\n try {\r\n if (!date) {\r\n return ''\r\n }\r\n\r\n if (typeof date !== 'string' && typeof date !== 'Date') return ''\r\n\r\n date = String(date)\r\n if (date.includes('/')) return date\r\n return new Intl.DateTimeFormat('pt-BR', { timeZone: 'UTC' }).format(new Date(date))\r\n } catch (error) {\r\n console.error('Erro ao converter a data: ' + date + '\\n Erro: ' + error)\r\n }\r\n}\r\n\r\n/**\r\n\r\n * Pega o ano e o mês atual nesse formato \"202305\".\r\n\r\n * @param {Date} data - Data a ser formatada\r\n\r\n * @returns {string} Retorna o resultado da concatenação.\r\n\r\n */\r\n\r\n/**\r\n * Formata uma data do tipo Date para texto representando o mês e ano.\r\n * @param {Date} data - Objeto Date do JavaScript.\r\n * @returns {string} Texto representando o mês/ano. Exemplo: \"Janeiro/2024\".\r\n */\r\nexport function formatarCompetencia(data) {\r\n // Extrair o ano e o mês da data\r\n const ano = data.getFullYear()\r\n const mes = data.getMonth()\r\n\r\n // Array com o nome dos meses\r\n const meses = [\r\n 'Janeiro',\r\n 'Fevereiro',\r\n 'Março',\r\n 'Abril',\r\n 'Maio',\r\n 'Junho',\r\n 'Julho',\r\n 'Agosto',\r\n 'Setembro',\r\n 'Outubro',\r\n 'Novembro',\r\n 'Dezembro',\r\n ]\r\n\r\n // Construir o texto formatado\r\n const textoMesAno = meses[mes] + '/' + ano\r\n\r\n return textoMesAno\r\n}\r\n\r\n/**\r\n * Função que formata a data e hora para o padrao brasileiro\r\n * @param {string} date Exemplo \"1998-03-15\"\r\n * @returns Exemplo '15/03/1998 15:34'\r\n */\r\nexport function formatarDataHora(date) {\r\n date = String(date)\r\n if (date.includes('/')) return date\r\n\r\n const options = {\r\n timeZone: 'America/Cuiaba',\r\n day: '2-digit',\r\n month: '2-digit',\r\n year: 'numeric',\r\n hour: '2-digit',\r\n minute: '2-digit',\r\n hour12: false,\r\n }\r\n\r\n return new Intl.DateTimeFormat('pt-BR', options).format(new Date(date))\r\n}\r\n\r\nexport function formatarAposentadoInativo(cat) {\r\n if (!cat) return null\r\n return cat\r\n}\r\n\r\nexport function formatarValorReais(valor) {\r\n if (!valor) return null\r\n return new Intl.NumberFormat('pt-BR', { style: 'currency', currency: 'BRL' }).format(valor)\r\n}\r\n\r\nexport function formatarCompetenciaDescricao(competencia) {\r\n competencia = String(competencia)\r\n const ano = competencia.slice(0, 4)\r\n const mes = competencia.slice(4)\r\n let mesStr = ''\r\n switch (mes) {\r\n case '01':\r\n mesStr = 'Janeiro'\r\n break\r\n case '02':\r\n mesStr = 'Fevereiro'\r\n break\r\n case '03':\r\n mesStr = 'Março'\r\n break\r\n case '04':\r\n mesStr = 'Abril'\r\n break\r\n case '05':\r\n mesStr = 'Maio'\r\n break\r\n case '06':\r\n mesStr = 'Junho'\r\n break\r\n case '07':\r\n mesStr = 'Julho'\r\n break\r\n case '08':\r\n mesStr = 'Agosto'\r\n break\r\n case '09':\r\n mesStr = 'Setembro'\r\n break\r\n case '10':\r\n mesStr = 'Outubro'\r\n break\r\n case '11':\r\n mesStr = 'Novembro'\r\n break\r\n case '12':\r\n mesStr = 'Dezembro'\r\n break\r\n default:\r\n mesStr = 'Mês inválido'\r\n break\r\n }\r\n\r\n return `${mesStr}/${ano}`\r\n}\r\n\r\n/**\r\n * Função que formata a data para o padrao global\r\n * @param {string} date Exemplo '15/03/1998 00:00'\r\n * @returns {Date} Exemplo \"1998-03-15 00:00\"\r\n */\r\nexport function formatarDataGlobal(date) {\r\n try {\r\n // Caso já esteja vazio\r\n if (!date) return null\r\n\r\n // Caso já esteja formatado\r\n if (isValid(date)) return new Date(date)\r\n\r\n // Caso já esteja formatado mas em string (ex: '1998-03-15')\r\n if (isValid(new Date(date))) return new Date(date)\r\n\r\n let formattedDate = parse(date, 'dd/MM/yyyy', new Date())\r\n\r\n return formattedDate\r\n } catch (error) {\r\n console.error(error)\r\n }\r\n}\r\n\r\n/**\r\n * Função que formata os códigos sequenciais\r\n * @param {Number} codigo Exemplo '15/03/1998'\r\n * @returns {string} Exemplo \"1998-03-15\"\r\n */\r\nexport function formatarCodigoSequencial(codigo) {\r\n return codigo?.toString().padStart(6, '0')\r\n}\r\n\r\nexport function formatarParseFloat(valor) {\r\n return parseFloat(valor.replace(/[.]/g, '').replace(/[,]/g, '.'))\r\n}\r\n\r\nexport function formatarToLocaleString(valor) {\r\n return valor.toLocaleString('pt-br', {\r\n minimumFractionDigits: 2,\r\n maximumFractionDigits: 2,\r\n })\r\n}\r\n\r\nexport function formatarDataWTime(date) {\r\n return `${new Date(date).toLocaleDateString('pt-BR', { dateStyle: 'long' })} ${new Date(date).toLocaleTimeString('pt-BR')}`\r\n}\r\n\r\nexport function formatarDataCurto(data) {\r\n if (!data) return ''\r\n\r\n const date = new Date(date)\r\n\r\n if (date == 'Invalid Date') return ''\r\n\r\n return `${date.getDate()}/${date.getMonth() + 1}/${date.getFullYear()}`\r\n}\r\n\r\nexport function messages(toast) {\r\n return {\r\n error: (text) => msgError(text, toast),\r\n success: (text) => msgSuccess(text, toast),\r\n info: (text) => msgInfo(text, toast),\r\n warning: (text) => msgWarning(text, toast),\r\n }\r\n}\r\n\r\nexport function getNextMonthAndYear() {\r\n const currentDate = new Date()\r\n const currentMonth = currentDate.getMonth() + 1 // Os meses são baseados em zero, então adicionamos 1\r\n const currentYear = currentDate.getFullYear()\r\n\r\n // Adicionar 1 mês\r\n let nextMonth = currentMonth + 1\r\n let nextYear = currentYear\r\n\r\n if (nextMonth > 12) {\r\n nextMonth = 1 // Se ultrapassar 12, voltamos para janeiro\r\n nextYear++ // E incrementamos o ano\r\n }\r\n\r\n return { nextMonth, nextYear }\r\n}\r\n\r\nexport function msgWarning(Text, toast) {\r\n toast(\r\n {\r\n component: ToastificationContent,\r\n props: {\r\n title: 'Alerta!',\r\n text: Text,\r\n icon: 'BellIcon',\r\n variant: 'warning',\r\n },\r\n },\r\n {\r\n position: 'top-right',\r\n timeout: 8000,\r\n },\r\n )\r\n}\r\n\r\nexport function msgInfo(Text, toast) {\r\n toast(\r\n {\r\n component: ToastificationContent,\r\n props: {\r\n title: 'Informação...',\r\n text: Text,\r\n icon: 'InfoIcon',\r\n variant: 'info',\r\n },\r\n },\r\n {\r\n position: 'top-right',\r\n timeout: 8000,\r\n },\r\n )\r\n}\r\n\r\nexport function msgError(Text, toast) {\r\n toast(\r\n {\r\n component: ToastificationContent,\r\n props: {\r\n title: 'Atenção!',\r\n text: Text,\r\n icon: 'AlertTriangleIcon',\r\n variant: 'danger',\r\n },\r\n },\r\n {\r\n position: 'top-right',\r\n timeout: 8000,\r\n },\r\n )\r\n}\r\n\r\nexport function msgSuccess(Text, toast) {\r\n toast(\r\n {\r\n component: ToastificationContent,\r\n props: {\r\n title: 'Sucesso!',\r\n text: Text,\r\n icon: 'UserCheckIcon',\r\n variant: 'success',\r\n },\r\n },\r\n {\r\n position: 'top-right',\r\n timeout: 8000,\r\n },\r\n )\r\n}\r\n\r\n/**\r\n * Verifica se uma data é válida\r\n * @param {Data} Date\r\n * @returns True or False\r\n */\r\nexport function validarData(data) {\r\n if (data) data = formatarData(data)\r\n\r\n // Verificar se o formato da data está correto (dd/mm/aaaa)\r\n const regexData = /^\\d{2}\\/\\d{2}\\/\\d{4}$/\r\n if (!regexData.test(data)) {\r\n return false\r\n }\r\n\r\n // Extrair o dia, mês e ano da data\r\n const [dia, mes, ano] = data.split('/').map(Number)\r\n\r\n // Verificar se o dia, mês e ano estão dentro dos intervalos corretos\r\n const dataObj = new Date(ano, mes - 1, dia)\r\n return dataObj.getDate() === dia && dataObj.getMonth() === mes - 1 && dataObj.getFullYear() === ano\r\n}\r\n\r\n/**\r\n * Converte um valor para o tipo number.\r\n * @param {string|number|null|undefined} entrada - O valor a ser convertido para o tipo number. Pode ser uma string contendo um número com ou sem separadores ('.' ou ','), um símbolo de porcentagem ('%'), 'R$', ou um número, além de poder ser também `null` ou `undefined`.\r\n * @returns {number|null|undefined} O valor convertido para o tipo number, `null` se o valor não puder ser convertido ou a entrada for uma string sem dígitos numéricos, `undefined` se a entrada for `undefined`.\r\n */\r\nexport function formatarParaNumber(entrada) {\r\n if (entrada === null) {\r\n return null\r\n }\r\n\r\n if (entrada === undefined) {\r\n return undefined\r\n }\r\n\r\n if (!isNaN(Number(entrada))) {\r\n return Number(entrada)\r\n }\r\n\r\n if (typeof entrada === 'string') {\r\n // Remove caracteres não-dígitos exceto ',', '.', e '%'\r\n let valorLimpo = entrada.replace(/[^\\d,.-]/g, '')\r\n\r\n // Verifica se a string é vazia após a remoção, o que indica que não havia números\r\n if (valorLimpo === '') {\r\n return null\r\n }\r\n\r\n // Substitui ',' por '.' para o formato correto em JavaScript\r\n valorLimpo = valorLimpo.replace(/\\./g, '')\r\n // Substitui ',' por '.' para o formato correto em JavaScript\r\n valorLimpo = valorLimpo.replace(/,/g, '.')\r\n\r\n // Remove o símbolo de porcentagem e divide por 100 se necessário\r\n if (valorLimpo.includes('%')) {\r\n valorLimpo = valorLimpo.replace(/%/g, '')\r\n return parseFloat(valorLimpo)\r\n } else return Number(valorLimpo)\r\n }\r\n}\r\n\r\nexport function detectarNavegador() {\r\n const agenteUsuario = navigator.userAgent\r\n let navegador\r\n\r\n // Verifica se o navegador é o Chrome\r\n if (agenteUsuario.indexOf('Chrome') !== -1 && agenteUsuario.indexOf('Safari') !== -1) {\r\n navegador = 'Google Chrome'\r\n }\r\n // Verifica se o navegador é o Safari\r\n else if (agenteUsuario.indexOf('Safari') !== -1 && agenteUsuario.indexOf('Chrome') === -1) {\r\n navegador = 'Safari'\r\n }\r\n // Verifica se o navegador é o Firefox\r\n else if (agenteUsuario.indexOf('Firefox') !== -1) {\r\n navegador = 'Firefox'\r\n }\r\n // Verifica se o navegador é o Microsoft Edge\r\n else if (agenteUsuario.indexOf('Edg') !== -1) {\r\n navegador = 'Microsoft Edge'\r\n }\r\n // Verifica se o navegador é o Internet Explorer\r\n else if (agenteUsuario.indexOf('MSIE') !== -1 || agenteUsuario.indexOf('Trident') !== -1) {\r\n navegador = 'Internet Explorer'\r\n }\r\n // Caso não seja possível identificar o navegador, retorna \"Desconhecido\"\r\n else {\r\n navegador = 'Desconhecido'\r\n }\r\n\r\n return navegador\r\n}\r\n\r\n/**\r\n * Converte uma string e devolve um cpf formatado.\r\n * @param {string} separador - Caracter para inserir formatação. Exemplo: '00123456789'\r\n * @returns {string} Retorna o resultado da concatenação.\r\n */\r\nexport function formatarCPF(cpf) {\r\n const regexCPF = /^(\\d{3})(\\d{3})(\\d{3})(\\d{2})$/\r\n return cpf.replace(regexCPF, '$1.$2.$3-$4')\r\n}\r\n\r\nexport function censurarCPF(cpf) {\r\n const formatado = formatarCPF(cpf)\r\n return '***' + formatado.substring(3, cpf.length - 2) + '**'\r\n}\r\n\r\nexport function formatarTipoDate(data) {\r\n const dataFormatada = formatarData(data)\r\n const dataLista = dataFormatada.split('/')\r\n return new Date(dataLista[2], Number(dataLista[1]) - 1, dataLista[0])\r\n}\r\n\r\n/**\r\n * Verifica se um objeto está vazio.\r\n *\r\n * @param {Object} objeto - O objeto a ser verificado.\r\n * @returns {boolean} Retorna true se o objeto estiver vazio, caso contrário, retorna false.\r\n */\r\nexport function isNullObject(objeto) {\r\n // Verifica se o objeto é nulo ou indefinido.\r\n if (objeto === null || objeto === undefined) {\r\n return true\r\n }\r\n\r\n // Verifica se o objeto não tem propriedades próprias enumeráveis.\r\n for (const chave in objeto) {\r\n if (objeto.hasOwnProperty(chave)) {\r\n return false\r\n }\r\n }\r\n\r\n return true\r\n}\r\n\r\n/**\r\n * Calcula o número de dias de diferença entre duas datas.\r\n *\r\n * @param {string} dataInicio - A primeira data no formato de string.\r\n * @param {string} dataFim - A segunda data no formato de string.\r\n * @returns {number} Número de dias de diferença entre as duas datas.\r\n *\r\n * @example\r\n * // Retorna 31\r\n * calcularDiasEntreDatas(\"2023-01-01\", \"2023-02-01\");\r\n *\r\n * @example\r\n * // Retorna 365\r\n * calcularDiasEntreDatas(\"2023-01-01\", \"2024-01-01\");\r\n */\r\nexport function calcularDiasEntreDatas(dataInicio, dataFim) {\r\n const inicio = startOfDay(new Date(dataInicio))\r\n const fim = endOfDay(new Date(dataFim))\r\n\r\n return differenceInDays(fim, inicio)\r\n}\r\n\r\n/**\r\n * Converte um texto em PascalCase, onde a primeira letra de cada palavra é maiúscula\r\n * e as palavras são separadas por espaços.\r\n *\r\n * @param {string} texto - O texto a ser convertido.\r\n * @returns {string} O texto convertido em PascalCase com espaços.\r\n */\r\nexport function PascalCaseComEspaco(texto) {\r\n // Divide o texto em palavras usando espaço como separador\r\n const palavras = String(texto).split(' ')\r\n\r\n // Capitaliza a primeira letra de cada palavra e junta novamente as palavras\r\n const resultado = palavras\r\n .map((palavra) => {\r\n // Verifica se a palavra está em letras minúsculas\r\n if (palavra.length > 0) {\r\n return palavra.charAt(0).toUpperCase() + palavra.slice(1).toLowerCase()\r\n } else {\r\n return palavra // Mantém palavras vazias como estão\r\n }\r\n })\r\n .join(' ')\r\n\r\n return resultado\r\n}\r\n\r\n/**\r\n * Remove acentuações de uma string.\r\n *\r\n * @param {string} texto - A string da qual deseja remover os acentos.\r\n * @returns {string} Uma nova string com os acentos removidos.\r\n *\r\n * @example\r\n * const textoComAcentos = \"Coração café açúcar\";\r\n * const textoSemAcentos = removerAcentos(textoComAcentos);\r\n */\r\nexport function removerAcentos(texto) {\r\n return texto.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '')\r\n}\r\n\r\n/**\r\n * Rounds a number up from the third decimal place to two decimal places.\r\n *\r\n * @param num - The number to be rounded.\r\n * @returns The number rounded to two decimal places.\r\n */\r\nexport function roundUp(num) {\r\n const DECIMAL_SHIFT = 100\r\n const DECIMAL_PLACES = 2\r\n\r\n if (typeof num !== 'number') {\r\n throw new Error('Input must be a number')\r\n }\r\n\r\n const rounded = Math.ceil(num * DECIMAL_SHIFT) / DECIMAL_SHIFT\r\n return parseFloat(rounded.toFixed(DECIMAL_PLACES))\r\n}\r\n\r\n/**\r\n * Rounds the given value to two decimal places if necessary.\r\n * @param {number} valor - The value to be rounded.\r\n * @returns {number} - The rounded value.\r\n */\r\nexport function arrendondarCalculo(valor) {\r\n // Separa a parte inteira da parte decimal\r\n let partes = valor.toString().split('.')\r\n let parteInteira = partes[0]\r\n let parteDecimal = partes.length > 1 ? partes[1] : ''\r\n\r\n // Se a parte decimal tiver menos de 3 dígitos, retorna o valor original\r\n if (parteDecimal.length < 3) {\r\n return Number(valor.toFixed(2))\r\n }\r\n\r\n // Verifica a terceira casa decimal\r\n let terceiraCasa = parseInt(parteDecimal.charAt(2), 10)\r\n\r\n if (terceiraCasa > 0) {\r\n // Se a terceira casa for maior que 0, aumenta a segunda casa decimal em 1\r\n let valorAjustado = Number(valor) + 0.01\r\n // Retorna o valor ajustado arredondado para 2 casas decimais\r\n return Number(valorAjustado.toFixed(2))\r\n } else {\r\n // Se a terceira casa não for maior que 0, retorna o valor original arredondado para 2 casas decimais\r\n return Number(valor.toFixed(2))\r\n }\r\n}\r\n\r\n/**\r\n * Calcula a idade com base na data de nascimento fornecida.\r\n * @param {string} dataNascimento - A data de nascimento no formato 'YYYY-MM-DD'.\r\n * @returns {number} A idade calculada.\r\n */\r\nexport function calcularIdade(dataNascimento) {\r\n const dataAtual = new Date()\r\n const dataNascimentoFormatada = new Date(dataNascimento)\r\n\r\n let idade = dataAtual.getFullYear() - dataNascimentoFormatada.getFullYear()\r\n\r\n // Verifica se a data de aniversário já ocorreu no ano atual\r\n const mesAtual = dataAtual.getMonth()\r\n const diaAtual = dataAtual.getDate()\r\n const mesNascimento = dataNascimentoFormatada.getMonth()\r\n const diaNascimento = dataNascimentoFormatada.getDate()\r\n\r\n if (mesAtual < mesNascimento || (mesAtual === mesNascimento && diaAtual < diaNascimento)) {\r\n idade--\r\n }\r\n\r\n return idade\r\n}\r\n\r\nexport function formatarToStringComPonto(numero) {\r\n if (!numero) {\r\n return 0.0\r\n }\r\n return numero.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, '.')\r\n}\r\n\r\nexport function primeiroNome(nome) {\r\n return nome.split(' ')[0]\r\n}\r\n\r\n/**\r\n * Formata um valor para um número de ponto flutuante.\r\n * Se o valor de entrada não for um número válido, um erro é lançado.\r\n *\r\n * @param {number | string | null | undefined} num - O valor a ser formatado.\r\n * @param {number} [val=2] - O número de casas decimais que devem ser mantidas.\r\n * @returns {number | null} O número formatado ou null se o valor de entrada for inválido.\r\n */\r\nexport function formatarToParseFloat(num, val = 2) {\r\n if (num === undefined || num === null || isNaN(num)) return\r\n\r\n return parseFloat(num).toFixed(val)\r\n}\r\n","import ability from './ability'\r\n\r\nexport const canNavigate = (to) => to.matched.some((route) => ability.can(route.meta.action || 'read', route.meta.resource))\r\n\r\nexport const _ = undefined\r\n","export default [\r\n {\r\n path: '/configuracaoConta', //PRECISA USAR ESSE DATA.ID\r\n name: 'ConfiguracoesPerfil',\r\n component: () => import('@/views/pages/conta-config/configuracaoConta.vue'),\r\n meta: {\r\n pageTitle: 'Alterar dados do perfil',\r\n requiresParametrizacao: true,\r\n },\r\n },\r\n {\r\n path: '/help/centralapoio', //PRECISA USAR ESSE DATA.ID\r\n name: 'centralapoio',\r\n component: () => import('@/views/pages/help/centralapoio.vue'),\r\n meta: {\r\n pageTitle: 'Central de apoio',\r\n requiresParametrizacao: true,\r\n },\r\n },\r\n {\r\n path: '/cadastro/modaltomador',\r\n name: 'modalCadastroTomador',\r\n component: () => import('@/views/components/Tomador/modalCadastroTomador.vue'),\r\n meta: {\r\n pageTitle: 'Tomador',\r\n },\r\n },\r\n {\r\n path: '/cadastro/grupoFolha',\r\n name: 'CadastroGrupoFolha',\r\n component: () => import('@/views/pages/cadastro/grupoFolha.vue'),\r\n meta: {\r\n pageTitle: 'Grupo Folha',\r\n requiresParametrizacao: true,\r\n },\r\n },\r\n {\r\n path: '/cadastro/tomador',\r\n name: 'CadastroTomador',\r\n component: () => import('@/views/pages/cadastro/tomador.vue'),\r\n meta: {\r\n pageTitle: 'Tomador',\r\n requiresParametrizacao: true,\r\n },\r\n },\r\n {\r\n path: '/cadastro/CadastroUsuario',\r\n name: 'CadastroUsuario',\r\n component: () => import('@/views/pages/cadastro/usuario.vue'),\r\n meta: {\r\n pageTitle: 'Usuário',\r\n requiresParametrizacao: true,\r\n },\r\n },\r\n {\r\n path: '/cadastro/orgao',\r\n name: 'CadastroOrgao',\r\n component: () => import('@/views/pages/cadastro/orgao.vue'),\r\n meta: {\r\n pageTitle: 'Órgão',\r\n requiresParametrizacao: true,\r\n },\r\n },\r\n {\r\n path: '/cadastro/instituto',\r\n name: 'CadastroUnidadeGestora',\r\n component: () => import('@/views/pages/cadastro/instituto.vue'),\r\n meta: {\r\n pageTitle: 'Unidade Gestora',\r\n meta: { requiresAuth: true },\r\n requiresParametrizacao: true,\r\n },\r\n },\r\n {\r\n path: '/not-authorized',\r\n name: 'not-authorized',\r\n component: () => import('@/views/error/nao-autorizado.vue'),\r\n meta: {\r\n layout: 'full',\r\n resource: 'Auth',\r\n },\r\n },\r\n {\r\n path: '/too-large',\r\n name: 'too-large',\r\n component: () => import('@/views/error/muito-grande.vue'),\r\n meta: {\r\n layout: 'full',\r\n resource: 'Auth',\r\n },\r\n },\r\n]\r\n","export default [\r\n {\r\n path: '/dashboard/analytics',\r\n name: 'dashboard-analytics',\r\n component: () => import('@/views/pages/dashboard/analytics/Analytics.vue'),\r\n },\r\n {\r\n path: '/dashboard/ecommerce',\r\n name: 'dashboard-ecommerce',\r\n component: () => import('@/views/pages/dashboard/ecommerce/Ecommerce.vue'),\r\n },\r\n]\r\n","import Vue from 'vue'\r\nimport VueRouter from 'vue-router'\r\n\r\nimport { canNavigate } from '@/libs/acl/routeProtection'\r\nimport { isUserLoggedIn, getUserData, getGrupoAcesso, getHomeRouteForLoggedInUser } from '@/auth/utils'\r\nimport apps from '@/router/routes/pages'\r\nimport dashboards from '@/router/routes/dashboards'\r\n\r\nVue.use(VueRouter)\r\n\r\nconst router = new VueRouter({\r\n mode: 'history',\r\n base: process.env.BASE_URL,\r\n scrollBehavior() {\r\n return { x: 0, y: 0 }\r\n },\r\n routes: [\r\n { path: '/', redirect: { name: 'adm' } },\r\n ...apps,\r\n ...dashboards,\r\n {\r\n path: '/adm',\r\n name: 'adm',\r\n component: () => import('@/views/adm.vue'),\r\n },\r\n {\r\n path: '/proposta',\r\n name: 'Proposta',\r\n component: () => import('@/views/proposta.vue'),\r\n meta: {\r\n pageTitle: 'Simulador de Proposta',\r\n requiresParametrizacao: true,\r\n },\r\n },\r\n {\r\n path: '/contrato',\r\n name: 'Financeiro',\r\n component: () => import('@/views/pages/financeiro/contrato/contrato-tabs.vue'),\r\n meta: {\r\n pageTitle: 'Contrato',\r\n requiresParametrizacao: true,\r\n },\r\n },\r\n {\r\n path: '/financeiro/contrato/:token',\r\n name: 'Financeiro Contrato',\r\n component: () => import('@/views/pages/financeiro/contrato/VisualizarContrato.vue'),\r\n meta: {\r\n pageTitle: 'Assinatura de Contrato',\r\n layout: 'full',\r\n resource: 'Auth',\r\n },\r\n props: true,\r\n },\r\n {\r\n path: '/FinanceiroPagamento',\r\n name: 'FinanceiroPagamento',\r\n component: () => import('@/views/pages/financeiro/pagamento/pagamento.vue'),\r\n meta: {\r\n pageTitle: 'Pagamento',\r\n requiresParametrizacao: true,\r\n },\r\n },\r\n {\r\n path: '/FinanceiroRemessaBoleto',\r\n name: 'FinanceiroRemessaBoleto',\r\n component: () => import('@/views/pages/financeiro/remessa-boletos/remessa-boletos.vue'),\r\n meta: {\r\n pageTitle: 'Boletos',\r\n requiresParametrizacao: true,\r\n },\r\n },\r\n {\r\n path: '/FinanceiroLancamento',\r\n name: 'FinanceiroLancamento',\r\n component: () => import('@/views/pages/financeiro/lancamento/lancamento.vue'),\r\n meta: {\r\n pageTitle: 'Lançamentos',\r\n requiresParametrizacao: true,\r\n },\r\n },\r\n {\r\n path: '/FinanceiroArrecadacao',\r\n name: 'FinanceiroArrecadacao',\r\n component: () => import('@/views/pages/financeiro/arrecadacao/Arrecadacao.vue'),\r\n meta: {\r\n pageTitle: 'Arrecadação',\r\n requiresParametrizacao: true,\r\n },\r\n },\r\n {\r\n path: '/ConfiguracoesSistema',\r\n name: 'ConfiguracoesSistema',\r\n component: () => import('@/views/pages/configuracoes/configuracoesSistema/configuracoesSistema.vue'),\r\n meta: {\r\n pageTitle: 'Configurações do sistema',\r\n requiresParametrizacao: true,\r\n },\r\n },\r\n {\r\n path: '/RelatorioCadastro',\r\n name: 'RelatorioCadastro',\r\n component: () => import('@/views/pages/relatorio/relatorioCad/relatorioCad.vue'),\r\n meta: {\r\n pageTitle: 'Relatórios de cadastro',\r\n requiresParametrizacao: true,\r\n },\r\n },\r\n {\r\n path: '/RelatorioSimulador',\r\n name: 'RelatorioSimulador',\r\n component: () => import('@/views/pages/relatorio/relatorioSimuladorDePropostas/relatorioSimuladorDePropostas.vue'),\r\n meta: {\r\n pageTitle: 'Relatórios de simulações e propostas',\r\n requiresParametrizacao: true,\r\n },\r\n },\r\n {\r\n path: '/RelatorioContrato',\r\n name: 'RelatorioContrato',\r\n component: () => import('@/views/pages/relatorio/relatorioContratos/relatorioContratoContratos.vue'),\r\n meta: {\r\n pageTitle: 'Relatórios de contratos',\r\n requiresParametrizacao: true,\r\n },\r\n },\r\n {\r\n path: '/RelatorioFinanceiro',\r\n name: 'RelatorioFinanceiro',\r\n component: () => import('@/views/pages/relatorio/relatorioFinanceiro/relatorioFinanceiro.vue'),\r\n meta: {\r\n pageTitle: 'Relatórios financeiros',\r\n requiresParametrizacao: true,\r\n },\r\n },\r\n {\r\n path: '/RelatorioRenegociacao',\r\n name: 'RelatorioRenegociacao',\r\n component: () => import('@/views/pages/relatorio/relatorioRenegociacao/relatorioRenegociacao.vue'),\r\n meta: {\r\n pageTitle: 'Relatórios de renegociação',\r\n requiresParametrizacao: true,\r\n },\r\n },\r\n {\r\n path: '/Dashboards',\r\n name: 'Dashboards',\r\n component: () => import('@/views/pages/dashboard/Dashboard.vue'),\r\n meta: {\r\n pageTitle: 'Dashboards',\r\n requiresParametrizacao: true,\r\n },\r\n },\r\n {\r\n path: '/ImportarExportar',\r\n name: 'ImportarExportar',\r\n component: () => import('@/views/pages/importarExportar/importarExportar.vue'),\r\n meta: {\r\n pageTitle: 'Importação/Exportação',\r\n requiresParametrizacao: true,\r\n },\r\n },\r\n {\r\n path: '/dividas',\r\n name: 'RenegociacaoDividas',\r\n component: () => import('@/views/pages/renegociacao/dividas/dividas.vue'),\r\n meta: {\r\n pageTitle: 'Renegociação de Dívidas',\r\n requiresParametrizacao: true,\r\n },\r\n },\r\n {\r\n path: '/antecipacaoParcelas',\r\n name: 'RenegociacaoAntecipacao',\r\n component: () => import('@/views/pages/renegociacao/antecipacaoParcelas/antecipacaoParcelas.vue'),\r\n meta: {\r\n pageTitle: 'Antecipação de Parcelas',\r\n requiresParametrizacao: true,\r\n },\r\n },\r\n {\r\n path: '/ConfiguracoesWorkflow',\r\n name: 'ConfiguracoesWorkflow',\r\n component: () => import('@/views/pages/configuracoes/configuracoesWorkflow/workflow.vue'),\r\n meta: {\r\n pageTitle: 'Configuração - Grupos de Acesso',\r\n requiresParametrizacao: true,\r\n },\r\n },\r\n {\r\n path: '/ConfiguracoesModelos',\r\n name: 'ConfiguracoesModelos',\r\n component: () => import('@/views/pages/configuracoes/modeloDocumento.vue'),\r\n meta: {\r\n pageTitle: 'Configurações - Modelos de Documentos',\r\n requiresParametrizacao: true,\r\n },\r\n },\r\n {\r\n path: '/ConfiguracoesSistemaLog',\r\n name: 'ConfiguracoesSistemaLog',\r\n component: () => import('@/views/pages/configuracoes/GerenciamentoLog/GerenciamentoLog.vue'),\r\n meta: {\r\n pageTitle: 'Gerenciamento de LOG',\r\n requiresParametrizacao: true,\r\n },\r\n },\r\n {\r\n path: '/AssinaturaDigital',\r\n name: 'AssinaturaDigital',\r\n component: () => import('@/views/pages/configuracoes/configuracoesAssinaturaDigital/configuracoesAssinaturaDigital.vue'),\r\n meta: {\r\n pageTitle: 'Assinatura Digital',\r\n },\r\n },\r\n {\r\n path: '/propostaExterna',\r\n name: 'PropostaExterna',\r\n component: () => import('@/views/pages/propostaExterna/propostaExterna.vue'),\r\n meta: {\r\n pageTitle: 'Empréstimo Consignado',\r\n layout: 'full',\r\n resource: 'Auth',\r\n requiresParametrizacao: true,\r\n redirectIfLoggedIn: false,\r\n },\r\n },\r\n {\r\n path: '/login',\r\n name: 'auth-login',\r\n component: () => import('@/views/pages/auth/login.vue'),\r\n meta: {\r\n layout: 'full',\r\n resource: 'Auth',\r\n redirectIfLoggedIn: true,\r\n },\r\n },\r\n {\r\n path: '/esqueceu-senha',\r\n name: 'esqueci-a-senha',\r\n component: () => import('@/views/pages/auth/esqueceuSenha.vue'),\r\n meta: {\r\n layout: 'full',\r\n resource: 'Auth',\r\n redirectIfLoggedIn: true,\r\n },\r\n },\r\n {\r\n path: '/autentica-senha',\r\n name: 'autentica-a-senha',\r\n component: () => import('@/views/pages/auth/autenticaSenha.vue'),\r\n meta: {\r\n resource: 'Auth',\r\n redirectIfLoggedIn: true,\r\n },\r\n },\r\n {\r\n path: '/error-404',\r\n name: 'error-404',\r\n component: () => import('@/views/error/nao-encontrado.vue'),\r\n meta: {\r\n layout: 'full',\r\n },\r\n },\r\n {\r\n path: '*',\r\n redirect: 'error-404',\r\n },\r\n {\r\n path: '/not',\r\n redirect: 'not-authorized',\r\n },\r\n {\r\n path: '/large',\r\n redirect: 'too-large',\r\n },\r\n {\r\n path: '/calculadoraEmprestimo',\r\n component: () => import('@/views/pages/calculadoraEmprestimo/calculadoraEmprestimo.vue'),\r\n meta: {\r\n layout: 'full',\r\n resource: 'Auth',\r\n },\r\n },\r\n {\r\n path: '/totem',\r\n component: () => import('@/views/pages/TotemEmprestimo/Totem.vue'),\r\n meta: {\r\n layout: 'full',\r\n resource: 'Auth',\r\n },\r\n },\r\n {\r\n path: '/assinaturaContratoSMS',\r\n component: () => import('@/views/pages/AssinaturaContratoSMS/AssinaturaContratoSMS.vue'),\r\n meta: {\r\n layout: 'full',\r\n resource: 'Auth',\r\n },\r\n },\r\n {\r\n path: '/assinaturaDocumento',\r\n name: 'Assinatura de documento',\r\n component: () => import('@/views/pages/financeiro/contrato/assinaturas/AssinaturaDocumento.vue'),\r\n meta: {\r\n pageTitle: 'Assinatura de documento',\r\n layout: 'full',\r\n resource: 'Auth',\r\n },\r\n },\r\n ],\r\n})\r\n\r\nrouter.beforeEach((to, _, next) => {\r\n const isLoggedIn = isUserLoggedIn()\r\n\r\n if (!canNavigate(to)) {\r\n // Redirect to login if not logged in\r\n if (!isLoggedIn) return next({ name: 'auth-login' })\r\n\r\n // If logged in => not authorized\r\n return next({ name: 'not-authorized' })\r\n }\r\n\r\n // Redirect if logged in\r\n if (to.meta.redirectIfLoggedIn && isLoggedIn) {\r\n const userData = getUserData()\r\n next(getHomeRouteForLoggedInUser(userData ? userData.role : null))\r\n }\r\n\r\n if (!isLoggedIn) {\r\n return next()\r\n }\r\n\r\n const userData = getUserData()\r\n if (userData?.role == 'master') {\r\n return next()\r\n }\r\n\r\n const result = []\r\n const permissoes = getGrupoAcesso()\r\n if (permissoes) {\r\n Object.entries(permissoes)?.flatMap((retorno) => {\r\n if (retorno[0] == to.name) {\r\n result.push(retorno)\r\n }\r\n })\r\n }\r\n\r\n if (result.length == 0) {\r\n return next() //se o resultado for 0, é que não existe a a parametrização da página\r\n }\r\n\r\n //se houver resultado do filtro\r\n if (result[0][0] == 'CadastroUnidadeGestora' || !result[0][1]) {\r\n return next({ name: 'not-authorized' })\r\n }\r\n\r\n return next() // Se tem a permissão vai pra próxima pag\r\n})\r\n\r\n// ? For splash screen\r\n// Remove afterEach hook if you are not using splash screen\r\nrouter.afterEach(() => {\r\n // Remove initial loading\r\n const appLoading = document.getElementById('loading-bg')\r\n if (appLoading) {\r\n appLoading.style.display = 'none'\r\n }\r\n})\r\n\r\nexport default router\r\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ToastificationContent.vue?vue&type=style&index=0&id=d2db6976&prod&lang=scss&scoped=true\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-select',_vm._g(_vm._b({scopedSlots:_vm._u([{key:\"no-options\",fn:function(){return [_c('div',{staticClass:\"my-no-options-message\"},[_vm._v(\"Nenhum registro encontrado!\")])]},proxy:true}])},'v-select',_vm.$attrs,false),_vm.$listeners))}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VSelectPT.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VSelectPT.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./VSelectPT.vue?vue&type=template&id=fd2a292a\"\nimport script from \"./VSelectPT.vue?vue&type=script&lang=js\"\nexport * from \"./VSelectPT.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 { computed, watch } from '@vue/composition-api'\r\nimport store from '@/store'\r\n\r\nexport default function usAppConfig() {\r\n // ------------------------------------------------\r\n // isVerticalMenuCollapsed\r\n // ------------------------------------------------\r\n const isVerticalMenuCollapsed = computed({\r\n get: () => store.state.verticalMenu.isVerticalMenuCollapsed,\r\n set: (val) => {\r\n store.commit('verticalMenu/UPDATE_VERTICAL_MENU_COLLAPSED', val)\r\n },\r\n })\r\n\r\n // ------------------------------------------------\r\n // RTL\r\n // ------------------------------------------------\r\n const isRTL = computed({\r\n get: () => store.state.appConfig.layout.isRTL,\r\n set: (val) => {\r\n store.commit('appConfig/TOGGLE_RTL', val)\r\n },\r\n })\r\n\r\n // ------------------------------------------------\r\n // Skin\r\n // ------------------------------------------------\r\n const skin = computed({\r\n get: () => store.state.appConfig.layout.skin,\r\n set: (val) => {\r\n store.commit('appConfig/UPDATE_SKIN', val)\r\n },\r\n })\r\n\r\n const skinClasses = computed(() => {\r\n if (skin.value === 'bordered') return 'bordered-layout'\r\n if (skin.value === 'semi-dark') return 'semi-dark-layout'\r\n\r\n // Do not return any class for dark layout because dark layout updates class in body\r\n // Do not return any class for light layout as that is default layout\r\n return null\r\n })\r\n\r\n // ------------------------------------------------\r\n // routerTransition\r\n // ------------------------------------------------\r\n const routerTransition = computed({\r\n get: () => store.state.appConfig.layout.routerTransition,\r\n set: (val) => {\r\n store.commit('appConfig/UPDATE_ROUTER_TRANSITION', val)\r\n },\r\n })\r\n\r\n // *===============================================---*\r\n // *--------- LAYOUT ---------------------------------------*\r\n // *===============================================---*\r\n\r\n // ------------------------------------------------\r\n // layoutType\r\n // ------------------------------------------------\r\n\r\n const layoutType = computed({\r\n get: () => store.state.appConfig.layout.type,\r\n set: (val) => {\r\n store.commit('appConfig/UPDATE_LAYOUT_TYPE', val)\r\n },\r\n })\r\n\r\n // Reset skin if skin is semi-dark and move to horizontal layout\r\n watch(layoutType, (val) => {\r\n if (val === 'horizontal' && skin.value === 'semi-dark') skin.value = 'light'\r\n })\r\n\r\n // ------------------------------------------------\r\n // Content Width (Full/Boxed)\r\n // ------------------------------------------------\r\n const contentWidth = computed({\r\n get: () => store.state.appConfig.layout.contentWidth,\r\n set: (val) => {\r\n store.commit('appConfig/UPDATE_CONTENT_WIDTH', val)\r\n },\r\n })\r\n\r\n // ------------------------------------------------\r\n // isNavMenuHidden\r\n // ------------------------------------------------\r\n const isNavMenuHidden = computed({\r\n get: () => store.state.appConfig.layout.menu.hidden,\r\n set: (val) => {\r\n store.commit('appConfig/UPDATE_NAV_MENU_HIDDEN', val)\r\n },\r\n })\r\n\r\n // *===============================================---*\r\n // *--------- NAVBAR ---------------------------------------*\r\n // *===============================================---*\r\n\r\n const navbarBackgroundColor = computed({\r\n get: () => store.state.appConfig.layout.navbar.backgroundColor,\r\n set: (val) => {\r\n store.commit('appConfig/UPDATE_NAVBAR_CONFIG', { backgroundColor: val })\r\n },\r\n })\r\n\r\n const navbarType = computed({\r\n get: () => store.state.appConfig.layout.navbar.type,\r\n set: (val) => {\r\n store.commit('appConfig/UPDATE_NAVBAR_CONFIG', { type: val })\r\n },\r\n })\r\n\r\n // *===============================================---*\r\n // *--------- FOOTER ---------------------------------------*\r\n // *===============================================---*\r\n\r\n const footerType = computed({\r\n get: () => store.state.appConfig.layout.footer.type,\r\n set: (val) => {\r\n store.commit('appConfig/UPDATE_FOOTER_CONFIG', { type: val })\r\n },\r\n })\r\n\r\n return {\r\n isVerticalMenuCollapsed,\r\n isRTL,\r\n skin,\r\n skinClasses,\r\n routerTransition,\r\n\r\n // Navbar\r\n navbarBackgroundColor,\r\n navbarType,\r\n\r\n // Footer\r\n footerType,\r\n\r\n // Layout\r\n layoutType,\r\n contentWidth,\r\n isNavMenuHidden,\r\n }\r\n}\r\n","import { Ability } from '@casl/ability'\r\nimport { initialAbility } from './config'\r\nimport { jwtDecode } from 'jwt-decode'\r\n\r\n// Read ability from localStorage\r\n// * Handles auto fetching previous abilities if already logged in user\r\n// ? You can update this if you store user abilities to more secure place\r\n// ! Anyone can update localStorage so be careful and please update this\r\nlet userDataLocalStorage = localStorage.getItem('userData') ?? ''\r\nuserDataLocalStorage = userDataLocalStorage ? jwtDecode(userDataLocalStorage).userData : null\r\nconst userData = userDataLocalStorage ? userDataLocalStorage : undefined\r\nconst existingAbility = userData ? userData.ability : null\r\n\r\nexport default new Ability(existingAbility || initialAbility)\r\n","export const initialAbility = [\r\n {\r\n action: 'read',\r\n subject: 'Auth',\r\n },\r\n]\r\n\r\nexport const _ = undefined\r\n"],"sourceRoot":""}