{"version":3,"sources":["assets/images/logo/logo-small.png","redux/navbar.js","redux/rootReducer.js","redux/store.js","configs/acl/initialAbility.js","configs/acl/ability.js","@core/components/ripple-button/index.js","serviceWorkerRegistration.js","reportWebVitals.js","index.js","configs/themeConfig.js","components/api-authorization/ApiAuthorizationConstants.js","components/api-authorization/AuthorizeService.js","redux/layout.js","utility/context/ThemeColors.js","utility/context/Can.js","assets/images/logo/logo-white.png","@core/components/spinner/Fallback-spinner.js"],"names":["getBookmarks","createAsyncThunk","axios","get","response","data","suggestions","bookmarks","updateBookmarked","id","post","layoutSlice","createSlice","name","initialState","query","reducers","handleSearchQuery","state","action","payload","extraReducers","builder","addCase","fulfilled","objectToUpdate","find","item","isBookmarked","bookmarkIndex","findIndex","x","push","splice","rootReducer","actions","navbar","layout","store","configureStore","reducer","middleware","getDefaultMiddleware","serializableCheck","initialAbility","subject","this","update","authService","getUser","userData","existingAbility","JSON","parse","ability","subscribe","Ability","Button","Ripple","className","children","onClick","rest","useState","mounted","setMounted","isRippling","setIsRippling","y","coords","setCoords","useEffect","setTimeout","classnames","e","rect","target","getBoundingClientRect","clientX","left","clientY","top","style","Boolean","window","location","hostname","match","reportWebVitals","onPerfEntry","Function","then","getCLS","getFID","getFCP","getLCP","getTTFB","LazyApp","lazy","container","document","getElementById","root","createRoot","abilityService","baseUrl","getElementsByTagName","getAttribute","queryClient","QueryClient","defaultOptions","queries","refetchOnWindowFocus","retry","render","basename","fallback","Provider","value","client","initialIsOpen","position","themeConfig","toastPosition","toastOptions","navigator","serviceWorker","ready","registration","unregister","catch","error","console","message","app","appName","appLogoImage","require","default","isRTL","skin","type","contentWidth","menu","isHidden","isCollapsed","backgroundColor","footer","customizer","scrollTop","ApplicationName","QueryParameterNames","ReturnUrl","Message","LogoutActions","LogoutCallback","Logout","LoggedOut","LoginActions","Login","LoginCallback","LoginFailed","Profile","Register","prefix","ApplicationPaths","DefaultLoginRedirectPath","ApiAuthorizationClientConfigurationUrl","ApiAuthorizationPrefix","LogOut","LogOutCallback","IdentityRegisterPath","IdentityManagePath","AuthenticationResultStatus","Redirect","Success","Fail","AuthorizeService","_callbacks","_nextSubscriptionId","_user","_isAuthenticated","_popUpDisabled","user","profile","ensureUserManagerInitialized","userManager","access_token","signinSilent","createArguments","silentUser","updateState","success","log","Error","signinPopup","popUpUser","signinRedirect","redirect","url","signinCallback","signoutPopup","undefined","signoutRedirect","signoutCallback","notifySubscribers","callback","subscription","subscriptionId","subscriptionIndex","map","element","index","found","filter","length","i","useReplaceToNavigate","status","fetch","ok","json","settings","automaticSilentRenew","includeIdTokenInSilentRenew","userStore","WebStorageStateStore","UserManager","events","addUserSignedOut","removeUser","localStorage","getItem","initialSkin","initialDirection","lastLayout","menuCollapsed","initialMenuCollapsed","footerType","navbarType","menuHidden","navbarColor","handleRTL","setItem","stringify","handleSkin","handleLayout","handleFooterType","handleNavbarType","handleMenuHidden","handleLastLayout","handleNavbarColor","handleContentWidth","handleMenuCollapsed","ThemeColors","createContext","ThemeContext","colors","setColors","getHex","color","getComputedStyle","body","getPropertyValue","trim","obj","primary","light","concat","main","secondary","danger","warning","info","dark","AbilityContext","createContextualCan","Consumer","SpinnerComponent","src","logo","alt"],"mappings":"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","file":"static/js/main.d7c37c15.chunk.js","sourcesContent":["export default __webpack_public_path__ + \"static/media/logo-small.20f458f2.png\";","// ** Redux Imports\nimport { createSlice, createAsyncThunk } from \"@reduxjs/toolkit\"\n\n// ** Axios Imports\nimport axios from \"axios\"\n\nexport const getBookmarks = createAsyncThunk(\n \"layout/getBookmarks\",\n 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)\n\nexport const updateBookmarked = createAsyncThunk(\n \"layout/updateBookmarked\",\n async (id) => {\n await axios.post(\"/api/bookmarks/update\", { id })\n return id\n }\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(\n (x) => x.id === action.payload\n )\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 layout from \"./layout\"\nimport navbar from \"./navbar\"\n\nconst rootReducer = { navbar, layout }\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\nexport { store }\n","// ** Initial user ability\nexport const initialAbility = [\n {\n action: 'read',\n subject: 'Auth'\n }\n]\n\nexport const _ = undefined\n","import { Ability } from '@casl/ability'\nimport { initialAbility } from './initialAbility'\n\nimport authService from '../../components/api-authorization/AuthorizeService'\n\nclass AbilityService {\n #ability = null\n\n constructor() {\n authService.subscribe(() => this.#authenticationChanged())\n this.#ability = new Ability(initialAbility)\n\n this.#populateAuthenticationState()\n }\n\n async #authenticationChanged() {\n this.#ability.update(initialAbility)\n await this.#populateAuthenticationState()\n }\n\n async #populateAuthenticationState() {\n const userData = await authService.getUser()\n const existingAbility = userData && JSON.parse(userData.ability)\n\n if (existingAbility) { this.#ability.update(existingAbility) }\n }\n\n get Ability() {\n return this.#ability\n }\n}\n\nexport default new AbilityService()","// ** 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 )\n}\n\n// ** PropTypes\nRippleButton.propTypes = {\n ...Button.propTypes\n}\n\nButton.Ripple = RippleButton\n","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://cra.link/PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.0/8 are considered localhost for IPv4.\r\n window.location.hostname.match(/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)\r\n)\r\n\r\nfunction registerValidSW(swUrl, config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then((registration) => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing\r\n // eslint-disable-next-line eqeqeq\r\n if (installingWorker == null) {\r\n return\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://cra.link/PWA.'\r\n )\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration)\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.')\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration)\r\n }\r\n }\r\n }\r\n }\r\n }\r\n })\r\n .catch((error) => {\r\n console.error('Error during service worker registration:', error)\r\n })\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl, config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl, {\r\n headers: { 'Service-Worker': 'script' }\r\n })\r\n .then((response) => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type')\r\n if (\r\n response.status === 404 ||\r\n // eslint-disable-next-line eqeqeq\r\n (contentType != null && contentType.indexOf('javascript') === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then((registration) => {\r\n registration.unregister().then(() => {\r\n window.location.reload()\r\n })\r\n })\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config)\r\n }\r\n })\r\n .catch(() => {\r\n console.log('No internet connection found. App is running in offline mode.')\r\n })\r\n}\r\n\r\nexport function register(config) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href)\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets see https://github.com/facebook/create-react-app/issues/2374\r\n return\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config)\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://cra.link/PWA'\r\n )\r\n })\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config)\r\n }\r\n })\r\n }\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready\r\n .then((registration) => {\r\n registration.unregister()\r\n })\r\n .catch((error) => {\r\n console.error(error.message)\r\n })\r\n }\r\n}\r\n","const reportWebVitals = (onPerfEntry) => {\r\n if (onPerfEntry && onPerfEntry instanceof Function) {\r\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\r\n getCLS(onPerfEntry)\r\n getFID(onPerfEntry)\r\n getFCP(onPerfEntry)\r\n getLCP(onPerfEntry)\r\n getTTFB(onPerfEntry)\r\n })\r\n }\r\n}\r\n\r\nexport default reportWebVitals\r\n","// ** React Imports\nimport { Suspense, lazy } from \"react\"\nimport { createRoot } from \"react-dom/client\"\nimport { BrowserRouter } from \"react-router-dom\"\n\n// ** Redux Imports\nimport { store } from \"./redux/store\"\nimport { Provider } from \"react-redux\"\n\n// ** ThemeColors Context\nimport abilityService from './configs/acl/ability'\nimport { AbilityContext } from './utility/context/Can'\nimport { ThemeContext } from \"./utility/context/ThemeColors\"\n\n// ** ThemeConfig\nimport themeConfig from \"./configs/themeConfig\"\n\n// ** Toast\nimport { Toaster } from \"react-hot-toast\"\n\n// ** Spinner (Splash Screen)\nimport Spinner from \"./@core/components/spinner/Fallback-spinner\"\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 Hot Toast Styles\nimport \"@styles/react/libs/react-hot-toasts/react-hot-toasts.scss\"\n\n// ** Core styles\nimport \"./@core/assets/fonts/feather/iconfont.css\"\nimport \"./@core/scss/core.scss\"\nimport \"./assets/scss/style.scss\"\n\n// ** Service Worker\nimport * as serviceWorkerRegistration from './serviceWorkerRegistration'\nimport reportWebVitals from './reportWebVitals'\n\nimport { QueryClient, QueryClientProvider } from \"react-query\"\nimport { ReactQueryDevtools } from \"react-query/devtools\"\n\n// import signalRService from './services/signalRService'\n\n// ** Lazy load app\nconst LazyApp = lazy(() => import(\"./App\"))\n\nconst container = document.getElementById(\"root\")\nconst root = createRoot(container)\n\nconst ability = abilityService.Ability\n\nconst baseUrl = document.getElementsByTagName('base')[0].getAttribute('href')\n\nconst queryClient = new QueryClient({\n defaultOptions: {\n queries: {\n refetchOnWindowFocus: false,\n retry: false\n }\n }\n})\n\n// signalRService()\n\nroot.render(\n