{"version":3,"sources":["assets/images/logo/logo-small.svg","configs/themeConfig.js","redux/navbar.js","redux/rootReducer.js","redux/store.ts","utility/context/ThemeColors.js","@core/components/ripple-button/index.js","serviceWorker.js","index.js","assets/images/logo/logo.svg","utility/context/Can.js","redux/layout.js","configs/acl/ability.js","@core/components/spinner/Fallback-spinner.js","shared-components/LoadingScreen/index.tsx","context/GlobalContext.tsx","configs/i18n/locales-version.js","configs/i18n/index.js","assets/images/logo/logo-dark.svg"],"names":["themeConfig","app","appName","appLogoImage","require","default","appLogoImageDark","appLogoSmallImage","layout","isRTL","skin","routerTransition","type","contentWidth","menu","isHidden","isCollapsed","navbar","backgroundColor","footer","customizer","scrollTop","getBookmarks","createAsyncThunk","async","response","axios","get","data","suggestions","bookmarks","updateBookmarked","post","id","layoutSlice","createSlice","name","initialState","query","reducers","handleSearchQuery","state","action","payload","extraReducers","builder","addCase","fulfilled","objectToUpdate","find","item","isBookmarked","bookmarkIndex","findIndex","x","push","splice","actions","rootReducer","store","configureStore","reducer","middleware","getDefaultMiddleware","serializableCheck","ThemeColors","createContext","ThemeContext","_ref","children","colors","setColors","useState","useEffect","window","getHex","color","getComputedStyle","document","body","getPropertyValue","trim","obj","primary","light","concat","main","secondary","success","danger","warning","info","dark","_jsx","Provider","value","Button","Ripple","className","onClick","rest","mounted","setMounted","isRippling","setIsRippling","coords","setCoords","y","setTimeout","_jsxs","classnames","e","rect","target","getBoundingClientRect","clientX","left","clientY","top","style","Boolean","location","hostname","match","config","LazyApp","lazy","ReactDOM","render","Suspense","fallback","LoadingScreen","AbilityContext","ability","GlobalContextWrapper","ToastContainer","newestOnTop","getElementById","navigator","serviceWorker","ready","then","registration","unregister","catch","console","error","createContextualCan","Consumer","lastLayout","footerType","navbarType","menuHidden","menuCollapsed","navbarColor","handleRTL","localStorage","setItem","JSON","stringify","handleSkin","handleLayout","handleFooterType","handleNavbarType","handleMenuHidden","handleLastLayout","handleNavbarColor","handleContentWidth","handleMenuCollapsed","handleRouterTransition","Ability","SpinnerComponent","src","logo","alt","width","Spinner","GlobalContext","firstLocationKey","setFirstLocationKey","undefined","localeVersion","i18n","use","Backend","LanguageDetector","initReactI18next","init","lng","backend","loadPath","Date","getTime","fallbackLng","debug","react","useSuspense","interpolation","escapeValue","formatSeparator"],"mappings":"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","file":"static/js/main.7ddc8fa6.chunk.js","sourcesContent":["export default __webpack_public_path__ + \"static/media/logo-small.e4a4dc34.svg\";","// You can customize the template with the help of this file\n\n//Template config options\nconst themeConfig = {\n app: {\n appName: 'CASA YES',\n appLogoImage: require('@src/assets/images/logo/logo.svg').default,\n appLogoImageDark: require('@src/assets/images/logo/logo-dark.svg').default,\n appLogoSmallImage: require('@src/assets/images/logo/logo-small.svg').default\n },\n layout: {\n isRTL: false,\n skin: 'light', // light, dark, bordered, semi-dark\n routerTransition: 'fadeIn', // fadeIn, fadeInLeft, zoomIn, none or check this for more transition https://animate.style/\n type: 'vertical', // vertical, horizontal\n contentWidth: 'boxed', // full, boxed\n menu: {\n isHidden: false,\n isCollapsed: false\n },\n navbar: {\n // ? For horizontal menu, navbar type will work for navMenu type\n type: 'sticky', // static , sticky , floating, hidden\n backgroundColor: 'white' // BS color options [primary, success, etc]\n },\n footer: {\n type: 'static' // static, sticky, hidden\n },\n customizer: false,\n scrollTop: true // Enable scroll to top button\n }\n}\n\nexport default themeConfig","// ** Redux Imports\nimport { createSlice, createAsyncThunk } from '@reduxjs/toolkit'\n\n// ** Axios Imports\nimport axios from 'axios'\n\nexport const getBookmarks = createAsyncThunk('layout/getBookmarks', async () => {\n const response = await axios.get('/api/bookmarks/data')\n return {\n data: response.data.suggestions,\n bookmarks: response.data.bookmarks\n }\n})\n\nexport const updateBookmarked = createAsyncThunk('layout/updateBookmarked', async id => {\n await axios.post('/api/bookmarks/update', { id })\n return id\n})\n\nexport const layoutSlice = createSlice({\n name: 'layout',\n initialState: {\n query: '',\n bookmarks: [],\n suggestions: []\n },\n reducers: {\n handleSearchQuery: (state, action) => {\n state.query = action.payload\n }\n },\n extraReducers: builder => {\n builder\n .addCase(getBookmarks.fulfilled, (state, action) => {\n state.suggestions = action.payload.data\n state.bookmarks = action.payload.bookmarks\n })\n .addCase(updateBookmarked.fulfilled, (state, action) => {\n let objectToUpdate\n\n // ** find & update object\n state.suggestions.find(item => {\n if (item.id === action.payload) {\n item.isBookmarked = !item.isBookmarked\n objectToUpdate = item\n }\n })\n\n // ** Get index to add or remove bookmark from array\n const bookmarkIndex = state.bookmarks.findIndex(x => x.id === action.payload)\n\n if (bookmarkIndex === -1) {\n state.bookmarks.push(objectToUpdate)\n } else {\n state.bookmarks.splice(bookmarkIndex, 1)\n }\n })\n }\n})\n\nexport const { handleSearchQuery } = layoutSlice.actions\n\nexport default layoutSlice.reducer\n","// ** Reducers Imports\nimport navbar from './navbar'\nimport layout from './layout'\n\nconst rootReducer = {\n navbar,\n layout\n}\n\nexport default rootReducer\n","// ** Redux Imports\nimport rootReducer from './rootReducer'\nimport { configureStore } from '@reduxjs/toolkit'\n\nconst store = configureStore({\n reducer: rootReducer,\n middleware: getDefaultMiddleware => {\n return getDefaultMiddleware({\n serializableCheck: false\n })\n }\n})\n\n\nexport { store }\nexport type RootState = ReturnType","// ** React Imports\nimport { useEffect, useState, createContext } from 'react'\n\n// ** Create Context\nconst ThemeColors = createContext()\n\nconst ThemeContext = ({ children }) => {\n // ** State\n const [colors, setColors] = useState({})\n\n //** ComponentDidMount\n useEffect(() => {\n if (window !== 'undefined') {\n //** Get variable value\n const getHex = color => window.getComputedStyle(document.body).getPropertyValue(color).trim()\n\n //** Colors obj\n const obj = {\n primary: {\n light: getHex('--bs-primary').concat('1a'),\n main: getHex('--bs-primary')\n },\n secondary: {\n light: getHex('--bs-secondary').concat('1a'),\n main: getHex('--bs-secondary')\n },\n success: {\n light: getHex('--bs-success').concat('1a'),\n main: getHex('--bs-success')\n },\n danger: {\n light: getHex('--bs-danger').concat('1a'),\n main: getHex('--bs-danger')\n },\n warning: {\n light: getHex('--bs-warning').concat('1a'),\n main: getHex('--bs-warning')\n },\n info: {\n light: getHex('--bs-info').concat('1a'),\n main: getHex('--bs-info')\n },\n dark: {\n light: getHex('--bs-dark').concat('1a'),\n main: getHex('--bs-dark')\n }\n }\n\n setColors({ ...obj })\n }\n }, [])\n\n return {children}\n}\n\nexport { ThemeColors, ThemeContext }\n","// ** React Imports\nimport { useState, useEffect } from 'react'\n\n// ** Third Party Components\nimport classnames from 'classnames'\n\n// ** Reactstrap Imports\nimport { Button } from 'reactstrap'\n\n// ** Styles\nimport './ripple-button.scss'\n\nconst RippleButton = ({ className, children, onClick, ...rest }) => {\n // ** States\n const [mounted, setMounted] = useState(false)\n const [isRippling, setIsRippling] = useState(false)\n const [coords, setCoords] = useState({ x: -1, y: -1 })\n\n // ** Toggle mounted on mount & unmount\n useEffect(() => {\n setMounted(true)\n return () => setMounted(false)\n }, [])\n\n // ** Check for coords and set ripple\n useEffect(() => {\n if (mounted) {\n if (coords.x !== -1 && coords.y !== -1) {\n setIsRippling(true)\n setTimeout(() => setIsRippling(false), 500)\n } else {\n setIsRippling(false)\n }\n }\n }, [coords])\n\n // ** Reset Coords on ripple end\n useEffect(() => {\n if (mounted) {\n if (!isRippling) setCoords({ x: -1, y: -1 })\n }\n }, [isRippling])\n\n return (\n {\n const rect = e.target.getBoundingClientRect()\n setCoords({ x: e.clientX - rect.left, y: e.clientY - rect.top })\n if (onClick) {\n onClick(e)\n }\n }}\n {...rest}\n >\n {children}\n {isRippling ? (\n \n ) : null}\n \n )\n}\n\n// ** PropTypes\nRippleButton.propTypes = {\n ...Button.propTypes\n}\n\nButton.Ripple = RippleButton\n","/*eslint-disable */\n// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)\n)\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href)\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets see https://github.com/facebook/create-react-app/issues/2374\n return\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config)\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n )\n })\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config)\n }\n })\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing\n if (installingWorker === null) {\n return\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n )\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration)\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.')\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration)\n }\n }\n }\n }\n }\n })\n .catch(error => {\n console.error('Error during service worker registration:', error)\n })\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type')\n if (response.status === 404 || (contentType !== null && contentType.indexOf('javascript') === -1)) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload()\n })\n })\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config)\n }\n })\n .catch(() => {\n console.log('No internet connection found. App is running in offline mode.')\n })\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().catch(console.error);\n })\n }\n}\n","// ** React Imports\nimport { Suspense, lazy } from 'react'\nimport ReactDOM from 'react-dom'\n\n// ** Redux Imports\nimport { Provider } from 'react-redux'\nimport { store } from '@store/store'\n\n// ** Intl, CASL & ThemeColors Context\nimport ability from './configs/acl/ability'\nimport { ToastContainer } from 'react-toastify'\nimport { AbilityContext } from './utility/context/Can'\nimport { ThemeContext } from './utility/context/ThemeColors'\nimport { GlobalContextWrapper } from './context/GlobalContext'\n\n// ** i18n\nimport './configs/i18n'\n\n// ** Spinner (Splash Screen)\nimport LoadingScreen from './shared-components/LoadingScreen';\n\n// ** Ripple Button\nimport './@core/components/ripple-button'\n\n// ** PrismJS\nimport 'prismjs'\nimport 'prismjs/themes/prism-tomorrow.css'\nimport 'prismjs/components/prism-jsx.min'\n\n// ** React Perfect Scrollbar\nimport 'react-perfect-scrollbar/dist/css/styles.css'\n\n// ** React Toastify\nimport '@styles/react/libs/toastify/toastify.scss'\n\n// ** Core styles\nimport './@core/assets/fonts/feather/iconfont.css'\nimport './@core/scss/core.scss'\nimport './assets/scss/style.scss'\nimport './assets/scss/style-map.scss'\n\n// ** Service Worker\nimport * as serviceWorker from './serviceWorker'\n\n// ** Translating moment\nimport 'moment/locale/pt'\nimport 'moment/locale/fr'\nimport 'moment/locale/de'\n\nrequire('dotenv').config()\n\n// ** Lazy load app\nconst LazyApp = lazy(() => import('./App'))\n\nReactDOM.render(\n \n }>\n \n \n \n \n \n \n \n \n \n ,\n document.getElementById('root')\n)\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister()\n","export default __webpack_public_path__ + \"static/media/logo.16472c0e.svg\";","// ** Imports createContext function\nimport { createContext } from 'react'\n\n// ** Imports createContextualCan function\nimport { createContextualCan } from '@casl/react'\n\n// ** Create Context\nexport const AbilityContext = createContext()\n\n// ** Init Can Context\nexport const Can = createContextualCan(AbilityContext.Consumer)\n","// ** Redux Imports\nimport { createSlice } from '@reduxjs/toolkit'\n\n// ** ThemeConfig Import\nimport themeConfig from '@configs/themeConfig'\n\nexport const layoutSlice = createSlice({\n name: 'layout',\n initialState: {\n skin: themeConfig.layout.skin,\n isRTL: themeConfig.layout.isRTL,\n layout: themeConfig.layout.type,\n lastLayout: themeConfig.layout.type,\n footerType: themeConfig.layout.footer.type,\n navbarType: themeConfig.layout.navbar.type,\n menuHidden: themeConfig.layout.menu.isHidden,\n contentWidth: themeConfig.layout.contentWidth,\n menuCollapsed: themeConfig.layout.menu.isCollapsed,\n routerTransition: themeConfig.layout.routerTransition,\n navbarColor: themeConfig.layout.navbar.backgroundColor\n },\n reducers: {\n handleRTL: (state, action) => {\n state.isRTL = action.payload\n window.localStorage.setItem('direction', JSON.stringify(action.payload))\n },\n handleSkin: (state, action) => {\n state.skin = action.payload\n window.localStorage.setItem('skin', JSON.stringify(action.payload))\n },\n handleLayout: (state, action) => {\n state.layout = action.payload\n },\n handleFooterType: (state, action) => {\n state.footerType = action.payload\n },\n handleNavbarType: (state, action) => {\n state.navbarType = action.payload\n },\n handleMenuHidden: (state, action) => {\n state.menuHidden = action.payload\n },\n handleLastLayout: (state, action) => {\n state.lastLayout = action.payload\n },\n handleNavbarColor: (state, action) => {\n state.navbarColor = action.payload\n },\n handleContentWidth: (state, action) => {\n state.contentWidth = action.payload\n },\n handleMenuCollapsed: (state, action) => {\n state.menuCollapsed = action.payload\n window.localStorage.setItem('menuCollapsed', JSON.stringify(action.payload))\n },\n handleRouterTransition: (state, action) => {\n state.routerTransition = action.payload\n }\n }\n})\n\nexport const {\n handleRTL,\n handleSkin,\n handleLayout,\n handleLastLayout,\n handleMenuHidden,\n handleNavbarType,\n handleFooterType,\n handleNavbarColor,\n handleContentWidth,\n handleMenuCollapsed,\n handleRouterTransition\n} = layoutSlice.actions\n\nexport default layoutSlice.reducer\n","import { Ability } from '@casl/ability'\n// import { initialAbility } from './initialAbility'\n\n// Read ability from localStorage\n// * Handles auto fetching previous abilities if already logged in user\n// ? You can update this if you store user abilities to more secure place\n// ! Anyone can update localStorage so be careful and please update this\n// const userData = JSON.parse(localStorage.getItem('userData'))\n// const existingAbility = userData ? userData.ability : undefined\n\n// const rules = existingAbility ?? initialAbility;\nconst rules = [];\nexport default new Ability(rules)\n","// ** Logo\nimport logo from '@src/assets/images/logo/logo.svg'\n\nconst SpinnerComponent = () => {\n return (\n
\n logo\n
\n
\n
\n
\n
\n
\n )\n}\n\nexport default SpinnerComponent\n","import Spinner from '../../@core/components/spinner/Fallback-spinner'\n\nconst LoadingScreen = () => {\n\n return (\n
\n \n
\n )\n}\n\nexport default LoadingScreen;","import { createContext, useState } from \"react\"\n\ninterface IGlobalContext {\n firstLocationKey?: string | null\n setFirstLocationKey: (val?: string | null) => void\n}\n\nconst GlobalContext = createContext({firstLocationKey: null, setFirstLocationKey: undefined as any});\n\nexport default GlobalContext\n\nexport const GlobalContextWrapper = ({ children }: any) => {\n const [firstLocationKey, setFirstLocationKey] = useState(null)\n\n return (\n \n {children}\n \n )\n}","const localeVersion = '638785193145899702'\nexport default localeVersion\n","// ** I18n Imports\nimport i18n from 'i18next'\nimport Backend from 'i18next-xhr-backend'\nimport { initReactI18next } from 'react-i18next'\nimport LanguageDetector from 'i18next-browser-languagedetector'\nimport localeVersion from './locales-version'\n\ni18n\n\n // Enables the i18next backend\n .use(Backend)\n\n // Enable automatic language detection\n .use(LanguageDetector)\n\n // Enables the hook initialization module\n .use(initReactI18next)\n .init({\n lng: 'pt', //'en'\n backend: {\n /* translation file path */\n loadPath: `/assets/data/locales/{{lng}}/translations.json?cb=${localeVersion ? `${localeVersion}` : `${new Date().getTime()}`}`\n },\n fallbackLng: 'pt',\n debug: false,\n react: {\n useSuspense: false\n },\n interpolation: {\n escapeValue: false,\n formatSeparator: ','\n }\n }).catch(console.error)\n\nexport default i18n\n","export default __webpack_public_path__ + \"static/media/logo-dark.2fc5061e.svg\";"],"sourceRoot":""}