{"version":3,"sources":["utils/axiosInstance.js","slices/calendar.js","utils/objFromArray.js","slices/chat.js","slices/kanban.js","slices/mail.js","store/rootReducer.js","store/index.js","utils/analytics.js","utils/axios.js","slices/notification.js","components/SplashScreen.js","contexts/JWTAuthContext.js","views/dashboard/BusinessPricing/PricingView.js","views/apis/verification/phone/SideBarMenu.js","views/apis/verification/phone/Header.js","views/apis/verification/phone/Overview.js","layouts/MainLayout/Footer.js","layouts/MainLayout/APICatalogue.js","layouts/MainLayout/TopBar.js","config.js","constants.js","components/Logo.js","components/Page.js","hooks/useAuth.js","utils/mock.js","__mocks__/notifications.js","__mocks__/apicatalogue.js","__mocks__/messages.js","mixins/chartjs.js","serviceWorker.js","contexts/SettingsContext.js","components/GlobalStyles.js","hooks/useScrollReset.js","components/ScrollReset.js","components/CookiesNotification.js","components/GoogleAnalytics.js","hooks/useSettings.js","theme/shadows.js","theme/index.js","theme/typography.js","layouts/DashboardLayout/NavBar/NavItem.js","layouts/DashboardLayout/NavBar/index.js","layouts/DashboardLayout/TopBar/Account.js","slices/appnotification.js","layouts/DashboardLayout/TopBar/Notifications.js","layouts/DashboardLayout/TopBar/Settings.js","layouts/DashboardLayout/TopBar/index.js","layouts/DashboardLayout/index.js","layouts/MainLayout/index.js","layouts/DocsLayout/NavBar/NavItem.js","layouts/DocsLayout/NavBar/index.js","layouts/DocsLayout/TopBar.js","layouts/DocsLayout/mdx/Heading.js","layouts/DocsLayout/mdx/Paragraph.js","layouts/DocsLayout/mdx/List.js","layouts/DocsLayout/mdx/ListItem.js","layouts/DocsLayout/mdx/Blockquote.js","layouts/DocsLayout/mdx/Code.js","layouts/DocsLayout/mdx/InlineCode.js","layouts/DocsLayout/mdx/index.js","layouts/DocsLayout/index.js","views/home/HomeView/Benefits.js","views/home/HomeView/SimpleSteps.js","views/home/HomeView/CTA.js","views/home/HomeView/FAQS.js","views/home/HomeView/Recommendation.js","views/home/HomeView/BusinessBenefits.js","views/home/HomeView/FreeTool.js","views/home/HomeView/Catalogue.js","views/home/HomeView/Hero.js","views/home/HomeView/Companies.js","views/home/HomeView/index.js","views/dashboard/ProductListView/Products.js","views/dashboard/ProductListView/index.js","views/dashboard/APICatalogueView/Catalogue.js","views/dashboard/APICatalogueView/index.js","views/dashboard/FreeToolsView/FreeTool.js","views/dashboard/FreeToolsView/index.js","components/LoadingScreen.js","components/AuthGuard.js","components/GuestGuard.js","routes.js","App.js","index.js","views/apis/verification/phone/ValidatePhoneView/GetStarted.js","views/apis/verification/phone/ValidatePhoneView/index.js"],"names":["axiosInstance","axios","create","slice","createSlice","name","initialState","events","isModalOpen","selectedEventId","selectedRange","reducers","getEvents","state","action","payload","createEvent","event","selectEvent","eventId","updateEvent","_","map","_event","id","deleteEvent","reject","selectRange","start","end","openModal","closeModal","reducer","objFromArray","arr","key","reduce","accumulator","current","activeThreadId","contacts","byId","allIds","threads","participants","recipients","getContacts","Object","keys","getThreads","getThread","thread","includes","push","markThreadAsSeen","threadId","unreadCount","resetActiveThread","getParticipants","addRecipient","recipient","find","_recipient","removeRecipient","recipientId","filter","isLoaded","lists","cards","members","getBoard","board","createList","list","updateList","clearList","listId","cardIds","omit","pull","deleteList","createCard","card","updateCard","merge","moveCard","cardId","position","sourceListId","splice","deleteCard","addComment","comment","comments","addChecklist","checklist","checklists","updateChecklist","_checklist","deleteChecklist","checklistId","addCheckItem","checkItem","assign","checkItems","updateCheckItem","_checkItem","deleteCheckItem","checkItemId","mails","labels","isSidebarOpen","isComposeOpen","getLabels","getMails","getMail","mail","openSidebar","closeSidebar","openCompose","closeCompose","rootReducer","combineReducers","calendar","calendarReducer","chat","chatReducer","form","formReducer","kanban","kanbanReducer","mailReducer","notifications","notificationReducer","store","configureStore","devTools","ENABLE_REDUX_DEV_TOOLS","useSelector","useReduxSelector","useDispatch","useReduxDispatch","track","window","gtag","pageview","props","process","type","interceptors","response","use","error","Promise","data","getNotifications","dispatch","a","get","actions","useStyles","makeStyles","theme","root","alignItems","backgroundColor","palette","background","default","display","flexDirection","height","justifyContent","left","padding","spacing","top","width","zIndex","SlashScreen","classes","className","Box","LinearProgress","headers","dashboardApiConfig","dashboard_api_key","initialAuthState","isAuthenticated","isInitialised","user","isValidToken","accessToken","decoded","jwtDecode","currentTime","Date","now","exp","setSession","idToken","localStorage","setItem","defaults","common","Authorization","removeItem","AuthContext","createContext","method","login","resolve","sociallogin","logout","socialregister","register","AuthProvider","children","useReducer","email","post","dashboard_api_url","apiResponse","AuthenticationResult","AccessToken","IdToken","UserData","password","useEffect","getItem","console","initialise","Provider","value","SplashScreen","dark","paddingTop","paddingBottom","flexGrow","lookupLabel","hexToRgb","title","fontWeight","typography","fontWeightRegular","product","cursor","transition","transitions","easing","sharp","duration","leavingScreen","productImage","borderRadius","shape","fontSize","recommendedProduct","secondary","main","color","white","chooseButton","dropbtn","border","content","boxShadow","margin","cardHeading","hr","priceBox","paddingRight","cardHeader","PricingView","history","useHistory","maxWidth","component","variant","align","my","mt","container","item","md","xs","clsx","elevation","alt","src","gutterBottom","fullWidth","onClick","listStyle","textDecoration","isactive","active","contentli","borderLeft","SideBarMenu","loc","useLocation","getStartedButtonClick","undefined","apiKeyIds","style","pathname","RouterLink","to","target","marginBottom","marginLeft","Header","rest","separator","aria-label","Overview","subheader","footerList","lineHeight","Footer","ml","HashLink","href","xmlns","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","d","points","iconsMap","verification_api","AtSign","uk_postcode_api","Home","web_conversion_api","Monitor","data_conversion_api","Database","barcode_api","BarChart2","in_pincode_api","Search","popover","link","fontWeightMedium","icon","contrastText","APICatalogue","mobile","ref","useRef","useState","isOpen","setOpen","List","disablePadding","notification","Icon","ListItem","divider","ListItemAvatar","Avatar","SvgIcon","ListItemText","primary","ButtonBase","Link","underline","Popover","anchorOrigin","vertical","horizontal","paper","anchorEl","onClose","open","toolbar","logo","marginRight","drawer","drawerHeader","closeMenuButton","menuIcon","TopBar","drawerOpen","setDrawerOpen","productMenuOpen","setProductMenuOpen","toggleDrawer","handleMenuItemClick","menuItems","text","external","prevOpen","AppBar","Toolbar","Logo","Hidden","mdDown","Typography","smDown","Divider","Button","size","mdUp","IconButton","edge","Drawer","anchor","index","Fragment","button","length","REACT_APP_AUTH0_CLIENT_ID","REACT_APP_AUTH0_DOMAIN","REACT_APP_FIREBASE_API_KEY","REACT_APP_FIREBASE_APP_ID","REACT_APP_FIREBASE_AUTH_DOMAIN","REACT_APP_FIREBASE_DATABASE_URL","REACT_APP_FIREBASE_MESSAGING_SENDER_ID","REACT_APP_FIREBASE_PROJECT_ID","REACT_APP_FIREBASE_STORAGE_BUCKET","socialLoginConfig","google_app_id","REACT_APP_GG_APP_ID","github_app_id","REACT_APP_GITHUB_APP_ID","github_app_secret","REACT_APP_GITHUB_APP_SECRET","dashboard_postcode_api_url","dashboard_validate_email_api_url","dashboard_validate_phone_api_url","dashboard_validate_vat_api_url","dashboard_validate_ua_api_url","dashboard_web_conversion_api_url","dashboard_data_conversion_api_url","dashboard_india_pincode_api_url","dashboard_barcode_api_url","dashboard_ai_qrcode_api_url","dashboard_postcode_api_usage_plan","dashboard_validate_email_api_usage_plan","dashboard_validate_phone_api_usage_plan","dashboard_validate_vat_api_usage_plan","dashboard_validate_ua_api_usage_plan","dashboard_web_conversion_api_usage_plan","dashboard_data_conversion_api_usage_plan","dashboard_india_pincode_api_usage_plan","dashboard_barcode_api_usage_plan","dashboard_ai_qrcode_api_usage_plan","dashboard_postcode_api_demo_key","dashboard_validate_email_api_demo_key","dashboard_validate_phone_api_demo_key","dashboard_validate_vat_api_demo_key","dashboard_validate_ua_api_demo_key","dashboard_web_conversion_api_demo_key","dashboard_data_conversion_api_demo_key","dashboard_india_pincode_api_demo_key","dashboard_barcode_api_demo_key","dashboard_ai_qrcode_api_demo_key","stripe_apiKey","startup_pricing_table_id","sme_pricing_table_id","enterprise_pricing_table_id","THEMES","LIGHT","ONE_DARK","UNICORN","Page","forwardRef","description","keywords","canonicalURL","structuredJSON","location","sendPageViewEvent","useCallback","page_path","rel","property","useAuth","useContext","axiosMockAdapter","AxiosMockAdapter","delayResponse","mock","onGet","reply","apicatalogue","createdAt","moment","subtract","toDate","getTime","messages","Chart","helpers","extend","elements","Rectangle","prototype","draw","right","bottom","signX","signY","borderSkipped","radius","ctx","this","_chart","vm","_view","borderWidth","cornerRadius","config","options","base","x","y","barSize","Math","min","abs","halfStroke","borderRight","borderTop","borderBottom","beginPath","fillStyle","strokeStyle","borderColor","lineWidth","corners","startCorner","indexOf","cornerAt","corner","moveTo","i","nextCornerId","floor","xTl","xTr","yTl","yTr","xBl","xBr","yBl","yBr","lineTo","quadraticCurveTo","Boolean","hostname","match","defaultSettings","direction","responsiveFontSizes","storeSettings","settings","JSON","stringify","SettingsContext","saveSettings","SettingsProvider","currentSettings","setCurrentSettings","restoredSettings","storedData","parse","err","restoreSettings","document","dir","update","mergedSettings","Consumer","createStyles","boxSizing","html","body","GlobalStyles","useScrollReset","scrollTo","ScrollReset","black","outline","CookiesNotification","clarity","init","Cookies","Portal","set","GoogleAnalytics","Helmet","async","useSettings","strongShadows","baseOptions","h1","letterSpacing","h2","h3","h4","h5","h6","overline","overrides","MuiLinearProgress","overflow","MuiListItemIcon","minWidth","MuiChip","themesOptions","MuiInputBase","input","opacity","colors","blueGrey","indigo","shadows","hover","selected","disabled","disabledBackground","focus","itemLeaf","textTransform","buttonLeaf","NavItem","depth","Info","info","openProp","paddingLeft","disableGutters","Collapse","in","activeClassName","exact","defaultProps","sections","items","PieChartIcon","GridIcon","BarChart2Icon","AlternateEmailIcon","PhoneIcon","ShoppingBagIcon","ChromeIcon","HomeIcon","MapIcon","TrelloIcon","MapPinIcon","MonitorIcon","FileIcon","CodeIcon","FileTextIcon","FilePlusIcon","FileMinusIcon","SearchIcon","StopCircleIcon","ReceiptIcon","renderNavItems","acc","matchPath","path","reduceChildRoutes","mobileDrawer","desktopDrawer","avatar","NavBar","onMobileClose","openMobile","suppressScrollX","lgUp","p","textAlign","tier","section","ListSubheader","disableSticky","bgcolor","Account","enqueueSnackbar","useSnackbar","handleClose","handleLogout","Menu","keepMounted","PaperProps","getContentAnchorEl","MenuItem","PackageIcon","MessageIcon","TruckIcon","badge","marginTop","minHeight","onMobileNavOpen","wrapper","flex","breakpoints","up","contentContainer","DashboardLayout","isMobileNavOpen","setMobileNavOpen","MainLayout","Heading","Paragraph","Component","Blockquote","Code","fontFamily","CodeInline","components","ul","ol","li","blockquote","code","inlineCode","InlineCode","DocsLayout","Container","Benefits","Grid","SimpleSteps","browseButton","CTA","FAQS","down","valueContainer","label","Recommendation","justify","sm","heigh","BusinessBenefits","red","stepper","FreeTool","Card","CardActionArea","CardContent","catalogueData","Phone","ShoppingBag","Chrome","Map","MapPin","File","FileText","light","Catalogue","catalogue","dangerouslySetInnerHTML","__html","technologyIcon","image","perspectiveOrigin","transformStyle","perspective","transform","backfaceVisibility","Hero","logoContainer","flexWrap","logoBox","maxHeight","Companies","HomeView","datasteps","FilePlus","FileMinus","CustomStepConnector","withStyles","line","StepConnector","useCustomStepIconStyles","completed","Products","activeStep","CustomStepIcon","Stepper","connector","orientation","step","Step","StepLabel","StepIconComponent","ProductListView","APICatalogueView","FreeToolsView","LoadingScreen","NProgress","done","AuthGuard","GuestGuard","routes","lazy","guard","layout","jss","plugins","jssPreset","rtl","createBrowserHistory","App","themeOptions","warn","Error","createMuiTheme","createTheme","ThemeProvider","StylesProvider","utils","MomentUtils","dense","maxSnack","renderRoutes","fallback","route","Guard","Layout","render","enableES5","ReactDOM","getElementById","tab","pos","GetStartedClass","rgbToHex","DummyAPIkey","codeTag","GetStarted","React","loading","setLoading","timer","generateAPIKey","setTimeout","requestOptions","fetch","then","json","reload","apiKeyValue","primaryTypographyProps","startIcon","CircularProgress","desc","api","url","ValidatePhoneView","lg","xl"],"mappings":"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CP2B,KAAM,kCACNxY,UAAW+gB,gBAAK,kBAAM,qCAExB,CACElK,OAAO,EACP2B,KAAM,kCACNxY,UAAW+gB,gBAAK,kBAAM,qCAExB,CACElK,OAAO,EACP2B,KAAM,kCACNxY,UAAW+gB,gBAAK,kBAAM,qCAExB,CACElK,OAAO,EACP2B,KAAM,kCACNxY,UAAW+gB,gBAAK,kBAAM,qCAExB,CACElK,OAAO,EACP2B,KAAM,kCACNxY,UAAW+gB,gBAAK,kBAAM,qCAExB,CACElK,OAAO,EACP2B,KAAM,kCACNxY,UAAW+gB,gBAAK,kBAAM,qCAExB,CACElK,OAAO,EACP2B,KAAM,kCACNxY,UAAW+gB,gBAAK,kBAAM,qCAExB,CACElK,OAAO,EACP2B,KAAM,kCACNxY,UAAW+gB,gBAAK,kBAAM,qCAExB,CACElK,OAAO,EACP2B,KAAM,kCACNxY,UAAW+gB,gBAAK,kBAAM,qCAExB,CACElK,OAAO,EACP2B,KAAM,kCACNxY,UAAW+gB,gBAAK,kBAAM,qCAExB,CACElK,OAAO,EACP2B,KAAM,kCACNxY,UAAW+gB,gBAAK,kBAAM,qCAExB,CACElK,OAAO,EACP2B,KAAM,kCACNxY,UAAW+gB,gBAAK,kBAAM,qCAExB,CACElK,OAAO,EACP2B,KAAM,kCACNxY,UAAW+gB,gBAAK,kBAAM,qCAExB,CACElK,OAAO,EACP2B,KAAM,kCACNxY,UAAW+gB,gBAAK,kBAAM,qCAExB,CACElK,OAAO,EACP2B,KAAM,kCACNxY,UAAW+gB,gBAAK,kBAAM,qCAExB,CACElK,OAAO,EACP2B,KAAM,kCACNxY,UAAW+gB,gBAAK,kBAAM,qCAExB,CACElK,OAAO,EACP2B,KAAM,kCACNxY,UAAW+gB,gBAAK,kBAAM,qCAExB,CACElK,OAAO,EACP2B,KAAM,kCACNxY,UAAW+gB,gBAAK,kBAAM,qCAExB,CACElK,OAAO,EACP2B,KAAM,kCACNxY,UAAW+gB,gBAAK,kBAAM,qCAExB,CACElK,OAAO,EACP2B,KAAM,kCACNxY,UAAW+gB,gBAAK,kBAAM,qCAExB,CACElK,OAAO,EACP2B,KAAM,kCACNxY,UAAW+gB,gBAAK,kBAAM,qCAExB,CACElK,OAAO,EACP2B,KAAM,kCACNxY,UAAW+gB,gBAAK,kBAAM,qCAExB,CACElK,OAAO,EACP2B,KAAM,kCACNxY,UAAW+gB,gBAAK,kBAAM,qCAExB,CACElK,OAAO,EACP2B,KAAM,kCACNxY,UAAW+gB,gBAAK,kBAAM,qCAExB,CACElK,OAAO,EACP2B,KAAM,kCACNxY,UAAW+gB,gBAAK,kBAAM,qCAExB,CACElK,OAAO,EACP2B,KAAM,kCACNxY,UAAW+gB,gBAAK,kBAAM,qCAExB,CACElK,OAAO,EACP2B,KAAM,kCACNxY,UAAW+gB,gBAAK,kBAAM,qCAExB,CACElK,OAAO,EACP2B,KAAM,kCACNxY,UAAW+gB,gBAAK,kBAAM,qCAExB,CACElK,OAAO,EACP2B,KAAM,kCACNxY,UAAW+gB,gBAAK,kBAAM,qCAExB,CACElK,OAAO,EACP2B,KAAM,kCACNxY,UAAW+gB,gBAAK,kBAAM,qCAExB,CACElK,OAAO,EACP2B,KAAM,kCACNxY,UAAW+gB,gBAAK,kBAAM,qCAExB,CACElK,OAAO,EACP2B,KAAM,kCACNxY,UAAW+gB,gBAAK,kBAAM,qCAExB,CACElK,OAAO,EACP2B,KAAM,kCACNxY,UAAW+gB,gBAAK,kBAAM,qCAExB,CACElK,OAAO,EACP2B,KAAM,kCACNxY,UAAW+gB,gBAAK,kBAAM,qCAExB,CACElK,OAAO,EACP2B,KAAM,kCACNxY,UAAW+gB,gBAAK,kBAAM,qCAExB,CACElK,OAAO,EACP2B,KAAM,kCACNxY,UAAW+gB,gBAAK,kBAAM,qCAExB,CACElK,OAAO,EACP2B,KAAM,kCACNxY,UAAW+gB,gBAAK,kBAAM,qCAExB,CACElK,OAAO,EACP2B,KAAM,kCACNxY,UAAW+gB,gBAAK,kBAAM,qCAExB,CACElK,OAAO,EACP2B,KAAM,kCACNxY,UAAW+gB,gBAAK,kBAAM,qCAExB,CACElK,OAAO,EACP2B,KAAM,kCACNxY,UAAW+gB,gBAAK,kBAAM,qCAExB,CACElK,OAAO,EACP2B,KAAM,kCACNxY,UAAW+gB,gBAAK,kBAAM,qC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","file":"static/js/main.50051afd.chunk.js","sourcesContent":["import axios from 'axios';\n\nconst axiosInstance = axios.create();\n\n\nexport default axiosInstance;\n","import { createSlice } from '@reduxjs/toolkit';\nimport _ from 'lodash';\nimport axios from 'src/utils/axios';\n\nconst initialState = {\n events: [],\n isModalOpen: false,\n selectedEventId: null,\n selectedRange: null\n};\n\nconst slice = createSlice({\n name: 'calendar',\n initialState,\n reducers: {\n getEvents(state, action) {\n const { events } = action.payload;\n\n state.events = events;\n },\n createEvent(state, action) {\n const { event } = action.payload;\n\n state.events = [...state.events, event];\n },\n selectEvent(state, action) {\n const { eventId = null } = action.payload;\n\n state.isModalOpen = true;\n state.selectedEventId = eventId;\n },\n updateEvent(state, action) {\n const { event } = action.payload;\n\n state.events = _.map(state.events, (_event) => {\n if (_event.id === event.id) {\n return event;\n }\n\n return _event;\n });\n },\n deleteEvent(state, action) {\n const { eventId } = action.payload;\n\n state.events = _.reject(state.events, { id: eventId });\n },\n selectRange(state, action) {\n const { start, end } = action.payload;\n\n state.isModalOpen = true;\n state.selectedRange = {\n start,\n end\n };\n },\n openModal(state) {\n state.isModalOpen = true;\n },\n closeModal(state) {\n state.isModalOpen = false;\n state.selectedEventId = null;\n state.selectedRange = null;\n }\n }\n});\n\nexport const reducer = slice.reducer;\n\nexport const getEvents = () => async (dispatch) => {\n const response = await axios.get('/api/calendar/events');\n\n dispatch(slice.actions.getEvents(response.data));\n};\n\nexport const createEvent = (data) => async (dispatch) => {\n const response = await axios.post('/api/calendar/events/new', data);\n\n dispatch(slice.actions.createEvent(response.data));\n};\n\nexport const selectEvent = (eventId) => async (dispatch) => {\n dispatch(slice.actions.selectEvent({ eventId }));\n};\n\nexport const updateEvent = (eventId, update) => async (dispatch) => {\n const response = await axios.post('/api/calendar/events/update', {\n eventId,\n update\n });\n\n dispatch(slice.actions.updateEvent(response.data));\n};\n\nexport const deleteEvent = (eventId) => async (dispatch) => {\n await axios.post('/api/calendar/events/remove', {\n eventId\n });\n\n dispatch(slice.actions.deleteEvent({ eventId }));\n};\n\nexport const selectRange = (start, end) => (dispatch) => {\n dispatch(slice.actions.selectRange({\n start: start.getTime(),\n end: end.getTime()\n }));\n};\n\nexport const openModal = () => (dispatch) => {\n dispatch(slice.actions.openModal());\n};\n\nexport const closeModal = () => (dispatch) => {\n dispatch(slice.actions.closeModal());\n};\n\nexport default slice;\n","const objFromArray = (arr, key = 'id') => arr.reduce((accumulator, current) => {\n accumulator[current[key]] = current;\n return accumulator;\n}, {});\n\nexport default objFromArray;\n","import { createSlice } from '@reduxjs/toolkit';\nimport axios from 'src/utils/axios';\nimport objFromArray from 'src/utils/objFromArray';\n\nconst initialState = {\n activeThreadId: null,\n contacts: {\n byId: {},\n allIds: []\n },\n threads: {\n byId: {},\n allIds: []\n },\n participants: [],\n recipients: []\n};\n\nconst slice = createSlice({\n name: 'chat',\n initialState,\n reducers: {\n getContacts(state, action) {\n const { contacts } = action.payload;\n\n state.contacts.byId = objFromArray(contacts);\n state.contacts.allIds = Object.keys(state.contacts.byId);\n },\n getThreads(state, action) {\n const { threads } = action.payload;\n\n state.threads.byId = objFromArray(threads);\n state.threads.allIds = Object.keys(state.threads.byId);\n },\n getThread(state, action) {\n const { thread } = action.payload;\n\n if (thread) {\n state.threads.byId[thread.id] = thread;\n state.activeThreadId = thread.id;\n \n if (!state.threads.allIds.includes(thread.id)) {\n state.threads.allIds.push(thread.id);\n }\n } else {\n state.activeThreadId = null;\n }\n },\n markThreadAsSeen(state, action) {\n const { threadId } = action.payload;\n const thread = state.threads.byId[threadId];\n\n if (thread) {\n thread.unreadCount = 0;\n }\n },\n resetActiveThread(state) {\n state.activeThreadId = null;\n },\n getParticipants(state, action) {\n const { participants } = action.payload;\n\n state.participants = participants;\n },\n addRecipient(state, action) {\n const { recipient } = action.payload;\n const exists = state.recipients.find((_recipient) => _recipient.id === recipient.id);\n\n if (!exists) {\n state.recipients.push(recipient);\n }\n },\n removeRecipient(state, action) {\n const { recipientId } = action.payload;\n\n state.recipients = state.recipients.filter((recipient) => recipient.id !== recipientId);\n }\n }\n});\n\nexport const reducer = slice.reducer;\n\nexport const getContacts = () => async (dispatch) => {\n const response = await axios.get('/api/chat/contacts');\n\n dispatch(slice.actions.getContacts(response.data));\n};\n\nexport const getThreads = () => async (dispatch) => {\n const response = await axios.get('/api/chat/threads');\n\n dispatch(slice.actions.getThreads(response.data));\n};\n\nexport const getThread = (threadKey) => async (dispatch) => {\n const response = await axios.get('/api/chat/thread', {\n params: {\n threadKey\n }\n });\n\n dispatch(slice.actions.getThread(response.data));\n};\n\nexport const markThreadAsSeen = (threadId) => async (dispatch) => {\n await axios.get('/api/chat/thread/mark-as-seen', {\n params: {\n threadId\n }\n });\n\n dispatch(slice.actions.markThreadAsSeen({ threadId }));\n};\n\nexport const resetActiveThread = () => (dispatch) => {\n dispatch(slice.actions.resetActiveThread());\n};\n\nexport const getParticipants = (threadKey) => async (dispatch) => {\n const response = await axios.get('/api/chat/participants', {\n params: {\n threadKey\n }\n });\n\n dispatch(slice.actions.getParticipants(response.data));\n};\n\nexport const addRecipient = (recipient) => (dispatch) => {\n dispatch(slice.actions.addRecipient({ recipient }));\n};\n\nexport const removeRecipient = (recipientId) => (dispatch) => {\n dispatch(slice.actions.removeRecipient({ recipientId }));\n};\n\nexport default slice;\n","import { createSlice } from '@reduxjs/toolkit';\nimport _ from 'lodash';\nimport axios from 'src/utils/axios';\nimport objFromArray from 'src/utils/objFromArray';\n\nconst initialState = {\n isLoaded: false,\n lists: {\n byId: {},\n allIds: []\n },\n cards: {\n byId: {},\n allIds: []\n },\n members: {\n byId: {},\n allIds: []\n }\n};\n\nconst slice = createSlice({\n name: 'kanban',\n initialState,\n reducers: {\n getBoard(state, action) {\n const { board } = action.payload;\n\n state.lists.byId = objFromArray(board.lists);\n state.lists.allIds = Object.keys(state.lists.byId);\n state.cards.byId = objFromArray(board.cards);\n state.cards.allIds = Object.keys(state.cards.byId);\n state.members.byId = objFromArray(board.members);\n state.members.allIds = Object.keys(state.members.byId);\n state.isLoaded = true;\n },\n createList(state, action) {\n const { list } = action.payload;\n\n state.lists.byId[list.id] = list;\n state.lists.allIds.push(list.id);\n },\n updateList(state, action) {\n const { list } = action.payload;\n\n state.lists.byId[list.id] = list;\n },\n clearList(state, action) {\n const { listId } = action.payload;\n const { cardIds } = state.lists.byId[listId];\n\n state.lists.byId[listId].cardIds = [];\n state.cards.byId = _.omit(state.cards.byId, cardIds);\n _.pull(state.cards.allIds, ...cardIds);\n },\n deleteList(state, action) {\n const { listId } = action.payload;\n\n state.lists.byId = _.omit(state.lists.byId, listId);\n _.pull(state.lists.allIds, listId);\n },\n createCard(state, action) {\n const { card } = action.payload;\n\n state.cards.byId[card.id] = card;\n state.cards.allIds.push(card.id);\n state.lists.byId[card.listId].cardIds.push(card.id);\n },\n updateCard(state, action) {\n const { card } = action.payload;\n\n _.merge(state.cards.byId[card.id], card);\n },\n moveCard(state, action) {\n const { cardId, position, listId } = action.payload;\n const { listId: sourceListId } = state.cards.byId[cardId];\n\n // Remove card from source list\n _.pull(state.lists.byId[sourceListId].cardIds, cardId);\n\n // If listId arg exists, it means that\n // we have to add the card to the new list\n if (listId) {\n state.cards.byId[cardId].listId = listId;\n state.lists.byId[listId].cardIds.splice(position, 0, cardId);\n } else {\n state.lists.byId[sourceListId].cardIds.splice(position, 0, cardId);\n }\n },\n deleteCard(state, action) {\n const { cardId } = action.payload;\n const { listId } = state.cards.byId[cardId];\n\n state.cards.byId = _.omit(state.cards.byId, cardId);\n _.pull(state.cards.allIds, cardId);\n _.pull(state.lists.byId[listId].cardIds, cardId);\n },\n addComment(state, action) {\n const { comment } = action.payload;\n const card = state.cards.byId[comment.cardId];\n\n card.comments.push(comment);\n },\n addChecklist(state, action) {\n const { cardId, checklist } = action.payload;\n const card = state.cards.byId[cardId];\n\n card.checklists.push(checklist);\n },\n updateChecklist(state, action) {\n const { cardId, checklist } = action.payload;\n const card = state.cards.byId[cardId];\n\n card.checklists = _.map(card.checklists, (_checklist) => {\n if (_checklist.id === checklist.id) {\n return checklist;\n }\n\n return _checklist;\n });\n },\n deleteChecklist(state, action) {\n const { cardId, checklistId } = action.payload;\n const card = state.cards.byId[cardId];\n\n card.checklists = _.reject(card.checklists, { id: checklistId });\n },\n addCheckItem(state, action) {\n const { cardId, checklistId, checkItem } = action.payload;\n const card = state.cards.byId[cardId];\n\n _.assign(card, {\n checklists: _.map(card.checklists, (checklist) => {\n if (checklist.id === checklistId) {\n _.assign(checklist, {\n checkItems: [...checklist.checkItems, checkItem]\n });\n }\n\n return checklist;\n })\n });\n },\n updateCheckItem(state, action) {\n const {\n cardId,\n checklistId,\n checkItem\n } = action.payload;\n const card = state.cards.byId[cardId];\n\n card.checklists = _.map(card.checklists, (checklist) => {\n if (checklist.id === checklistId) {\n _.assign(checklist, {\n checkItems: _.map(checklist.checkItems, (_checkItem) => {\n if (_checkItem.id === checkItem.id) {\n return checkItem;\n }\n\n return _checkItem;\n })\n });\n }\n\n return checklist;\n });\n },\n deleteCheckItem(state, action) {\n const { cardId, checklistId, checkItemId } = action.payload;\n const card = state.cards.byId[cardId];\n\n card.checklists = _.map(card.checklists, (checklist) => {\n if (checklist.id === checklistId) {\n _.assign(checklist, {\n checkItems: _.reject(checklist.checkItems, { id: checkItemId })\n });\n }\n\n return checklist;\n });\n }\n }\n});\n\nexport const reducer = slice.reducer;\n\nexport const getBoard = () => async (dispatch) => {\n const response = await axios.get('/api/kanban/board');\n\n dispatch(slice.actions.getBoard(response.data));\n};\n\nexport const createList = (name) => async (dispatch) => {\n const response = await axios.post('/api/kanban/lists/new', {\n name\n });\n\n dispatch(slice.actions.createList(response.data));\n};\n\nexport const updateList = (listId, update) => async (dispatch) => {\n const response = await axios.post('/api/kanban/list/update', {\n listId,\n update\n });\n\n dispatch(slice.actions.updateList(response.data));\n};\n\nexport const clearList = (listId) => async (dispatch) => {\n await axios.post('/api/kanban/lists/clear', {\n listId\n });\n\n dispatch(slice.actions.clearList({ listId }));\n};\n\nexport const deleteList = (listId) => async (dispatch) => {\n await axios.post('/api/kanban/lists/remove', {\n listId\n });\n\n dispatch(slice.actions.deleteList({ listId }));\n};\n\nexport const createCard = (listId, name) => async (dispatch) => {\n const response = await axios.post('/api/kanban/cards/new', {\n listId,\n name\n });\n\n dispatch(slice.actions.createCard(response.data));\n};\n\nexport const updateCard = (cardId, update) => async (dispatch) => {\n const response = await axios.post('/api/kanban/cards/update', {\n cardId,\n update\n });\n\n dispatch(slice.actions.updateCard(response.data));\n};\n\nexport const moveCard = (cardId, position, listId) => async (dispatch) => {\n await axios.post('/api/kanban/cards/move', {\n cardId,\n position,\n listId\n });\n\n dispatch(slice.actions.moveCard({\n cardId,\n position,\n listId\n }));\n};\n\nexport const deleteCard = (cardId) => async (dispatch) => {\n await axios.post('/api/kanban/cards/remove', {\n cardId\n });\n\n dispatch(slice.actions.deleteCard({ cardId }));\n};\n\nexport const addComment = (cardId, message) => async (dispatch) => {\n const response = await axios.post('/api/kanban/comments/new', {\n cardId,\n message\n });\n\n dispatch(slice.actions.addComment(response.data));\n};\n\nexport const addChecklist = (cardId, name) => async (dispatch) => {\n const response = await axios.post('/api/kanban/checklists/new', {\n cardId,\n name\n });\n const { checklist } = response.data;\n\n dispatch(slice.actions.addChecklist({\n cardId,\n checklist\n }));\n};\n\nexport const updateChecklist = (cardId, checklistId, update) => async (dispatch) => {\n const response = await axios.post('/api/kanban/checklists/update', {\n cardId,\n checklistId,\n update\n });\n const { checklist } = response.data;\n\n dispatch(slice.actions.updateChecklist({\n cardId,\n checklist\n }));\n};\n\nexport const deleteChecklist = (cardId, checklistId) => async (dispatch) => {\n await axios.post('/api/kanban/checklists/remove', {\n cardId,\n checklistId\n });\n\n dispatch(slice.actions.deleteChecklist({\n cardId,\n checklistId\n }));\n};\n\nexport const addCheckItem = (cardId, checklistId, name) => async (dispatch) => {\n const response = await axios.post('/api/kanban/checkitems/new', {\n cardId,\n checklistId,\n name\n });\n const { checkItem } = response.data;\n\n dispatch(slice.actions.addCheckItem({\n cardId,\n checklistId,\n checkItem\n }));\n};\n\nexport const updateCheckItem = (cardId, checklistId, checkItemId, update) => async (dispatch) => {\n const response = await axios.post('/api/kanban/checkitems/update', {\n cardId,\n checklistId,\n checkItemId,\n update\n });\n const { checkItem } = response.data;\n\n dispatch(slice.actions.updateCheckItem({\n cardId,\n checklistId,\n checkItem\n }));\n};\n\nexport const deleteCheckItem = (cardId, checklistId, checkItemId) => async (dispatch) => {\n await axios.post('/api/kanban/checkitems/remove', {\n cardId,\n checklistId,\n checkItemId\n });\n\n dispatch(slice.actions.deleteCheckItem({\n cardId,\n checklistId,\n checkItemId\n }));\n};\n\nexport default slice;\n","import { createSlice } from '@reduxjs/toolkit';\nimport axios from 'src/utils/axios';\nimport objFromArray from 'src/utils/objFromArray';\n\nconst initialState = {\n mails: {\n byId: {},\n allIds: []\n },\n labels: [],\n isSidebarOpen: false,\n isComposeOpen: false\n};\n\nconst slice = createSlice({\n name: 'mail',\n initialState,\n reducers: {\n getLabels(state, action) {\n const { labels } = action.payload;\n\n state.labels = labels;\n },\n getMails(state, action) {\n const { mails } = action.payload;\n\n state.mails.byId = objFromArray(mails);\n state.mails.allIds = Object.keys(state.mails.byId);\n },\n getMail(state, action) {\n const { mail } = action.payload;\n\n state.mails.byId[mail.id] = mail;\n\n if (!state.mails.allIds.includes(mail.id)) {\n state.mails.allIds.push(mail.id);\n }\n },\n openSidebar(state) {\n state.isSidebarOpen = true;\n },\n closeSidebar(state) {\n state.isSidebarOpen = false;\n },\n openCompose(state) {\n state.isComposeOpen = true;\n },\n closeCompose(state) {\n state.isComposeOpen = false;\n }\n }\n});\n\nexport const reducer = slice.reducer;\n\nexport const getLabels = () => async (dispatch) => {\n const response = await axios.get('/api/mail/labels');\n\n dispatch(slice.actions.getLabels(response.data));\n};\n\nexport const getMails = (params) => async (dispatch) => {\n const response = await axios.get('/api/mail/mails', {\n params\n });\n\n dispatch(slice.actions.getMails(response.data));\n};\n\nexport const getMail = (mailId) => async (dispatch) => {\n const response = await axios.get('/api/mail/mail', {\n params: {\n mailId\n }\n });\n\n dispatch(slice.actions.getMail(response.data));\n};\n\nexport const openSidebar = () => async (dispatch) => {\n dispatch(slice.actions.openSidebar());\n};\n\nexport const closeSidebar = () => async (dispatch) => {\n dispatch(slice.actions.closeSidebar());\n};\n\nexport const openCompose = () => async (dispatch) => {\n dispatch(slice.actions.openCompose());\n};\n\nexport const closeCompose = () => async (dispatch) => {\n dispatch(slice.actions.closeCompose());\n};\n\nexport default slice;\n","import { combineReducers } from '@reduxjs/toolkit';\nimport { reducer as calendarReducer } from 'src/slices/calendar';\nimport { reducer as chatReducer } from 'src/slices/chat';\nimport { reducer as formReducer } from 'redux-form';\nimport { reducer as kanbanReducer } from 'src/slices/kanban';\nimport { reducer as mailReducer } from 'src/slices/mail';\nimport { reducer as notificationReducer } from 'src/slices/notification';\n\nconst rootReducer = combineReducers({\n calendar: calendarReducer,\n chat: chatReducer,\n form: formReducer,\n kanban: kanbanReducer,\n mail: mailReducer,\n notifications: notificationReducer\n});\n\nexport default rootReducer;\n","import { \n useDispatch as useReduxDispatch,\n useSelector as useReduxSelector\n} from 'react-redux';\nimport { configureStore } from '@reduxjs/toolkit';\nimport { ENABLE_REDUX_DEV_TOOLS } from 'src/constants';\nimport rootReducer from './rootReducer';\n\nconst store = configureStore({\n reducer: rootReducer,\n devTools: ENABLE_REDUX_DEV_TOOLS\n});\n\nexport const useSelector = useReduxSelector;\n\nexport const useDispatch = () => useReduxDispatch();\n\nexport default store;\n","const track = (...args) => {\n if (process.env.NODE_ENV !== 'production') {\n return;\n }\n\n if (!window.gtag) {\n return;\n }\n\n window.gtag(...args);\n};\n\nconst pageview = (props) => {\n track('config', process.env.REACT_APP_GA_MEASUREMENT_ID, props);\n};\n\nconst event = (type, props) => {\n track('event', type, props);\n};\n\nexport default {\n pageview,\n event\n};\n","import axios from 'axios';\n\nconst axiosInstance = axios.create();\n\naxiosInstance.interceptors.response.use(\n (response) => response,\n (error) => Promise.reject((error.response && error.response.data) || 'Something went wrong')\n);\n\nexport default axiosInstance;\n","import { createSlice } from '@reduxjs/toolkit';\nimport axios from 'src/utils/axios';\n\nconst initialState = {\n notifications: []\n};\n\nconst slice = createSlice({\n name: 'notifications',\n initialState,\n reducers: { \n getNotifications(state, action) {\n const { notifications } = action.payload;\n\n state.notifications = notifications;\n }\n }\n});\n\nexport const reducer = slice.reducer;\n\nexport const getNotifications = () => async (dispatch) => {\n const response = await axios.get('/api/notifications');\n // console.log(response.data);\n\n dispatch(slice.actions.getNotifications(response.data));\n};\n\nexport default slice;\n","import React from 'react';\nimport {\n Box,\n LinearProgress,\n makeStyles\n} from '@material-ui/core';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n alignItems: 'center',\n backgroundColor: theme.palette.background.default,\n display: 'flex',\n flexDirection: 'column',\n height: '100%',\n justifyContent: 'center',\n left: 0,\n padding: theme.spacing(3),\n position: 'fixed',\n top: 0,\n width: '100%',\n zIndex: 2000\n }\n}));\n\nconst SlashScreen = () => {\n const classes = useStyles();\n\n return (\n
\n \n \n \n
\n );\n}\n\nexport default SlashScreen;\n","import React, {\n createContext,\n useEffect,\n useReducer\n} from 'react';\nimport jwtDecode from 'jwt-decode';\nimport SplashScreen from 'src/components/SplashScreen';\nimport axiosInstance from 'src/utils/axiosInstance';\nimport { dashboardApiConfig } from 'src/config';\n\n//set dummy default header\nconst headers = {\n \"x-api-key\": dashboardApiConfig.dashboard_api_key\n}\n\nconst initialAuthState = {\n isAuthenticated: false,\n isInitialised: false,\n user: null\n};\n\nconst isValidToken = (accessToken) => {\n if (!accessToken) {\n return false;\n }\n\n const decoded = jwtDecode(accessToken);\n const currentTime = Date.now() / 1000;\n\n return decoded.exp > currentTime;\n};\n\nconst setSession = (accessToken, idToken) => {\n if (accessToken) {\n localStorage.setItem('accessToken', accessToken);\n localStorage.setItem('idToken', idToken);\n axiosInstance.defaults.headers.common.Authorization = `Bearer ${accessToken}`;\n axiosInstance.defaults.headers.common.Authorization = `Bearer ${idToken}`;\n } else {\n localStorage.removeItem('accessToken');\n localStorage.removeItem('idToken');\n delete axiosInstance.defaults.headers.common.Authorization;\n }\n};\n\nconst reducer = (state, action) => {\n switch (action.type) {\n case 'INITIALISE': {\n const { isAuthenticated, user } = action.payload;\n\n return {\n ...state,\n isAuthenticated,\n isInitialised: true,\n user\n };\n }\n case 'LOGIN': {\n const { user } = action.payload;\n\n return {\n ...state,\n isAuthenticated: true,\n user\n };\n }\n case 'LOGOUT': {\n return {\n ...state,\n isAuthenticated: false,\n user: null\n };\n }\n case 'REGISTER': {\n const { user } = action.payload;\n\n return {\n ...state,\n isAuthenticated: true,\n user\n };\n }\n default: {\n return { ...state };\n }\n }\n};\n\nconst AuthContext = createContext({\n ...initialAuthState,\n method: 'JWT',\n login: () => Promise.resolve(),\n sociallogin: () => Promise.resolve(),\n logout: () => { }, \n socialregister: () => Promise.resolve(),\n register: () => Promise.resolve()\n});\n\nexport const AuthProvider = ({ children }) => {\n const [state, dispatch] = useReducer(reducer, initialAuthState);\n\n\n const sociallogin = async (email) => {\n const apiResponse = await axiosInstance.post(dashboardApiConfig.dashboard_api_url + '/auth/socialsignin',\n {\n 'username': email\n },\n { headers: headers });\n\n const accessToken = apiResponse.data.AuthenticationResult.AccessToken;\n const idToken = apiResponse.data.AuthenticationResult.IdToken;\n const user = apiResponse.data.UserData;\n \n // console.log('LOGIN user ', apiResponse.data.UserData);\n setSession(accessToken, idToken);\n // console.log('JWTAuthContext userData ', user);\n dispatch({\n type: 'LOGIN',\n payload: {\n user\n }\n });\n };\n\n const login = async (email, password) => {\n const apiResponse = await axiosInstance.post(dashboardApiConfig.dashboard_api_url + '/auth/signin',\n {\n 'username': email,\n 'password': password\n },\n { headers: headers });\n\n const accessToken = apiResponse.data.AuthenticationResult.AccessToken;\n const idToken = apiResponse.data.AuthenticationResult.IdToken;\n const user = apiResponse.data.UserData;\n \n // console.log('LOGIN user ', apiResponse.data.UserData);\n setSession(accessToken, idToken);\n // console.log('JWTAuthContext userData ', user);\n dispatch({\n type: 'LOGIN',\n payload: {\n user\n }\n });\n };\n\n const logout = () => {\n setSession(null);\n dispatch({ type: 'LOGOUT' });\n };\n\n const socialregister = async (email, name) => {\n const response = await axiosInstance.post(dashboardApiConfig.dashboard_api_url + '/auth/socialsignup',\n {\n 'username': email\n },\n { headers: headers });\n const accessToken = response.data.AuthenticationResult.AccessToken;\n const user = response.data.UserData;\n // console.log('REGISTER user ',response.data.UserData);\n window.localStorage.setItem('accessToken', accessToken);\n\n dispatch({\n type: 'REGISTER',\n payload: {\n user\n }\n });\n };\n\n const register = async (email, name, password) => {\n const response = await axiosInstance.post(dashboardApiConfig.dashboard_api_url + '/auth/signup',\n {\n 'username': email,\n 'password': password\n },\n { headers: headers });\n const accessToken = response.data.AuthenticationResult.AccessToken;\n const user = response.data.UserData;\n // console.log('REGISTER user ',response.data.UserData);\n window.localStorage.setItem('accessToken', accessToken);\n\n dispatch({\n type: 'REGISTER',\n payload: {\n user\n }\n });\n };\n\n useEffect(() => {\n const initialise = async () => {\n try {\n const accessToken = window.localStorage.getItem('accessToken');\n const idToken = window.localStorage.getItem('idToken');\n\n if (accessToken && isValidToken(accessToken)) {\n setSession(accessToken, idToken);\n const apiResponse = await axiosInstance.post(dashboardApiConfig.dashboard_api_url + '/auth/aboutme',\n {\n 'idToken': idToken\n },\n { headers: headers });\n const user = apiResponse.data;\n // console.log('INITIALISE user ',apiResponse.data);\n dispatch({\n type: 'INITIALISE',\n payload: {\n isAuthenticated: true,\n user\n }\n });\n } else {\n dispatch({\n type: 'INITIALISE',\n payload: {\n isAuthenticated: false,\n user: null\n }\n });\n }\n } catch (err) {\n console.error(err);\n dispatch({\n type: 'INITIALISE',\n payload: {\n isAuthenticated: false,\n user: null\n }\n });\n }\n };\n\n initialise();\n }, []);\n\n if (!state.isInitialised) {\n return ;\n }\n\n return (\n \n {children}\n \n );\n};\n\nexport default AuthContext;","import React, { useState, useEffect } from \"react\";\nimport clsx from \"clsx\";\nimport PropTypes from \"prop-types\";\nimport {\n Box,\n Button,\n Container,\n Divider,\n Grid,\n Paper,\n Typography,\n hexToRgb,\n} from \"@material-ui/core\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport { useHistory } from \"react-router-dom\";\nimport track from 'src/utils/analytics';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n backgroundColor: theme.palette.background.dark,\n paddingTop: 74,\n paddingBottom: 74,\n flexGrow: 1,\n paddingBottom: theme.spacing(3),\n border: \"1px solid lightgray\",\n },\n lookupLabel: {\n backgroundColor: hexToRgb(\"#4CAF50\"),\n },\n title: {\n fontWeight: theme.typography.fontWeightRegular,\n },\n product: {\n position: \"relative\",\n padding: theme.spacing(5, 3),\n cursor: \"pointer\",\n transition: theme.transitions.create(\"transform\", {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.leavingScreen,\n }),\n },\n productImage: {\n borderRadius: theme.shape.borderRadius,\n position: \"absolute\",\n top: -24,\n left: theme.spacing(3),\n height: 48,\n width: 48,\n fontSize: 24,\n },\n recommendedProduct: {\n backgroundColor: theme.palette.secondary.main,\n color: theme.palette.common.white,\n },\n chooseButton: {\n backgroundColor: \"#bfbebe\",\n },\n dropbtn: {\n backgroundColor: hexToRgb(\"#4CAF50\"),\n color: \"white\",\n padding: 16,\n fontSize: 16,\n border: \"none\",\n cursor: \"pointer\",\n },\n content: {\n border: \"2px solid #dad6d6\",\n boxShadow: \"5px 10px 10px #dad6d6 \",\n },\n current: {\n margin: 60,\n border: \"2px solid #dad6d6\",\n boxShadow: \"5px 10px 10px #dad6d6 \",\n },\n cardHeading: {\n fontSize: 20,\n },\n\n hr: {\n color: theme.palette.common.white,\n },\n priceBox: {\n paddingRight: 60,\n },\n cardHeader: {\n color: hexToRgb(\"#787878\"),\n padding: 10,\n }, \n}));\n\nconst PricingView = () => {\n const classes = useStyles();\n\n const history = useHistory();\n \n useEffect(() => {\n track.event('apitier_pricing');\n }, []);\n\n function startupButtonClick() {\n track.event('apitier_startup_pricing');\n history.push(\"/pricing-plans-for-individual-developers-startups\");\n }\n function smeButtonClick() {\n track.event('apitier_sme_pricing');\n history.push(\"/pricing-plans-for-small-and-medium-business\");\n }\n function enterpriseButtonClick() {\n track.event('apitier_enterprise_pricing');\n history.push(\"/pricing-plans-for-enterprise-api-solutions\");\n }\n\n return (\n
\n \n \n Discover transparent pricing and start integrating today!!\n \n\n \n \n \n\n \n Business Pricing Plans\n \n\n \n \n\n \n \n \n \n\n \n StartUp\n \n \n \n \n \n \n Plans Suitable For The Individual Developers & Early Stage\n SartUps\n \n \n \n \n \n\n \n
\n Multi-tenant Cloud Environment\n
\n Basic Security Capabilities\n
\n Self Service Developer Portal\n
\n API Documentation\n
\n
\n\n \n \n \n\n \n Get Started Now\n \n
\n
\n
\n \n \n \n \n\n \n SME\n \n \n \n \n \n \n Plans Suitable For The Small & Medium Size Business\n \n \n \n \n \n\n \n
\n Multi-Tenant & Single-Tenant Cloud Environment\n
\n Hybrid Cloud Deployment\n
\n Advanced Security Capabilities\n
\n Self Service Developer Portal\n
\n API Documentation\n
\n SLA Agreements\n
\n Client Integration Support\n
\n
\n\n \n \n \n\n \n Get Started Now\n \n
\n
\n
\n \n \n \n \n\n \n Enterprise\n \n \n \n \n \n \n Plans Suitable For The Large Enterprises\n \n \n \n \n \n\n \n
\n Multi-Tenant & Single-Tenant Cloud Environment\n
\n Hybrid Cloud Deployment\n
\n On-Premises Deployment\n
\n Advanced Security Capabilities\n
\n Self Service Developer Portal\n
\n API Documentation\n
\n SLA Agreements\n
\n Client Integration Support\n
\n Enhanced Support\n
\n Support Bespoke Development & Custom UseCases\n
\n
\n\n \n \n \n\n \n Get Started Now\n \n
\n
\n
\n
\n
\n
\n
\n );\n};\n\nPricingView.propTypes = {\n data: PropTypes.any.isRequired,\n};\n\nexport default PricingView;\n","import React from 'react';\nimport {\n makeStyles,\n Card,\n CardContent,\n hexToRgb,\n Link\n} from '@material-ui/core';\nimport { useHistory, useLocation } from \"react-router-dom\";\nimport { Link as RouterLink } from 'react-router-dom';\nimport PropTypes from 'prop-types';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n flexGrow: 1,\n paddingBottom: theme.spacing(3)\n },\n cardHeader: {\n color: hexToRgb('#787878'),\n padding: 10,\n },\n content: {\n listStyle: 'none', textDecoration: 'none',\n padding: 10\n },\n\n isactive: {\n color: hexToRgb('#787878'),\n fontWeight: 500,\n padding: 5\n },\n active: {\n color: hexToRgb('#5850EC'),\n fontWeight: 500\n },\n contentli:{\n '&:visited':{\n borderLeft:'1px solid gray'\n }\n }\n}));\nconst SideBarMenu = ({ user }) => {\n\n const classes = useStyles();\n\n const history = useHistory();\n let loc = useLocation();\n\n function pricingButtonClick() {\n // history.push(\"/api/verification/validate-phone/pricing\");\n history.push(\"/api/pricing-plans\");\n }\n function securityButtonClick() {\n history.push(\"/api/verification/validate-phone/security\");\n }\n function subscriptionButtonClick() {\n history.push(\"/api/verification/validate-phone/subscription\");\n }\n function apiUsageButtonClick() {\n history.push(\"/api/verification/validate-phone/api-usage\");\n }\n function getStartedButtonClick() {\n history.push(\"/api/verification/validate-phone\")\n }\n function testApiButtonClick() {\n history.push(\"/api/verification/validate-phone/test-api\");\n }\n\n let content;\n if (user.apiKeyIds['validate-phone-api'] !== undefined) {\n content = \n } else {\n content = \n }\n\n return (\n
\n
\n \n \n {content}\n \n \n
\n
\n );\n};\nSideBarMenu.propTypes = {\n user: PropTypes.object.isRequired\n};\n\nexport default SideBarMenu;","import React from 'react';\nimport { Link as RouterLink } from 'react-router-dom';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport {\n Breadcrumbs,\n Grid,\n Link,\n Typography,\n makeStyles\n} from '@material-ui/core';\n\nimport NavigateNextIcon from '@material-ui/icons/NavigateNext';\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n action: {\n marginBottom: theme.spacing(1),\n '& + &': {\n marginLeft: theme.spacing(1)\n }\n }\n}));\n\nconst Header = ({ className, ...rest }) => {\n const classes = useStyles();\n\n return (\n \n \n }\n aria-label=\"breadcrumb\"\n >\n \n Verification API\n \n\n \n Validate Phone\n \n\n\n \n
\n {\n Validate Phone\n }\n\n
\n\n \n );\n};\n\nHeader.propTypes = {\n className: PropTypes.string\n};\n\nexport default Header;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport {\n Card,\n CardHeader,\n makeStyles,\n hexToRgb\n} from '@material-ui/core';\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n content: {\n margin: theme.spacing(2),\n color: hexToRgb(\"#546e7a\"),\n boxShadow: \"0 4px 7px 0 rgba(225 225 234)\",\n transition: \"0.3s\"\n },\n}));\n\nconst Overview = ({ className, ...rest }) => {\n const classes = useStyles();\n\n return (\n \n \n \n );\n};\n\nOverview.propTypes = {\n className: PropTypes.string\n};\n\nexport default Overview;\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport clsx from 'clsx';\r\nimport {\r\n Link,\r\n Box,\r\n Container,\r\n Grid,\r\n Typography,\r\n makeStyles\r\n} from '@material-ui/core';\r\nimport { Link as RouterLink } from 'react-router-dom';\r\nimport { HashLink } from 'react-router-hash-link';\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n backgroundColor: 'rgb(61, 56, 165)',\r\n paddingTop: 44,\r\n paddingBottom: 60\r\n },\r\n title: {\r\n fontWeight: theme.typography.fontWeightRegular\r\n },\r\n footerList: {\r\n color: 'white',\r\n display: 'block',\r\n lineHeight: 3,\r\n // fontSize:'0.9em'\r\n }\r\n}));\r\n\r\nconst Footer = ({ className, ...rest }) => {\r\n const classes = useStyles();\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Copyright © 2024\r\n \r\n \r\n Registered in England & Wales, number 07611451.\r\n

\r\n Authorised Ordnance Survey Solutions Partner.\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n Products\r\n \r\n \r\n VERIFICATION API\r\n \r\n \r\n UK POSTCODE API\r\n \r\n \r\n WEB CONVERSION\r\n \r\n \r\n DATA CONVERSION\r\n \r\n \r\n INDIA PinCode API\r\n \r\n \r\n QRCODE API\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Company\r\n \r\n \r\n \r\n Terms of Service\r\n \r\n \r\n Privacy Policy\r\n \r\n\r\n {/* \r\n \r\n Royal Mail User Licence\r\n \r\n */}\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n Free Tools\r\n \r\n \r\n\r\n Artistic QR Code Generator\r\n \r\n\r\n \r\n\r\n \r\n BarCode Generator\r\n \r\n\r\n \r\n\r\n QR Code Generator\r\n \r\n\r\n \r\n\r\n Resources\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n Developers\r\n \r\n \r\n \r\n\r\n Pricing Plans\r\n \r\n \r\n\r\n API Catalogue\r\n \r\n \r\n\r\n Documentation\r\n \r\n \r\n GitHub\r\n \r\n \r\n Blog\r\n \r\n \r\n API Status\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n Get in touch\r\n \r\n \r\n \r\n
\r\n \r\n  hello@apitier.com\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nFooter.propTypes = {\r\n className: PropTypes.string\r\n};\r\n\r\nexport default Footer;","import React, {\n useRef,\n useState,\n useEffect\n} from 'react';\nimport { Link as RouterLink } from 'react-router-dom';\nimport {\n Avatar,\n Link,\n List,\n ListItem,\n ListItemAvatar,\n ListItemText,\n Popover,\n SvgIcon,\n makeStyles,\n Box,\n ButtonBase,\n Hidden\n} from '@material-ui/core';\nimport { AiOutlineDown } from \"react-icons/ai\";\nimport {\n AtSign,\n Home,\n Monitor,\n Database,\n Search,\n BarChart2\n} from 'react-feather';\nimport { useDispatch, useSelector } from 'src/store';\nimport { getNotifications } from 'src/slices/notification';\n\nconst iconsMap = {\n verification_api: AtSign,\n uk_postcode_api: Home,\n web_conversion_api: Monitor,\n data_conversion_api: Database,\n barcode_api: BarChart2,\n in_pincode_api: Search\n};\n\nconst useStyles = makeStyles((theme) => ({\n popover: {\n width: 320\n },\n link: {\n fontWeight: theme.typography.fontWeightMedium,\n '& + &': {\n marginLeft: theme.spacing(2)\n }\n },\n icon: { \n backgroundColor: theme.palette.secondary.main,\n color: theme.palette.secondary.contrastText\n }\n}));\n\nconst APICatalogue = ({ mobile }) => {\n const classes = useStyles();\n const { notifications } = useSelector((state) => state.notifications);\n const ref = useRef(null);\n const dispatch = useDispatch();\n const [isOpen, setOpen] = useState(false);\n\n const handleOpen = () => {\n setOpen(true);\n };\n\n const handleClose = () => {\n setOpen(false);\n };\n\n useEffect(() => {\n dispatch(getNotifications());\n }, [dispatch]);\n\n if (mobile) {\n return (\n \n {notifications.map((notification) => {\n const Icon = iconsMap[notification.type];\n\n return (\n \n \n \n \n \n \n \n \n \n \n );\n })}\n \n );\n }\n\n return (\n <>\n \n \n Products \n \n \n\n \n \n {notifications.map((notification) => {\n const Icon = iconsMap[notification.type];\n\n return (\n \n \n \n \n \n \n \n \n \n \n );\n })}\n \n \n \n );\n};\n\nexport default APICatalogue;\n","import React, { useState } from 'react';\nimport { Link as RouterLink } from 'react-router-dom';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport {\n AppBar,\n Box,\n Button,\n Drawer,\n IconButton,\n List,\n ListItem,\n ListItemText,\n Toolbar,\n Hidden,\n Typography,\n Link,\n Divider,\n makeStyles\n} from '@material-ui/core';\nimport MenuIcon from '@material-ui/icons/Menu';\nimport CloseIcon from '@material-ui/icons/Close';\nimport Logo from 'src/components/Logo';\nimport APICatalogue from './APICatalogue';\n\nconst drawerWidth = 290;\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n backgroundColor: theme.palette.background.default\n },\n toolbar: {\n height: 64\n },\n logo: {\n marginRight: theme.spacing(2)\n },\n link: {\n fontWeight: theme.typography.fontWeightMedium,\n '& + &': {\n marginLeft: theme.spacing(2)\n }\n },\n divider: {\n width: 1,\n height: 32,\n marginLeft: theme.spacing(2),\n marginRight: theme.spacing(2)\n },\n drawer: {\n width: drawerWidth,\n padding: theme.spacing(2),\n paddingTop: theme.spacing(3) \n },\n drawerHeader: {\n display: 'flex',\n alignItems: 'center',\n padding: theme.spacing(1),\n justifyContent: 'space-between',\n },\n closeMenuButton: {\n marginLeft: 'auto',\n },\n menuIcon: {\n marginLeft: 'auto',\n },\n}));\n\nconst TopBar = ({ className, ...rest }) => {\n const classes = useStyles();\n const [drawerOpen, setDrawerOpen] = useState(false);\n const [productMenuOpen, setProductMenuOpen] = useState(false); \n\n const toggleDrawer = (open) => () => {\n setDrawerOpen(open);\n };\n\n const toggleProductMenu = () => {\n setProductMenuOpen((prevOpen) => !prevOpen);\n };\n\n const handleMenuItemClick = () => {\n setDrawerOpen(false); \n };\n\n const menuItems = [\n { text: 'AI QRCode', link: 'https://ai.qrcodes.apitier.com/login', external: true },\n { text: 'Free Tools', link: '/free-tools' },\n { text: 'Products', link: '#', onClick: toggleProductMenu }, \n { text: 'Pricing', link: '/pricing-plans' },\n { text: 'Blog', link: 'https://blog.apitier.com/', external: true },\n { text: 'Sign In', link: '/signin' },\n { text: 'Sign Up', link: '/signup' }\n ];\n\n return (\n \n \n \n \n \n \n \n \n \n\n \n\n \n \n AI QRCode\n \n \n \n Free Tools\n \n\n \n \n \n\n \n Pricing\n \n\n \n Blog\n \n\n \n Sign In\n \n \n \n Sign Up\n \n \n\n \n \n \n \n \n \n\n \n \n
\n \n \n \n \n \n \n
\n \n \n {menuItems.map((item, index) => (\n \n \n \n \n {index === 2 && productMenuOpen && ( \n \n \n \n )}\n {index < menuItems.length - 1 && }\n \n ))}\n \n \n
\n \n );\n};\n\nTopBar.propTypes = {\n className: PropTypes.string\n};\n\nexport default TopBar;\n","export const auth0Config = {\n client_id: process.env.REACT_APP_AUTH0_CLIENT_ID,\n domain: process.env.REACT_APP_AUTH0_DOMAIN\n};\n\nexport const firebaseConfig = {\n apiKey: process.env.REACT_APP_FIREBASE_API_KEY,\n appId: process.env.REACT_APP_FIREBASE_APP_ID,\n authDomain: process.env.REACT_APP_FIREBASE_AUTH_DOMAIN,\n databaseURL: process.env.REACT_APP_FIREBASE_DATABASE_URL,\n messagingSenderId: process.env.REACT_APP_FIREBASE_MESSAGING_SENDER_ID,\n projectId: process.env.REACT_APP_FIREBASE_PROJECT_ID,\n storageBucket: process.env.REACT_APP_FIREBASE_STORAGE_BUCKET\n};\n\nexport const socialLoginConfig = { \n google_app_id: process.env.REACT_APP_GG_APP_ID,\n github_app_id: process.env.REACT_APP_GITHUB_APP_ID,\n github_app_secret: process.env.REACT_APP_GITHUB_APP_SECRET\n};\n\n\nexport const dashboardApiConfig = {\n dashboard_api_url: process.env.REACT_APP_DASHBOARD_API_URL,\n dashboard_api_key: process.env.REACT_APP_DASHBOARD_API_KEY,\n dashboard_postcode_api_url: process.env.REACT_APP_POSTCODE_API_URL,\n dashboard_validate_email_api_url: process.env.REACT_APP_VALIDATE_EMAIL_API_URL,\n dashboard_validate_phone_api_url: process.env.REACT_APP_VALIDATE_PHONE_API_URL,\n dashboard_validate_vat_api_url: process.env.REACT_APP_VALIDATE_VAT_API_URL,\n dashboard_validate_ua_api_url: process.env.REACT_APP_VALIDATE_UA_API_URL,\n dashboard_web_conversion_api_url: process.env.REACT_APP_WEB_CONVERSION_API_URL,\n dashboard_data_conversion_api_url: process.env.REACT_APP_DATA_CONVERSION_API_URL,\n dashboard_india_pincode_api_url: process.env.REACT_APP_INDIA_PINCODE_API_URL,\n dashboard_barcode_api_url: process.env.REACT_APP_BARCODE_API_URL,\n dashboard_ai_qrcode_api_url: process.env.REACT_APP_AI_QRCODE_API_URL,\n\n dashboard_postcode_api_usage_plan: process.env.REACT_APP_POSTCODE_API_USAGE_PLAN,\n dashboard_validate_email_api_usage_plan: process.env.REACT_APP_VALIDATE_EMAIL_API_USAGE_PLAN,\n dashboard_validate_phone_api_usage_plan: process.env.REACT_APP_VALIDATE_PHONE_API_USAGE_PLAN,\n dashboard_validate_vat_api_usage_plan: process.env.REACT_APP_VALIDATE_VAT_API_USAGE_PLAN,\n dashboard_validate_ua_api_usage_plan: process.env.REACT_APP_VALIDATE_UA_API_USAGE_PLAN,\n dashboard_web_conversion_api_usage_plan: process.env.REACT_APP_WEB_CONVERSION_API_USAGE_PLAN,\n dashboard_data_conversion_api_usage_plan: process.env.REACT_APP_DATA_CONVERSION_API_USAGE_PLAN,\n dashboard_india_pincode_api_usage_plan: process.env.REACT_APP_INDIA_PINCODE_API_USAGE_PLAN,\n dashboard_barcode_api_usage_plan: process.env.REACT_APP_BARCODE_API_USAGE_PLAN,\n dashboard_ai_qrcode_api_usage_plan: process.env.REACT_APP_AI_QRCODE_API_USAGE_PLAN,\n\n dashboard_postcode_api_demo_key: process.env.REACT_APP_POSTCODE_API_DEMO_KEY,\n dashboard_validate_email_api_demo_key: process.env.REACT_APP_VALIDATE_EMAIL_API_DEMO_KEY,\n dashboard_validate_phone_api_demo_key: process.env.REACT_APP_VALIDATE_PHONE_API_DEMO_KEY,\n dashboard_validate_vat_api_demo_key: process.env.REACT_APP_VALIDATE_VAT_API_DEMO_KEY,\n dashboard_validate_ua_api_demo_key: process.env.REACT_APP_VALIDATE_UA_API_DEMO_KEY,\n dashboard_web_conversion_api_demo_key: process.env.REACT_APP_WEB_CONVERSION_API_DEMO_KEY,\n dashboard_data_conversion_api_demo_key: process.env.REACT_APP_DATA_CONVERSION_API_DEMO_KEY,\n dashboard_india_pincode_api_demo_key: process.env.REACT_APP_INDIA_PINCODE_API_DEMO_KEY,\n dashboard_barcode_api_demo_key: process.env.REACT_APP_BARCODE_API_DEMO_KEY,\n dashboard_ai_qrcode_api_demo_key: process.env.REACT_APP_AI_QRCODE_API_DEMO_KEY,\n\n stripe_apiKey: process.env.REACT_APP_STRIPE_API_KEY,\n startup_pricing_table_id: process.env.REACT_APP_STARTUP_PRICING_TABLE_ID,\n sme_pricing_table_id: process.env.REACT_APP_SME_PRICING_TABLE_ID,\n enterprise_pricing_table_id: process.env.REACT_APP_ENTERPRISE_PRICING_TABLE_ID\n};\n","export const APP_VERSION = 'v1';\n\nexport const ENABLE_REDUX_DEV_TOOLS = true;\n\nexport const THEMES = {\n LIGHT: 'LIGHT',\n ONE_DARK: 'ONE_DARK',\n UNICORN: 'UNICORN'\n};\n","import React from 'react';\n\nconst Logo = (props) => {\n return (\n \n );\n}\n\nexport default Logo;\n","import React, {\n forwardRef,\n useEffect,\n useCallback\n} from 'react';\nimport { Helmet } from 'react-helmet';\nimport { useLocation } from 'react-router-dom';\nimport PropTypes from 'prop-types';\nimport track from 'src/utils/analytics';\n\nconst Page = forwardRef(({\n children,\n title = '',\n description ='',\n keywords='',\n canonicalURL ='',\n structuredJSON = '',\n ...rest\n}, ref) => {\n const location = useLocation();\n\n const sendPageViewEvent = useCallback(() => {\n track.pageview({\n page_path: location.pathname\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n\n useEffect(() => {\n sendPageViewEvent();\n }, [sendPageViewEvent]);\n\n return (\n \n\n \n {title}\n \n \n \n \n \n \n \n\n \n {children}\n \n );\n});\n\nPage.propTypes = {\n children: PropTypes.node.isRequired,\n title: PropTypes.string,\n description: PropTypes.string,\n keywords: PropTypes.string,\n canonicalURL: PropTypes.string,\n structuredJSON: PropTypes.string\n\n};\n\nexport default Page;\n","import { useContext } from 'react';\nimport AuthContext from 'src/contexts/JWTAuthContext';\n\nconst useAuth = () => useContext(AuthContext);\n\nexport default useAuth;\n","import AxiosMockAdapter from 'axios-mock-adapter';\nimport axios from './axios';\n\nconst axiosMockAdapter = new AxiosMockAdapter(axios, { delayResponse: 0 });\n\nexport default axiosMockAdapter;\n","import mock from 'src/utils/mock';\n\nconst notifications = [\n {\n id: '5e8883f1b51cc1956a5a1ec0',\n title: 'Verification API',\n type: 'verification_api',\n link: '/api-products#verification-api'\n },\n {\n id: '5e8883f7ed1486d665d8be1f',\n title: 'UK PostCode API',\n type: 'uk_postcode_api',\n link: '/api-products#uk-postcode-api'\n },\n {\n id: '5e8883f7ed1486d665d8be1e',\n title: 'WEB Conversion API',\n type: 'web_conversion_api',\n link: '/api-products#web-conversion-api'\n },\n {\n id: '5e8883fca0e8612044248ecf',\n title: 'DATA Conversion API',\n type: 'data_conversion_api',\n link: '/api-products#data-conversion-api'\n },\n {\n id: '5e8883fca0e8612044248ece',\n title: 'INDIA PinCode API',\n type: 'in_pincode_api',\n link: '/api-products#india-pincode-api'\n },\n {\n id: '5e8883fca0e8612044248ecd',\n title: 'QRCODE API',\n type: 'barcode_api',\n link: '/api-products#barcode-api'\n },\n\n];\n\n\nmock.onGet('/api/notifications').reply(200, { notifications });\n\n","import moment from 'moment';\nimport mock from 'src/utils/mock';\n\nconst apicatalogue = [\n {\n id: '5e8883f1b51cc1956a5a1ec0',\n createdAt: moment()\n .subtract(2, 'hours')\n .toDate()\n .getTime(),\n description: 'Dummy text',\n title: 'PostCode Lookup APi',\n type: 'order_placed'\n },\n {\n id: '5e8883f7ed1486d665d8be1e',\n createdAt: moment()\n .subtract(1, 'day')\n .toDate()\n .getTime(),\n description: 'You have 32 unread messages',\n title: 'Address Lookup API',\n type: 'new_message'\n },\n {\n id: '5e8883fca0e8612044248ecf',\n createdAt: moment()\n .subtract(3, 'days')\n .toDate()\n .getTime(),\n description: 'Dummy text',\n title: 'Your item is shipped',\n type: 'item_shipped'\n },\n {\n id: '5e88840187f6b09b431bae68',\n createdAt: moment()\n .subtract(7, 'days')\n .toDate()\n .getTime(),\n description: 'You have 32 unread messages',\n title: 'New message received',\n type: 'new_message'\n }\n];\n\nmock.onGet('/api/apicatalogue').reply(200, { apicatalogue });\n","import mock from 'src/utils/mock';\n\nconst messages = [\n {\n id: '5e8883f1b51cc1956a5a1ec0',\n title: 'Validate Email API',\n type: 'verification_api',\n description : 'Validate email addresses quickly and accurately with our reliable Email Validate API. Our powerful API tool instantly verifies email addresses to protect you from bounces, spam traps, and disposable domains. Get started for free today!',\n link: '/api-catalogue/validate-email-api'\n },\n {\n id: '5e8883f1b51cc1956a5a1ec1',\n title: 'Validate Phone API',\n type: 'verification_api',\n description : 'Instantly verify & validate telephone numbers with Phone Validator. Our comprehensive platform checks phone numbers against multiple global databases, helping you to identify valid and invalid contacts quickly and accurately. Get started today for reliable results every time.',\n link: '/api-catalogue/validate-phone-api'\n },\n {\n id: '5e8883f1b51cc1956a5a1ec2',\n title: 'VAT Number Validation API',\n type: 'verification_api',\n description : 'Checking and validating VAT numbers is an important part of any business. It helps to ensure that you are dealing with legitimate companies and not fraudsters. To do this, you need to find reliable online resources that can provide accurate information about VAT numbers.',\n link: '/api-catalogue/validate-vat-api'\n },\n {\n id: '5e8883f1b51cc1956a5a1ec3',\n title: 'User Agent Parser API',\n type: 'verification_api',\n description : 'Instantly identify the browsers, operating systems, and devices used by your users to ensure your web applications are optimized for maximum compatibility and performance.',\n link: '/api-catalogue/validate-useragent-api'\n },\n\n {\n id: '5e8883f7ed1486d665d8be1f',\n title: 'PostCode Lookup API',\n type: 'uk_postcode_api',\n description : 'Get the most accurate and up-to-date postcode data with our industry-leading Postcode Data Platform. We provide comprehensive coverage, instant access, and reliable data to enhance your customer experience. Our platform is trusted by businesses worldwide for its accuracy',\n link: '/api-catalogue/postcode-lookup-api'\n },\n {\n id: '5e8883f7ed1486d665d8be1f',\n title: 'Address AutoSuggest API',\n type: 'uk_postcode_api',\n description : 'Get accurate and real-time address suggestions with our Address AutoSuggest API. Our API is designed to provide quick and reliable address autocomplete for any website or application. With our simple integration, you can give your users a smoother checkout experience and reduce',\n link: '/api-catalogue/address-autosuggest-api'\n },\n {\n id: '5e8883f7ed1486d665d8be1f',\n title: 'Address Lookup API',\n type: 'uk_postcode_api',\n description : 'Get the most accurate address data with our free Address Lookup API. Our powerful, reliable, and easy-to-use API provides businesses with comprehensive address validation and verification capabilities. Get started today with free access to our secure and fast API.',\n link: '/api-catalogue/address-lookup-api'\n },\n \n\n {\n id: '5e8883f7ed1486d665d8be1e',\n title: 'ScreenShot API',\n type: 'web_conversion_api',\n description : 'Need to take screenshots quickly and easily? Our Screenshot API makes it simple. Get detailed screenshots of web pages, capture website elements, and track changes over time. Get the most out of your screenshot needs with our easy-to-use API.',\n link: '/api-catalogue/screenshot-api'\n },\n {\n id: '5e8883f7ed1486d665d8be1f',\n title: 'WEB To PDF API',\n type: 'web_conversion_api',\n description : 'Capture screenshots of any web page or PDF document in seconds with our simple online tool. Easily share screenshots for online meetings, presentations, or education purposes with our easy-to-use interface. Get started now and quickly take screenshots with ease.',\n link: '/api-catalogue/web-to-pdf-api'\n },\n {\n id: '5e8883f7ed1486d665d8be1g',\n title: 'WEB To TEXT API',\n type: 'web_conversion_api',\n description : 'Web Content Extractor is a powerful web scraping tool that helps you extract text, images, and other data from websites and HTML documents. Get the content you want quickly and easily, without the need for manual copy-and-paste.',\n link: '/api-catalogue/web-to-text-api'\n },\n {\n id: '5e8883f7ed1486d665d8be1h',\n title: 'WebScrape API',\n type: 'web_conversion_api',\n description : 'Get the most out of your data with WebScrape API. Our cloud-based platform helps you easily extract, transform, and analyze data from any website or web page. Get started with our easy-to-use interface and sophisticated extraction tool',\n link: 'api-catalogue/web-scrape-api'\n },\n \n {\n id: '5e8883fca0e8612044248eci',\n title: 'DATA Conversion API',\n type: 'data_conversion_api',\n description : 'Transform any data format into the format you need with our expert data conversion services. Our team of experts can convert your data from one format to another quickly, accurately, and securely. Get started now and access the highest quality data conversion services.',\n link: '/api-catalogue/data-conversion-api'\n },\n \n {\n id: '5e8883fca0e8612044248ece',\n title: 'INDIA PinCode API',\n type: 'in_pincode_api',\n description : 'Find accurate pincodes in India easily with our free Pincode API. Quickly get the postal code of any location in India with a few simple clicks. Save time and resources by using our reliable, updated pincode database.',\n link: '/api-catalogue/india-pincode-api'\n },\n \n {\n id: '5e8883fca0e8612044248ecd',\n title: 'BarCode Generator API',\n type: 'barcode_api',\n description : 'BarCode Generator API is the ultimate solution for your business barcode needs. Our easy-to-use platform allows you to quickly generate industry-standard barcodes that are perfect for printing, scanning, and managing inventory. Try it now and see how',\n link: '/api-catalogue/barcode-api'\n },\n {\n id: '5e8883fca0e8612044248ecb',\n title: 'Generate QR Code API',\n type: 'barcode_api',\n description : 'Generate high-quality, secure QR Codes quickly and easily with our generate QR Code API. Our easy-to-use platform lets you create custom codes with your own branding, data, and design. Get started today and get the most out of',\n link: '/api-catalogue/qrcode-api'\n },\n\n];\n\nmock.onGet('/api/messages').reply(200, { messages });\n","import { Chart } from 'react-chartjs-2';\n\n// ChartJS extension rounded bar chart\n// https://codepen.io/jedtrow/full/ygRYgo\nfunction draw() {\n const { ctx } = this._chart;\n const vm = this._view;\n let { borderWidth } = vm;\n\n let left;\n let right;\n let top;\n let bottom;\n let signX;\n let signY;\n let borderSkipped;\n let radius;\n\n // If radius is less than 0 or is large enough to cause drawing errors a max\n // radius is imposed. If cornerRadius is not defined set it to 0.\n let { cornerRadius } = this._chart.config.options;\n if (cornerRadius < 0) {\n cornerRadius = 0;\n }\n\n if (typeof cornerRadius === 'undefined') {\n cornerRadius = 0;\n }\n\n if (!vm.horizontal) {\n // bar\n left = vm.x - vm.width / 2;\n right = vm.x + vm.width / 2;\n top = vm.y;\n bottom = vm.base;\n signX = 1;\n signY = bottom > top ? 1 : -1;\n borderSkipped = vm.borderSkipped || 'bottom';\n } else {\n // horizontal bar\n left = vm.base;\n right = vm.x;\n top = vm.y - vm.height / 2;\n bottom = vm.y + vm.height / 2;\n signX = right > left ? 1 : -1;\n signY = 1;\n borderSkipped = vm.borderSkipped || 'left';\n }\n\n // Canvas doesn't allow us to stroke inside the width so we can\n // adjust the sizes to fit if we're setting a stroke on the line\n if (borderWidth) {\n // borderWidth shold be less than bar width and bar height.\n const barSize = Math.min(Math.abs(left - right), Math.abs(top - bottom));\n borderWidth = borderWidth > barSize ? barSize : borderWidth;\n const halfStroke = borderWidth / 2;\n // Adjust borderWidth when bar top position is near vm.base(zero).\n const borderLeft = left + (borderSkipped !== 'left' ? halfStroke * signX : 0);\n const borderRight = right + (borderSkipped !== 'right' ? -halfStroke * signX : 0);\n const borderTop = top + (borderSkipped !== 'top' ? halfStroke * signY : 0);\n const borderBottom = bottom + (borderSkipped !== 'bottom' ? -halfStroke * signY : 0);\n // not become a vertical line?\n if (borderLeft !== borderRight) {\n top = borderTop;\n bottom = borderBottom;\n }\n // not become a horizontal line?\n if (borderTop !== borderBottom) {\n left = borderLeft;\n right = borderRight;\n }\n }\n\n ctx.beginPath();\n ctx.fillStyle = vm.backgroundColor;\n ctx.strokeStyle = vm.borderColor;\n ctx.lineWidth = borderWidth;\n\n // Corner points, from bottom-left to bottom-right clockwise\n // | 1 2 |\n // | 0 3 |\n const corners = [[left, bottom], [left, top], [right, top], [right, bottom]];\n\n // Find first (starting) corner with fallback to 'bottom'\n const borders = ['bottom', 'left', 'top', 'right'];\n let startCorner = borders.indexOf(borderSkipped, 0);\n if (startCorner === -1) {\n startCorner = 0;\n }\n\n function cornerAt(index) {\n return corners[(startCorner + index) % 4];\n }\n\n // Draw rectangle from 'startCorner'\n let corner = cornerAt(0);\n ctx.moveTo(corner[0], corner[1]);\n\n for (let i = 1; i < 4; i += 1) {\n corner = cornerAt(i);\n let nextCornerId = i + 1;\n if (nextCornerId === 4) {\n nextCornerId = 0;\n }\n\n const width = corners[2][0] - corners[1][0];\n const height = corners[0][1] - corners[1][1];\n const x = corners[1][0];\n const y = corners[1][1];\n\n radius = cornerRadius;\n // Fix radius being too large\n if (radius > Math.abs(height) / 2) {\n radius = Math.floor(Math.abs(height) / 2);\n }\n if (radius > Math.abs(width) / 2) {\n radius = Math.floor(Math.abs(width) / 2);\n }\n\n if (height < 0) {\n // Negative values in a standard bar chart\n const xTl = x;\n const xTr = x + width;\n const yTl = y + height;\n const yTr = y + height;\n\n const xBl = x;\n const xBr = x + width;\n const yBl = y;\n const yBr = y;\n\n // Draw\n ctx.moveTo(xBl + radius, yBl);\n ctx.lineTo(xBr - radius, yBr);\n ctx.quadraticCurveTo(xBr, yBr, xBr, yBr - radius);\n ctx.lineTo(xTr, yTr + radius);\n ctx.quadraticCurveTo(xTr, yTr, xTr - radius, yTr);\n ctx.lineTo(xTl + radius, yTl);\n ctx.quadraticCurveTo(xTl, yTl, xTl, yTl + radius);\n ctx.lineTo(xBl, yBl - radius);\n ctx.quadraticCurveTo(xBl, yBl, xBl + radius, yBl);\n } else if (width < 0) {\n // Negative values in a horizontal bar chart\n const xTl = x + width;\n const xTr = x;\n const yTl = y;\n const yTr = y;\n\n const xBl = x + width;\n const xBr = x;\n const yBl = y + height;\n const yBr = y + height;\n\n // Draw\n ctx.moveTo(xBl + radius, yBl);\n ctx.lineTo(xBr - radius, yBr);\n ctx.quadraticCurveTo(xBr, yBr, xBr, yBr - radius);\n ctx.lineTo(xTr, yTr + radius);\n ctx.quadraticCurveTo(xTr, yTr, xTr - radius, yTr);\n ctx.lineTo(xTl + radius, yTl);\n ctx.quadraticCurveTo(xTl, yTl, xTl, yTl + radius);\n ctx.lineTo(xBl, yBl - radius);\n ctx.quadraticCurveTo(xBl, yBl, xBl + radius, yBl);\n } else {\n // Positive Value\n ctx.moveTo(x + radius, y);\n ctx.lineTo(x + width - radius, y);\n ctx.quadraticCurveTo(x + width, y, x + width, y + radius);\n ctx.lineTo(x + width, y + height - radius);\n ctx.quadraticCurveTo(\n x + width,\n y + height,\n x + width - radius,\n y + height\n );\n ctx.lineTo(x + radius, y + height);\n ctx.quadraticCurveTo(x, y + height, x, y + height - radius);\n ctx.lineTo(x, y + radius);\n ctx.quadraticCurveTo(x, y, x + radius, y);\n }\n }\n\n ctx.fill();\n if (borderWidth) {\n ctx.stroke();\n }\n}\n\nChart.helpers.extend(Chart.elements.Rectangle.prototype, {\n draw\n});\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 projection, 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 http://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(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'projection' && '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 http://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 http://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 (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\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(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister();\n });\n }\n}","import React, {\n createContext,\n useEffect,\n useState\n} from 'react';\nimport _ from 'lodash';\nimport { THEMES } from 'src/constants';\n\nconst defaultSettings = {\n direction: 'ltr',\n responsiveFontSizes: true,\n theme: THEMES.LIGHT\n};\n\nexport const restoreSettings = () => {\n let settings = null;\n\n try {\n const storedData = window.localStorage.getItem('settings');\n\n if (storedData) {\n settings = JSON.parse(storedData);\n }\n } catch (err) {\n console.error(err);\n // If stored data is not a strigified JSON this will fail,\n // that's why we catch the error\n }\n\n return settings;\n};\n\nexport const storeSettings = (settings) => {\n window.localStorage.setItem('settings', JSON.stringify(settings));\n};\n\nconst SettingsContext = createContext({\n settings: defaultSettings,\n saveSettings: () => { }\n});\n\nexport const SettingsProvider = ({ settings, children }) => {\n const [currentSettings, setCurrentSettings] = useState(settings || defaultSettings);\n\n const handleSaveSettings = (update = {}) => {\n const mergedSettings = _.merge({}, currentSettings, update);\n\n setCurrentSettings(mergedSettings);\n storeSettings(mergedSettings);\n };\n\n useEffect(() => {\n const restoredSettings = restoreSettings();\n\n if (restoredSettings) {\n setCurrentSettings(restoredSettings);\n }\n }, []);\n\n useEffect(() => {\n document.dir = currentSettings.direction;\n }, [currentSettings]);\n\n return (\n \n {children}\n \n );\n};\n\nexport const SettingsConsumer = SettingsContext.Consumer;\n\nexport default SettingsContext;\n","import { createStyles, makeStyles } from '@material-ui/core';\n\nconst useStyles = makeStyles(() => createStyles({\n '@global': {\n '*': {\n boxSizing: 'border-box',\n margin: 0,\n padding: 0,\n },\n html: {\n '-webkit-font-smoothing': 'antialiased',\n '-moz-osx-font-smoothing': 'grayscale',\n height: '100%',\n width: '100%'\n },\n body: {\n height: '100%',\n width: '100%'\n },\n '#root': {\n height: '100%',\n width: '100%'\n }\n }\n}));\n\nconst GlobalStyles = () => {\n useStyles();\n\n return null;\n};\n\nexport default GlobalStyles;\n","import { useEffect } from 'react';\nimport { useLocation } from 'react-router-dom';\n\nconst useScrollReset = () => {\n const location = useLocation();\n\n useEffect(() => {\n window.scrollTo(0, 0);\n }, [location.pathname]);\n\n return null;\n};\n\nexport default useScrollReset;\n","import useScrollReset from 'src/hooks/useScrollReset';\n\nconst ScrollReset = () => {\n useScrollReset();\n\n return null;\n};\n\nexport default ScrollReset;\n","import React, {\n useState,\n useEffect\n} from 'react';\nimport Cookies from 'js-cookie';\nimport {\n Box,\n Button,\n Link,\n Portal,\n Typography,\n makeStyles\n} from '@material-ui/core';\nimport { clarity } from 'react-microsoft-clarity';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n backgroundColor: theme.palette.common.black,\n color: theme.palette.common.white,\n maxWidth: 600,\n position: 'fixed',\n bottom: 0,\n left: 0,\n margin: theme.spacing(3),\n padding: theme.spacing(3),\n outline: 'none',\n zIndex: 2000\n },\n action: {\n backgroundColor: theme.palette.common.white,\n color: theme.palette.common.black\n }\n}));\n\nconst CookiesNotification = () => {\n const classes = useStyles();\n const [open, setOpen] = useState(false);\n\n const handleClose = () => {\n Cookies.set('consent', 'false');\n setOpen(false);\n };\n\n useEffect(() => {\n clarity.init('hw8ke303s6');\n\n const consent = Cookies.get('consent');\n\n if (!consent) {\n setOpen(true);\n }\n }, []);\n\n if (!open) {\n return null;\n }\n\n return (\n \n
\n \n We use Cookies to ensure that we give you the best experience on our\n website. Read our\n {' '}\n \n Privacy Policy\n \n .\n \n \n \n I Agree\n \n \n
\n
\n );\n};\n\nexport default CookiesNotification;\n","import React from 'react';\nimport { Helmet } from 'react-helmet';\n\nconst GA_MEASUREMENT_ID = process.env.REACT_APP_GA_MEASUREMENT_ID;\n\nconst GoogleAnalytics = () => {\n return (\n \n \n \n \n );\n};\n\nexport default GoogleAnalytics;\n","import { useContext } from 'react'; \nimport SettingsContext from 'src/contexts/SettingsContext';\n\nconst useSettings = () => useContext(SettingsContext);\n\nexport default useSettings;\n","export const softShadows = [\n 'none',\n '0 0 0 1px rgba(63,63,68,0.05), 0 1px 2px 0 rgba(63,63,68,0.15)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 2px 2px -2px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 3px 4px -2px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 3px 4px -2px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 4px 6px -2px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 4px 6px -2px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 4px 8px -2px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 5px 8px -2px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 6px 12px -4px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 7px 12px -4px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 6px 16px -4px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 7px 16px -4px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 8px 18px -8px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 9px 18px -8px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 10px 20px -8px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 11px 20px -8px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 12px 22px -8px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 13px 22px -8px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 14px 24px -8px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 16px 28px -8px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 18px 30px -8px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 20px 32px -8px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 22px 34px -8px rgba(0,0,0,0.25)',\n '0 0 1px 0 rgba(0,0,0,0.31), 0 24px 36px -8px rgba(0,0,0,0.25)'\n];\n\nexport const strongShadows = [\n 'none',\n '0 0 1px 0 rgba(0,0,0,0.70), 0 3px 4px -2px rgba(0,0,0,0.50)',\n '0 0 1px 0 rgba(0,0,0,0.70), 0 2px 2px -2px rgba(0,0,0,0.50)',\n '0 0 1px 0 rgba(0,0,0,0.70), 0 3px 4px -2px rgba(0,0,0,0.50)',\n '0 0 1px 0 rgba(0,0,0,0.70), 0 3px 4px -2px rgba(0,0,0,0.50)',\n '0 0 1px 0 rgba(0,0,0,0.70), 0 4px 6px -2px rgba(0,0,0,0.50)',\n '0 0 1px 0 rgba(0,0,0,0.70), 0 4px 6px -2px rgba(0,0,0,0.50)',\n '0 0 1px 0 rgba(0,0,0,0.70), 0 4px 8px -2px rgba(0,0,0,0.50)',\n '0 0 1px 0 rgba(0,0,0,0.70), 0 5px 8px -2px rgba(0,0,0,0.50)',\n '0 0 1px 0 rgba(0,0,0,0.70), 0 6px 12px -4px rgba(0,0,0,0.50)',\n '0 0 1px 0 rgba(0,0,0,0.70), 0 7px 12px -4px rgba(0,0,0,0.50)',\n '0 0 1px 0 rgba(0,0,0,0.70), 0 6px 16px -4px rgba(0,0,0,0.50)',\n '0 0 1px 0 rgba(0,0,0,0.70), 0 7px 16px -4px rgba(0,0,0,0.50)',\n '0 0 1px 0 rgba(0,0,0,0.70), 0 8px 18px -8px rgba(0,0,0,0.50)',\n '0 0 1px 0 rgba(0,0,0,0.70), 0 9px 18px -8px rgba(0,0,0,0.50)',\n '0 0 1px 0 rgba(0,0,0,0.70), 0 10px 20px -8px rgba(0,0,0,0.50)',\n '0 0 1px 0 rgba(0,0,0,0.70), 0 11px 20px -8px rgba(0,0,0,0.50)',\n '0 0 1px 0 rgba(0,0,0,0.70), 0 12px 22px -8px rgba(0,0,0,0.50)',\n '0 0 1px 0 rgba(0,0,0,0.70), 0 13px 22px -8px rgba(0,0,0,0.50)',\n '0 0 1px 0 rgba(0,0,0,0.70), 0 14px 24px -8px rgba(0,0,0,0.50)',\n '0 0 1px 0 rgba(0,0,0,0.70), 0 16px 28px -8px rgba(0,0,0,0.50)',\n '0 0 1px 0 rgba(0,0,0,0.70), 0 18px 30px -8px rgba(0,0,0,0.50)',\n '0 0 1px 0 rgba(0,0,0,0.70), 0 20px 32px -8px rgba(0,0,0,0.50)',\n '0 0 1px 0 rgba(0,0,0,0.70), 0 22px 34px -8px rgba(0,0,0,0.50)',\n '0 0 1px 0 rgba(0,0,0,0.70), 0 24px 36px -8px rgba(0,0,0,0.50)'\n];\n","import _ from 'lodash';\nimport {\n colors,\n createMuiTheme,\n responsiveFontSizes\n} from '@material-ui/core';\nimport { THEMES } from 'src/constants';\nimport { softShadows, strongShadows } from './shadows';\nimport typography from './typography';\n\nconst baseOptions = {\n direction: 'ltr',\n typography,\n overrides: {\n MuiLinearProgress: {\n root: {\n borderRadius: 3,\n overflow: 'hidden'\n }\n },\n MuiListItemIcon: {\n root: {\n minWidth: 32\n }\n },\n MuiChip: {\n root: {\n backgroundColor: 'rgba(0,0,0,0.075)'\n }\n }\n }\n};\n\nconst themesOptions = [\n {\n name: THEMES.LIGHT,\n overrides: {\n MuiInputBase: {\n input: {\n '&::placeholder': {\n opacity: 1,\n color: colors.blueGrey[600]\n }\n }\n }\n },\n palette: {\n type: 'light',\n action: {\n active: colors.blueGrey[600]\n },\n background: {\n default: colors.common.white,\n dark: '#f4f6f8',\n paper: colors.common.white\n },\n primary: {\n main: colors.indigo[600]\n },\n secondary: {\n main: '#5850EC'\n },\n text: {\n primary: colors.blueGrey[900],\n secondary: colors.blueGrey[600]\n }\n },\n shadows: softShadows\n },\n {\n name: THEMES.ONE_DARK,\n palette: {\n type: 'dark',\n action: {\n active: 'rgba(255, 255, 255, 0.54)',\n hover: 'rgba(255, 255, 255, 0.04)',\n selected: 'rgba(255, 255, 255, 0.08)',\n disabled: 'rgba(255, 255, 255, 0.26)',\n disabledBackground: 'rgba(255, 255, 255, 0.12)',\n focus: 'rgba(255, 255, 255, 0.12)'\n },\n background: {\n default: '#282C34',\n dark: '#1c2025',\n paper: '#282C34'\n },\n primary: {\n main: '#8a85ff'\n },\n secondary: {\n main: '#8a85ff'\n },\n text: {\n primary: '#e6e5e8',\n secondary: '#adb0bb'\n }\n },\n shadows: strongShadows\n },\n {\n name: THEMES.UNICORN,\n palette: {\n type: 'dark',\n action: {\n active: 'rgba(255, 255, 255, 0.54)',\n hover: 'rgba(255, 255, 255, 0.04)',\n selected: 'rgba(255, 255, 255, 0.08)',\n disabled: 'rgba(255, 255, 255, 0.26)',\n disabledBackground: 'rgba(255, 255, 255, 0.12)',\n focus: 'rgba(255, 255, 255, 0.12)'\n },\n background: {\n default: '#2a2d3d',\n dark: '#222431',\n paper: '#2a2d3d'\n },\n primary: {\n main: '#a67dff'\n },\n secondary: {\n main: '#a67dff'\n },\n text: {\n primary: '#f6f5f8',\n secondary: '#9699a4'\n }\n },\n shadows: strongShadows\n }\n];\n\nexport const createTheme = (config = {}) => {\n let themeOptions = themesOptions.find((theme) => theme.name === config.theme);\n\n if (!themeOptions) {\n console.warn(new Error(`The theme ${config.theme} is not valid`));\n [themeOptions] = themesOptions;\n }\n\n let theme = createMuiTheme(\n _.merge(\n {},\n baseOptions,\n themeOptions,\n { direction: config.direction }\n )\n );\n\n if (config.responsiveFontSizes) {\n theme = responsiveFontSizes(theme);\n }\n\n return theme;\n}\n","export default {\n h1: {\n fontWeight: 500,\n fontSize: 35,\n letterSpacing: '-0.24px'\n },\n h2: {\n fontWeight: 500,\n fontSize: 29,\n letterSpacing: '-0.24px'\n },\n h3: {\n fontWeight: 500,\n fontSize: 24,\n letterSpacing: '-0.06px'\n },\n h4: {\n fontWeight: 500,\n fontSize: 20,\n letterSpacing: '-0.06px'\n },\n h5: {\n fontWeight: 500,\n fontSize: 16,\n letterSpacing: '-0.05px'\n },\n h6: {\n fontWeight: 500,\n fontSize: 14,\n letterSpacing: '-0.05px'\n },\n overline: {\n fontWeight: 500\n }\n};\n","import React, { useState } from 'react';\nimport { NavLink as RouterLink } from 'react-router-dom';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport {\n Button,\n Collapse,\n ListItem,\n makeStyles\n} from '@material-ui/core';\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\nimport ExpandLessIcon from '@material-ui/icons/ExpandLess';\n\nconst useStyles = makeStyles((theme) => ({\n item: {\n display: 'block',\n paddingTop: 0,\n paddingBottom: 0\n },\n itemLeaf: {\n display: 'flex',\n paddingTop: 0,\n paddingBottom: 0\n },\n button: {\n color: theme.palette.text.secondary,\n padding: '10px 8px',\n justifyContent: 'flex-start',\n textTransform: 'none',\n letterSpacing: 0,\n width: '100%'\n },\n buttonLeaf: {\n color: theme.palette.text.secondary,\n padding: '10px 8px',\n justifyContent: 'flex-start',\n textTransform: 'none',\n letterSpacing: 0,\n width: '100%',\n fontWeight: theme.typography.fontWeightRegular,\n '&.depth-0': {\n '& $title': {\n fontWeight: theme.typography.fontWeightMedium\n }\n }\n },\n icon: {\n display: 'flex',\n alignItems: 'center',\n marginRight: theme.spacing(1)\n },\n title: {\n marginRight: 'auto'\n },\n active: {\n color: theme.palette.secondary.main,\n '& $title': {\n fontWeight: theme.typography.fontWeightMedium\n },\n '& $icon': {\n color: theme.palette.secondary.main\n }\n }\n}));\n\nconst NavItem = ({\n children,\n className,\n depth,\n href,\n icon: Icon,\n info: Info,\n open: openProp,\n title,\n ...rest\n}) => {\n const classes = useStyles();\n const [open, setOpen] = useState(openProp);\n\n const handleToggle = () => {\n setOpen((prevOpen) => !prevOpen);\n };\n\n let paddingLeft = 8;\n\n if (depth > 0) {\n paddingLeft = 32 + 8 * depth;\n }\n\n const style = { paddingLeft };\n\n if (children) {\n return (\n \n \n {Icon && (\n \n )}\n \n {title}\n \n {open ? : }\n \n \n {children}\n \n \n );\n }\n\n return (\n \n \n {Icon && (\n \n )}\n \n {title}\n \n {Info && }\n \n \n );\n};\n\nNavItem.propTypes = {\n children: PropTypes.node,\n className: PropTypes.string,\n depth: PropTypes.number.isRequired,\n href: PropTypes.string,\n icon: PropTypes.elementType,\n info: PropTypes.elementType,\n open: PropTypes.bool,\n title: PropTypes.string.isRequired\n};\n\nNavItem.defaultProps = {\n open: false\n};\n\nexport default NavItem;\n","/* eslint-disable no-use-before-define */\nimport React, { useEffect } from 'react';\nimport { useLocation, matchPath } from 'react-router-dom';\nimport { Link as RouterLink } from 'react-router-dom';\nimport PerfectScrollbar from 'react-perfect-scrollbar';\nimport PropTypes from 'prop-types';\nimport {\n Avatar,\n Box,\n Divider,\n Drawer,\n Hidden,\n Link,\n List,\n ListSubheader,\n Typography,\n makeStyles\n} from '@material-ui/core';\nimport {\n PieChart as PieChartIcon,\n Home as HomeIcon,\n Trello as TrelloIcon,\n Map as MapIcon,\n MapPin as MapPinIcon,\n Phone as PhoneIcon,\n ShoppingBag as ShoppingBagIcon,\n Chrome as ChromeIcon,\n Monitor as MonitorIcon,\n File as FileIcon,\n Code as CodeIcon,\n FileText as FileTextIcon,\n FilePlus as FilePlusIcon,\n FileMinus as FileMinusIcon,\n Search as SearchIcon,\n StopCircle as StopCircleIcon,\n BarChart2 as BarChart2Icon,\n Grid as GridIcon\n} from 'react-feather';\nimport ReceiptIcon from '@material-ui/icons/ReceiptOutlined';\nimport AlternateEmailIcon from '@material-ui/icons/AlternateEmail';\nimport Logo from 'src/components/Logo';\nimport useAuth from 'src/hooks/useAuth';\nimport NavItem from './NavItem';\n\nconst sections = [\n {\n items: [\n {\n title: 'API Dashboard',\n icon: PieChartIcon,\n href: '/api/dashboard'\n }\n ]\n },\n {\n subheader: 'AI QRCode API',\n items: [\n {\n title: 'Generate AI QRCode',\n icon: GridIcon,\n href: '/api/ai-qrcode-api'\n },\n {\n title: 'View AI QRCode',\n icon: BarChart2Icon,\n href: '/api/ai-qrcode-api'\n },\n ]\n },\n {\n subheader: 'Verification API',\n items: [\n {\n title: 'Validate Email',\n icon: AlternateEmailIcon,\n href: '/api/verification/validate-email'\n },\n {\n title: 'Validate Phone',\n icon: PhoneIcon,\n href: '/api/verification/validate-phone'\n },\n {\n title: 'Validate VAT',\n icon: ShoppingBagIcon,\n href: '/api/verification/validate-vat'\n },\n {\n title: 'User Agent',\n icon: ChromeIcon,\n href: '/api/verification/validate-useragent'\n },\n ]\n },\n {\n subheader: 'UK PostCode API',\n items: [\n {\n title: 'PostCode Lookup',\n icon: HomeIcon,\n href: '/api/postcode/find-by-postcode'\n },\n {\n title: 'Address Lookup',\n icon: MapIcon,\n href: '/api/postcode/find-by-addresses'\n },\n {\n title: 'UDPRN Lookup',\n icon: TrelloIcon,\n href: '/api/postcode/find-by-udprn'\n },\n {\n title: 'Address Autosuggest',\n icon: MapPinIcon,\n href: '/api/postcode/address-autosuggest'\n },\n ]\n },\n \n {\n subheader: 'Web Conversion API',\n items: [\n {\n title: 'ScreenShot API',\n icon: MonitorIcon,\n href: '/api/conversion/web-conversion'\n },\n {\n title: 'Web To PDF API',\n icon: FileIcon,\n href: '/api/conversion/web-conversion'\n },\n {\n title: 'Web Scrape API',\n icon: CodeIcon,\n href: '/api/conversion/web-conversion'\n },\n {\n title: 'Web To Text API',\n icon: FileTextIcon,\n href: '/api/conversion/web-conversion'\n }\n ]\n },\n {\n subheader: 'Data Conversion API',\n items: [\n {\n title: 'JSON TO XML',\n icon: FilePlusIcon,\n href: '/api/conversion/data-conversion'\n },\n {\n title: 'XML TO JSON',\n icon: FileMinusIcon,\n href: '/api/conversion/data-conversion'\n },\n {\n title: 'JSON TO CSV',\n icon: FilePlusIcon,\n href: '/api/conversion/data-conversion'\n },\n {\n title: 'CSV TO JSON',\n icon: FileMinusIcon,\n href: '/api/conversion/data-conversion'\n },\n {\n title: 'CSV TO XML',\n icon: FilePlusIcon,\n href: '/api/conversion/data-conversion'\n }\n ]\n },\n {\n subheader: 'India Pincode API',\n items: [\n {\n title: 'Find By Pincode',\n icon: SearchIcon,\n href: '/api/pincode/find-by-pincode'\n },\n {\n title: 'Find By Places',\n icon: StopCircleIcon,\n href: '/api/pincode/find-by-pincode'\n }\n ]\n },\n {\n subheader: 'QRCODE API',\n items: [\n {\n title: 'Generate BarCode',\n icon: BarChart2Icon,\n href: '/api/barcode-api'\n },\n {\n title: 'Generate QRCode',\n icon: GridIcon,\n href: '/api/barcode-api'\n },\n ]\n },\n {\n subheader: 'Payment',\n items: [ \n // {\n // title: 'Subscription Details',\n // icon: GridIcon,\n // href: 'https://billing.stripe.com/p/login/14kaFp2j48IF3M47ss'\n // },\n {\n title: 'PAYG Billing History',\n icon: ReceiptIcon,\n href: '/api/payment/billing'\n },\n ]\n }\n\n];\n\n\nfunction renderNavItems({\n items,\n pathname,\n depth = 0\n}) {\n return (\n \n {items.reduce(\n (acc, item) => reduceChildRoutes({ acc, item, pathname, depth }),\n []\n )}\n \n );\n}\n\nfunction reduceChildRoutes({\n acc,\n pathname,\n item,\n depth\n}) {\n const key = item.title + depth;\n\n if (item.items) {\n const open = matchPath(pathname, {\n path: item.href,\n exact: false\n });\n\n acc.push(\n \n {renderNavItems({\n depth: depth + 1,\n pathname,\n items: item.items\n })}\n \n );\n } else {\n acc.push(\n \n );\n }\n\n return acc;\n}\n\nconst useStyles = makeStyles(() => ({\n mobileDrawer: {\n width: 256\n },\n desktopDrawer: {\n width: 256,\n top: 64,\n height: 'calc(100% - 64px)'\n },\n avatar: {\n cursor: 'pointer',\n width: 64,\n height: 64\n }\n}));\n\nconst NavBar = ({ onMobileClose, openMobile }) => {\n const classes = useStyles();\n const location = useLocation();\n const { user } = useAuth();\n\n useEffect(() => {\n if (openMobile && onMobileClose) {\n onMobileClose();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [location.pathname]);\n\n const content = (\n \n \n \n \n \n \n \n \n \n \n \n \n \n {user.avatar}\n \n \n \n \n 25 ? 11 : 16 }}\n >\n {user.email}\n \n \n Your tier:\n {' '}\n \n {user.tier}\n \n \n \n \n \n \n {sections.map((section, index) => (\n \n {section.subheader}\n \n )}\n >\n {renderNavItems({\n items: section.items,\n pathname: location.pathname\n })}\n \n ))}\n \n \n \n \n \n Need Help?\n \n \n Check our docs\n \n \n \n \n \n );\n\n return (\n <>\n \n \n {content}\n \n \n \n \n {content}\n \n \n \n );\n};\n\nNavBar.propTypes = {\n onMobileClose: PropTypes.func,\n openMobile: PropTypes.bool\n};\n\nexport default NavBar;\n","import React, { useRef, useState } from \"react\";\nimport { Link as RouterLink } from \"react-router-dom\";\nimport { useHistory } from \"react-router-dom\";\nimport { useSnackbar } from \"notistack\";\nimport {\n Avatar,\n Box,\n ButtonBase,\n Hidden,\n Menu,\n MenuItem,\n Typography,\n makeStyles,\n} from \"@material-ui/core\";\nimport useAuth from \"src/hooks/useAuth\";\n\nconst useStyles = makeStyles((theme) => ({\n avatar: {\n height: 32,\n width: 32,\n marginRight: theme.spacing(1),\n backgroundColor: \"#f4f6f8\",\n color: \"#3949ab\",\n },\n popover: {\n width: 200,\n },\n}));\n\nconst Account = () => {\n const classes = useStyles();\n const history = useHistory();\n const ref = useRef(null);\n const { user, logout } = useAuth();\n const { enqueueSnackbar } = useSnackbar();\n const [isOpen, setOpen] = useState(false);\n\n const handleOpen = () => {\n setOpen(true);\n };\n\n const handleClose = () => {\n setOpen(false);\n };\n\n const handleLogout = async () => {\n try {\n handleClose();\n await logout();\n history.push(\"/\");\n } catch (err) {\n console.error(err);\n enqueueSnackbar(\"Unable to logout\", {\n variant: \"error\",\n });\n }\n };\n\n return (\n <>\n \n \n {user.avatar}\n \n\n \n \n {user.email}\n \n \n \n \n \n Account\n \n\n \n Subscription\n \n\n Logout\n \n \n );\n};\n\nexport default Account;\n","import { createSlice } from '@reduxjs/toolkit';\nimport axios from 'src/utils/axios';\n\nconst initialState = {\n notifications: []\n};\n\nconst slice = createSlice({\n name: 'notifications',\n initialState,\n reducers: {\n getNotifications(state, action) {\n const { notifications } = action.payload;\n\n state.notifications = notifications;\n }\n }\n});\n\nexport const reducer = slice.reducer;\n\nexport const getNotifications = () => async (dispatch) => {\n const response = await axios.get('/api/appnotifications');\n\n dispatch(slice.actions.getNotifications(response.data));\n};\n\nexport default slice;\n","import React, {\n useRef,\n useState,\n useEffect\n} from 'react';\nimport { Link as RouterLink } from 'react-router-dom';\nimport {\n Avatar,\n Box,\n Button,\n IconButton,\n List,\n ListItem,\n ListItemAvatar,\n ListItemText,\n Popover,\n SvgIcon,\n Tooltip,\n Typography,\n makeStyles\n} from '@material-ui/core';\nimport {\n Bell as BellIcon,\n Package as PackageIcon,\n MessageCircle as MessageIcon,\n Truck as TruckIcon\n} from 'react-feather';\nimport { useDispatch, useSelector } from 'src/store';\nimport { getNotifications } from 'src/slices/appnotification';\n\nconst iconsMap = {\n order_placed: PackageIcon,\n new_message: MessageIcon,\n item_shipped: TruckIcon\n};\n\nconst useStyles = makeStyles((theme) => ({\n popover: {\n width: 320\n },\n icon: {\n backgroundColor: theme.palette.secondary.main,\n color: theme.palette.secondary.contrastText\n }\n}));\n\nconst Notifications = () => {\n const classes = useStyles();\n const { notifications } = useSelector((state) => state.notifications);\n const ref = useRef(null);\n const dispatch = useDispatch();\n const [isOpen, setOpen] = useState(false);\n\n const handleOpen = () => {\n setOpen(true);\n };\n\n const handleClose = () => {\n setOpen(false);\n };\n\n useEffect(() => {\n dispatch(getNotifications());\n }, [dispatch]);\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n Notifications\n \n \n {notifications.length === 0 ? (\n \n \n There are no notifications\n \n \n ) : (\n <>\n \n {notifications.map((notification) => {\n const Icon = iconsMap[notification.type];\n\n return (\n \n \n \n \n \n \n \n \n \n \n );\n })}\n \n \n \n Mark all as read\n \n \n \n )}\n \n \n );\n};\n\nexport default Notifications;\n","import React, {\n useState,\n useRef\n} from 'react';\nimport { capitalCase } from 'change-case';\nimport {\n Badge,\n Box,\n Button,\n FormControlLabel,\n IconButton,\n Popover,\n SvgIcon,\n Switch,\n TextField,\n Tooltip,\n Typography,\n makeStyles\n} from '@material-ui/core';\nimport { Settings as SettingsIcon } from 'react-feather';\nimport useSettings from 'src/hooks/useSettings';\nimport { THEMES } from 'src/constants';\n\nconst useStyles = makeStyles((theme) => ({\n badge: {\n height: 10,\n width: 10,\n borderRadius: 5,\n marginTop: 10,\n marginRight: 5\n },\n popover: {\n width: 320,\n padding: theme.spacing(2)\n }\n}));\n\nconst Settings = () => {\n const classes = useStyles();\n const ref = useRef(null);\n const { settings, saveSettings } = useSettings();\n const [isOpen, setOpen] = useState(false);\n const [values, setValues] = useState({\n direction: settings.direction,\n responsiveFontSizes: settings.responsiveFontSizes,\n theme: settings.theme\n });\n\n const handleOpen = () => {\n setOpen(true);\n };\n\n const handleClose = () => {\n setOpen(false);\n };\n\n const handleChange = (field, value) => {\n setValues({\n ...values,\n [field]: value\n });\n };\n\n const handleSave = () => {\n saveSettings(values);\n setOpen(false);\n };\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n Settings\n \n \n handleChange('direction', event.target.checked ? 'rtl' : 'ltr')}\n />\n )}\n label=\"RTL\"\n />\n \n \n handleChange('responsiveFontSizes', event.target.checked)}\n />\n )}\n label=\"Responsive font sizes\"\n />\n \n \n handleChange('theme', event.target.value)}\n select\n SelectProps={{ native: true }}\n value={values.theme}\n variant=\"outlined\"\n >\n {Object.keys(THEMES).map((theme) => (\n \n {capitalCase(theme)}\n \n ))}\n \n \n \n \n Save Settings\n \n \n \n \n );\n}\n\nexport default Settings;\n","import React from 'react';\nimport { Link as RouterLink } from 'react-router-dom';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport {\n AppBar,\n Box,\n Hidden,\n IconButton,\n Toolbar,\n makeStyles,\n SvgIcon\n} from '@material-ui/core';\nimport { Menu as MenuIcon } from 'react-feather';\nimport Logo from 'src/components/Logo';\nimport { THEMES } from 'src/constants';\nimport Account from './Account';\nimport Notifications from './Notifications';\n\n\nimport Settings from './Settings';\n\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n zIndex: theme.zIndex.drawer + 100,\n ...theme.name === THEMES.LIGHT ? {\n boxShadow: 'none',\n backgroundColor: theme.palette.primary.main\n } : {},\n ...theme.name === THEMES.ONE_DARK ? {\n backgroundColor: theme.palette.background.default\n } : {}\n },\n toolbar: {\n minHeight: 64\n }\n}));\n\nconst TopBar = ({\n className,\n onMobileNavOpen,\n ...rest\n}) => {\n const classes = useStyles();\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {/* \n */}\n\n \n \n \n \n \n );\n};\n\nTopBar.propTypes = {\n className: PropTypes.string,\n onMobileNavOpen: PropTypes.func\n};\n\nTopBar.defaultProps = {\n onMobileNavOpen: () => {}\n};\n\nexport default TopBar;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { makeStyles } from '@material-ui/core';\nimport NavBar from './NavBar';\nimport TopBar from './TopBar';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n backgroundColor: theme.palette.background.dark,\n display: 'flex',\n height: '100%',\n overflow: 'hidden',\n width: '100%'\n },\n wrapper: {\n display: 'flex',\n flex: '1 1 auto',\n overflow: 'hidden',\n paddingTop: 64,\n [theme.breakpoints.up('lg')]: {\n paddingLeft: 256\n }\n },\n contentContainer: {\n display: 'flex',\n flex: '1 1 auto',\n overflow: 'hidden'\n },\n content: {\n flex: '1 1 auto',\n height: '100%',\n overflow: 'auto'\n }\n}));\n\nconst DashboardLayout = ({ children }) => {\n const classes = useStyles();\n const [isMobileNavOpen, setMobileNavOpen] = useState(false);\n\n return (\n
\n setMobileNavOpen(true)} />\n setMobileNavOpen(false)}\n openMobile={isMobileNavOpen}\n />\n
\n
\n
\n {children}\n
\n
\n
\n
\n );\n};\n\nDashboardLayout.propTypes = {\n children: PropTypes.node\n};\n\nexport default DashboardLayout;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { makeStyles } from '@material-ui/core';\nimport TopBar from './TopBar';\nimport Footer from './Footer';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n backgroundColor: theme.palette.background.default,\n// display: 'flex',\n height: '100%',\n // overflow: 'hidden',\n width: '100%'\n },\n wrapper: {\n display: 'flex',\n flex: '1 1 auto',\n overflow: 'hidden',\n paddingTop: 64\n },\n contentContainer: {\n display: 'flex',\n flex: '1 1 auto',\n overflow: 'hidden'\n },\n content: {\n flex: '1 1 auto',\n height: '100%',\n overflow: 'auto'\n }\n}));\n\nconst MainLayout = ({ children }) => {\n const classes = useStyles();\n\n return (\n
\n \n
\n
\n
\n {children}\n
\n
\n
\n
\n
\n );\n};\n\nMainLayout.propTypes = {\n children: PropTypes.node\n};\n\nexport default MainLayout;\n\n\n\n","import React from 'react';\nimport { NavLink as RouterLink } from 'react-router-dom';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport {\n Button,\n ListItem,\n makeStyles\n} from '@material-ui/core';\n\nconst useStyles = makeStyles((theme) => ({\n item: {\n display: 'block',\n paddingTop: 0,\n paddingBottom: 0\n },\n itemLeaf: {\n display: 'flex',\n paddingTop: 0,\n paddingBottom: 0\n },\n button: {\n padding: '10px 8px',\n justifyContent: 'flex-start',\n textTransform: 'none',\n letterSpacing: 0,\n width: '100%'\n },\n buttonLeaf: {\n padding: '10px 8px',\n justifyContent: 'flex-start',\n textTransform: 'none',\n letterSpacing: 0,\n width: '100%',\n fontWeight: theme.typography.fontWeightRegular,\n '&.depth-0': {\n fontWeight: theme.typography.fontWeightMedium\n }\n },\n active: {\n color: theme.palette.secondary.main,\n fontWeight: theme.typography.fontWeightMedium,\n }\n}));\n\nconst NavItem = ({\n children,\n className,\n depth,\n href,\n title,\n ...rest\n}) => {\n const classes = useStyles();\n let paddingLeft = 8;\n\n if (depth > 0) {\n paddingLeft = 32 + 8 * depth;\n }\n\n const style = { paddingLeft };\n\n if (children) {\n return (\n \n \n {title}\n \n {children}\n \n );\n }\n\n return (\n \n \n {title}\n \n \n );\n};\n\nNavItem.propTypes = {\n children: PropTypes.node,\n className: PropTypes.string,\n depth: PropTypes.number.isRequired,\n href: PropTypes.string,\n title: PropTypes.string.isRequired\n};\n\nexport default NavItem;\n","/* eslint-disable no-use-before-define */\nimport React, { useEffect } from 'react';\nimport { useLocation } from 'react-router-dom';\nimport { Link as RouterLink } from 'react-router-dom';\nimport PropTypes from 'prop-types';\nimport {\n Box,\n Drawer,\n Hidden,\n List,\n makeStyles\n} from '@material-ui/core';\nimport Logo from 'src/components/Logo';\nimport NavItem from './NavItem';\n\nconst items = [\n {\n title: 'HTTP Status Codes',\n href: '/resource/http-status-codes'\n },\n {\n title: 'Informational Responses (100 – 199)',\n href: '/resource/http-status-codes/100'\n },\n {\n title: 'Successful Responses (200 – 299)',\n href: '/resource/http-status-codes/200'\n },\n {\n title: 'Redirection Messages (300 – 399)',\n href: '/resource/http-status-codes/300'\n },\n {\n title: 'Client Error Responses (400 – 499)',\n href: '/resource/http-status-codes/400'\n },\n {\n title: 'Server Error Responses (500 – 599)',\n href: '/resource/http-status-codes/500'\n }\n];\n\nfunction renderNavItems({ items, depth = 0 }) {\n return (\n \n {items.reduce(\n (acc, item) => reduceChildRoutes({ acc, item, depth }),\n []\n )}\n \n );\n}\n\nfunction reduceChildRoutes({\n acc,\n item,\n depth = 0\n}) {\n if (item.items) {\n acc.push(\n \n {renderNavItems({\n items: item.items,\n depth: depth + 1\n })}\n \n );\n } else {\n acc.push(\n \n );\n }\n\n return acc;\n}\n\nconst useStyles = makeStyles(() => ({\n mobileDrawer: {\n width: 256\n },\n desktopDrawer: {\n width: 256,\n top: 64,\n height: 'calc(100% - 64px)'\n }\n}));\n\nconst NavBar = ({ onMobileClose, openMobile }) => {\n const classes = useStyles();\n const location = useLocation();\n\n useEffect(() => {\n if (openMobile && onMobileClose) {\n onMobileClose();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [location.pathname]);\n\n const content = (\n \n \n \n \n \n \n \n \n \n {renderNavItems({ items })}\n \n \n );\n\n return (\n <>\n \n \n {content}\n \n \n \n \n {content}\n \n \n \n );\n};\n\nNavBar.propTypes = {\n onMobileClose: PropTypes.func,\n openMobile: PropTypes.bool\n};\n\nexport default NavBar;\n","import React from 'react';\nimport { Link as RouterLink } from 'react-router-dom';\nimport PropTypes from 'prop-types';\nimport {\n AppBar,\n Box,\n Toolbar,\n Hidden,\n IconButton,\n Link,\n makeStyles\n} from '@material-ui/core';\nimport { Menu as MenuIcon } from 'react-feather';\nimport Logo from 'src/components/Logo';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n backgroundColor: theme.palette.background.default,\n color: theme.palette.text.primary,\n boxShadow: 'none',\n borderBottom: `1px solid ${theme.palette.divider}`,\n zIndex: theme.zIndex.drawer + 100\n },\n toolbar: {\n height: 64\n },\n link: {\n fontWeight: theme.typography.fontWeightMedium\n }\n}));\n\nconst TopBar = ({ onMobileNavOpen }) => {\n const classes = useStyles();\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Dashboard\n \n \n \n );\n};\n\nTopBar.propTypes = {\n onMobileNavOpen: PropTypes.func\n};\n\nTopBar.defaultProps = {\n onMobileNavOpen: () => {}\n};\n\nexport default TopBar;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Typography, makeStyles } from '@material-ui/core';\n\nconst useStyles = makeStyles((theme) => ({\n h1: {\n marginTop: theme.spacing(6),\n marginBottom: theme.spacing(2)\n },\n h2: {\n marginTop: theme.spacing(6),\n marginBottom: theme.spacing(2)\n },\n h3: {\n marginTop: theme.spacing(6),\n marginBottom: theme.spacing(2)\n },\n h4: {\n marginTop: theme.spacing(4),\n marginBottom: theme.spacing(2)\n },\n h5: {\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(2)\n },\n h6: {\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(2)\n }\n}));\n\nconst Heading = ({\n children,\n variant,\n ...rest\n}) => {\n const classes = useStyles();\n\n return (\n \n {children}\n \n );\n}\n\nHeading.propTypes = {\n children: PropTypes.node,\n variant: PropTypes.oneOf(['h1', 'h2', 'h3', 'h4', 'h5', 'h6'])\n};\n\nexport default Heading;\n","import React from 'react';\nimport { Typography, makeStyles } from '@material-ui/core';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n marginBottom: theme.spacing(2),\n '& > a': {\n color: theme.palette.secondary.main\n }\n }\n}));\n\nconst Paragraph = (props) => {\n const classes = useStyles();\n\n return (\n \n );\n}\n\nexport default Paragraph;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { makeStyles } from '@material-ui/core';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n marginLeft: theme.spacing(4),\n marginBottom: theme.spacing(2)\n }\n}));\n\nconst List = ({\n variant: Component,\n children,\n ...rest\n}) => {\n const classes = useStyles();\n\n return (\n \n {children}\n \n );\n}\n\nList.propTypes = {\n children: PropTypes.node,\n variant: PropTypes.oneOf(['ul', 'ol'])\n};\n\nList.defaultProps = {\n variant: 'ul'\n};\n\nexport default List;\n","import React from 'react';\nimport { Typography, makeStyles } from '@material-ui/core';\n\nconst useStyles = makeStyles(() => ({\n root: {}\n}));\n\nconst Paragraph = (props) => {\n const classes = useStyles();\n\n return (\n \n );\n};\n\nexport default Paragraph;\n","import React from 'react';\nimport { makeStyles } from '@material-ui/core';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n paddingLeft: theme.spacing(2),\n paddingBottom: theme.spacing(1),\n paddingTop: theme.spacing(1),\n marginBottom: theme.spacing(2),\n borderLeft: `4px solid ${theme.palette.text.secondary}`,\n '& > p': {\n color: theme.palette.text.secondary,\n marginBottom: 0\n }\n }\n}));\n\nconst Blockquote = (props) => {\n const classes = useStyles();\n\n return (\n \n );\n};\n\nexport default Blockquote;\n","import React from 'react';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport { makeStyles } from '@material-ui/core';\n\nconst useStyles = makeStyles(() => ({\n root: {}\n}));\n\nconst Code = ({ className, ...rest }) => {\n const classes = useStyles();\n\n return (\n \n );\n}\n\nCode.propTypes = {\n className: PropTypes.string.isRequired\n};\n\nexport default Code;\n","import React from 'react';\nimport { makeStyles } from '@material-ui/core';\n\nconst useStyles = makeStyles(() => ({\n root: {\n paddingLeft: 2,\n paddingRight: 2,\n color: '#1a1a1a',\n fontFamily: \"Inconsolata, Monaco, Consolas, 'Courier New', Courier, monospace\",\n fontSize: 14,\n backgroundColor: 'rgb(255,229,100)'\n }\n}));\n\nconst CodeInline = (props) => {\n const classes = useStyles();\n\n return (\n \n );\n};\n\nexport default CodeInline;\n","import React from 'react';\nimport { Divider } from '@material-ui/core';\nimport Heading from './Heading';\nimport Paragraph from './Paragraph';\nimport List from './List';\nimport ListItem from './ListItem';\nimport Blockquote from './Blockquote';\nimport Code from './Code';\nimport InlineCode from './InlineCode';\n\nconst components = {\n h1: (props) => ,\n h2: (props) => ,\n h3: (props) => ,\n h4: (props) => ,\n h5: (props) => ,\n h6: (props) => ,\n ul: (props) => ,\n ol: (props) => ,\n hr: Divider,\n li: ListItem,\n p: Paragraph,\n blockquote: Blockquote,\n code: Code,\n inlineCode: InlineCode\n};\n\nexport default components;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { MDXProvider } from '@mdx-js/react';\nimport { Container, makeStyles } from '@material-ui/core';\nimport NavBar from './NavBar';\nimport TopBar from './TopBar';\nimport components from './mdx';\n\nconst useStyles = makeStyles((theme) => ({\n wrapper: {\n backgroundColor: theme.palette.background.default,\n display: 'flex',\n height: '100%',\n overflow: 'hidden',\n paddingTop: 64,\n [theme.breakpoints.up('lg')]: {\n paddingLeft: 256\n }\n },\n contentContainer: {\n flex: '1 1 auto',\n overflow: 'auto'\n },\n content: {\n paddingBottom: 120\n }\n}));\n\nconst DocsLayout = ({ children }) => {\n const classes = useStyles();\n const [isMobileNavOpen, setMobileNavOpen] = useState(false);\n\n return (\n <>\n setMobileNavOpen(true)} />\n setMobileNavOpen(false)}\n openMobile={isMobileNavOpen}\n />\n
\n
\n \n \n {children}\n \n \n
\n
\n \n );\n};\n\nDocsLayout.propTypes = {\n children: PropTypes.node\n};\n\nexport default DocsLayout;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport {\n Avatar,\n Box,\n Container,\n Grid,\n Typography,\n makeStyles\n} from '@material-ui/core';\nimport {\n DollarSign as DollarSignIcon,\n CreditCard as CreditCardIcon,\n FastForward as FastForwardIcon,\n Activity as ActivityIcon,\n Clock as ClockIcon,\n GitMerge as GitMergeIcon\n} from 'react-feather';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n backgroundColor: theme.palette.background.default,\n paddingTop: 78,\n paddingBottom: 78\n },\n avatar: {\n backgroundColor: theme.palette.secondary.main,\n color: theme.palette.secondary.contrastText\n },\n title: {\n fontWeight: theme.typography.fontWeightRegular\n }\n}));\n\nconst Benefits = ({ className, ...rest }) => {\n const classes = useStyles();\n\n return (\n \n \n \n WHY USE API TIER APIs?\n \n \n \n \n \n What are benefits of using APITier APIs? \n \n \n \n \n \n \n \n \n \n \n Pay Per Request\n \n \n You pay only for the queries that you run. You are charged for each successful request. \n \n \n \n \n \n \n \n \n \n \n Pay As You Go Pricing Plan\n \n \n Simple, easy to understand Pay As You Go pricing.\n Affordable plans - suitable for startups to large enterprises.\n \n \n \n \n \n \n \n \n \n \n \n Start querying instantly\n \n \n The most up-to-date & accurate data.\n You can quickly query your data without having to set up or\n manage any servers or data warehouses.\n \n \n \n \n \n \n \n \n \n \n \n \n \n Performance at any scale\n \n \n APIs are backed by a robust highly scalable cloud infrastructure. Provide end-users with the lowest latency for API calls.\n \n \n \n \n \n \n \n \n \n \n \n Efficient Application development\n \n \n Simple API design allows you to quickly iterate, test, and release new versions. \n \n \n \n \n \n \n \n \n \n \n Easy To Integrate\n \n \n Simple, self-explanatory API will get you up and running in under 10 minutes.\n \n \n \n \n \n \n \n \n );\n};\n\nBenefits.propTypes = {\n className: PropTypes.string\n};\n\nexport default Benefits;","import React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport {\n Avatar,\n Button,\n Box,\n Container,\n Grid,\n Typography,\n makeStyles\n} from '@material-ui/core';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n backgroundColor: theme.palette.background.dark,\n paddingTop: 78,\n paddingBottom: 78\n },\n avatar: {\n backgroundColor: theme.palette.secondary.main,\n color: theme.palette.secondary.contrastText\n }\n}));\n\nconst SimpleSteps = ({ className, ...rest }) => {\n const classes = useStyles();\n\n return (\n \n \n \n HOW TO START?\n \n \n \n \n \n Get Started In 3 Easy Steps\n \n \n \n \n \n \n 01\n \n \n \n Get Free API Key\n \n \n Register Free (without providing Card Details) with an email and password.\n \n \n Free SignUp\n \n \n \n \n \n \n \n 02\n \n \n \n Test & Integrate API\n \n \n Test & Integrate Simple, self-explanatory APIs. Make use of the Free Code examples.\n \n \n \n \n \n \n \n 03\n \n \n \n Go Live\n \n \n When you are ready to go live, purchase Pay As You Go API plans with a year of validity \n {/* \n Purchase Plan\n */}\n \n \n \n \n \n \n \n );\n};\n\nSimpleSteps.propTypes = {\n className: PropTypes.string\n};\n\nexport default SimpleSteps;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport {\n Box,\n Button,\n Container,\n Typography,\n makeStyles\n} from '@material-ui/core';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n backgroundColor: theme.palette.background.dark,\n paddingTop: 78,\n paddingBottom: 78\n },\n browseButton: {\n marginLeft: theme.spacing(2)\n }\n}));\n\nconst CTA = ({ className, ...rest }) => {\n const classes = useStyles();\n\n return (\n \n \n \n Are you Ready?\n \n \n \n \n \n Get Free API Credits To Start Integrating API. \n \n \n \n GET A FREE API KEY\n \n \n \n \n );\n};\n\nCTA.propTypes = {\n className: PropTypes.string\n};\n\nexport default CTA;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport {\n Box,\n Container,\n Divider,\n Grid,\n Typography,\n makeStyles\n} from '@material-ui/core';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n backgroundColor: theme.palette.background.default,\n paddingTop: theme.spacing(6),\n paddingBottom: theme.spacing(6),\n '& dt': {\n marginTop: theme.spacing(2)\n }\n }\n}));\n\nconst FAQS = ({ className, ...rest }) => {\n const classes = useStyles();\n\n return (\n \n \n \n Frequently asked questions (FAQs)\n \n \n \n \n \n \n \n API KEY\n \n\n \n
\n \n How to get API Key?\n \n
\n
\n \n Register Free (without providing Card Details) with an email and password.\n \n
\n
\n\n \n
\n \n Can I publicly expose my API Key by embedding it in some client-side code?\n \n
\n
\n \n Yes. Many people choose this route due to faster response times and no server-side\n code to handle API queries. However, you need to take appropriate measures to limit\n your API Key so it cannot be misused by others.\n \n
\n
\n\n \n
\n \n Can I get my data in XML (or some other data format)?\n \n
\n
\n \n Not right now. It's all in JSON. We do not have plans to use other formats.\n \n
\n
\n\n \n \n \n \n PRICING & USAGE\n \n\n \n
\n \n How to Pay for APITier API Key?\n \n
\n
\n \n API providers offer subscription plans tailored to the needs of individual developers, startups, and small-to-medium enterprises (SMEs). These subscription plans often provide access to a range of features and usage limits, allowing you to select the plan that best fits your requirements.\n \n \n
\n
\n\n \n
\n \n Are my credit card payments safe?\n \n
\n
\n \n Yes, all payment details are sent directly to Stripe. We never see any of this information. Stripe has been audited by a PCI-certified auditor and is certified to PCI Service Provider Level 1. This is the most stringent level of certification available.\n Stripe link - https://stripe.com\n \n
\n
\n \n
\n \n Can I cancel my subscription at anytime?\n \n
\n
\n \n You can cancel your subscription at any time with our service. We understand that your needs may change, and we want to ensure you have the flexibility to adjust your plan as necessary.\n \n
\n
\n \n
\n \n How usage is calculated?\n \n
\n
\n \n Each API call on the APITier platform count as the use of 1 API credit.
\n Example -
\n 1. Single Find By Postcode API call, count as 1 credit use
\n 2. Single Address Lookup API call, count as 1 credit use
\n 3. Single Validate Email API call, count as 1 credit use
\n \n
\n
\n \n \n \n DEVELOPMENT\n \n \n
\n \n What Is APITier?\n \n
\n
\n \n APITier is an API platform that provides a set of Verification, UK PostCode, India Pincode,\n WEB Conversion, Data Conversion, Image Conversion, and BarCode APIs.\n \n
\n
\n \n
\n \n How to integrate APITier API?\n \n
\n
\n \n We provide free boilerplate code for all major languages for easy integration into the apps.\n \n
\n
\n\n \n
\n \n Where does the data come from?\n \n
\n
\n \n We cross-reference Ordnance Survey's and Royal Mail (Postcode Address File) complete list of UK postcodes (code point open) with the latest property sales, council tax register, companies house data,\n and over twenty other data sources to create a near-complete address database.\n \n
\n
\n\n\n \n
\n \n Can I save or cache the addresses I receive?\n \n
\n
\n \n Yes, addresses are public data.\n \n
\n
\n \n \n \n \n SUPPORT\n \n \n
\n \n Are you providing support?\n \n
\n
\n \n Yes, we offer email support for all our customers &\n even online meetings for our extended license customers.\n \n
\n
\n \n
\n \n What's the difference between Basic and Priority support?\n \n
\n
\n \n Priority support is available 24-hours a day and can give advice on your code issues.\n Basic support will only provide advice with API issues or responses from our servers.\n \n
\n
\n\n\n \n \n
\n \n );\n};\n\nFAQS.propTypes = {\n className: PropTypes.string\n};\n\nexport default FAQS;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport {\n Container,\n Grid,\n Typography,\n makeStyles,\n Box\n} from '@material-ui/core';\n\n\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n backgroundColor: theme.palette.background.default,\n paddingTop: 48,\n paddingBottom: 48\n },\n item: {\n padding: theme.spacing(3),\n textAlign: 'center',\n [theme.breakpoints.up('md')]: {\n '&:not(:last-of-type)': {\n borderRight: `1px solid ${theme.palette.divider}`\n }\n },\n [theme.breakpoints.down('sm')]: {\n '&:not(:last-of-type)': {\n borderBottom: `1px solid ${theme.palette.divider}`\n }\n }\n },\n valueContainer: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center'\n },\n label: {\n marginLeft: theme.spacing(1)\n }\n}));\n\nconst Recommendation = ({ className, ...rest }) => {\n const classes = useStyles();\n const overview = {\n income: '854,355.00',\n expanses: '373,250.50',\n profit: '123,532.00',\n subscriptions: '26,000'\n };\n\n return (\n \n \n\n \n WHO IS USING APITIER API?\n \n \n \n \n \n Recommended By\n \n\n \n \n
\n \n\n \"Capterra\"\n \n
\n \n\n \n
\n \n \"getapp\"\n \n
\n \n\n \n
\n \n \"software-advice\"\n \n
\n \n\n \n \n \"g2\"\n \n \n\n \n
\n \n );\n};\n\nRecommendation.propTypes = {\n className: PropTypes.string\n};\n\nexport default Recommendation;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport {\n Avatar,\n Box,\n Container,\n Grid,\n Typography,\n makeStyles\n} from '@material-ui/core';\nimport {\n DollarSign as DollarSignIcon,\n CreditCard as CreditCardIcon,\n FastForward as FastForwardIcon,\n Activity as ActivityIcon,\n Clock as ClockIcon,\n GitMerge as GitMergeIcon\n} from 'react-feather';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n backgroundColor: theme.palette.background.dark,\n paddingTop: 78,\n paddingBottom: 78\n },\n avatar: {\n backgroundColor: theme.palette.secondary.main,\n color: theme.palette.secondary.contrastText\n },\n title: {\n fontWeight: theme.typography.fontWeightRegular\n }\n}));\n\nconst BusinessBenefits = ({ className, ...rest }) => {\n const classes = useStyles();\n\n return (\n \n \n \n HOW TO EXPEDITE APPLICATION DEVELOPMENT?\n \n \n \n \n \n Why You Should Use APITier APIs for Your Business? \n \n \n \n \n \n \n \n \n \n \n Save You Time\n \n \nAPI’s can automate a lot of the tedious tasks that take up your time, such as data entry and customer management.\n This frees you up to focus on more important things, like growing your business. \n \n \n \n \n \n \n \n \n \n \n Improve Efficiency\n \n \nAPI’s can help you streamline your processes and make your operation more efficient. This means that you can get\nmore work done in less time, and with fewer resources.\n\n \n \n \n \n \n \n \n \n \n \n \n Reduce Costs\n \n \n By automating tasks and improving efficiency, APIs can help you reduce your operating costs. This can free up\nmore money to invest in other areas of your business, or simply increase your profits.\n \n \n \n \n \n \n \n \n \n \n \n \n \n Improve Customer Service\n \n \n Improve your customer service.\n This can lead to more repeat customers and higher levels of customer satisfaction.\n \n \n \n \n \n \n \n \n \n \n \n Streamline Your Operations\n \n \n With APIs, you can streamline your operations by automating tasks and integrating different systems. This can save\n you time and money, and help you scale your business more effectively. \n \n \n \n \n \n \n \n \n \n \n Greater Scalability\n \n \n You will be able to quickly scale up or down depending on your needs. This makes it easier for\nbusinesses of any size to take advantage of the powerful features offered by APITier’s APIs.\n \n \n \n \n \n \n \n \n );\n};\n\nBusinessBenefits.propTypes = {\n className: PropTypes.string\n};\n\nexport default BusinessBenefits;","import React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport {\n Box,\n Container,\n Divider,\n Grid,\n Typography,\n makeStyles,\n colors,\n Card,\n CardContent,\n CardActionArea,\n Avatar,\n SvgIcon,\n} from '@material-ui/core';\nimport {\n Grid as GridIcon,\n BarChart2\n} from 'react-feather';\n\nimport { Link as RouterLink } from 'react-router-dom';\n\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n backgroundColor: '#e0ecf8',\n paddingTop: theme.spacing(6),\n paddingBottom: theme.spacing(6),\n '& dt': {\n marginTop: theme.spacing(2)\n }\n },\n icon: {\n backgroundColor: theme.palette.secondary.main,\n color: theme.palette.secondary.contrastText,\n height: 70,\n width: 70\n },\n avatar: {\n backgroundColor: colors.red[600]\n },\n stepper: {\n backgroundColor: 'transparent'\n },\n name: {\n marginTop: theme.spacing(1)\n }\n}));\n\nconst FreeTool = ({ className, ...rest }) => {\n const classes = useStyles();\n\n\n return (\n \n
\n\n \n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n\n Free QR Code Generator\n \n \n \n\n \n Need a quick, secure way to generate QR Codes? Look no further than Free QR Code Generator! Perfect solution if you want to create high-quality codes with your own branding, data, and design. With our easy-to-use platform, you can generate custom codes in just a few seconds! Take the hassle out of creating QR Codes and get started today with Free QR Code Generator!\n \n \n \n \n\n \n \n \n\n \n \n \n \n \n \n \n \n \n \n Get QRCode Statistics\n \n\n \n\n \n Monitor scans, locations, devices, and scan times to optimize your campaigns and make data-driven decisions.Elevate your marketing game with our cutting-edge QR code solution - Get Dynamic QRCodes in seconds!! Harness the potential of dynamic QR codes to engage your audience and drive meaningful results. Try it now!\n \n \n\n \n \n\n \n \n\n \n\n \n \n\n\n \n
\n \n );\n};\n\nFreeTool.propTypes = {\n className: PropTypes.string\n};\n\nexport default FreeTool;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\n\nimport {\n Box,\n Container,\n Divider,\n Grid,\n Typography,\n makeStyles,\n Avatar,\n colors,\n Card,\n CardContent,\n CardActionArea,\n SvgIcon\n} from '@material-ui/core';\n\nimport {\n MapPin,\n Home,\n AtSign,\n Map,\n Phone,\n ShoppingBag,\n File,\n FileText,\n Code,\n Monitor,\n Database,\n Search,\n Chrome,\n BarChart2\n} from 'react-feather';\nimport { Grid as GridIcon} from 'react-feather';\n\nimport { Link as RouterLink } from 'react-router-dom';\n\nconst catalogueData = [\n {\n id: '5e8883f1b51cc1956a5a1ec0',\n title: 'Validate Email API',\n type: 'verification_api',\n icon: AtSign,\n description: 'Validate email addresses quickly and accurately with our reliable Email Validate API. Our powerful API tool instantly verifies email addresses to protect you from bounces, spam traps, and disposable domains. Get started for free today!',\n link: '/api-catalogue/validate-email-api'\n },\n {\n id: '5e8883f1b51cc1956a5a1ec1',\n title: 'Validate Phone API',\n icon: Phone,\n type: 'verification_api',\n description: 'Instantly verify & validate telephone numbers with Phone Validator. Our comprehensive platform checks phone numbers against multiple global databases, helping you to identify valid and invalid contacts quickly and accurately. Get started today for reliable results every time.',\n link: '/api-catalogue/validate-phone-api'\n },\n {\n id: '5e8883f1b51cc1956a5a1ec2',\n title: 'VAT Number Validation API',\n type: 'verification_api',\n icon: ShoppingBag,\n description: 'Checking and validating VAT numbers is an important part of any business. It helps to ensure that you are dealing with legitimate companies and not fraudsters. To do this, you need to find reliable online resources that can provide accurate information about VAT numbers.',\n link: '/api-catalogue/validate-vat-api'\n },\n {\n id: '5e8883f1b51cc1956a5a1ec3',\n title: 'User Agent Parser API',\n type: 'verification_api',\n icon: Chrome,\n description: 'Instantly identify the browsers, operating systems, and devices used by your users to ensure your web applications are optimized for maximum compatibility and performance.',\n link: '/api-catalogue/validate-useragent-api'\n },\n\n {\n id: '5e8883f7ed1486d665d8be1f',\n title: 'PostCode Lookup API',\n icon: Home,\n type: 'uk_postcode_api',\n description: 'Get the most accurate and up-to-date postcode data with our industry-leading Postcode Data Platform. We provide comprehensive coverage, instant access, and reliable data to enhance your customer experience. Our platform is trusted by businesses worldwide for its accuracy',\n link: '/api-catalogue/postcode-lookup-api'\n },\n {\n id: '5e8883f7ed1486d665d8be1f',\n title: 'Address AutoSuggest API',\n icon: Map,\n type: 'uk_postcode_api',\n description: 'Get accurate and real-time address suggestions with our Address AutoSuggest API. Our API is designed to provide quick and reliable address autocomplete for any website or application. With our simple integration, you can give your users a smoother checkout experience and reduce',\n link: '/api-catalogue/address-autosuggest-api'\n },\n {\n id: '5e8883f7ed1486d665d8be1f',\n title: 'Address Lookup API',\n icon: MapPin,\n type: 'uk_postcode_api',\n description: 'Get the most accurate address data with our free Address Lookup API. Our powerful, reliable, and easy-to-use API provides businesses with comprehensive address validation and verification capabilities. Get started today with free access to our secure and fast API.',\n link: '/api-catalogue/address-lookup-api'\n },\n\n\n {\n id: '5e8883f7ed1486d665d8be1e',\n title: 'ScreenShot API',\n icon: Monitor,\n type: 'web_conversion_api',\n description: 'Need to take screenshots quickly and easily? Our Screenshot API makes it simple. Get detailed screenshots of web pages, capture website elements, and track changes over time. Get the most out of your screenshot needs with our easy-to-use API.',\n link: '/api-catalogue/screenshot-api'\n },\n {\n id: '5e8883f7ed1486d665d8be1f',\n title: 'WEB To PDF API',\n icon: File,\n type: 'web_conversion_api',\n description: 'Capture screenshots of any web page or PDF document in seconds with our simple online tool. Easily share screenshots for online meetings, presentations, or education purposes with our easy-to-use interface. Get started now and quickly take screenshots with ease.',\n link: '/api-catalogue/web-to-pdf-api'\n },\n {\n id: '5e8883f7ed1486d665d8be1g',\n title: 'WEB To TEXT API',\n icon: FileText,\n type: 'web_conversion_api',\n description: 'Web Content Extractor is a powerful web scraping tool that helps you extract text, images, and other data from websites and HTML documents. Get the content you want quickly and easily, without the need for manual copy-and-paste.',\n link: '/api-catalogue/web-to-text-api'\n },\n {\n id: '5e8883f7ed1486d665d8be1h',\n title: 'WebScrape API',\n icon: Code,\n type: 'web_conversion_api',\n description: 'Get the most out of your data with WebScrape API. Our cloud-based platform helps you easily extract, transform, and analyze data from any website or web page. Get started with our easy-to-use interface and sophisticated extraction tool',\n link: 'api-catalogue/web-scrape-api'\n },\n\n {\n id: '5e8883fca0e8612044248eci',\n title: 'DATA Conversion API',\n type: 'data_conversion_api',\n icon: Database,\n description: 'Transform any data format into the format you need with our expert data conversion services. Our team of experts can convert your data from one format to another quickly, accurately, and securely. Get started now and access the highest quality data conversion services.',\n link: '/api-catalogue/data-conversion-api'\n },\n\n {\n id: '5e8883fca0e8612044248ece',\n title: 'INDIA PinCode API',\n type: 'in_pincode_api',\n icon: Search,\n description: 'Find accurate pincodes in India easily with our free Pincode API. Quickly get the postal code of any location in India with a few simple clicks. Save time and resources by using our reliable, updated pincode database.',\n link: '/api-catalogue/india-pincode-api'\n },\n\n {\n id: '5e8883fca0e8612044248ecd',\n title: 'BarCode Generator API',\n icon: BarChart2,\n type: 'barcode_api',\n description: 'BarCode Generator API is the ultimate solution for your business barcode needs. Our easy-to-use platform allows you to quickly generate industry-standard barcodes that are perfect for printing, scanning, and managing inventory. Try it now and see how',\n link: '/api-catalogue/barcode-api'\n },\n {\n id: '5e8883fca0e8612044248ecb',\n title: 'Generate QR Code API',\n icon: GridIcon,\n type: 'barcode_api',\n description: 'Generate high-quality, secure QR Codes quickly and easily with our generate QR Code API. Our easy-to-use platform lets you create custom codes with your own branding, data, and design. Get started today and get the most out of',\n link: '/api-catalogue/qrcode-api'\n }\n\n];\n\n\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n backgroundColor: theme.palette.background.light,\n paddingTop: theme.spacing(6),\n paddingBottom: theme.spacing(6),\n '& dt': {\n marginTop: theme.spacing(2)\n }\n },\n icon: {\n backgroundColor: theme.palette.secondary.main,\n color: theme.palette.secondary.contrastText,\n height: 70,\n width: 70\n },\n avatar: {\n backgroundColor: colors.red[600]\n },\n\n}));\n\nconst Catalogue = ({ className, ...rest }) => {\n const classes = useStyles();\n\n\n return (\n \n
\n\n \n\n \n Comprehensive API Catalogue\n \n\n \n \n \n\n\n\n\n \n UK POSTCODE API\n \n \n \n {catalogueData && catalogueData.slice(4, 7).map((catalogue, index) => (\n\n \n \n \n \n \n\n \n \n \n \n \n \n \n\n \n \n \n \n \n\n\n \n\n ))}\n \n \n \n \n \n\n \n WEB CONVERSION API\n \n \n \n {catalogueData && catalogueData.slice(7, 11).map((catalogue, index) => (\n\n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n\n\n\n \n\n ))}\n \n \n \n \n \n\n \n \n
\n \n );\n};\n\nCatalogue.propTypes = {\n className: PropTypes.string\n};\n\nexport default Catalogue;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport {\n Box,\n Container,\n Grid,\n Typography, \n makeStyles,\n Button\n} from '@material-ui/core';\nimport { Link as RouterLink } from 'react-router-dom';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n backgroundColor: theme.palette.background.default,\n paddingTop: 100,\n paddingBottom: 100,\n [theme.breakpoints.down('md')]: {\n paddingTop: 30,\n paddingBottom: 30\n }\n },\n technologyIcon: {\n height: 40,\n margin: theme.spacing(1)\n },\n image: {\n perspectiveOrigin: 'left center',\n transformStyle: 'preserve-3d',\n perspective: 1500,\n '& > img': {\n maxWidth: '90%',\n height: 'auto',\n transform: 'rotateY(-35deg) rotateX(15deg)',\n backfaceVisibility: 'hidden',\n boxShadow: theme.shadows[16]\n }\n },\n shape: {\n position: 'absolute',\n top: 0,\n left: 0,\n '& > img': {\n maxWidth: '90%',\n height: 'auto'\n }\n }\n}));\n\nconst Hero = ({ className, ...rest }) => {\n const classes = useStyles();\n \n\n return (\n \n \n \n \n \n \n \n APITier - Highly Scalable APIs\n \n \n \nAPITier is the perfect solution for individual developers, startups, SMEs, and large enterprises who want to save valuable time and energy when building and maintaining software products. \n
\n \n\nOur highly scalable API platform offers a suite of APIs, including verification, web conversion, data conversion, and UK postcode APIs. These essential core building blocks make it easy to enrich user experience, perform address checks and email validation, scrape web content and data quickly and easily. \n\n
\n \nYour account comes with a free trial API KEY to access all APITier APIs. \n \n
\n\n {/* \n \n \n \n API\n \n \n Integration Sinppets\n \n \n \n \n UX\n \n \n Complete Flows\n \n \n \n */}\n\n \n \n API Catalogue\n \n\n \n Get Started\n \n \n \n \n\n \n \n \n \n \n
\n \n
\n
\n \n
\n
\n \n \n
\n \n );\n};\n\nHero.propTypes = {\n className: PropTypes.string\n};\n\nexport default Hero;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport {\n Container,\n Typography,\n makeStyles,\n Box,\n Divider\n} from '@material-ui/core';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n backgroundColor: theme.palette.background.dark,\n paddingTop: theme.spacing(6),\n paddingBottom: theme.spacing(6),\n },\n logoContainer: {\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n flexWrap: 'wrap',\n },\n logoBox: {\n width: '170px',\n height: '150px',\n backgroundColor: '#FFFFFF',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n padding: theme.spacing(2),\n borderRadius: theme.spacing(1),\n margin: theme.spacing(2),\n boxShadow: '0px 0px 8px rgba(0, 0, 0, 0.2)',\n transition: 'box-shadow 0.3s',\n '&:hover': {\n boxShadow: '0 0 12px rgba(0, 0, 0, 0.3)',\n },\n cursor: 'pointer',\n },\n logo: {\n maxWidth: '100%',\n maxHeight: '100%',\n },\n \n '@media (min-width: 1200px)': {\n logoContainer: {\n justifyContent: 'flex-start',\n },\n },\n}));\n\nconst Companies = ({ className, ...rest }) => {\n const classes = useStyles();\n\n return (\n \n \n \n Trusted By Companies\n \n \n \n \n \n window.open('https://mailtrap.io/', '_blank')}>\n \n \"mailtrap\"\n \n \n\n window.open('https://flexgpt.io', '_blank')}>\n \n \"flexgpt\"\n \n \n\n window.open('https://proton.me/', '_blank')}>\n \n \"protonag\"\n \n \n\n window.open('https://mylocalsurgery.co.uk/', '_blank')}>\n \n \"mylocalsurgery\"\n \n \n\n window.open('https://www.fujitsu.com/', '_blank')}>\n \n \"fujitsu\"\n \n \n\n window.open('https://www.orange.fr/', '_blank')}>\n \n \"orange\"\n \n \n \n \n \n );\n};\n\nCompanies.propTypes = {\n className: PropTypes.string\n};\n\nexport default Companies;\n\n","import React from 'react';\nimport { makeStyles } from '@material-ui/core';\nimport Page from 'src/components/Page';\n// import Hero from './Hero';\nimport Benefits from './Benefits';\nimport SimpleSteps from './SimpleSteps';\nimport CTA from './CTA';\nimport FAQS from './FAQS';\nimport Recommendation from './Recommendation'\nimport BusinessBenefits from './BusinessBenefits'\nimport FreeTool from './FreeTool';\nimport Catalogue from './Catalogue'\nimport Hero from './Hero'\nimport PricingView from '../../dashboard/BusinessPricing/PricingView'\nimport Companies from './Companies'\n\nconst useStyles = makeStyles(() => ({\n root: {}\n}));\n\nconst HomeView = () => {\n const classes = useStyles();\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default HomeView;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport {\n Box,\n Container,\n Divider,\n Grid,\n Typography,\n makeStyles,\n Avatar,\n SvgIcon,\n List,\n ListItem,\n ListItemAvatar,\n ListItemText,\n StepConnector,\n withStyles,\n Step,\n StepLabel,\n Stepper,\n colors,\n} from '@material-ui/core';\nimport {\n MapPin,\n Home,\n AtSign,\n Trello,\n Map,\n Phone,\n ShoppingBag,\n File,\n FileText,\n FilePlus,\n FileMinus,\n Code,\n Monitor,\n Database,\n Search,\n Chrome,\n BarChart2\n} from 'react-feather';\nimport { Grid as GridIcon} from 'react-feather';\n\nimport { Link as RouterLink } from 'react-router-dom';\nimport { HashLink } from 'react-router-hash-link';\n\n\nconst datasteps = [\n {\n label: 'JSON To XML',\n icon: FilePlus\n },\n {\n label: 'XML To JSON',\n icon: FileMinus\n },\n {\n label: 'JSON To CSV',\n icon: FilePlus\n },\n {\n label: 'CSV To JSON',\n icon: FileMinus\n },\n {\n label: 'CSV To XML',\n icon: FilePlus\n }\n];\n\n\nconst CustomStepConnector = withStyles((theme) => ({\n vertical: {\n marginLeft: 19,\n padding: 0,\n },\n line: {\n borderColor: theme.palette.divider\n }\n}))(StepConnector);\n\nconst useCustomStepIconStyles = makeStyles((theme) => ({\n root: {},\n active: {\n backgroundColor: theme.palette.secondary.main,\n boxShadow: theme.shadows[10],\n color: theme.palette.secondary.contrastText\n },\n completed: {\n backgroundColor: theme.palette.secondary.main,\n color: theme.palette.secondary.contrastText\n }\n}));\n\nconst CustomStepIcon = ({ active, completed, icon, steps }) => {\n const classes = useCustomStepIconStyles();\n\n const Icon = steps[icon - 1].icon;\n\n return (\n \n \n \n );\n};\n\nCustomStepIcon.propTypes = {\n active: PropTypes.bool,\n completed: PropTypes.bool,\n icon: PropTypes.number.isRequired,\n steps: PropTypes.array.isRequired\n};\n\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n backgroundColor: theme.palette.background.default,\n paddingTop: theme.spacing(6),\n paddingBottom: theme.spacing(6),\n '& dt': {\n marginTop: theme.spacing(2)\n }\n },\n icon: {\n backgroundColor: theme.palette.secondary.main,\n color: theme.palette.secondary.contrastText\n },\n avatar: {\n backgroundColor: colors.red[600]\n },\n stepper: {\n backgroundColor: 'transparent'\n },\n}));\n\nconst Products = ({ className, ...rest }) => {\n const classes = useStyles();\n const [activeStep, setActiveStep] = useState(4);\n\n const CustomStepIcon = ({ active, completed, icon }) => {\n const classes = useCustomStepIconStyles();\n\n const Icon = datasteps[icon - 1].icon;\n\n return (\n \n \n \n );\n };\n\n CustomStepIcon.propTypes = {\n active: PropTypes.bool,\n completed: PropTypes.bool,\n icon: PropTypes.number.isRequired\n };\n\n return (\n \n
\n \n\n \n API Products\n \n\n \n \n \n\n \n \n \n VERIFICATION API\n \n\n \n \n\n \n \n \n \n \n \n \n \n \n \n Validate Email\n \n \n }\n secondary={\n \n \n Validates single email or bulk email addresses.\n \n \n }\n />\n \n\n\n \n \n \n \n \n \n \n \n \n \n Validate Phone\n \n \n }\n secondary={\n \n \n Validate national and international phone numbers and get location information about phone number.\n \n \n }\n />\n \n\n \n \n \n \n \n \n \n \n \n \n Validate VAT\n \n \n }\n secondary={\n \n \n Validate VAT numbers for verification and get company information, including address, returned for each VAT number.\n \n \n }\n />\n \n\n \n \n \n \n \n \n \n \n \n \n User Agent\n\n \n \n }\n secondary={\n \n \n Parses User Agent to detect Browser, Engine, OS, CPU, and Device type/model,etc.\n \n \n }\n />\n \n\n \n \n\n \n\n\n \n \n UK POSTCODE API\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n PostCode Lookup\n \n \n }\n secondary={\n \n \n Gets addresses for given PostCode.\n \n \n }\n />\n \n \n \n \n \n \n \n \n \n \n \n Address AutoSuggest\n \n \n }\n secondary={\n \n \n Suggest addresses for given search term.\n \n \n }\n />\n \n\n \n \n \n \n \n \n \n \n \n \n Address Lookup\n \n \n }\n secondary={\n \n \n Gets addresses for given search term.\n \n \n }\n />\n \n \n \n \n \n \n \n \n \n \n \n UDPRN Lookup\n \n \n }\n secondary={\n \n \n Gets addresses for given UDPRN.\n \n \n }\n />\n \n \n \n\n \n\n\n \n\n \n \n\n \n\n \n \n CONVERSION API\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n Data Conversion\n\n \n \n \n }\n secondary={\n \n \n Converts data from the one format to another.\n \n }\n orientation=\"vertical\"\n >\n {datasteps.map((step) => (\n \n \n {step.label}\n \n \n ))}\n \n \n }\n />\n\n\n \n \n \n \n\n \n\n \n \n WEB CONVERSION API\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n ScreenShot API\n \n \n }\n secondary={\n \n \n Take ScreenShot of web url or html content.\n \n \n }\n />\n \n\n \n \n \n \n \n \n \n \n \n \n Web To PDF API\n \n \n }\n secondary={\n \n \n Extract web content as PDF from web url or html content.\n \n \n }\n />\n \n \n \n \n \n \n \n \n \n \n \n Web Scrape API\n \n \n }\n secondary={\n \n \n Extract html code & data from a Web URL.\n \n \n }\n />\n \n \n \n \n \n \n \n \n \n \n \n Web To Text API\n \n \n }\n secondary={\n \n \n Extract web content as text from a url or html content.\n \n \n }\n />\n \n \n \n\n \n\n \n\n \n\n \n \n INDIA PINCODE API\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n PinCode Lookup\n \n \n }\n secondary={\n \n \n JSON API to query India PinCode and Places.\n \n \n }\n />\n \n \n \n \n\n \n\n \n \n QRCODE API\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n Generate BarCode\n \n \n }\n secondary={\n \n \n Versatile barcode generator API.\n \n \n }\n />\n \n\n \n \n \n \n \n \n \n \n \n \n Generate QR Code\n \n \n }\n secondary={\n \n \n Rich Featured QR Code generator API.\n \n \n }\n />\n \n \n \n\n \n\n \n\n \n
\n \n );\n};\n\nProducts.propTypes = {\n className: PropTypes.string\n};\n\nexport default Products;\n","import React from 'react';\nimport { makeStyles } from '@material-ui/core';\nimport Page from 'src/components/Page';\nimport Products from './Products'\nconst useStyles = makeStyles(() => ({\n root: {}\n}));\n\nconst ProductListView = () => {\n const classes = useStyles();\n\n return (\n\n \n\n \n\n \n );\n};\n\nexport default ProductListView;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\n\nimport {\n Box,\n Container,\n Divider,\n Grid,\n Typography,\n makeStyles,\n Avatar,\n colors,\n Card,\n CardContent,\n CardActionArea,\n SvgIcon\n} from '@material-ui/core';\n\nimport {\n MapPin,\n Home,\n AtSign,\n Map,\n Phone,\n ShoppingBag,\n File,\n FileText,\n Code,\n Monitor,\n Database,\n Search,\n Chrome,\n BarChart2\n} from 'react-feather';\nimport { Grid as GridIcon} from 'react-feather';\n\nimport { Link as RouterLink } from 'react-router-dom';\n\nconst catalogueData = [\n {\n id: '5e8883f1b51cc1956a5a1ec0',\n title: 'Validate Email API',\n type: 'verification_api',\n icon: AtSign,\n description: 'Validate email addresses quickly and accurately with our reliable Email Validate API. Our powerful API tool instantly verifies email addresses to protect you from bounces, spam traps, and disposable domains. Get started for free today!',\n link: '/api-catalogue/validate-email-api'\n },\n {\n id: '5e8883f1b51cc1956a5a1ec1',\n title: 'Validate Phone API',\n icon: Phone,\n type: 'verification_api',\n description: 'Instantly verify & validate telephone numbers with Phone Validator. Our comprehensive platform checks phone numbers against multiple global databases, helping you to identify valid and invalid contacts quickly and accurately. Get started today for reliable results every time.',\n link: '/api-catalogue/validate-phone-api'\n },\n {\n id: '5e8883f1b51cc1956a5a1ec2',\n title: 'VAT Number Validation API',\n type: 'verification_api',\n icon: ShoppingBag,\n description: 'Checking and validating VAT numbers is an important part of any business. It helps to ensure that you are dealing with legitimate companies and not fraudsters. To do this, you need to find reliable online resources that can provide accurate information about VAT numbers.',\n link: '/api-catalogue/validate-vat-api'\n },\n {\n id: '5e8883f1b51cc1956a5a1ec3',\n title: 'User Agent Parser API',\n type: 'verification_api',\n icon: Chrome,\n description: 'Instantly identify the browsers, operating systems, and devices used by your users to ensure your web applications are optimized for maximum compatibility and performance.',\n link: '/api-catalogue/validate-useragent-api'\n },\n\n {\n id: '5e8883f7ed1486d665d8be1f',\n title: 'PostCode Lookup API',\n icon: Home,\n type: 'uk_postcode_api',\n description: 'Get the most accurate and up-to-date postcode data with our industry-leading Postcode Data Platform. We provide comprehensive coverage, instant access, and reliable data to enhance your customer experience. Our platform is trusted by businesses worldwide for its accuracy',\n link: '/api-catalogue/postcode-lookup-api'\n },\n {\n id: '5e8883f7ed1486d665d8be1f',\n title: 'Address AutoSuggest API',\n icon: Map,\n type: 'uk_postcode_api',\n description: 'Get accurate and real-time address suggestions with our Address AutoSuggest API. Our API is designed to provide quick and reliable address autocomplete for any website or application. With our simple integration, you can give your users a smoother checkout experience and reduce',\n link: '/api-catalogue/address-autosuggest-api'\n },\n {\n id: '5e8883f7ed1486d665d8be1f',\n title: 'Address Lookup API',\n icon: MapPin,\n type: 'uk_postcode_api',\n description: 'Get the most accurate address data with our free Address Lookup API. Our powerful, reliable, and easy-to-use API provides businesses with comprehensive address validation and verification capabilities. Get started today with free access to our secure and fast API.',\n link: '/api-catalogue/address-lookup-api'\n },\n\n\n {\n id: '5e8883f7ed1486d665d8be1e',\n title: 'ScreenShot API',\n icon: Monitor,\n type: 'web_conversion_api',\n description: 'Need to take screenshots quickly and easily? Our Screenshot API makes it simple. Get detailed screenshots of web pages, capture website elements, and track changes over time. Get the most out of your screenshot needs with our easy-to-use API.',\n link: '/api-catalogue/screenshot-api'\n },\n {\n id: '5e8883f7ed1486d665d8be1f',\n title: 'WEB To PDF API',\n icon: File,\n type: 'web_conversion_api',\n description: 'Capture screenshots of any web page or PDF document in seconds with our simple online tool. Easily share screenshots for online meetings, presentations, or education purposes with our easy-to-use interface. Get started now and quickly take screenshots with ease.',\n link: '/api-catalogue/web-to-pdf-api'\n },\n {\n id: '5e8883f7ed1486d665d8be1g',\n title: 'WEB To TEXT API',\n icon: FileText,\n type: 'web_conversion_api',\n description: 'Web Content Extractor is a powerful web scraping tool that helps you extract text, images, and other data from websites and HTML documents. Get the content you want quickly and easily, without the need for manual copy-and-paste.',\n link: '/api-catalogue/web-to-text-api'\n },\n {\n id: '5e8883f7ed1486d665d8be1h',\n title: 'WebScrape API',\n icon: Code,\n type: 'web_conversion_api',\n description: 'Get the most out of your data with WebScrape API. Our cloud-based platform helps you easily extract, transform, and analyze data from any website or web page. Get started with our easy-to-use interface and sophisticated extraction tool',\n link: 'api-catalogue/web-scrape-api'\n },\n\n {\n id: '5e8883fca0e8612044248eci',\n title: 'DATA Conversion API',\n type: 'data_conversion_api',\n icon: Database,\n description: 'Transform any data format into the format you need with our expert data conversion services. Our team of experts can convert your data from one format to another quickly, accurately, and securely. Get started now and access the highest quality data conversion services.',\n link: '/api-catalogue/data-conversion-api'\n },\n\n {\n id: '5e8883fca0e8612044248ece',\n title: 'INDIA PinCode API',\n type: 'in_pincode_api',\n icon: Search,\n description: 'Find accurate pincodes in India easily with our free Pincode API. Quickly get the postal code of any location in India with a few simple clicks. Save time and resources by using our reliable, updated pincode database.',\n link: '/api-catalogue/india-pincode-api'\n },\n\n {\n id: '5e8883fca0e8612044248ecd',\n title: 'BarCode Generator API',\n icon: BarChart2,\n type: 'barcode_api',\n description: 'BarCode Generator API is the ultimate solution for your business barcode needs. Our easy-to-use platform allows you to quickly generate industry-standard barcodes that are perfect for printing, scanning, and managing inventory. Try it now and see how',\n link: '/api-catalogue/barcode-api'\n },\n {\n id: '5e8883fca0e8612044248ecb',\n title: 'Generate QR Code API',\n icon: GridIcon,\n type: 'barcode_api',\n description: 'Generate high-quality, secure QR Codes quickly and easily with our generate QR Code API. Our easy-to-use platform lets you create custom codes with your own branding, data, and design. Get started today and get the most out of',\n link: '/api-catalogue/qrcode-api'\n }\n\n];\n\n\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n backgroundColor: theme.palette.background.dark,\n paddingTop: theme.spacing(6),\n paddingBottom: theme.spacing(6),\n '& dt': {\n marginTop: theme.spacing(2)\n }\n },\n icon: {\n backgroundColor: theme.palette.secondary.main,\n color: theme.palette.secondary.contrastText,\n height: 70,\n width: 70\n },\n avatar: {\n backgroundColor: colors.red[600]\n },\n\n}));\n\nconst Catalogue = ({ className, ...rest }) => {\n const classes = useStyles();\n\n\n return (\n \n
\n\n \n\n \n Comprehensive API Catalogue\n \n\n \n \n \n\n\n \n VERIFICATION API\n \n \n \n {catalogueData && catalogueData.slice(0, 4).map((catalogue, index) => (\n\n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n\n\n \n\n ))}\n \n \n \n \n \n\n \n UK POSTCODE API\n \n \n \n {catalogueData && catalogueData.slice(4, 7).map((catalogue, index) => (\n\n \n \n \n \n \n\n \n \n \n \n \n \n \n\n \n \n \n \n \n\n\n \n\n ))}\n \n \n \n \n \n\n \n WEB CONVERSION API\n \n \n \n {catalogueData && catalogueData.slice(7, 11).map((catalogue, index) => (\n\n \n \n \n \n \n\n \n \n \n \n \n \n\n \n \n \n \n \n\n\n\n \n\n ))}\n \n \n \n \n \n\n \n QRCODE API\n \n \n \n {catalogueData && catalogueData.slice(13, 15).map((catalogue, index) => (\n\n \n \n \n \n \n\n \n \n \n \n \n \n \n\n \n \n \n \n \n\n\n\n \n\n ))}\n \n \n \n \n \n\n\n \n OTHER APIs\n \n \n \n {catalogueData && catalogueData.slice(11, 13).map((catalogue, index) => (\n\n \n \n \n\n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n\n \n\n ))}\n \n \n \n \n \n \n
\n \n );\n};\n\nCatalogue.propTypes = {\n className: PropTypes.string\n};\n\nexport default Catalogue;\n","import React from 'react';\nimport { makeStyles } from '@material-ui/core';\nimport Page from 'src/components/Page';\nimport Catalogue from './Catalogue'\nconst useStyles = makeStyles(() => ({\n root: {}\n}));\n\nconst APICatalogueView = () => {\n const classes = useStyles();\n\n return (\n\n \n\n \n\n \n );\n};\n\nexport default APICatalogueView;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport {\n Box,\n Container,\n Divider,\n Grid,\n Typography,\n makeStyles,\n colors,\n Card,\n CardContent,\n CardActionArea,\n Avatar,\n SvgIcon,\n} from '@material-ui/core';\nimport {\n Grid as GridIcon,\n BarChart2,\n Phone,\n ShoppingBag,\n FileText\n} from 'react-feather';\n\nimport { Link as RouterLink } from 'react-router-dom';\n\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n backgroundColor: theme.palette.background.dark,\n paddingTop: theme.spacing(6),\n paddingBottom: theme.spacing(6),\n '& dt': {\n marginTop: theme.spacing(2)\n }\n },\n icon: {\n backgroundColor: theme.palette.secondary.main,\n color: theme.palette.secondary.contrastText,\n height: 70,\n width: 70\n },\n avatar: {\n backgroundColor: colors.red[600]\n },\n stepper: {\n backgroundColor: 'transparent'\n },\n name: {\n marginTop: theme.spacing(1)\n }\n}));\n\nconst FreeTool = ({ className, ...rest }) => {\n const classes = useStyles();\n\n\n return (\n \n
\n\n \n\n \n Free Tools for QR Codes, Barcode, UK Postcode Lookup & More...\n \n\n \n \n \n\n \n Get Free QRCodes For Your Business!!\n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n\n AI Generated QR Codes\n \n \n \n\n \n Unlock the creativity of AI-generated artistic QR codes. Transform your brand, business, or artwork into captivating visual codes that engage and delight your audience. Discover the power of AI in creating unique and eye-catching QR codes that stand out from the crowd. Elevate your marketing strategy with our cutting-edge technology today!!\n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n Free Artistic QR Codes\n \n\n \n\n \n Unlock the potential of your QR codes with our free artistic QR code generator. Create stunning and eye-catching QR codes that seamlessly blend with your brand's aesthetic. Drive engagement and enhance user experience with visually appealing QR codes that capture attention instantly. Start generating unique and captivating artistic QR codes for free today!! \n \n\n \n \n \n \n \n\n \n \n\n \n \n \n\n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n\n Free QR Code Generator\n \n \n \n\n \n Generate high-quality, secure QR Codes quickly and easily with our QR Code Generator. Our easy-to-use platform lets you create custom codes with your own branding, data, and design. Get started today!!\n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n Free BarCode Generator\n \n\n \n\n \n With our barcode generator, you can create and print barcodes of any size with ease. Our intuitive Tool allows you to customize your barcodes and add features like text, images, colors, and shapes. Create the perfect barcode for your Business!! \n\n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n Free Phone Validator\n \n\n \n\n \n Easily verify phone numbers with APITier's powerful validation tool. Get accurate, real-time data to improve lead quality and prevent fraud. It's free to try - sign up now and start validating phone numbers in seconds.\n \n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n \n\n Free Web To Text \n \n \n \n\n \n Easily convert web pages into readable text with APITier's Web to Text API. Ensure accuracy with real-time data extraction and streamline data processing. Try it for free - sign up now and start extracting text from web pages instantly.\n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n VAT Number Validator\n \n\n \n\n \n Quickly and accurately verify VAT numbers using APITier's advanced validation tool. Ensure accuracy with real-time data and reduce errors with reliable, up-to-date information. Try it for free - sign up now and start validating VAT numbers instantly.\n \n\n \n \n \n \n \n\n \n \n\n \n \n \n\n\n \n
\n \n );\n};\n\nFreeTool.propTypes = {\n className: PropTypes.string\n};\n\nexport default FreeTool;\n","import React from 'react';\nimport { makeStyles } from '@material-ui/core';\nimport Page from 'src/components/Page';\nimport FreeTool from './FreeTool'\nconst useStyles = makeStyles(() => ({\n root: {}\n}));\n\nconst FreeToolsView = () => {\n const classes = useStyles();\n\n return (\n\n \n\n \n\n \n );\n};\n\nexport default FreeToolsView;\n","import React, { useEffect } from 'react';\nimport NProgress from 'nprogress';\nimport {\n Box,\n LinearProgress,\n makeStyles\n} from '@material-ui/core';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n alignItems: 'center',\n backgroundColor: theme.palette.background.default,\n display: 'flex',\n flexDirection: 'column',\n height: '100%',\n justifyContent: 'center',\n minHeight: '100%',\n padding: theme.spacing(3)\n }\n}));\n\nconst LoadingScreen = () => {\n const classes = useStyles();\n\n useEffect(() => {\n NProgress.start();\n\n return () => {\n NProgress.done();\n };\n }, []);\n\n return (\n
\n \n \n \n
\n );\n};\n\nexport default LoadingScreen;\n","import React from 'react';\nimport { Redirect } from 'react-router-dom';\nimport PropTypes from 'prop-types';\nimport useAuth from '../hooks/useAuth';\n\nconst AuthGuard = ({ children }) => {\n const { isAuthenticated } = useAuth();\n\n if (!isAuthenticated) {\n return ;\n }\n\n return (\n <>\n {children}\n \n );\n};\n\nAuthGuard.propTypes = {\n children: PropTypes.node\n};\n\nexport default AuthGuard;\n","import React from 'react';\nimport { Redirect } from 'react-router-dom';\nimport PropTypes from 'prop-types';\nimport useAuth from '../hooks/useAuth';\n\nconst GuestGuard = ({ children }) => {\n const { isAuthenticated } = useAuth();\n\n if (isAuthenticated) {\n return ;\n }\n\n return (\n <>\n {children}\n \n );\n};\n\nGuestGuard.propTypes = {\n children: PropTypes.node\n};\n\nexport default GuestGuard;\n","import React, {\n Suspense,\n Fragment,\n lazy\n} from 'react';\nimport {\n Switch,\n Redirect,\n Route\n} from 'react-router-dom';\nimport DashboardLayout from 'src/layouts/DashboardLayout';\nimport MainLayout from 'src/layouts/MainLayout';\nimport DocsLayout from 'src/layouts/DocsLayout';\nimport HomeView from 'src/views/home/HomeView';\nimport ProductListView from 'src/views/dashboard/ProductListView';\nimport APICatalogueView from 'src/views/dashboard/APICatalogueView';\nimport FreeToolsView from 'src/views/dashboard/FreeToolsView';\n\nimport LoadingScreen from 'src/components/LoadingScreen';\nimport AuthGuard from 'src/components/AuthGuard';\nimport GuestGuard from 'src/components/GuestGuard';\nimport ValidatePhoneView from 'src/views/apis/verification/phone/ValidatePhoneView';\n\nexport const renderRoutes = (routes = []) => (\n }>\n \n {routes.map((route, i) => {\n const Guard = route.guard || Fragment;\n const Layout = route.layout || Fragment;\n const Component = route.component;\n\n return (\n (\n \n \n {route.routes\n ? renderRoutes(route.routes)\n : }\n \n \n )}\n />\n );\n })}\n \n \n);\n\nconst routes = [\n\n {\n exact: true,\n path: '/404',\n component: lazy(() => import('src/views/errors/NotFoundView'))\n },\n {\n exact: true,\n path: '/login-unprotected',\n component: lazy(() => import('src/views/auth/LoginView'))\n },\n {\n exact: true,\n path: '/register-unprotected',\n component: lazy(() => import('src/views/auth/RegisterView'))\n },\n {\n exact: true,\n path: '/forgot-password',\n component: lazy(() => import('src/views/auth/ForgetPasswordView'))\n },\n {\n exact: true,\n path: '/confirm-password',\n component: lazy(() => import('src/views/auth/ConfirmPasswordView'))\n },\n {\n path: '/api',\n guard: AuthGuard,\n layout: DashboardLayout,\n routes: [\n {\n exact: true,\n path: '/api',\n component: () => \n },\n {\n exact: true,\n path: '/api/dashboard',\n component: lazy(() => import('src/views/apis/DashboardView'))\n },\n {\n exact: true,\n path: '/api/postcode/find-by-postcode',\n component: lazy(() => import('src/views/apis/findbypostcode/FindByPostCodeView'))\n },\n {\n exact: true,\n path: '/api/postcode/find-by-postcode/test-api',\n component: lazy(() => import('src/views/apis/findbypostcode/FindByPostCodeTestView'))\n },\n {\n exact: true,\n path: '/api/postcode/find-by-postcode/subscription',\n component: lazy(() => import('src/views/apis/findbypostcode/FindByPostCodeSubscriptionView'))\n },\n {\n exact: true,\n path: '/api/postcode/find-by-postcode/api-usage',\n component: lazy(() => import('src/views/apis/findbypostcode/FindByPostCodeApiUsageView'))\n },\n {\n exact: true,\n path: '/api/postcode/find-by-postcode/pricing',\n component: lazy(() => import('src/views/apis/findbypostcode/FindByPostCodePricing/PricingView'))\n }, \n {\n exact: true,\n path: '/api/postcode/find-by-postcode/payment/cancel',\n component: lazy(() => import('src/views/apis/findbypostcode/FindByPostCodePricing/CancelView'))\n },\n {\n exact: true,\n path: '/api/postcode/find-by-postcode/payment/success',\n component: lazy(() => import('src/views/apis/findbypostcode/FindByPostCodePricing/SuccessView'))\n },\n {\n exact: true,\n path: '/api/postcode/find-by-postcode/security',\n component: lazy(() => import('src/views/apis/findbypostcode/FindByPostCodeSecurityView'))\n },\n {\n exact: true,\n path: '/api/postcode/find-by-addresses',\n component: lazy(() => import('src/views/apis/findbyaddress/FindByAddressesView'))\n },\n {\n exact: true,\n path: '/api/postcode/find-by-addresses/test-api',\n component: lazy(() => import('src/views/apis/findbyaddress/FindByAddressesTestView'))\n },\n {\n exact: true,\n path: '/api/postcode/find-by-addresses/subscription',\n component: lazy(() => import('src/views/apis/findbyaddress/FindByAddressesSubscriptionView'))\n },\n {\n exact: true,\n path: '/api/postcode/find-by-addresses/api-usage',\n component: lazy(() => import('src/views/apis/findbyaddress/FindByAddressesApiUsageView'))\n },\n {\n exact: true,\n path: '/api/postcode/find-by-addresses/pricing',\n component: lazy(() => import('src/views/apis/findbyaddress/FindByAddressesPricing/PricingView'))\n }, \n {\n exact: true,\n path: '/api/postcode/find-by-addresses/payment/cancel',\n component: lazy(() => import('src/views/apis/findbyaddress/FindByAddressesPricing/CancelView'))\n },\n {\n exact: true,\n path: '/api/postcode/find-by-addresses/payment/success',\n component: lazy(() => import('src/views/apis/findbyaddress/FindByAddressesPricing/SuccessView'))\n },\n {\n exact: true,\n path: '/api/postcode/find-by-addresses/security',\n component: lazy(() => import('src/views/apis/findbyaddress/FindByAddressesSecurityView'))\n },\n {\n exact: true,\n path: '/api/postcode/find-by-udprn',\n component: lazy(() => import('src/views/apis/findbyudprn/FindByUDPRNView'))\n },\n {\n exact: true,\n path: '/api/postcode/find-by-udprn/test-api',\n component: lazy(() => import('src/views/apis/findbyudprn/FindByUDPRNTestView'))\n },\n {\n exact: true,\n path: '/api/postcode/find-by-udprn/subscription',\n component: lazy(() => import('src/views/apis/findbyudprn/FindByUDPRNSubscriptionView'))\n },\n {\n exact: true,\n path: '/api/postcode/find-by-udprn/api-usage',\n component: lazy(() => import('src/views/apis/findbyudprn/FindByUDPRNApiUsageView'))\n },\n {\n exact: true,\n path: '/api/postcode/find-by-udprn/pricing',\n component: lazy(() => import('src/views/apis/findbyudprn/FindByUDPRNPricing/PricingView'))\n }, \n {\n exact: true,\n path: '/api/postcode/find-by-udprn/payment/cancel',\n component: lazy(() => import('src/views/apis/findbyudprn/FindByUDPRNPricing/CancelView'))\n },\n {\n exact: true,\n path: '/api/postcode/find-by-udprn/payment/success',\n component: lazy(() => import('src/views/apis/findbyudprn/FindByUDPRNPricing/SuccessView'))\n },\n {\n exact: true,\n path: '/api/postcode/find-by-udprn/security',\n component: lazy(() => import('src/views/apis/findbyudprn/FindByUDPRNSecurityView'))\n },\n {\n exact: true,\n path: '/api/postcode/address-autosuggest',\n component: lazy(() => import('src/views/apis/addressautosuggest/AddressAutosuggestView'))\n },\n {\n exact: true,\n path: '/api/postcode/address-autosuggest/test-api',\n component: lazy(() => import('src/views/apis/addressautosuggest/AddressAutosuggestTestView'))\n },\n {\n exact: true,\n path: '/api/postcode/address-autosuggest/subscription',\n component: lazy(() => import('src/views/apis/addressautosuggest/AddressAutosuggestSubscriptionView'))\n },\n {\n exact: true,\n path: '/api/postcode/address-autosuggest/api-usage',\n component: lazy(() => import('src/views/apis/addressautosuggest/AddressAutosuggestApiUsageView'))\n },\n {\n exact: true,\n path: '/api/postcode/address-autosuggest/pricing',\n component: lazy(() => import('src/views/apis/addressautosuggest/AddressAutosuggestPricing/PricingView'))\n }, \n {\n exact: true,\n path: '/api/postcode/address-autosuggest/payment/cancel',\n component: lazy(() => import('src/views/apis/addressautosuggest/AddressAutosuggestPricing/CancelView'))\n },\n {\n exact: true,\n path: '/api/postcode/address-autosuggest/payment/success',\n component: lazy(() => import('src/views/apis/addressautosuggest/AddressAutosuggestPricing/SuccessView'))\n },\n {\n exact: true,\n path: '/api/postcode/address-autosuggest/security',\n component: lazy(() => import('src/views/apis/addressautosuggest/AddressAutosuggestSecurityView'))\n },\n {\n exact: true,\n path: '/api/verification/validate-email',\n component: lazy(() => import('src/views/apis/verification/email/ValidateEmailView'))\n },\n {\n exact: true,\n path: '/api/verification/validate-email/test-api',\n component: lazy(() => import('src/views/apis/verification/email/ValidateEmailTestView'))\n },\n {\n exact: true,\n path: '/api/verification/validate-email/api-usage',\n component: lazy(() => import('src/views/apis/verification/email/ValidateEmailApiUsageView'))\n },\n {\n exact: true,\n path: '/api/verification/validate-email/subscription',\n component: lazy(() => import('src/views/apis/verification/email/ValidationEmailSubscriptionView'))\n },\n {\n exact: true,\n path: '/api/verification/validate-email/security',\n component: lazy(() => import('src/views/apis/verification/email/ValidateEmailSecurityView'))\n },\n {\n exact: true,\n path: '/api/verification/validate-email/pricing',\n // component: lazy(() => import('src/views/apis/verification/email/ValidateEmailPricing/PricingView'))\n component: lazy(() => import('src/views/dashboard/BusinessPricing/PricingPlanView'))\n }, \n {\n exact: true,\n path: '/api/verification/validate-email/payment/cancel',\n component: lazy(() => import('src/views/apis/verification/email/ValidateEmailPricing/CancelView'))\n },\n {\n exact: true,\n path: '/api/verification/validate-email/payment/success',\n component: lazy(() => import('src/views/apis/verification/email/ValidateEmailPricing/SuccessView'))\n },\n {\n exact: true,\n path: '/api/verification/validate-phone',\n component: lazy(() => import('src/views/apis/verification/phone/ValidatePhoneView'))\n },\n {\n exact: true,\n path: '/api/verification/validate-phone/test-api',\n component: lazy(() => import('src/views/apis/verification/phone/ValidatePhoneTestView'))\n },\n {\n exact: true,\n path: '/api/verification/validate-phone/api-usage',\n component: lazy(() => import('src/views/apis/verification/phone/ValidatePhoneApiUsageView'))\n },\n {\n exact: true,\n path: '/api/verification/validate-phone/subscription',\n component: lazy(() => import('src/views/apis/verification/phone/ValidationPhoneSubscriptionView'))\n },\n {\n exact: true,\n path: '/api/verification/validate-phone/pricing',\n // component: lazy(() => import('src/views/apis/verification/phone/ValidatePhonePricing/PricingView'))\n component: lazy(() => import('src/views/dashboard/BusinessPricing/PricingPlanView'))\n }, \n {\n exact: true,\n path: '/api/verification/validate-phone/payment/cancel',\n component: lazy(() => import('src/views/apis/verification/phone/ValidatePhonePricing/CancelView'))\n },\n {\n exact: true,\n path: '/api/verification/validate-phone/payment/success',\n component: lazy(() => import('src/views/apis/verification/phone/ValidatePhonePricing/SuccessView'))\n },\n {\n exact: true,\n path: '/api/verification/validate-phone/security',\n component: lazy(() => import('src/views/apis/verification/phone/ValidatePhoneSecurityView'))\n },\n {\n exact: true,\n path: '/api/verification/validate-vat',\n component: lazy(() => import('src/views/apis/verification/vat/ValidateVATView'))\n },\n {\n exact: true,\n path: '/api/verification/validate-vat/test-api',\n component: lazy(() => import('src/views/apis/verification/vat/ValidateVATTestView'))\n },\n {\n exact: true,\n path: '/api/verification/validate-vat/api-usage',\n component: lazy(() => import('src/views/apis/verification/vat/ValidateVATApiUsageView'))\n },\n {\n exact: true,\n path: '/api/verification/validate-vat/subscription',\n component: lazy(() => import('src/views/apis/verification/vat/ValidationVATSubscriptionView'))\n },\n {\n exact: true,\n path: '/api/verification/validate-vat/pricing',\n // component: lazy(() => import('src/views/apis/verification/vat/ValidateVATPricing/PricingView'))\n component: lazy(() => import('src/views/dashboard/BusinessPricing/PricingPlanView'))\n }, \n {\n exact: true,\n path: '/api/verification/validate-vat/payment/cancel',\n component: lazy(() => import('src/views/apis/verification/vat/ValidateVATPricing/CancelView'))\n },\n {\n exact: true,\n path: '/api/verification/validate-vat/payment/success',\n component: lazy(() => import('src/views/apis/verification/vat/ValidateVATPricing/SuccessView'))\n },\n {\n exact: true,\n path: '/api/verification/validate-vat/security',\n component: lazy(() => import('src/views/apis/verification/vat/ValidateVATSecurityView'))\n },\n {\n exact: true,\n path: '/api/verification/validate-useragent',\n component: lazy(() => import('src/views/apis/verification/useragent/ValidateUserAgentView'))\n },\n {\n exact: true,\n path: '/api/verification/validate-useragent/parse-useragent',\n component: lazy(() => import('src/views/apis/verification/useragent/ValidateUserAgentTestView'))\n },\n {\n exact: true,\n path: '/api/verification/validate-useragent/generate-useragent',\n component: lazy(() => import('src/views/apis/verification/useragent/GenerateUserAgentTestView'))\n },\n {\n exact: true,\n path: '/api/verification/validate-useragent/api-usage',\n component: lazy(() => import('src/views/apis/verification/useragent/ValidateUserAgentApiUsageView'))\n },\n {\n exact: true,\n path: '/api/verification/validate-useragent/subscription',\n component: lazy(() => import('src/views/apis/verification/useragent/ValidationUserAgentSubscriptionView'))\n },\n {\n exact: true,\n path: '/api/verification/validate-useragent/pricing',\n // component: lazy(() => import('src/views/apis/verification/useragent/ValidateUserAgentPricing/PricingView'))\n component: lazy(() => import('src/views/dashboard/BusinessPricing/PricingPlanView'))\n }, \n {\n exact: true,\n path: '/api/verification/validate-useragent/payment/cancel',\n component: lazy(() => import('src/views/apis/verification/useragent/ValidateUserAgentPricing/CancelView'))\n },\n {\n exact: true,\n path: '/api/verification/validate-useragent/payment/success',\n component: lazy(() => import('src/views/apis/verification/useragent/ValidateUserAgentPricing/SuccessView'))\n },\n {\n exact: true,\n path: '/api/verification/validate-useragent/security',\n component: lazy(() => import('src/views/apis/verification/useragent/ValidateUserAgentSecurityView'))\n },\n {\n exact: true,\n path: '/api/conversion/web-conversion',\n component: lazy(() => import('src/views/apis/conversion/web/WebConversionView'))\n },\n {\n exact: true,\n path: '/api/conversion/web-conversion/web-screenshot',\n component: lazy(() => import('src/views/apis/conversion/web/ScreenShotAPITestView'))\n },\n {\n exact: true,\n path: '/api/conversion/web-conversion/web-pdf',\n component: lazy(() => import('src/views/apis/conversion/web/WebToPDFAPITestView'))\n },\n {\n exact: true,\n path: '/api/conversion/web-conversion/web-scrape',\n component: lazy(() => import('src/views/apis/conversion/web/WebScrapeAPITestView'))\n },\n {\n exact: true,\n path: '/api/conversion/web-conversion/web-text',\n component: lazy(() => import('src/views/apis/conversion/web/WebToTextAPITestView'))\n },\n {\n exact: true,\n path: '/api/conversion/web-conversion/api-usage',\n component: lazy(() => import('src/views/apis/conversion/web/WebConversionApiUsageView'))\n },\n {\n exact: true,\n path: '/api/conversion/web-conversion/subscription',\n component: lazy(() => import('src/views/apis/conversion/web/WebConversionSubscriptionView'))\n },\n {\n exact: true,\n path: '/api/conversion/web-conversion/pricing',\n // component: lazy(() => import('src/views/apis/conversion/web/WebConversionPricing/PricingView'))\n component: lazy(() => import('src/views/dashboard/BusinessPricing/PricingPlanView'))\n }, \n {\n exact: true,\n path: '/api/conversion/web-conversion/payment/cancel',\n component: lazy(() => import('src/views/apis/conversion/web/WebConversionPricing/CancelView'))\n },\n {\n exact: true,\n path: '/api/conversion/web-conversion/payment/success',\n component: lazy(() => import('src/views/apis/conversion/web/WebConversionPricing/SuccessView'))\n },\n {\n exact: true,\n path: '/api/conversion/web-conversion/security',\n component: lazy(() => import('src/views/apis/conversion/web/WebConversionSecurityView'))\n },\n {\n exact: true,\n path: '/api/conversion/data-conversion',\n component: lazy(() => import('src/views/apis/conversion/data/DataConversionView'))\n },\n {\n exact: true,\n path: '/api/conversion/data-conversion/json-xml',\n component: lazy(() => import('src/views/apis/conversion/data/JsonToXmlAPITestView'))\n },\n {\n exact: true,\n path: '/api/conversion/data-conversion/xml-json',\n component: lazy(() => import('src/views/apis/conversion/data/XmlToJsonAPITestView'))\n },\n {\n exact: true,\n path: '/api/conversion/data-conversion/json-csv',\n component: lazy(() => import('src/views/apis/conversion/data/JsonToCsvAPITestView'))\n },\n {\n exact: true,\n path: '/api/conversion/data-conversion/csv-json',\n component: lazy(() => import('src/views/apis/conversion/data/CsvToJsonAPITestView'))\n },\n {\n exact: true,\n path: '/api/conversion/data-conversion/csv-xml',\n component: lazy(() => import('src/views/apis/conversion/data/CsvToXmlAPITestView'))\n },\n {\n exact: true,\n path: '/api/conversion/data-conversion/api-usage',\n component: lazy(() => import('src/views/apis/conversion/data/DataConversionApiUsageView'))\n },\n {\n exact: true,\n path: '/api/conversion/data-conversion/subscription',\n component: lazy(() => import('src/views/apis/conversion/data/DataConversionSubscriptionView'))\n },\n {\n exact: true,\n path: '/api/conversion/data-conversion/pricing',\n // component: lazy(() => import('src/views/apis/conversion/data/DataConversionPricing/PricingView'))\n component: lazy(() => import('src/views/dashboard/BusinessPricing/PricingPlanView'))\n }, \n {\n exact: true,\n path: '/api/conversion/data-conversion/payment/cancel',\n component: lazy(() => import('src/views/apis/conversion/data/DataConversionPricing/CancelView'))\n },\n {\n exact: true,\n path: '/api/conversion/data-conversion/payment/success',\n component: lazy(() => import('src/views/apis/conversion/data/DataConversionPricing/SuccessView'))\n },\n {\n exact: true,\n path: '/api/conversion/data-conversion/security',\n component: lazy(() => import('src/views/apis/conversion/data/DataConversionSecurityView'))\n },\n {\n exact: true,\n path: '/api/pincode/find-by-pincode',\n component: lazy(() => import('src/views/apis/pincode/findbypincode/FindByPincodeView'))\n },\n {\n exact: true,\n path: '/api/pincode/find-by-pincode/test-api',\n component: lazy(() => import('src/views/apis/pincode/findbypincode/FindByPincodeTestView'))\n },\n {\n exact: true,\n path: '/api/pincode/find-by-pincode/places/test-api',\n component: lazy(() => import('src/views/apis/pincode/findbypincode/FindByPincodePlacesTestView'))\n },\n {\n exact: true,\n path: '/api/pincode/find-by-pincode/api-usage',\n component: lazy(() => import('src/views/apis/pincode/findbypincode/FindByPincodeApiUsageView'))\n },\n {\n exact: true,\n path: '/api/pincode/find-by-pincode/subscription',\n component: lazy(() => import('src/views/apis/pincode/findbypincode/FindByPincodeSubscriptionView'))\n },\n {\n exact: true,\n path: '/api/pincode/find-by-pincode/pricing',\n // component: lazy(() => import('src/views/apis/pincode/findbypincode/FindByPincodePricing/PricingView'))\n component: lazy(() => import('src/views/dashboard/BusinessPricing/PricingPlanView'))\n }, \n {\n exact: true,\n path: '/api/pincode/find-by-pincode/payment/cancel',\n component: lazy(() => import('src/views/apis/pincode/findbypincode/FindByPincodePricing/CancelView'))\n },\n {\n exact: true,\n path: '/api/pincode/find-by-pincode/payment/success',\n component: lazy(() => import('src/views/apis/pincode/findbypincode/FindByPincodePricing/SuccessView'))\n },\n {\n exact: true,\n path: '/api/pincode/find-by-pincode/security',\n component: lazy(() => import('src/views/apis/pincode/findbypincode/FindByPincodeSecurityView'))\n },\n {\n exact: true,\n path: '/api/barcode-api',\n component: lazy(() => import('src/views/apis/barcode/findbybarcode/FindByBarcodeView'))\n },\n {\n exact: true,\n path: '/api/barcode-api/test-api/generatebarcode',\n component: lazy(() => import('src/views/apis/barcode/findbybarcode/GenerateBarcodeTestView'))\n },\n {\n exact: true,\n path: '/api/barcode-api/test-api/generateqrcode',\n component: lazy(() => import('src/views/apis/barcode/findbybarcode/GenerateQRCodeTestView'))\n },\n // {\n // exact: true,\n // path: '/api/barcode-api/test-api/scanbarcode',\n // component: lazy(() => import('src/views/apis/barcode/findbybarcode/ScanBarcodeTestView'))\n // },\n {\n exact: true,\n path: '/api/barcode-api/api-usage',\n component: lazy(() => import('src/views/apis/barcode/findbybarcode/FindByBarcodeApiUsageView'))\n },\n {\n exact: true,\n path: '/api/barcode-api/subscription',\n component: lazy(() => import('src/views/apis/barcode/findbybarcode/FindByBarcodeSubscriptionView'))\n },\n {\n exact: true,\n path: '/api/barcode-api/pricing',\n // component: lazy(() => import('src/views/apis/barcode/findbybarcode/FindByBarcodePricing/PricingView'))\n component: lazy(() => import('src/views/dashboard/BusinessPricing/PricingPlanView'))\n }, \n {\n exact: true,\n path: '/api/barcode-api/payment/cancel',\n component: lazy(() => import('src/views/apis/barcode/findbybarcode/FindByBarcodePricing/CancelView'))\n },\n {\n exact: true,\n path: '/api/barcode-api/payment/success',\n component: lazy(() => import('src/views/apis/barcode/findbybarcode/FindByBarcodePricing/SuccessView'))\n },\n {\n exact: true,\n path: '/api/barcode-api/security',\n component: lazy(() => import('src/views/apis/barcode/findbybarcode/FindByBarcodeSecurityView'))\n },\n {\n exact: true,\n path: '/api/ai-qrcode-api',\n component: lazy(() => import('src/views/apis/aiqrcode/AIQRCodeView'))\n },\n {\n exact: true,\n path: '/api/ai-qrcode-api/test-api/ai-qrcode',\n component: lazy(() => import('src/views/apis/aiqrcode/GenerateAIQRCodeTestView'))\n },\n {\n exact: true,\n path: '/api/ai-qrcode-api/test-api/ai-qrcode-view',\n component: lazy(() => import('src/views/apis/aiqrcode/AIQRCodeTestView'))\n },\n {\n exact: true,\n path: '/api/ai-qrcode-api/api-usage',\n component: lazy(() => import('src/views/apis/aiqrcode/AIQRCodeApiUsageView'))\n },\n {\n exact: true,\n path: '/api/ai-qrcode-api/subscription',\n component: lazy(() => import('src/views/apis/aiqrcode/AIQRCodeSubscriptionView'))\n },\n {\n exact: true,\n path: '/api/ai-qrcode-api/pricing',\n component: lazy(() => import('src/views/apis/aiqrcode/AIQRCodePricing/PricingView'))\n }, \n {\n exact: true,\n path: '/api/ai-qrcode-api/payment/cancel',\n component: lazy(() => import('src/views/apis/aiqrcode/AIQRCodePricing/CancelView'))\n },\n {\n exact: true,\n path: '/api/ai-qrcode-api/payment/success',\n component: lazy(() => import('src/views/apis/aiqrcode/AIQRCodePricing/SuccessView'))\n },\n {\n exact: true,\n path: '/api/ai-qrcode-api/security',\n component: lazy(() => import('src/views/apis/aiqrcode/AIQRCodeSecurityView'))\n },\n {\n exact: true,\n path: '/api/postcode/api-usage',\n component: lazy(() => import('src/views/apis/PostCodeApiUsageView'))\n },\n {\n exact: true,\n path: '/api/postcode/subscription',\n component: lazy(() => import('src/views/apis/PostCodeApiSubscriptionView'))\n },\n {\n exact: true,\n path: '/api/postcode/pricing',\n component: lazy(() => import('src/views/apis/PostCodePricing/PricingView'))\n }, \n {\n exact: true,\n path: '/api/postcode/payment/cancel',\n component: lazy(() => import('src/views/apis/PostCodePricing/CancelView'))\n },\n {\n exact: true,\n path: '/api/postcode/payment/success',\n component: lazy(() => import('src/views/apis/PostCodePricing/SuccessView'))\n },\n {\n exact: true,\n path: '/api/payment/billing',\n component: lazy(() => import('src/views/invoice/InvoiceListView'))\n },\n {\n exact: true,\n path: '/api/account',\n component: lazy(() => import('src/views/account/AccountView'))\n },\n {\n exact: true,\n path: '/api/pricing-plans',\n component: lazy(() => import('src/views/dashboard/BusinessPricing/APIPricingPlanView'))\n },\n {\n exact: true,\n path: '/api/pricing-plans-for-individual-developers-startups',\n component: lazy(() => import('src/views/dashboard/BusinessPricing/StartUpPricing'))\n },\n {\n exact: true,\n path: '/api/pricing-plans-for-small-and-medium-business',\n component: lazy(() => import('src/views/dashboard/BusinessPricing/SMEPricing'))\n },\n {\n exact: true,\n path: '/api/pricing-plans-for-enterprise-api-solutions',\n component: lazy(() => import('src/views/dashboard/BusinessPricing/EnterprisePricing'))\n },\n {\n component: () => \n },\n ]\n },\n {\n path: '/resource',\n layout: DocsLayout,\n routes: [\n {\n exact: true,\n path: '/resource',\n component: () => \n },\n {\n exact: true,\n path: '/resource/http-status-codes',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/100',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_100'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/101',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_101'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/102',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_102'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/103',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_103'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/200',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_200'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/201',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_201'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/202',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_202'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/203',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_203'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/204',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_204'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/205',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_205'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/206',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_206'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/207',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_207'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/208',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_208'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/226',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_226'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/300',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_300'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/301',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_301'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/302',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_302'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/303',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_303'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/304',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_304'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/305',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_305'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/307',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_307'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/308',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_308'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/400',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_400'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/401',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_401'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/402',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_402'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/403',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_403'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/404',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_404'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/405',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_405'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/406',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_406'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/407',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_407'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/408',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_408'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/409',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_409'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/410',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_410'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/411',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_411'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/412',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_412'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/413',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_413'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/414',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_414'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/415',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_415'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/416',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_416'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/417',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_417'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/418',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_418'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/421',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_421'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/422',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_422'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/423',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_423'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/424',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_424'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/425',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_425'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/426',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_426'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/428',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_428'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/429',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_429'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/431',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_431'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/444',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_444'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/451',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_451'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/499',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_499'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/500',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_500'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/501',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_501'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/502',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_502'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/503',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_503'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/504',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_504'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/505',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_505'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/506',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_506'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/507',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_507'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/508',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_508'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/510',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_510'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/511',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_511'))\n },\n {\n exact: true,\n path: '/resource/http-status-codes/599',\n component: lazy(() => import('src/views/docs/HTTPStatusCodes/HTTPStatusCodes_599'))\n }, \n ]\n },\n {\n path: '*',\n guard: GuestGuard,\n layout: MainLayout,\n routes: [\n {\n exact: true,\n path: '/',\n component: HomeView\n },\n {\n exact: true,\n path: '/api-products',\n component: ProductListView\n },\n {\n exact: true,\n path: '/api-catalogue',\n component: APICatalogueView\n },\n {\n exact: true,\n path: '/free-tools',\n component: FreeToolsView\n },\n {\n exact: true,\n path: '/free-tools/free-phone-validator',\n component: lazy(() => import('src/views/dashboard/FreePhoneValidatorView'))\n },\n {\n exact: true,\n path: '/free-tools/free-vat-number-validator',\n component: lazy(() => import('src/views/dashboard/FreeValidateVATView'))\n },\n {\n exact: true,\n path: '/free-tools/convert-any-web-page-to-text-to-use-in-chatgpt',\n component: lazy(() => import('src/views/dashboard/FreeWebToTextView'))\n },\n {\n exact: true,\n path: '/api-catalogue/postcode-lookup-api',\n component: lazy(() => import('src/views/dashboard/PostCodeLookupView'))\n },\n {\n exact: true,\n path: '/api-catalogue/address-lookup-api',\n component: lazy(() => import('src/views/dashboard/AddressLookupView'))\n },\n {\n exact: true,\n path: '/api-catalogue/validate-email-api',\n component: lazy(() => import('src/views/dashboard/ValidateEmailView'))\n },\n {\n exact: true,\n path: '/api-catalogue/validate-phone-api',\n component: lazy(() => import('src/views/dashboard/ValidatePhoneView'))\n },\n {\n exact: true,\n path: '/api-catalogue/validate-useragent-api',\n component: lazy(() => import('src/views/dashboard/ValidateUAView'))\n },\n {\n exact: true,\n path: '/api-catalogue/validate-vat-api',\n component: lazy(() => import('src/views/dashboard/ValidateVATView'))\n },\n {\n exact: true,\n path: '/api-catalogue/address-autosuggest-api',\n component: lazy(() => import('src/views/dashboard/AddressAutoSuggestView'))\n },\n {\n exact: true,\n path: '/api-catalogue/screenshot-api',\n component: lazy(() => import('src/views/dashboard/ScreenShotAPIView'))\n },\n {\n exact: true,\n path: '/api-catalogue/web-to-pdf-api',\n component: lazy(() => import('src/views/dashboard/WebToPDFAPIView'))\n },\n {\n exact: true,\n path: '/api-catalogue/web-to-text-api',\n component: lazy(() => import('src/views/dashboard/WebToTextAPIView'))\n },\n {\n exact: true,\n path: '/api-catalogue/web-scrape-api',\n component: lazy(() => import('src/views/dashboard/WebScrapeAPIView'))\n },\n {\n exact: true,\n path: '/api-catalogue/data-conversion-api',\n component: lazy(() => import('src/views/dashboard/DataConversionView'))\n },\n {\n exact: true,\n path: '/api-catalogue/barcode-api',\n component: lazy(() => import('src/views/dashboard/BarCodeAPIView'))\n },\n // {\n // exact: true,\n // path: '/free-barcode',\n // component: lazy(() => import('src/views/dashboard/FreeBarCodeView'))\n // }, \n {\n exact: true,\n path: '/api-catalogue/qrcode-api',\n component: lazy(() => import('src/views/dashboard/QRCodeAPIView'))\n },\n {\n exact: true,\n path: '/free-tools/artistic-qrcode-generator',\n component: lazy(() => import('src/views/dashboard/AIQRCodeAPIView'))\n },\n {\n exact: true,\n path: '/tools/free-qrcode-generator',\n component: lazy(() => import('src/views/dashboard/QRCodeGeneratorView'))\n },\n\n {\n exact: true,\n path: '/tools/free-qrcode-generator/:tabId',\n component: lazy(() => import('src/views/dashboard/QRCodeGeneratorView'))\n },\n \n {\n exact: true,\n path: '/tools/free-barcode-generator',\n component: lazy(() => import('src/views/dashboard/BarCodeGeneratorView'))\n },\n \n {\n exact: true,\n path: '/tools/free-barcode-generator/:barcodeId',\n component: lazy(() => import('src/views/dashboard/BarCodeGeneratorView'))\n },\n {\n exact: true,\n path: '/tools/free-barcode-generator/:barcodeId/:subBarcodeId',\n component: lazy(() => import('src/views/dashboard/BarCodeGeneratorView'))\n },\n \n {\n exact: true,\n path: '/api-catalogue/india-pincode-api',\n component: lazy(() => import('src/views/dashboard/PinCodeAPIView'))\n },\n {\n exact: true,\n path: '/pricing-plans',\n component: lazy(() => import('src/views/dashboard/BusinessPricing/PricingPlanView'))\n },\n {\n exact: true,\n path: '/pricing-plans-for-individual-developers-startups',\n component: lazy(() => import('src/views/dashboard/BusinessPricing/StartUpPricing'))\n },\n {\n exact: true,\n path: '/pricing-plans-for-small-and-medium-business',\n component: lazy(() => import('src/views/dashboard/BusinessPricing/SMEPricing'))\n },\n {\n exact: true,\n path: '/pricing-plans-for-enterprise-api-solutions',\n component: lazy(() => import('src/views/dashboard/BusinessPricing/EnterprisePricing'))\n },\n {\n exact: true,\n path: '/legal/privacy-policy',\n component: lazy(() => import('src/views/legal/Privacy'))\n },\n {\n exact: true,\n path: '/legal/terms-of-service',\n component: lazy(() => import('src/views/legal/TermsOfService'))\n },\n {\n exact: true,\n path: '/legal/royal-mail-end-user-licence',\n component: lazy(() => import('src/views/legal/Licence'))\n },\n {\n exact: true,\n path: '/signin',\n component: lazy(() => import('src/views/auth/LoginView'))\n },\n {\n exact: true,\n path: '/signup',\n component: lazy(() => import('src/views/auth/RegisterView'))\n },\n {\n component: () => \n }\n ]\n }\n];\n\nexport default routes;\n","import React from 'react';\nimport { Router } from 'react-router-dom';\nimport { createBrowserHistory } from 'history';\nimport { create } from 'jss';\nimport rtl from 'jss-rtl';\nimport MomentUtils from '@date-io/moment';\nimport { SnackbarProvider } from 'notistack';\nimport {\n jssPreset,\n StylesProvider,\n ThemeProvider\n} from '@material-ui/core';\nimport { MuiPickersUtilsProvider } from '@material-ui/pickers';\nimport GlobalStyles from 'src/components/GlobalStyles';\nimport ScrollReset from 'src/components/ScrollReset';\nimport CookiesNotification from 'src/components/CookiesNotification';\nimport GoogleAnalytics from 'src/components/GoogleAnalytics';\n//import SettingsNotification from 'src/components/SettingsNotification';\nimport { AuthProvider } from 'src/contexts/JWTAuthContext';\nimport useSettings from 'src/hooks/useSettings';\nimport { createTheme } from 'src/theme';\n// import { createTheme } from '@material-ui/core/styles';\nimport routes, { renderRoutes } from 'src/routes';\n\nconst jss = create({ plugins: [...jssPreset().plugins, rtl()] });\nconst history = createBrowserHistory();\n\nconst App = () => {\n const { settings } = useSettings();\n\n const theme = createTheme({\n direction: settings.direction,\n responsiveFontSizes: settings.responsiveFontSizes,\n theme: settings.theme\n });\n\n return (\n \n \n \n \n \n \n \n \n \n \n {renderRoutes(routes)}\n \n \n \n \n \n \n );\n};\n\nexport default App;\n","import 'react-app-polyfill/ie11';\nimport 'react-app-polyfill/stable';\nimport 'react-perfect-scrollbar/dist/css/styles.css';\nimport 'react-draft-wysiwyg/dist/react-draft-wysiwyg.css';\nimport 'react-quill/dist/quill.snow.css';\nimport 'prismjs/prism';\nimport 'prismjs/components/prism-bash';\nimport 'prismjs/components/prism-javascript';\nimport 'prismjs/components/prism-jsx';\nimport 'nprogress/nprogress.css';\nimport 'src/__mocks__';\nimport 'src/assets/css/prism.css';\nimport 'src/mixins/chartjs';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport { Provider } from 'react-redux';\nimport { enableES5 } from 'immer';\nimport * as serviceWorker from 'src/serviceWorker';\nimport store from 'src/store';\nimport { SettingsProvider } from 'src/contexts/SettingsContext';\nimport App from 'src/App';\n\nenableES5();\n\nReactDOM.render(\n \n \n \n \n ,\n document.getElementById('root')\n);\n\nserviceWorker.register();\n","import React from 'react';\n\nimport {\n makeStyles,\n Card,\n CardContent,\n hexToRgb,\n rgbToHex,\n Button,\n SvgIcon,\n List,\n ListItem,\n ListItemText\n} from '@material-ui/core';\nimport PropTypes from 'prop-types';\nimport { dashboardApiConfig } from 'src/config';\nimport Typography from '@material-ui/core/Typography';\nimport {\n PlusCircle as PlusCircleIcon\n} from 'react-feather'\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n flexGrow: 1,\n paddingBottom: theme.spacing(3)\n },\n tab: {\n minWidth: 10,\n fontSize: 12\n },\n cardHeader: {\n color: hexToRgb('#787878')\n },\n title: {\n fontSize: 15,\n fontFamily: ['Roboto', 'Helvetica', 'Arial', 'serif'],\n fontWeight: 600,\n color: hexToRgb('#787878'),\n },\n pos: {\n fontSize: 15,\n fontFamily: ['Roboto', 'Helvetica', 'Arial', 'serif'],\n fontWeight: 600,\n color: hexToRgb('#787878'),\n paddingTop: 15,\n },\n GetStartedClass: {\n fontWeight: 'bold',\n color: rgbToHex('rgb(63,81,181)'),\n },\n DummyAPIkey: {\n textDecoration: 'line-through',\n }, \n codeTag: {\n padding: 30,\n backgroundColor: hexToRgb('#F7F8FC')\n }\n}));\n\nfunction TabPanel(props) {\n const {\n children, value, index, ...other\n } = props;\n\n return (\n