{"version":3,"sources":["components/Scrollbar.js","components/Logo.js","assets/illustration_doc.js","assets/illustration_404.js","assets/icon_sent.js","assets/icon_plan_free.js","assets/icon_plan_starter.js","assets/icon_plan_premium.js","components/Image.js","hooks/useIsMountedRef.js","components/animate/MotionLazyContainer.js","contexts/Auth0Context.js","contexts/AppDataContext.js","utils/API.js","utils/getColorPresets.js","contexts/SettingsContext.js","hooks/useLocalStorage.js","config.js","components/Iconify.js","components/Page.js","components/animate/variants/path.js","components/animate/variants/transition.js","components/animate/variants/fade.js","components/animate/variants/bounce.js","components/animate/variants/container.js","components/animate/IconButtonAnimate.js","components/animate/MotionContainer.js","pages/auth/Login.js","layouts/LogoOnlyLayout.js","hooks/useAuth.js","hooks/useSettings.js","theme/palette.js","redux/slices/enviroment.js","redux/slices/settings.js","redux/rootReducer.js","redux/store.js","contexts/CollapseDrawerContext.js","hooks/useCollapseDrawer.js","layouts/dashboard/header/Searchbar.js","components/MenuPopover.js","layouts/dashboard/header/AccountPopover.js","_mock/role.js","_mock/email.js","_mock/boolean.js","_mock/company.js","_mock/phoneNumber.js","_mock/address.js","_mock/name.js","_mock/text.js","_mock/number.js","_mock/_mock.js","_mock/funcs.js","_mock/_app.js","_mock/_user.js","_mock/_plans.js","_mock/_ecommerce.js","_mock/_others.js","_mock/_booking.js","_mock/_banking.js","_mock/_analytics.js","components/BadgeStatus.js","sections/@dashboard/general/app/CreateCompanyDialog.js","layouts/dashboard/header/index.js","hooks/useOffSetTop.js","components/nav-section/NavItem.js","components/nav-section/NavList.js","components/nav-section/index.js","components/SvgIconStyle.js","layouts/dashboard/navbar/NavbarAccount.js","layouts/dashboard/navbar/NavbarDocs.js","layouts/dashboard/navbar/CollapseButton.js","layouts/dashboard/navbar/NavConfig.js","layouts/dashboard/navbar/index.js","layouts/dashboard/index.js","components/ProgressBar.js","components/LoadingScreen.js","guards/GuestGuard.js","guards/AuthGuard.js","guards/RoleBasedGuard.js","routes/index.js","utils/getFontValue.js","theme/typography.js","theme/breakpoints.js","theme/overrides/CustomIcons.js","theme/overrides/Rating.js","theme/overrides/index.js","theme/overrides/Fab.js","theme/overrides/Tabs.js","theme/overrides/Chip.js","theme/overrides/Card.js","theme/overrides/Menu.js","theme/overrides/Grid.js","theme/overrides/Link.js","theme/overrides/Input.js","theme/overrides/Radio.js","theme/overrides/Badge.js","theme/overrides/Lists.js","theme/overrides/Table.js","theme/overrides/Paper.js","theme/overrides/Alert.js","theme/overrides/Switch.js","theme/overrides/Select.js","theme/overrides/Button.js","theme/overrides/Dialog.js","theme/overrides/Avatar.js","theme/overrides/Slider.js","theme/overrides/Drawer.js","theme/overrides/Pickers.js","theme/overrides/Stepper.js","theme/overrides/Tooltip.js","theme/overrides/Popover.js","theme/overrides/SvgIcon.js","theme/overrides/Checkbox.js","theme/overrides/DataGrid.js","theme/overrides/Skeleton.js","theme/overrides/Timeline.js","theme/overrides/TreeView.js","theme/overrides/Backdrop.js","theme/overrides/Snackbar.js","theme/overrides/Progress.js","theme/overrides/Container.js","theme/overrides/Accordion.js","theme/overrides/IconButton.js","theme/overrides/Typography.js","theme/overrides/Pagination.js","theme/overrides/ButtonGroup.js","theme/overrides/Breadcrumbs.js","theme/overrides/Autocomplete.js","theme/overrides/ControlLabel.js","theme/overrides/ToggleButton.js","theme/overrides/LoadingButton.js","theme/shadows.js","theme/index.js","theme/globalStyles.js","components/settings/SettingMode.js","components/settings/ToggleButton.js","components/settings/SettingStretch.js","components/settings/SettingDirection.js","components/settings/SettingFullscreen.js","components/settings/index.js","components/RtlLayout.js","components/ScrollToTop.js","components/NotistackProvider.js","components/ThemeColorPresets.js","components/LogoLarge.js","components/AppLoadErrorMessage.js","App.js","serviceWorkerRegistration.js","reportWebVitals.js","index.js","routes/paths.js","hooks/useAppData.js","utils/cssStyles.js","hooks/useResponsive.js"],"names":["RootStyle","styled","flexGrow","height","overflow","SimpleBarStyle","SimpleBarReact","theme","maxHeight","backgroundColor","alpha","palette","grey","opacity","width","zIndex","Scrollbar","children","sx","other","userAgent","navigator","test","overflowX","timeout","clickOnTrack","Logo","component","alt","src","DocIllustration","PRIMARY_MAIN","useTheme","primary","main","Box","xmlns","viewBox","fill","fillRule","stroke","strokeWidth","transform","x","y","xlinkHref","d","PageNotFoundIllustration","PRIMARY_DARKER","darker","id","x1","x2","y1","y2","offset","stopColor","stopOpacity","cx","cy","r","SentIcon","PRIMARY_DARK","dark","PlanFreeIcon","xmlnsXlink","mask","PlanStarterIcon","PlanPremiumIcon","Image","ratio","disabledEffect","effect","lineHeight","display","position","pt","getRatio","top","left","right","bottom","backgroundSize","LazyLoadImage","wrapperClassName","undefined","placeholderSrc","objectFit","useIsMountedRef","isMounted","useRef","useEffect","current","loadFeatures","then","res","default","MotionLazyContainer","strict","features","auth0Client","initialState","isAuthenticated","isInitialized","user","handlers","INITIALIZE","state","action","payload","LOGIN","LOGOUT","reducer","type","AuthContext","createContext","method","login","Promise","resolve","logout","AuthProvider","useReducer","dispatch","a","Auth0Client","client_id","AUTH0_API","clientId","domain","redirect_uri","window","location","pathname","origin","search","useRefreshToken","cacheLocation","checkSession","getUser","getIdTokenClaims","__raw","localStorage","setItem","companyId","console","error","initialize","loginWithPopup","claims","Provider","value","resetPassword","companies","projects","loading","currentCompany","indexersLoading","dashboard","selectedProject","selectedProjectEvents","retrievingLogs","events","webhookLogs","totalPages","currentPage","initError","SET_LOADING","DONE_LOADING","SET_COMPANY","SET_COMPANIES","SET_PROJECTS","SET_DASHBOARD_PROJECT","SET_DASHBOARD_EVENTS","SET_RETRIEVING_LOGS","SET_WEBHOOK_LOGS","SET_APP_INIT_ERROR","AppDataContext","AppDataProvider","dashboardAPIUrl","useSelector","enviroment","useAuth","alphabetizeCompanies","sort","b","company_name","toLowerCase","axios","get","myCompanies","data","orderedCompanies","previouslySelectedCompany","getItem","currCompany","find","company","company_id","updateCurrentCompany","length","getWebhookLogs","rowsPerPage","eventIndexerId","flowEventId","transactionId","success","params","page","pageSize","result","status","replayEvents","post","refreshCompanies","deleteCompany","delete","filter","comp","refreshProjects","updateCompanyName","newName","put","name","createNewEventIndexer","projectId","updateExistingEventIndexer","eventId","deleteIndexer","projectid","getEventSettings","getProjectDetails","updateProjectDetails","getWebhookLogDetails","webhooklogid","deleteProject","craeteNewCompany","companyName","createNewProject","projectInfo","createFlowHealthSignalStream","url","createInvite","inviteData","getCanceledInvites","getCompanyMembers","removeMemberFromCompany","userId","makeMemberAdmin","revokeMemberAdmin","getPendingInvites","cancelInvite","inviteId","getProjects","createNewIndexer","indexerData","getWebHookUsage","companiesArray","startDate","endDate","promises","map","i","period","all","temp","reduce","prev","curr","request","responseURL","split","getEventIndexerUsage","getLiveStreamUsage","getSearchAPIUsage","removeUserFromCompany","acceptInvite","rejectInvites","getAllInvites","updateProfile","getUserProfileData","dashboardUpdateCurrentSelectedProject","getRole","role","axiosInstance","create","interceptors","use","config","yourJWTToken","headers","Authorization","reject","colorPresets","light","lighter","contrastText","defaultPreset","purplePreset","cyanPreset","bluePreset","orangePreset","redPreset","defaultSettings","onChangeMode","onToggleMode","onChangeDirection","onChangeColor","onToggleStretch","onResetSetting","setColor","colorOption","SettingsContext","SettingsProvider","presetsKey","key","defaultValue","useState","storedValue","JSON","parse","setValue","listener","e","storageArea","newValue","addEventListener","removeEventListener","currentValue","stringify","useLocalStorage","themeMode","themeDirection","themeColorPresets","themeStretch","settings","setSettings","event","target","purple","cyan","blue","orange","red","color","process","REACT_APP_HOST_API_KEY","REACT_APP_FIREBASE_API_KEY","REACT_APP_FIREBASE_AUTH_DOMAIN","REACT_APP_FIREBASE_DATABASE_URL","REACT_APP_FIREBASE_PROJECT_ID","REACT_APP_FIREBASE_STORAGE_BUCKET","REACT_APP_FIREBASE_MESSAGING_SENDER_ID","REACT_APP_FIREBASE_APPID","REACT_APP_FIREBASE_MEASUREMENT_ID","REACT_APP_AWS_COGNITO_USER_POOL_ID","REACT_APP_AWS_COGNITO_CLIENT_ID","audience","useRefreshTokens","DRAWER_WIDTH","REACT_APP_MAPBOX","REACT_APP_GA_MEASUREMENT_ID","PATH_DASHBOARD","general","app","DASHBOARD_HEADER_MOBILE","DASHBOARD_HEADER_DESKTOP","DASHBOARD_NAVBAR_WIDTH","DASHBOARD_NAVBAR_COLLAPSE_WIDTH","DASHBOARD_NAVBAR_ROOT_ITEM_HEIGHT","DASHBOARD_NAVBAR_SUB_ITEM_HEIGHT","DASHBOARD_NAVBAR_ICON_ITEM_SIZE","Iconify","icon","Icon","Page","forwardRef","ref","title","propTypes","PropTypes","node","isRequired","string","varTranEnter","props","duration","durationIn","ease","easeIn","varTranExit","durationOut","easeOut","varFade","distance","in","initial","animate","transition","exit","inUp","inDown","inLeft","inRight","out","outUp","outDown","outLeft","outRight","varBounce","scale","scaleY","scaleX","varContainer","staggerChildren","staggerIn","delayChildren","staggerDirection","IconButtonAnimate","size","IconButton","oneOf","varSmall","hover","tap","varMedium","varLarge","AnimateWrap","isSmall","isLarge","m","div","whileTap","whileHover","variants","MotionContainer","breakpoints","up","HeaderStyle","alignItems","padding","spacing","justifyContent","SectionStyle","Card","maxWidth","flexDirection","margin","ContentStyle","minHeight","Login","setError","isMountedRef","mdUp","useResponsive","handleLogin","message","Typography","variant","px","mt","mb","Container","Stack","direction","gutterBottom","Tooltip","capitalCase","placement","Button","onClick","LogoOnlyLayout","context","useContext","Error","useSettings","createGradient","color1","color2","PRIMARY","INFO","SUCCESS","WARNING","ERROR","GREY","GRADIENTS","info","warning","COMMON","common","black","white","secondary","gradients","chart","violet","green","yellow","divider","selected","disabled","disabledBackground","focus","hoverOpacity","disabledOpacity","mode","text","background","paper","neutral","active","healthUrl","dashboardUrl","localEnv","slice","createSlice","reducers","switchMode","switchDirection","actions","healthCheckURL","rootPersistConfig","storage","keyPrefix","whitelist","rootReducer","combineReducers","settingsReducer","enviromentReducer","store","configureStore","persistReducer","middleware","getDefaultMiddleware","serializableCheck","immutableCheck","persistor","persistStore","collapseClick","collapseHover","onToggleCollapse","onHoverEnter","onHoverLeave","CollapseDrawerContext","CollapseDrawerProvider","isMobile","useMediaQuery","down","click","collapse","setCollapse","isCollapse","useCollapseDrawer","cssStyles","bgBlur","boxShadow","customShadows","z8","ArrowStyle","content","borderRadius","borderRight","borderBottom","MenuPopover","Popover","anchorOrigin","vertical","horizontal","transformOrigin","PaperProps","ml","z20","border","MENU_OPTIONS","label","linkTo","AccountPopover","anchorRef","navigate","useNavigate","open","setOpen","handleClose","handleLogout","removeItem","bgcolor","Avatar","picture","onClose","anchorEl","my","noWrap","email","Divider","borderStyle","p","option","MenuItem","to","RouterLink","typography","py","fullWidth","boolean","phoneNumber","fullAddress","country","fullName","firstName","lastName","sentence","description","price","rating","age","percent","_mock","index","time","sub","Date","days","hours","address","number","image","cover","feed","product","avatar","randomNumberRange","min","max","Math","floor","random","randomInArray","array","appName","system","review","shortcut","noCase","android","windows","apple","flag","Array","_","favourite","now","category","avatarUrl","isFollowed","postAt","imageUrl","author","isLiked","createdAt","media","personLikes","comments","follower","following","totalPost","cardNumber","cardType","phone","city","street","zipCode","isVerified","LICENSES","COUNTRY","license","commons","options","icons","qty","heading","detail","receiver","addressType","isDefault","subHeading","lastLogin","performance","isAdmin","path","username","lastActivity","isUnRead","checkIn","checkOut","roomType","quantity","postedAt","tags","bookdAt","roomNumber","person","CATEGORY","PRODUCT_NAME","amount","total","rank","priceSale","colors","ownerState","CreateCompanyDialog","showDialog","hideButton","closeCallback","enqueueSnackbar","useSnackbar","formRef","useAppData","newCompanyId","setNewCompanyId","setCompanyName","Dialog","DialogTitle","DialogContent","DialogContentText","innerRef","initialValues","validationSchema","Yup","shape","required","onSubmit","values","resetForm","setErrors","setStatus","setSubmitting","errors","handleBlur","handleChange","touched","handleSubmit","isSubmitting","TextField","Boolean","helperText","onBlur","onChange","DialogActions","AppBar","shouldForwardProp","prop","transitions","shorter","ToolbarStyle","Toolbar","easing","easeInOut","DashboardHeader","onOpenSidebar","createCompanyDialog","setCreateCompanyDialog","isOffset","offsetTop","setOffSetTop","isTop","onscroll","pageYOffset","useOffSetTop","isDesktop","md","mr","FormControl","Select","href","substring","xs","sm","ListItemStyle","ListItemButton","activeRoot","activeSub","subItem","body2","textTransform","paddingLeft","paddingRight","marginBottom","subtitle2","selectedOpacity","ListItemTextStyle","ListItemText","whiteSpace","ListItemIconStyle","ListItemIcon","isExternalLink","includes","NavItemRoot","item","onOpen","renderContent","disableTypography","Link","rel","NavItemSub","DotIcon","ArrowIcon","getActive","matchPath","end","NavListRoot","list","useLocation","Collapse","unmountOnExit","List","disablePadding","NavListSub","pl","ListSubheaderStyle","ListSubheader","disableSticky","disableGutters","overline","paddingTop","paddingBottom","NavSection","navConfig","group","subheader","items","SvgIconStyle","WebkitMask","Number","NavbarAccount","useDispatch","checkedState","setCheckedState","underline","FormControlLabel","control","Switch","checked","assign","NavbarDocs","pb","textAlign","getIcon","ICONS","ecommerce","analytics","sidebarConfig","root","webhooklogs","flexShrink","DashboardNavbar","isOpenSidebar","onCloseSidebar","links","setLinks","adminLinks","lg","Drawer","onMouseEnter","onMouseLeave","borderRightStyle","standard","z24","MainStyle","marginLeft","DashboardLayout","ProgressBarStyle","GlobalStyles","styles","pointerEvents","snackbar","ProgressBar","NProgress","configure","showSpinner","useMemo","start","done","LoadingScreen","isDashboard","rotateY","repeatDelay","repeat","Infinity","disabledLink","rotate","GuestGuard","AuthGuard","requestedLocation","setRequestedLocation","RoleBasedGuard","accessibleRoles","Loadable","Component","fallback","Router","useRoutes","element","Register","ResetPassword","VerifyCode","replace","Home","Projects","ProjectDetails","CompanyManagement","AnalyticsPage","EventsPage","WebhookLogsPage","WebhookLogDetail","Replay","UserProfile","CadenceForm","NotFound","lazy","pxToRem","responsiveFontSizes","fontSize","fontFamily","fontWeightRegular","fontWeightMedium","fontWeightBold","h1","fontWeight","letterSpacing","h2","h3","h4","h5","h6","subtitle1","body1","caption","button","xl","CloseIcon","SvgIcon","StarIcon","InfoIcon","WarningIcon","SuccessIcon","ErrorIcon","CheckboxIcon","CheckboxCheckedIcon","CheckboxIndeterminateIcon","InputSelectIcon","TreeViewCollapseIcon","TreeViewExpandIcon","TreeViewEndIcon","ICON_SMALL","ICON_LARGE","ComponentsOverrides","Object","MuiFab","defaultProps","styleOverrides","extended","marginRight","Fab","MuiTab","borderTopLeftRadius","borderTopRightRadius","minWidth","labelIcon","wrapper","textColorInherit","MuiTabPanel","MuiTabScrollButton","Tabs","MuiChip","deleteIcon","colorDefault","outlined","borderColor","avatarColorInfo","avatarColorSuccess","avatarColorWarning","avatarColorError","Chip","isLight","MuiCard","z12","MuiCardHeader","titleTypographyProps","subheaderTypographyProps","marginTop","MuiCardContent","MuiMenuItem","Menu","MuiGrid","MuiLink","MuiInputBase","input","MuiInput","borderBottomColor","MuiFilledInput","MuiOutlinedInput","Input","MuiRadio","svg","Radio","MuiBadge","dot","MuiListItemIcon","MuiListItemAvatar","MuiListItemText","multiline","Lists","MuiTableRow","MuiTableCell","head","borderBottomLeftRadius","borderBottomRightRadius","stickyHeader","backgroundImage","body","MuiTablePagination","borderTop","toolbar","select","selectIcon","Table","MuiPaper","elevation","style","Paper","standardStyle","filledStyle","outlinedStyle","MuiAlert","iconMapping","standardInfo","standardSuccess","standardWarning","standardError","filledInfo","filledSuccess","filledWarning","filledError","outlinedInfo","outlinedSuccess","outlinedWarning","outlinedError","Alert","MuiSwitch","thumb","z1","track","switchBase","MuiSelect","IconComponent","MuiButton","sizeLarge","containedInherit","containedPrimary","containedSecondary","containedInfo","containedSuccess","containedWarning","containedError","outlinedInherit","textInherit","MuiRating","emptyIcon","iconEmpty","sizeSmall","Rating","MuiDialog","paperFullWidth","MuiDialogTitle","MuiDialogContent","MuiDialogActions","MuiAvatar","MuiAvatarGroup","MuiSlider","markLabel","valueLabel","Slider","MuiDrawer","modal","MuiStepConnector","line","Stepper","MuiTooltip","tooltip","arrow","MuiPopover","MuiSvgIcon","fontSizeSmall","fontSizeLarge","MuiCheckbox","checkedIcon","indeterminateIcon","Checkbox","MuiDataGrid","MuiGridMenu","MuiGridFilterForm","MuiGridPanelFooter","DataGrid","MuiSkeleton","animation","Skeleton","MuiTimelineDot","MuiTimelineConnector","Timeline","MuiTreeView","defaultCollapseIcon","defaultExpandIcon","defaultEndIcon","MuiTreeItem","iconContainer","TreeView","varLow","varHigh","MuiBackdrop","Backdrop","MuiSnackbarContent","MuiLinearProgress","bar","colorPrimary","buffer","Progress","MuiContainer","MuiAccordion","MuiAccordionSummary","expandIconWrapper","Accordion","MuiIconButton","MuiTypography","paragraph","MuiPaginationItem","textPrimary","outlinedPrimary","Pagination","styleContained","MuiButtonGroup","ButtonGroup","MuiBreadcrumbs","separator","Breadcrumbs","MuiAutocomplete","popper","listbox","Autocomplete","MuiFormControlLabel","MuiFormHelperText","MuiFormLabel","ControlLabel","MuiToggleButton","MuiToggleButtonGroup","ToggleButton","MuiLoadingButton","LIGHT_MODE","DARK_MODE","createShadow","transparent1","transparent2","transparent3","createCustomShadow","transparent","z16","shadows","ThemeProvider","themeOptions","createTheme","components","componentsOverride","StyledEngineProvider","injectFirst","CssBaseline","boxSizing","html","WebkitOverflowScrolling","MozAppearance","WebkitAppearance","textarea","img","SettingMode","RadioGroup","dir","container","CardActionArea","drawer","DotStyle","notDefault","onToggle","SettingStretch","mx","SettingDirection","SettingFullscreen","fullscreen","setFullscreen","startIcon","document","fullscreenElement","exitFullscreen","documentElement","requestFullscreen","Settings","varSidebar","AnimatePresence","pr","RtlLayout","cacheRtl","createCache","stylisPlugins","rtlPlugin","ScrollToTop","scrollTo","SnackbarStyles","NotistackProvider","notistackRef","closeSnackbar","dense","maxSnack","preventDuplicate","autoHideDuration","iconVariant","SnackbarIcon","ThemeColorPresets","defaultTheme","LogoLarge","ErrorContainer","borderWidth","AppLoadErrorMessage","App","hostname","match","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","render","LocalizationProvider","dateAdapter","AdapterDateFns","getElementById","serviceWorker","ready","registration","unregister","catch","sublink","ROOTS_AUTH","ROOTS_DASHBOARD","PATH_AUTH","loginUnprotected","register","registerUnprotected","verify","banking","booking","replay","mail","chat","new","conversation","calendar","kanban","profile","cards","newUser","editById","account","eCommerce","shop","productById","newProduct","checkout","invoice","blog","posts","postById","newPost","getDirection","blur","backdropFilter","WebkitBackdropFilter","bgGradient","startColor","endColor","bgImage","backgroundRepeat","backgroundPosition","query","mediaUp","mediaDown","mediaBetween","between","mediaOnly","only"],"mappings":"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BACA,oBACA,yBACA,0BACA,sBACA,wBACA,+BACA,kCACA,2BACA,8BACA,4BACA,oBACA,mBACA,0BACA,yBACA,sBACA,oBACA,sBACA,+BACA,iCACA,4BACA,yBACA,qBACA,4BACA,qBCxCWW,GAAU,EACrB,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GCxCWtZ,GAAU,CACrB,qBACA,+BACA,sBACA,6BACA,aACA,mBACA,mCACA,eACA,6BACA,mBACA,iCACA,iBACA,0BACA,iBACA,4BACA,gBACA,cACA,cACA,mBACA,cACA,iBACA,oBACA,oBACA,eACA,mBACA,aACA,0BACA,cACA,0BACA,8BACA,6BACA,iBACA,WACA,yBACA,mBACA,iBACA,kBACA,0BACA,kBACA,oBCxCWuZ,GAAc,CACzB,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,iBCxCWC,GAAc,CACzB,qDACA,sDACA,2DACA,sDACA,mDACA,8DACA,4DACA,6DACA,qDACA,2DACA,oDACA,mDACA,uDACA,kDACA,4DACA,wDACA,uDACA,oDACA,oDACA,oDACA,oDACA,uDACA,kDACA,sDACA,mDACA,sDACA,wDACA,oDACA,0DACA,qDACA,mDACA,wDACA,mDACA,sDACA,2DACA,sDACA,wDACA,uDACA,qDACA,+CAGWC,GAAU,CACrB,QACA,aACA,uBACA,aACA,QACA,UACA,eACA,UACA,QACA,OACA,UACA,QACA,WACA,0BACA,UACA,QACA,SACA,WACA,QACA,mCACA,YACA,WACA,UACA,SACA,SACA,WACA,UACA,yBACA,UACA,QACA,kBACA,2BACA,YACA,SACA,SACA,cACA,SACA,SACA,QACA,WCnFWC,GAAW,CACtB,gBACA,gBACA,aACA,iBACA,cACA,kBACA,sBACA,gBACA,YACA,gBACA,eACA,iBACA,iBACA,eACA,gBACA,iBACA,kBACA,eACA,cACA,cACA,eACA,iBACA,qBACA,gBACA,cACA,gBACA,cACA,kBACA,oBACA,gBACA,iBACA,cACA,cACA,eACA,iBACA,kBACA,cACA,YACA,oBACA,kBAGWC,GAAY,CACvB,SACA,QACA,OACA,UACA,OACA,QACA,OACA,QACA,OACA,YACA,WACA,WACA,MACA,SACA,QACA,QACA,WACA,QACA,QACA,QACA,OACA,OACA,MACA,UACA,QACA,OACA,QACA,QACA,SACA,QACA,SACA,QACA,QACA,YACA,SACA,UACA,SACA,UACA,QACA,YAGWC,GAAW,CACtB,UACA,UACA,OACA,OACA,WACA,YACA,SACA,SACA,QACA,QACA,OACA,WACA,UACA,UACA,QACA,QACA,UACA,SACA,SACA,UACA,YACA,YACA,cACA,WACA,OACA,SACA,SACA,UACA,SACA,SACA,QACA,cACA,YACA,WACA,SACA,UACA,QACA,UACA,YACA,YC9HWvO,GAAQ,CACnB,mDACA,6DACA,uDACA,sDACA,yEACA,mDACA,iDACA,sDACA,4DACA,4CACA,mEACA,8CACA,oDACA,yEACA,gCACA,oDACA,kDACA,yDACA,yDACA,iCACA,0BACA,0CACA,yBACA,qCACA,qBACA,mDACA,8BACA,4BACA,yBACA,uDACA,iCACA,6BACA,qBACA,6DACA,iCACA,0CACA,6BACA,iCACA,2BACA,wCAGWwO,GAAW,CACtB,qDACA,uCACA,0DACA,oCACA,yCACA,sCACA,uEACA,kDACA,iEACA,gCACA,sEACA,8FACA,iFACA,wFACA,+BACA,qCACA,sEACA,0CACA,gCACA,sDACA,cACA,sBACA,8DACA,mEACA,8DACA,8DACA,2BACA,yCACA,sEACA,uDACA,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","file":"static/js/main.4acbc952.chunk.js","sourcesContent":["import PropTypes from 'prop-types';\nimport SimpleBarReact from 'simplebar-react';\n// @mui\nimport { alpha, styled } from '@mui/material/styles';\nimport { Box } from '@mui/material';\n\n// ----------------------------------------------------------------------\n\nconst RootStyle = styled('div')(() => ({\n flexGrow: 1,\n height: '100%',\n overflow: 'hidden',\n}));\n\nconst SimpleBarStyle = styled(SimpleBarReact)(({ theme }) => ({\n maxHeight: '100%',\n '& .simplebar-scrollbar': {\n '&:before': {\n backgroundColor: alpha(theme.palette.grey[600], 0.48),\n },\n '&.simplebar-visible:before': {\n opacity: 1,\n },\n },\n '& .simplebar-track.simplebar-vertical': {\n width: 10,\n },\n '& .simplebar-track.simplebar-horizontal .simplebar-scrollbar': {\n height: 6,\n },\n '& .simplebar-mask': {\n zIndex: 'inherit',\n },\n}));\n\n// ----------------------------------------------------------------------\n\nScrollbar.propTypes = {\n children: PropTypes.node.isRequired,\n sx: PropTypes.object,\n};\n\nexport default function Scrollbar({ children, sx, ...other }) {\n const userAgent = typeof navigator === 'undefined' ? 'SSR' : navigator.userAgent;\n\n const isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(userAgent);\n\n if (isMobile) {\n return (\n \n {children}\n \n );\n }\n\n return (\n \n \n {children}\n \n \n );\n}\n","import PropTypes from 'prop-types';\nimport { Link as RouterLink } from 'react-router-dom';\n// @mui\nimport { useTheme } from '@mui/material/styles';\nimport { Box } from '@mui/material';\n\n// ----------------------------------------------------------------------\n\nLogo.propTypes = {\n disabledLink: PropTypes.bool,\n sx: PropTypes.any,\n};\n\nexport default function Logo({ ...other }) {\n return ;\n}\n","// @mui\nimport { useTheme } from '@mui/material/styles';\nimport { Box } from '@mui/material';\n\n// ----------------------------------------------------------------------\n\nexport default function DocIllustration({ ...other }) {\n const theme = useTheme();\n const PRIMARY_MAIN = theme.palette.primary.main;\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n );\n}\n","// @mui\nimport { useTheme } from '@mui/material/styles';\nimport { Box } from '@mui/material';\n\n// ----------------------------------------------------------------------\n\nexport default function PageNotFoundIllustration({ ...other }) {\n const theme = useTheme();\n const PRIMARY_MAIN = theme.palette.primary.main;\n const PRIMARY_DARKER = theme.palette.primary.darker;\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 \n \n \n );\n}\n","// @mui\nimport { useTheme } from '@mui/material/styles';\nimport { Box } from '@mui/material';\n\n// ----------------------------------------------------------------------\n\nexport default function SentIcon({ ...other }) {\n const theme = useTheme();\n const PRIMARY_MAIN = theme.palette.primary.main;\n const PRIMARY_DARK = theme.palette.primary.dark;\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","// @mui\nimport { useTheme } from '@mui/material/styles';\nimport { Box } from '@mui/material';\n\n// ----------------------------------------------------------------------\n\nexport default function PlanFreeIcon({ ...other }) {\n const theme = useTheme();\n const PRIMARY_MAIN = theme.palette.primary.main;\n const PRIMARY_DARK = theme.palette.primary.dark;\n const PRIMARY_DARKER = theme.palette.primary.darker;\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","// @mui\nimport { useTheme } from '@mui/material/styles';\nimport { Box } from '@mui/material';\n\n// ----------------------------------------------------------------------\n\nexport default function PlanStarterIcon({ ...other }) {\n const theme = useTheme();\n const PRIMARY_MAIN = theme.palette.primary.main;\n const PRIMARY_DARK = theme.palette.primary.dark;\n const PRIMARY_DARKER = theme.palette.primary.darker;\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 \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n}\n","// @mui\nimport { useTheme } from '@mui/material/styles';\nimport { Box } from '@mui/material';\n\n// ----------------------------------------------------------------------\n\nexport default function PlanPremiumIcon({ ...other }) {\n const theme = useTheme();\n const PRIMARY_MAIN = theme.palette.primary.main;\n const PRIMARY_DARK = theme.palette.primary.dark;\n const PRIMARY_DARKER = theme.palette.primary.darker;\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 \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","import PropTypes from 'prop-types';\nimport { LazyLoadImage } from 'react-lazy-load-image-component';\n// @mui\nimport { Box } from '@mui/material';\n\n// ----------------------------------------------------------------------\n\nImage.propTypes = {\n disabledEffect: PropTypes.bool,\n effect: PropTypes.string,\n ratio: PropTypes.oneOf(['4/3', '3/4', '6/4', '4/6', '16/9', '9/16', '21/9', '9/21', '1/1']),\n sx: PropTypes.object\n};\n\nexport default function Image({ ratio, disabledEffect = false, effect = 'blur', sx, ...other }) {\n if (ratio) {\n return (\n \n \n \n );\n }\n\n return (\n \n \n \n );\n}\n\n// ----------------------------------------------------------------------\n\nfunction getRatio(ratio = '1/1') {\n return {\n '4/3': 'calc(100% / 4 * 3)',\n '3/4': 'calc(100% / 3 * 4)',\n '6/4': 'calc(100% / 6 * 4)',\n '4/6': 'calc(100% / 4 * 6)',\n '16/9': 'calc(100% / 16 * 9)',\n '9/16': 'calc(100% / 9 * 16)',\n '21/9': 'calc(100% / 21 * 9)',\n '9/21': 'calc(100% / 9 * 21)',\n '1/1': '100%'\n }[ratio];\n}\n","import { useRef, useEffect } from 'react';\n\n// ----------------------------------------------------------------------\n\nexport default function useIsMountedRef() {\n const isMounted = useRef(true);\n\n useEffect(\n () => () => {\n isMounted.current = false;\n },\n []\n );\n\n return isMounted;\n}\n","import PropTypes from 'prop-types';\nimport { LazyMotion } from 'framer-motion';\n\n// ----------------------------------------------------------------------\n\n// eslint-disable-next-line import/extensions\nconst loadFeatures = () => import('./features.js').then((res) => res.default);\n\nMotionLazyContainer.propTypes = {\n children: PropTypes.node\n};\n\nexport default function MotionLazyContainer({ children }) {\n return (\n \n {children}\n \n );\n}\n","import { createContext, useEffect, useReducer } from 'react';\nimport PropTypes from 'prop-types';\nimport { Auth0Client } from '@auth0/auth0-spa-js';\n//\nimport { AUTH0_API } from '../config';\n\n// ----------------------------------------------------------------------\n\nlet auth0Client = null;\n\nconst initialState = {\n isAuthenticated: false,\n isInitialized: false,\n user: null,\n};\n\nconst handlers = {\n INITIALIZE: (state, action) => {\n const { isAuthenticated, user } = action.payload;\n return { ...state, isAuthenticated, isInitialized: true, user };\n },\n LOGIN: (state, action) => {\n const { user } = action.payload;\n return { ...state, isAuthenticated: true, user };\n },\n LOGOUT: (state) => ({\n ...state,\n isAuthenticated: false,\n user: null,\n }),\n};\n\nconst reducer = (state, action) => (handlers[action.type] ? handlers[action.type](state, action) : state);\n\nconst AuthContext = createContext({\n ...initialState,\n method: 'auth0',\n login: () => Promise.resolve(),\n logout: () => Promise.resolve(),\n});\n\nAuthProvider.propTypes = {\n children: PropTypes.node,\n};\n\nfunction AuthProvider({ children }) {\n const [state, dispatch] = useReducer(reducer, initialState);\n\n useEffect(() => {\n const initialize = async () => {\n try {\n auth0Client = new Auth0Client({\n client_id: AUTH0_API.clientId,\n domain: AUTH0_API.domain,\n redirect_uri:\n window.location.pathname === '/profile'\n ? window.location.origin + window.location.search\n : window.location.origin,\n useRefreshToken: true,\n cacheLocation: 'localstorage',\n });\n\n await auth0Client.checkSession();\n\n const isAuthenticated = await auth0Client.isAuthenticated();\n\n if (isAuthenticated) {\n const user = await auth0Client.getUser();\n const { __raw } = await auth0Client.getIdTokenClaims();\n\n localStorage.setItem('accessToken', __raw);\n dispatch({\n type: 'INITIALIZE',\n payload: {\n isAuthenticated,\n user: {\n ...user,\n companyId: user['https://graffle.io/company_id'],\n },\n },\n });\n } else {\n dispatch({\n type: 'INITIALIZE',\n payload: { isAuthenticated, user: null },\n });\n }\n } catch (err) {\n console.error(err);\n dispatch({\n type: 'INITIALIZE',\n payload: { isAuthenticated: false, user: null },\n });\n }\n };\n\n initialize();\n }, []);\n\n const login = async () => {\n await auth0Client.loginWithPopup();\n const isAuthenticated = await auth0Client.isAuthenticated();\n\n if (isAuthenticated) {\n const user = await auth0Client.getUser();\n const claims = await auth0Client.getIdTokenClaims();\n localStorage.setItem('accessToken', claims.__raw);\n dispatch({\n type: 'LOGIN',\n payload: {\n user: {\n ...user,\n companyId: user['https://graffle.io/company_id'],\n },\n },\n });\n }\n };\n\n const logout = () => {\n auth0Client.logout();\n dispatch({ type: 'LOGOUT' });\n };\n\n const resetPassword = () => {};\n\n return (\n \n {children}\n \n );\n}\n\nexport { AuthContext, AuthProvider };\n","import { createContext, useEffect, useReducer } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { useSelector } from 'react-redux';\n\nimport { forEach } from 'lodash';\n\nimport useAuth from '../hooks/useAuth';\nimport axios from '../utils/API';\n\n// ----------------------------------------------------------------------\n\nconst initialState = {\n companies: [],\n projects: [],\n loading: true,\n currentCompany: '',\n indexersLoading: true,\n dashboard: {\n selectedProject: '-1',\n selectedProjectEvents: [],\n },\n retrievingLogs: false,\n events: {\n selectedProject: '-1',\n selectedProjectEvents: [],\n },\n webhookLogs: { events: [], totalPages: 0, currentPage: 0 },\n initError: false,\n};\n\nconst handlers = {\n INITIALIZE: (state, action) => {\n const { currentCompany } = action.payload;\n\n return { ...state, currentCompany };\n },\n SET_LOADING: (state, action) => {\n return { ...state, ...action.payload };\n },\n DONE_LOADING: (state, action) => {\n return { ...state, loading: action.payload };\n },\n SET_COMPANY: (state, action) => {\n return { ...state, ...action.payload };\n },\n SET_COMPANIES: (state, action) => {\n return { ...state, ...action.payload };\n },\n SET_PROJECTS: (state, action) => {\n return { ...state, ...action.payload };\n },\n SET_DASHBOARD_PROJECT: (state, action) => {\n const dashboard = { ...state.dashboard, selectedProject: action.payload };\n return { ...state, dashboard };\n },\n SET_DASHBOARD_EVENTS: (state, action) => {\n const dashboard = { ...state.dashboard, selectedProjectEvents: action.payload };\n return { ...state, dashboard };\n },\n SET_RETRIEVING_LOGS: (state, action) => {\n return { ...state, retrievingLogs: action.payload };\n },\n SET_WEBHOOK_LOGS: (state, action) => {\n return { ...state, webhookLogs: action.payload };\n },\n SET_APP_INIT_ERROR: (state, action) => {\n return { ...state, initError: action.payload };\n },\n};\n\nconst reducer = (state, action) => (handlers[action.type] ? handlers[action.type](state, action) : state);\n\nconst AppDataContext = createContext({\n ...initialState,\n});\n\nconst AppDataProvider = ({ children }) => {\n const { dashboardAPIUrl } = useSelector((state) => state.enviroment);\n const { user, isAuthenticated, isInitialized } = useAuth();\n const [state, dispatch] = useReducer(reducer, initialState);\n\n useEffect(() => {\n if (!isAuthenticated && isInitialized) {\n dispatch({\n type: 'DONE_LOADING',\n payload: false,\n });\n }\n }, [isAuthenticated, isInitialized]);\n\n const alphabetizeCompanies = (companies) => {\n return companies.sort((a, b) => {\n if (a.company_name.toLowerCase() < b.company_name.toLowerCase()) return -1;\n if (a.company_name.toLowerCase() > b.company_name.toLowerCase()) return 1;\n return 0;\n });\n };\n\n useEffect(async () => {\n // Set the current company after the user has authed and state has updated\n // The default company will be the user's personal company\n\n if (user) {\n try {\n const { data: myCompanies } = await axios.get(\n `${dashboardAPIUrl}/api/user/${user['https://graffle.io/graffle_id']}/companies`\n );\n\n const orderedCompanies = alphabetizeCompanies(myCompanies);\n\n dispatch({\n type: 'SET_COMPANIES',\n payload: {\n companies: orderedCompanies,\n },\n });\n\n const previouslySelectedCompany = localStorage.getItem('cid');\n const currCompany = orderedCompanies.find((company) => company.company_id === previouslySelectedCompany);\n\n if (currCompany === undefined) {\n updateCurrentCompany(orderedCompanies[0].company_id);\n } else {\n updateCurrentCompany(previouslySelectedCompany);\n }\n } catch (e) {\n // console.log(e);\n dispatch({\n type: 'APP_INIT_ERROR',\n payload: true,\n });\n }\n\n dispatch({\n type: 'DONE_LOADING',\n payload: false,\n });\n }\n }, [user]);\n\n useEffect(async () => {\n // Get the projects for this company\n dispatch({\n type: 'SET_LOADING',\n payload: {\n indexersLoading: true,\n },\n });\n\n if (state.currentCompany) {\n const { data } = await axios.get(`${dashboardAPIUrl}/api/company/${state.currentCompany}/projects/`);\n\n dispatch({\n type: 'SET_PROJECTS',\n payload: {\n projects: data,\n indexersLoading: false,\n },\n });\n }\n }, [state.currentCompany]);\n\n useEffect(() => {\n if (state.currentCompany.length > 0) {\n if (state.companies.find((company) => state.currentCompany === company.company_id) === undefined) {\n dispatch({\n type: 'SET_COMPANY',\n payload: {\n // companies,\n currentCompany: state.companies[0].company_id,\n },\n });\n }\n }\n }, [state.companies, state.currentCompany]);\n\n useEffect(async () => {\n // Get the events for a selected project\n if (state.dashboard.selectedProject.length > 2) {\n const { data: events } = await axios.get(\n `${dashboardAPIUrl}/api/project/${state.dashboard.selectedProject}/events`\n );\n\n dispatch({\n type: 'SET_DASHBOARD_EVENTS',\n payload: events,\n });\n }\n }, [state.dashboard.selectedProject]);\n\n const getWebhookLogs = async ({\n rowsPerPage = 25,\n currentPage = 1,\n selectedProject = undefined,\n eventIndexerId = undefined,\n flowEventId = undefined,\n transactionId = undefined,\n success = undefined,\n }) => {\n dispatch({\n type: 'SET_RETRIEVING_LOGS',\n payload: true,\n });\n\n try {\n const result = await axios.get(\n `${dashboardAPIUrl}/api/webhooks/company/${state.currentCompany}/project/${selectedProject}?`,\n {\n params: {\n eventIndexerId,\n flowEventId,\n transactionId,\n success,\n page: currentPage,\n pageSize: rowsPerPage,\n },\n }\n );\n\n const data = result.data;\n\n dispatch({\n type: 'SET_WEBHOOK_LOGS',\n payload: { events: result.status === 200 ? [...data.events] : [], currentPage: data.currentPage, totalPages: data.totalPages },\n });\n } catch (e) {\n // console.log(e);\n }\n\n dispatch({\n type: 'SET_RETRIEVING_LOGS',\n payload: false,\n });\n };\n\n const replayEvents = async (events) => {\n const { data } = await axios.post(`${dashboardAPIUrl}/api/webhooks/company/${state.currentCompany}/replay`, events);\n };\n\n const dashboardUpdateCurrentSelectedProject = (projectId) => {\n // Get the events associated with the projects\n dispatch({\n type: 'SET_DASHBOARD_PROJECT',\n payload: projectId,\n });\n // Get the indexers associated with the project\n };\n\n const updateCurrentCompany = (companyId) => {\n dispatch({\n type: 'SET_COMPANY',\n payload: {\n currentCompany: companyId,\n },\n });\n\n window.localStorage.setItem('cid', companyId);\n };\n\n const refreshCompanies = async () => {\n const { data: myCompanies } = await axios.get(\n `${dashboardAPIUrl}/api/user/${user['https://graffle.io/graffle_id']}/companies`\n );\n\n const orderedCompanies = alphabetizeCompanies(myCompanies);\n\n dispatch({\n type: 'SET_COMPANIES',\n payload: {\n companies: orderedCompanies,\n },\n });\n };\n\n const deleteCompany = async () => {\n try {\n const res = await axios.delete(`${dashboardAPIUrl}/api/company/${state.currentCompany}`);\n\n window.localStorage.setItem(\n 'cid',\n [...state.companies].filter((comp) => comp.company_id !== state.currentCompany)[0].company_id\n );\n\n // refreshCompanies\n refreshCompanies();\n } catch (e) {\n return false;\n }\n\n return true;\n };\n\n const getRole = () => {\n if (state.currentCompany !== '') {\n return state.companies.find((company) => company.company_id === state.currentCompany).role;\n }\n\n return 0;\n };\n\n const refreshProjects = async () => {\n dispatch({\n type: 'SET_LOADING',\n payload: {\n indexersLoading: true,\n },\n });\n const { data } = await axios.get(`${dashboardAPIUrl}/api/company/${state.currentCompany}/projects/`);\n\n dispatch({\n type: 'SET_PROJECTS',\n payload: {\n projects: data,\n indexersLoading: false,\n },\n });\n };\n\n const updateCompanyName = async (newName) => {\n const res = await axios.put(`${dashboardAPIUrl}/api/company/${state.currentCompany}/profile`, { name: newName });\n\n if (res.status === 204) {\n refreshCompanies();\n return true;\n }\n return false;\n };\n\n const createNewEventIndexer = async (payload, projectId) => {\n const res = await axios.post(`${dashboardAPIUrl}/api/projects/${projectId}/events`, payload);\n\n if (res.status === 204) {\n return true;\n }\n\n return false;\n };\n\n const updateExistingEventIndexer = async (payload, projectId, eventId) => {\n const res = await axios.put(\n `${dashboardAPIUrl}/api/${state.currentCompany}/projects/${projectId}/events/${eventId}`,\n payload\n );\n\n refreshProjects();\n\n return res.status === 204;\n };\n\n const deleteIndexer = async (projectid, eventId) => {\n const res = await axios.delete(\n `${dashboardAPIUrl}/api/${state.currentCompany}/projects/${projectid}/events/${eventId}`\n );\n\n refreshProjects();\n\n return res.status === 204;\n };\n\n const getEventSettings = async (projectId, eventId) => {\n const { data } = await axios.get(`${dashboardAPIUrl}/api/projects/${projectId}/events/${eventId}`);\n\n return data;\n };\n\n const getProjectDetails = async (projectid) => {\n const { data } = await axios.get(`${dashboardAPIUrl}/api/company/${state.currentCompany}/projects/${projectid}`);\n\n return data;\n };\n\n const updateProjectDetails = async (payload, projectid) => {\n const res = await axios.put(\n `${dashboardAPIUrl}/api/company/${state.currentCompany}/projects/${projectid}`,\n payload\n );\n\n if (res.status === 204) {\n refreshProjects();\n return true;\n }\n\n return false;\n };\n\n const getWebhookLogDetails = async (projectid, webhooklogid) => {\n const { data } = await axios.get(\n `${dashboardAPIUrl}/api/webhooks/company/${state.currentCompany}/project/${projectid}/webHook/${webhooklogid}`\n );\n\n return data;\n };\n\n const deleteProject = async (projectId) => {\n const res = await axios.delete(`${dashboardAPIUrl}/api/company/${state.currentCompany}/projects/${projectId}`);\n\n if (res.status === 200) {\n refreshProjects();\n return res.data;\n }\n\n return false;\n };\n\n const craeteNewCompany = async (companyName) => {\n const result = await axios.post(`${dashboardAPIUrl}/api/company/${companyName}`);\n\n if (result.status === 200) {\n refreshCompanies();\n return true;\n }\n\n return false;\n };\n\n const createNewProject = async (projectInfo) => {\n const result = await axios.post(`${dashboardAPIUrl}/api/company/${state.currentCompany}/projects`, projectInfo);\n\n if (result.status === 201) {\n refreshProjects();\n return true;\n }\n return false;\n };\n\n const createFlowHealthSignalStream = async (url) => {\n const result = await axios.post(`${url}/negotiateHealthStream`);\n\n return result;\n };\n\n const createInvite = async (inviteData) => {\n const result = await axios.post(`${dashboardAPIUrl}/api/company/${state.currentCompany}/invites`, inviteData);\n\n return result.status === 200 ? result : false;\n };\n\n const getCanceledInvites = async () => {\n const result = await axios.get(`${dashboardAPIUrl}/api/company/${state.currentCompany}/invites/cancelled`);\n\n return result.status === 200 ? result : false;\n };\n\n const getCompanyMembers = async () => {\n const res = await axios.get(`${dashboardAPIUrl}/api/company/${state.currentCompany}/users`);\n\n return res.status === 200 ? res.data : false;\n };\n\n const removeMemberFromCompany = async (userId) => {\n const res = axios.delete(`${dashboardAPIUrl}/api/company/${state.currentCompany}/users/${userId}`);\n\n return res.status === 200;\n };\n\n const makeMemberAdmin = async (userId) => {\n const res = await axios.put(`${dashboardAPIUrl}/api/company/${state.currentCompany}/admins/${userId}`);\n\n return res.status === 200;\n };\n\n const revokeMemberAdmin = async (userId) => {\n const res = await axios.delete(`${dashboardAPIUrl}/api/company/${state.currentCompany}/admins/${userId}`);\n\n return res.status === 200;\n };\n\n const getPendingInvites = async () => {\n const result = await axios.get(`${dashboardAPIUrl}/api/company/${state.currentCompany}/invites/pending`);\n return result.status === 200 ? result.data : [];\n };\n\n const cancelInvite = async (inviteId) => {\n const res = await axios.put(`${dashboardAPIUrl}/api/company/${state.currentCompany}/invites/cancel/${inviteId}`);\n\n return res.status === 204;\n };\n\n const getProjects = async () => {\n const res = await axios.get(`${dashboardAPIUrl}/api/company/${state.currentCompany}/projects/`);\n\n return res.status === 200 ? res.data : [];\n };\n\n const createNewIndexer = async (indexerData, projectId) => {\n const res = await axios.post(\n `${dashboardAPIUrl}/api/${state.currentCompany}/projects/${projectId}/events`,\n indexerData\n );\n\n refreshProjects();\n\n if (res.status === 200) {\n return true;\n }\n\n return false;\n };\n\n const getWebHookUsage = async (companiesArray, startDate, endDate) => {\n const promises = companiesArray.map((company, i) =>\n axios.get(`${dashboardAPIUrl}/api/company/${company}/webHookUsage`, {\n params: {\n period: 0,\n startDate,\n endDate,\n },\n })\n );\n\n const test = await Promise.all(promises);\n\n const temp = test.reduce(\n (prev, curr) => ({ ...prev, [curr.request.responseURL.split('/api/company/')[1].split('/')[0]]: curr.data }),\n {}\n );\n\n return temp;\n };\n\n const getEventIndexerUsage = async (companiesArray, startDate, endDate) => {\n const promises = companiesArray.map((company, i) =>\n axios.get(`${dashboardAPIUrl}/api/company/${company}/eventIndexerUsage`, {\n params: {\n period: 0,\n startDate,\n endDate,\n },\n })\n );\n\n const test = await Promise.all(promises);\n\n const temp = test.reduce(\n (prev, curr) => ({ ...prev, [curr.request.responseURL.split('/api/company/')[1].split('/')[0]]: curr.data }),\n {}\n );\n\n return temp;\n };\n\n const getLiveStreamUsage = async (companiesArray, startDate, endDate) => {\n const promises = companiesArray.map((company, i) =>\n axios.get(`${dashboardAPIUrl}/api/company/${company}/liveStreamUsage`, {\n params: {\n period: 0,\n startDate,\n endDate,\n },\n })\n );\n\n const test = await Promise.all(promises);\n\n const temp = test.reduce(\n (prev, curr) => ({ ...prev, [curr.request.responseURL.split('/api/company/')[1].split('/')[0]]: curr.data }),\n {}\n );\n\n return temp;\n };\n\n const getSearchAPIUsage = async (companiesArray, startDate, endDate) => {\n const promises = companiesArray.map((company, i) =>\n axios.get(`${dashboardAPIUrl}/api/company/${company}/searchAPIUsage`, {\n params: {\n period: 0,\n startDate,\n endDate,\n },\n })\n );\n\n const test = await Promise.all(promises);\n\n const temp = test.reduce(\n (prev, curr) => ({ ...prev, [curr.request.responseURL.split('/api/company/')[1].split('/')[0]]: curr.data }),\n {}\n );\n\n return temp;\n };\n\n const removeUserFromCompany = async (companyId, userId) => {\n const res = await axios.delete(`${dashboardAPIUrl}/api/company/${companyId}/users/${userId}`);\n\n if (res.status === 204) {\n refreshCompanies();\n return true;\n }\n\n return false;\n };\n\n const acceptInvite = async (companyId, inviteId) => {\n const res = await axios.post(`${dashboardAPIUrl}/api/company/${companyId}/invites/accept/${inviteId}`);\n\n if (res.status === 204) {\n return true;\n }\n\n return false;\n };\n\n const rejectInvites = async (companyId, inviteId) => {\n const res = await axios.put(`${dashboardAPIUrl}/api/company/${companyId}/invites/reject/${inviteId}`);\n\n return res.status === 204;\n };\n\n const getAllInvites = async () => {\n const res = await axios.get(`${dashboardAPIUrl}/api/user/invites`);\n\n return res.status === 200 ? res.data : [];\n };\n\n const updateProfile = async (userId, payload) => {\n const res = await axios.put(`${dashboardAPIUrl}/api/user/${userId}/profile`, payload);\n\n if (res.status === 204) {\n return true;\n }\n\n return false;\n };\n\n const getUserProfileData = async () => {\n const res = await axios.get(`${dashboardAPIUrl}/api/user/${user['https://graffle.io/graffle_id']}/profile`);\n\n if (res.status === 200) {\n return res.data;\n }\n\n return false;\n };\n\n return (\n \n {children}\n \n );\n};\n\nexport { AppDataContext, AppDataProvider };\n","import axios from 'axios';\n\n// ----------------------------------------------------------------------\n\nconst axiosInstance = axios.create();\n\naxiosInstance.interceptors.request.use(\n async (config) => {\n const yourJWTToken = localStorage.getItem('accessToken');\n config.headers = {\n Authorization: `Bearer ${yourJWTToken}`\n };\n return config;\n },\n (error) => Promise.reject(error)\n);\n\nexport default axiosInstance;\n","// theme\nimport palette from '../theme/palette';\n\n// ----------------------------------------------------------------------\n\nexport const colorPresets = [\n // DEFAULT\n {\n name: 'default',\n ...palette.light.primary\n },\n // PURPLE\n {\n name: 'purple',\n lighter: '#EBD6FD',\n light: '#B985F4',\n main: '#7635dc',\n dark: '#431A9E',\n darker: '#200A69',\n contrastText: '#fff'\n },\n // CYAN\n {\n name: 'cyan',\n lighter: '#D1FFFC',\n light: '#76F2FF',\n main: '#1CCAFF',\n dark: '#0E77B7',\n darker: '#053D7A',\n contrastText: palette.light.grey[800]\n },\n // BLUE\n {\n name: 'blue',\n lighter: '#CCDFFF',\n light: '#6697FF',\n main: '#0045FF',\n dark: '#0027B7',\n darker: '#00137A',\n contrastText: '#fff'\n },\n // ORANGE\n {\n name: 'orange',\n lighter: '#FEF4D4',\n light: '#FED680',\n main: '#fda92d',\n dark: '#B66816',\n darker: '#793908',\n contrastText: palette.light.grey[800]\n },\n // RED\n {\n name: 'red',\n lighter: '#FFE3D5',\n light: '#FFC1AC',\n main: '#FF3030',\n dark: '#B71833',\n darker: '#7A0930',\n contrastText: '#fff'\n }\n];\n\nexport const defaultPreset = colorPresets[0];\nexport const purplePreset = colorPresets[1];\nexport const cyanPreset = colorPresets[2];\nexport const bluePreset = colorPresets[3];\nexport const orangePreset = colorPresets[4];\nexport const redPreset = colorPresets[5];\n\nexport default function getColorPresets(presetsKey) {\n return {\n purple: purplePreset,\n cyan: cyanPreset,\n blue: bluePreset,\n orange: orangePreset,\n red: redPreset,\n default: defaultPreset\n }[presetsKey];\n}\n","import PropTypes from 'prop-types';\nimport { createContext } from 'react';\n// hooks\nimport useLocalStorage from '../hooks/useLocalStorage';\n// utils\nimport getColorPresets, { colorPresets, defaultPreset } from '../utils/getColorPresets';\n// config\nimport { defaultSettings } from '../config';\n\n// ----------------------------------------------------------------------\n\nconst initialState = {\n ...defaultSettings,\n onChangeMode: () => {},\n onToggleMode: () => {},\n onChangeDirection: () => {},\n onChangeColor: () => {},\n onToggleStretch: () => {},\n onResetSetting: () => {},\n setColor: defaultPreset,\n colorOption: []\n};\n\nconst SettingsContext = createContext(initialState);\n\nSettingsProvider.propTypes = {\n children: PropTypes.node\n};\n\nfunction SettingsProvider({ children }) {\n const [settings, setSettings] = useLocalStorage('settings', {\n themeMode: initialState.themeMode,\n themeDirection: initialState.themeDirection,\n themeColorPresets: initialState.themeColorPresets,\n themeStretch: initialState.themeStretch\n });\n\n const onChangeMode = (event) => {\n setSettings({\n ...settings,\n themeMode: event.target.value\n });\n };\n\n const onToggleMode = () => {\n setSettings({\n ...settings,\n themeMode: settings.themeMode === 'light' ? 'dark' : 'light'\n });\n };\n\n const onChangeDirection = (event) => {\n setSettings({\n ...settings,\n themeDirection: event.target.value\n });\n };\n\n const onChangeColor = (event) => {\n setSettings({\n ...settings,\n themeColorPresets: event.target.value\n });\n };\n\n const onToggleStretch = () => {\n setSettings({\n ...settings,\n themeStretch: !settings.themeStretch\n });\n };\n\n const onResetSetting = () => {\n setSettings({\n themeMode: initialState.themeMode,\n themeDirection: initialState.themeDirection,\n themeColorPresets: initialState.themeColorPresets,\n themeStretch: initialState.themeStretch\n });\n };\n\n return (\n ({\n name: color.name,\n value: color.main\n })),\n // Stretch\n onToggleStretch,\n // Reset Setting\n onResetSetting\n }}\n >\n {children}\n \n );\n}\n\nexport { SettingsProvider, SettingsContext };\n","import { useState, useEffect } from 'react';\n\n// ----------------------------------------------------------------------\n\nexport default function useLocalStorage(key, defaultValue) {\n const [value, setValue] = useState(() => {\n const storedValue = localStorage.getItem(key);\n return storedValue === null ? defaultValue : JSON.parse(storedValue);\n });\n\n useEffect(() => {\n const listener = (e) => {\n if (e.storageArea === localStorage && e.key === key) {\n setValue(JSON.parse(e.newValue));\n }\n };\n window.addEventListener('storage', listener);\n\n return () => {\n window.removeEventListener('storage', listener);\n };\n }, [key, defaultValue]);\n\n const setValueInLocalStorage = (newValue) => {\n setValue((currentValue) => {\n const result = typeof newValue === 'function' ? newValue(currentValue) : newValue;\n localStorage.setItem(key, JSON.stringify(result));\n return result;\n });\n };\n\n return [value, setValueInLocalStorage];\n}\n","// routes\nimport { PATH_DASHBOARD } from './routes/paths';\n\n// API\n// ----------------------------------------------------------------------\n\nexport const HOST_API = process.env.REACT_APP_HOST_API_KEY || '';\n\nexport const FIREBASE_API = {\n apiKey: process.env.REACT_APP_FIREBASE_API_KEY,\n authDomain: process.env.REACT_APP_FIREBASE_AUTH_DOMAIN,\n databaseURL: process.env.REACT_APP_FIREBASE_DATABASE_URL,\n projectId: process.env.REACT_APP_FIREBASE_PROJECT_ID,\n storageBucket: process.env.REACT_APP_FIREBASE_STORAGE_BUCKET,\n messagingSenderId: process.env.REACT_APP_FIREBASE_MESSAGING_SENDER_ID,\n appId: process.env.REACT_APP_FIREBASE_APPID,\n measurementId: process.env.REACT_APP_FIREBASE_MEASUREMENT_ID,\n};\n\nexport const COGNITO_API = {\n userPoolId: process.env.REACT_APP_AWS_COGNITO_USER_POOL_ID,\n clientId: process.env.REACT_APP_AWS_COGNITO_CLIENT_ID,\n};\n\nexport const AUTH0_API = {\n clientId: process.env.REACT_APP_AUTH0_CLIENT_ID,\n domain: process.env.REACT_APP_AUTH0_DOMAIN,\n audience: process.env.REACT_APP_AUTH0_AUDIENCE,\n useRefreshTokens: true,\n cacheLocation: 'localstorage',\n};\n\nexport const MAPBOX_API = process.env.REACT_APP_MAPBOX;\n\nexport const GOOGLE_ANALYTICS_API = process.env.REACT_APP_GA_MEASUREMENT_ID;\n\n// ROOT PATH AFTER LOGIN SUCCESSFUL\nexport const PATH_AFTER_LOGIN = PATH_DASHBOARD.general.app; // as '/dashboard/app'\n\n// LAYOUT\n// ----------------------------------------------------------------------\n\nexport const DRAWER_WIDTH = 260;\n\nexport const DASHBOARD_HEADER_MOBILE = 64;\nexport const DASHBOARD_HEADER_DESKTOP = 92;\nexport const DASHBOARD_NAVBAR_WIDTH = 280;\nexport const DASHBOARD_NAVBAR_COLLAPSE_WIDTH = 88;\n\nexport const DASHBOARD_NAVBAR_ROOT_ITEM_HEIGHT = 48;\nexport const DASHBOARD_NAVBAR_SUB_ITEM_HEIGHT = 40;\nexport const DASHBOARD_NAVBAR_ICON_ITEM_SIZE = 22;\n\nexport const MAIN_HEADER_DESKTOP = 88;\nexport const MAIN_HEADER_MOBILE = 64;\n\n// SETTINGS\n// ----------------------------------------------------------------------\n\nexport const defaultSettings = {\n themeMode: 'light',\n themeDirection: 'ltr',\n themeColorPresets: 'default',\n themeStretch: false,\n};\n","import PropTypes from 'prop-types';\n// icons\nimport { Icon } from '@iconify/react';\n// @mui\nimport { Box } from '@mui/material';\n\n// ----------------------------------------------------------------------\n\nIconify.propTypes = {\n icon: PropTypes.oneOfType([PropTypes.element, PropTypes.string]),\n sx: PropTypes.object\n};\n\nexport default function Iconify({ icon, sx, ...other }) {\n return ;\n}\n","import PropTypes from 'prop-types';\nimport { Helmet } from 'react-helmet-async';\nimport { forwardRef } from 'react';\n// @mui\nimport { Box } from '@mui/material';\n\n// ----------------------------------------------------------------------\n\nconst Page = forwardRef(({ children, title = '', ...other }, ref) => (\n \n \n {`${title} | Graffle`}\n \n {children}\n \n));\n\nPage.propTypes = {\n children: PropTypes.node.isRequired,\n title: PropTypes.string,\n};\n\nexport default Page;\n","// ----------------------------------------------------------------------\n\nexport const TRANSITION = {\n duration: 2,\n ease: [0.43, 0.13, 0.23, 0.96]\n};\n\nexport const varPath = {\n animate: {\n fillOpacity: [0, 0, 1],\n pathLength: [1, 0.4, 0],\n transition: TRANSITION\n }\n};\n","// ----------------------------------------------------------------------\n\nexport const varTranHover = (props) => {\n const duration = props?.duration || 0.32;\n const ease = props?.ease || [0.43, 0.13, 0.23, 0.96];\n\n return { duration, ease };\n};\n\nexport const varTranEnter = (props) => {\n const duration = props?.durationIn || 0.64;\n const ease = props?.easeIn || [0.43, 0.13, 0.23, 0.96];\n\n return { duration, ease };\n};\n\nexport const varTranExit = (props) => {\n const duration = props?.durationOut || 0.48;\n const ease = props?.easeOut || [0.43, 0.13, 0.23, 0.96];\n\n return { duration, ease };\n};\n","import { varTranEnter, varTranExit } from './transition';\n\n// ----------------------------------------------------------------------\n\nexport const varFade = (props) => {\n const distance = props?.distance || 120;\n const durationIn = props?.durationIn;\n const durationOut = props?.durationOut;\n const easeIn = props?.easeIn;\n const easeOut = props?.easeOut;\n\n return {\n // IN\n in: {\n initial: { opacity: 0 },\n animate: { opacity: 1, transition: varTranEnter },\n exit: { opacity: 0, transition: varTranExit }\n },\n inUp: {\n initial: { y: distance, opacity: 0 },\n animate: { y: 0, opacity: 1, transition: varTranEnter({ durationIn, easeIn }) },\n exit: { y: distance, opacity: 0, transition: varTranExit({ durationOut, easeOut }) }\n },\n inDown: {\n initial: { y: -distance, opacity: 0 },\n animate: { y: 0, opacity: 1, transition: varTranEnter({ durationIn, easeIn }) },\n exit: { y: -distance, opacity: 0, transition: varTranExit({ durationOut, easeOut }) }\n },\n inLeft: {\n initial: { x: -distance, opacity: 0 },\n animate: { x: 0, opacity: 1, transition: varTranEnter({ durationIn, easeIn }) },\n exit: { x: -distance, opacity: 0, transition: varTranExit({ durationOut, easeOut }) }\n },\n inRight: {\n initial: { x: distance, opacity: 0 },\n animate: { x: 0, opacity: 1, transition: varTranEnter({ durationIn, easeIn }) },\n exit: { x: distance, opacity: 0, transition: varTranExit({ durationOut, easeOut }) }\n },\n\n // OUT\n out: {\n initial: { opacity: 1 },\n animate: { opacity: 0, transition: varTranEnter({ durationIn, easeIn }) },\n exit: { opacity: 1, transition: varTranExit({ durationOut, easeOut }) }\n },\n outUp: {\n initial: { y: 0, opacity: 1 },\n animate: { y: -distance, opacity: 0, transition: varTranEnter({ durationIn, easeIn }) },\n exit: { y: 0, opacity: 1, transition: varTranExit({ durationOut, easeOut }) }\n },\n outDown: {\n initial: { y: 0, opacity: 1 },\n animate: { y: distance, opacity: 0, transition: varTranEnter({ durationIn, easeIn }) },\n exit: { y: 0, opacity: 1, transition: varTranExit({ durationOut, easeOut }) }\n },\n outLeft: {\n initial: { x: 0, opacity: 1 },\n animate: { x: -distance, opacity: 0, transition: varTranEnter({ durationIn, easeIn }) },\n exit: { x: 0, opacity: 1, transition: varTranExit({ durationOut, easeOut }) }\n },\n outRight: {\n initial: { x: 0, opacity: 1 },\n animate: { x: distance, opacity: 0, transition: varTranEnter({ durationIn, easeIn }) },\n exit: { x: 0, opacity: 1, transition: varTranExit({ durationOut, easeOut }) }\n }\n };\n};\n","import { varTranEnter, varTranExit } from './transition';\n\n// ----------------------------------------------------------------------\n\nexport const varBounce = (props) => {\n const durationIn = props?.durationIn;\n const durationOut = props?.durationOut;\n const easeIn = props?.easeIn;\n const easeOut = props?.easeOut;\n\n return {\n // IN\n in: {\n initial: {},\n animate: {\n scale: [0.3, 1.1, 0.9, 1.03, 0.97, 1],\n opacity: [0, 1, 1, 1, 1, 1],\n transition: varTranEnter({ durationIn, easeIn }),\n },\n exit: {\n scale: [0.9, 1.1, 0.3],\n opacity: [1, 1, 0],\n },\n },\n inUp: {\n initial: {},\n animate: {\n y: [720, -24, 12, -4, 0],\n scaleY: [4, 0.9, 0.95, 0.985, 1],\n opacity: [0, 1, 1, 1, 1],\n transition: { ...varTranEnter({ durationIn, easeIn }) },\n },\n exit: {\n y: [12, -24, 720],\n scaleY: [0.985, 0.9, 3],\n opacity: [1, 1, 0],\n transition: varTranExit({ durationOut, easeOut }),\n },\n },\n inDown: {\n initial: {},\n animate: {\n y: [-720, 24, -12, 4, 0],\n scaleY: [4, 0.9, 0.95, 0.985, 1],\n opacity: [0, 1, 1, 1, 1],\n transition: varTranEnter({ durationIn, easeIn }),\n },\n exit: {\n y: [-12, 24, -720],\n scaleY: [0.985, 0.9, 3],\n opacity: [1, 1, 0],\n transition: varTranExit({ durationOut, easeOut }),\n },\n },\n inLeft: {\n initial: {},\n animate: {\n x: [-720, 24, -12, 4, 0],\n scaleX: [3, 1, 0.98, 0.995, 1],\n opacity: [0, 1, 1, 1, 1],\n transition: varTranEnter({ durationIn, easeIn }),\n },\n exit: {\n x: [0, 24, -720],\n scaleX: [1, 0.9, 2],\n opacity: [1, 1, 0],\n transition: varTranExit({ durationOut, easeOut }),\n },\n },\n inRight: {\n initial: {},\n animate: {\n x: [720, -24, 12, -4, 0],\n scaleX: [3, 1, 0.98, 0.995, 1],\n opacity: [0, 1, 1, 1, 1],\n transition: varTranEnter({ durationIn, easeIn }),\n },\n exit: {\n x: [0, -24, 720],\n scaleX: [1, 0.9, 2],\n opacity: [1, 1, 0],\n transition: varTranExit({ durationOut, easeOut }),\n },\n },\n\n // OUT\n out: {\n animate: { scale: [0.9, 1.1, 0.3], opacity: [1, 1, 0] },\n },\n outUp: {\n animate: { y: [-12, 24, -720], scaleY: [0.985, 0.9, 3], opacity: [1, 1, 0] },\n },\n outDown: {\n animate: { y: [12, -24, 720], scaleY: [0.985, 0.9, 3], opacity: [1, 1, 0] },\n },\n outLeft: {\n animate: { x: [0, 24, -720], scaleX: [1, 0.9, 2], opacity: [1, 1, 0] },\n },\n outRight: {\n animate: { x: [0, -24, 720], scaleX: [1, 0.9, 2], opacity: [1, 1, 0] },\n },\n };\n};\n","// ----------------------------------------------------------------------\n\nexport const varContainer = (props) => {\n const staggerIn = props?.staggerIn || 0.05;\n const delayIn = props?.staggerIn || 0.05;\n const staggerOut = props?.staggerIn || 0.05;\n\n return {\n animate: {\n transition: {\n staggerChildren: staggerIn,\n delayChildren: delayIn\n }\n },\n exit: {\n transition: {\n staggerChildren: staggerOut,\n staggerDirection: -1\n }\n }\n };\n};\n","import PropTypes from 'prop-types';\nimport { m } from 'framer-motion';\nimport { forwardRef } from 'react';\n// @mui\nimport { Box, IconButton } from '@mui/material';\n\n// ----------------------------------------------------------------------\n\nconst IconButtonAnimate = forwardRef(({ children, size = 'medium', ...other }, ref) => (\n \n \n {children}\n \n \n));\n\nIconButtonAnimate.propTypes = {\n children: PropTypes.node.isRequired,\n color: PropTypes.oneOf(['inherit', 'default', 'primary', 'secondary', 'info', 'success', 'warning', 'error']),\n size: PropTypes.oneOf(['small', 'medium', 'large'])\n};\n\nexport default IconButtonAnimate;\n\n// ----------------------------------------------------------------------\n\nconst varSmall = {\n hover: { scale: 1.1 },\n tap: { scale: 0.95 }\n};\n\nconst varMedium = {\n hover: { scale: 1.09 },\n tap: { scale: 0.97 }\n};\n\nconst varLarge = {\n hover: { scale: 1.08 },\n tap: { scale: 0.99 }\n};\n\nAnimateWrap.propTypes = {\n children: PropTypes.node.isRequired,\n size: PropTypes.oneOf(['small', 'medium', 'large'])\n};\n\nfunction AnimateWrap({ size, children }) {\n const isSmall = size === 'small';\n const isLarge = size === 'large';\n\n return (\n \n {children}\n \n );\n}\n","import PropTypes from 'prop-types';\nimport { m } from 'framer-motion';\n// @mui\nimport { Box } from '@mui/material';\n//\nimport { varContainer } from './variants';\n\n// ----------------------------------------------------------------------\n\nMotionContainer.propTypes = {\n action: PropTypes.bool,\n animate: PropTypes.bool,\n children: PropTypes.node.isRequired\n};\n\nexport default function MotionContainer({ animate, action = false, children, ...other }) {\n if (action) {\n return (\n \n {children}\n \n );\n }\n\n return (\n \n {children}\n \n );\n}\n","import { useState } from 'react';\nimport { capitalCase } from 'change-case';\nimport { Link as RouterLink } from 'react-router-dom';\n// @mui\nimport { styled } from '@mui/material/styles';\nimport { Box, Card, Stack, Link, Alert, Tooltip, Container, Typography, Button } from '@mui/material';\n\n// hooks\nimport useIsMountedRef from '../../hooks/useIsMountedRef';\nimport useAuth from '../../hooks/useAuth';\nimport useResponsive from '../../hooks/useResponsive';\n\n// routes\nimport { PATH_AUTH } from '../../routes/paths';\n// components\nimport Page from '../../components/Page';\nimport Logo from '../../components/Logo';\nimport Image from '../../components/Image';\n// sections\nimport { LoginForm } from '../../sections/auth/login';\n\n// ----------------------------------------------------------------------\n\nconst RootStyle = styled('div')(({ theme }) => ({\n [theme.breakpoints.up('md')]: {\n display: 'flex',\n },\n}));\n\nconst HeaderStyle = styled('header')(({ theme }) => ({\n top: 0,\n zIndex: 9,\n lineHeight: 0,\n width: '100%',\n display: 'flex',\n alignItems: 'center',\n position: 'absolute',\n padding: theme.spacing(3),\n justifyContent: 'space-between',\n [theme.breakpoints.up('md')]: {\n alignItems: 'flex-start',\n padding: theme.spacing(7, 5, 0, 7),\n },\n}));\n\nconst SectionStyle = styled(Card)(({ theme }) => ({\n width: '100%',\n maxWidth: 464,\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n margin: theme.spacing(2, 0, 2, 2),\n}));\n\nconst ContentStyle = styled('div')(({ theme }) => ({\n maxWidth: 480,\n margin: 'auto',\n display: 'flex',\n minHeight: '100vh',\n flexDirection: 'column',\n justifyContent: 'center',\n padding: theme.spacing(12, 0),\n}));\n\n// ----------------------------------------------------------------------\n\nexport default function Login() {\n const { method, login } = useAuth();\n const [error, setError] = useState(null);\n const isMountedRef = useIsMountedRef();\n\n const smUp = useResponsive('up', 'sm');\n const mdUp = useResponsive('up', 'md');\n\n const handleLogin = async () => {\n try {\n await login();\n } catch (err) {\n console.error(err);\n if (isMountedRef.current) {\n setError(err.message);\n }\n }\n };\n\n return (\n \n \n \n \n {/* {smUp && (\n \n Don’t have an account? {''}\n \n Get started\n \n \n )} */}\n \n\n {mdUp && (\n \n \n Hi, Welcome Back\n \n \n \n )}\n\n \n \n \n \n \n Sign in to Graffle\n \n Enter your details below.\n \n\n \n <>\n \n \n \n \n\n {/* \n Use email : demo@minimals.cc / password : demo1234\n */}\n\n {/* */}\n \n \n \n \n \n \n \n );\n}\n","import { Outlet } from 'react-router-dom';\n// @mui\nimport { styled } from '@mui/material/styles';\n// components\nimport Logo from '../components/Logo';\n\n// ----------------------------------------------------------------------\n\nconst HeaderStyle = styled('header')(({ theme }) => ({\n top: 0,\n left: 0,\n lineHeight: 0,\n width: '100%',\n position: 'absolute',\n padding: theme.spacing(3, 3, 0),\n [theme.breakpoints.up('sm')]: {\n padding: theme.spacing(5, 5, 0),\n },\n}));\n\n// ----------------------------------------------------------------------\n\nexport default function LogoOnlyLayout() {\n return (\n <>\n \n \n \n \n \n );\n}\n","import { useContext } from 'react';\n\nimport { AuthContext } from '../contexts/Auth0Context';\n\n// ----------------------------------------------------------------------\n\nconst useAuth = () => {\n const context = useContext(AuthContext);\n\n if (!context) throw new Error('Auth context must be use inside AuthProvider');\n\n return context;\n};\n\nexport default useAuth;\n","import { useContext } from 'react';\nimport { SettingsContext } from '../contexts/SettingsContext';\n\n// ----------------------------------------------------------------------\n\nconst useSettings = () => useContext(SettingsContext);\n\nexport default useSettings;\n","import { alpha } from '@mui/material/styles';\n\n// ----------------------------------------------------------------------\n\nfunction createGradient(color1, color2) {\n return `linear-gradient(to bottom, ${color1}, ${color2})`;\n}\n\n// SETUP COLORS\nconst PRIMARY = {\n lighter: '#FFEBD2',\n light: '#FFB178',\n main: '#FF5F1F',\n dark: '#B7280F',\n darker: '#7A0705',\n};\nconst SECONDARY = {\n lighter: '#D6E4FF',\n light: '#84A9FF',\n main: '#3366FF',\n dark: '#1939B7',\n darker: '#091A7A',\n};\nconst INFO = {\n lighter: '#CCE2FF',\n light: '#669FFF',\n main: '#004FFF',\n dark: '#002DB7',\n darker: '#00167A',\n};\nconst SUCCESS = {\n lighter: '#CCFFD8',\n light: '#66FFA9',\n main: '#00FFA3',\n dark: '#00B799',\n darker: '#00767A',\n};\nconst WARNING = {\n lighter: '#FFFCDE',\n light: '#FFF39C',\n main: '#FFE75A',\n dark: '#B79F2D',\n darker: '#7A6411',\n};\nconst ERROR = {\n lighter: '#FFE3CC',\n light: '#FF9366',\n main: '#FF2400',\n dark: '#B70002',\n darker: '#7A0015',\n};\n\nconst GREY = {\n 0: '#FFFFFF',\n 100: '#F9FAFB',\n 200: '#F4F6F8',\n 300: '#DFE3E8',\n 400: '#C4CDD5',\n 500: '#919EAB',\n 600: '#637381',\n 700: '#454F5B',\n 800: '#212B36',\n 900: '#161C24',\n 500_8: alpha('#919EAB', 0.08),\n 500_12: alpha('#919EAB', 0.12),\n 500_16: alpha('#919EAB', 0.16),\n 500_24: alpha('#919EAB', 0.24),\n 500_32: alpha('#919EAB', 0.32),\n 500_48: alpha('#919EAB', 0.48),\n 500_56: alpha('#919EAB', 0.56),\n 500_80: alpha('#919EAB', 0.8),\n};\n\nconst GRADIENTS = {\n primary: createGradient(PRIMARY.light, PRIMARY.main),\n info: createGradient(INFO.light, INFO.main),\n success: createGradient(SUCCESS.light, SUCCESS.main),\n warning: createGradient(WARNING.light, WARNING.main),\n error: createGradient(ERROR.light, ERROR.main),\n};\n\nconst CHART_COLORS = {\n violet: ['#826AF9', '#9E86FF', '#D0AEFF', '#F7D2FF'],\n blue: ['#2D99FF', '#83CFFF', '#A5F3FF', '#CCFAFF'],\n green: ['#2CD9C5', '#60F1C8', '#A4F7CC', '#C0F2DC'],\n yellow: ['#FFE700', '#FFEF5A', '#FFF7AE', '#FFF3D6'],\n red: ['#FF6C40', '#FF8F6D', '#FFBD98', '#FFF2D4'],\n};\n\nconst COMMON = {\n common: { black: '#000', white: '#fff' },\n primary: { ...PRIMARY, contrastText: '#fff' },\n secondary: { ...SECONDARY, contrastText: '#fff' },\n info: { ...INFO, contrastText: '#fff' },\n success: { ...SUCCESS, contrastText: GREY[800] },\n warning: { ...WARNING, contrastText: GREY[800] },\n error: { ...ERROR, contrastText: '#fff' },\n grey: GREY,\n gradients: GRADIENTS,\n chart: CHART_COLORS,\n divider: GREY[500_24],\n action: {\n hover: GREY[500_8],\n selected: GREY[500_16],\n disabled: GREY[500_80],\n disabledBackground: GREY[500_24],\n focus: GREY[500_24],\n hoverOpacity: 0.08,\n disabledOpacity: 0.48,\n },\n};\n\nconst palette = {\n light: {\n ...COMMON,\n mode: 'light',\n text: { primary: GREY[800], secondary: GREY[600], disabled: GREY[500] },\n background: { paper: '#fff', default: '#fff', neutral: GREY[200] },\n action: { active: GREY[600], ...COMMON.action },\n },\n dark: {\n ...COMMON,\n mode: 'dark',\n text: { primary: '#fff', secondary: GREY[500], disabled: GREY[600] },\n background: { paper: GREY[800], default: GREY[900], neutral: GREY[500_16] },\n action: { active: GREY[500], ...COMMON.action },\n },\n};\n\nexport default palette;\n","import { createSlice } from '@reduxjs/toolkit';\n\n// ----------------------------------------------------------------------\nlet healthUrl;\nlet dashboardUrl;\nlet localEnv;\n\nif (localStorage.getItem('env')) {\n localEnv = localStorage.getItem('env');\n}\n\nif (localEnv === 'testnet') {\n healthUrl = process.env.REACT_APP_TESTNET_HEALTHURL;\n dashboardUrl = process.env.REACT_APP_TESTNET_DASHBOARDURL;\n} else {\n healthUrl = process.env.REACT_APP_MAINNET_HEALTHURL;\n dashboardUrl = process.env.REACT_APP_MAINNET_DASHBOARDURL;\n}\n\nconst initialState = {\n healthCheckURL: healthUrl,\n dashboardAPIUrl: dashboardUrl,\n};\n\nconst slice = createSlice({\n name: 'enviroment',\n initialState,\n reducers: {\n switchMode(state, action) {\n state = action.payload;\n },\n },\n});\n\n// Reducer\nexport default slice.reducer;\n\n// Actions\nexport const { switchMode } = slice.actions;\n","import { createSlice } from '@reduxjs/toolkit';\n\n// ----------------------------------------------------------------------\n\nconst initialState = {\n themeMode: 'light',\n themeDirection: 'ltr',\n};\n\nconst slice = createSlice({\n name: 'settings',\n initialState,\n reducers: {\n switchMode(state, action) {\n state.themeMode = action.payload;\n },\n switchDirection(state, action) {\n state.themeDirection = action.payload;\n },\n },\n});\n\n// Reducer\nexport default slice.reducer;\n\n// Actions\nexport const { switchMode, switchDirection } = slice.actions;\n","import { combineReducers } from 'redux';\nimport storage from 'redux-persist/lib/storage';\n// slices\nimport settingsReducer from './slices/settings';\n\nimport enviromentReducer from './slices/enviroment';\n\n// ----------------------------------------------------------------------\n\nconst rootPersistConfig = {\n key: 'root',\n storage,\n keyPrefix: 'redux-',\n whitelist: ['settings'],\n};\n\nconst rootReducer = combineReducers({\n settings: settingsReducer,\n enviroment: enviromentReducer,\n});\n\nexport { rootPersistConfig, rootReducer };\n","import { configureStore, getDefaultMiddleware } from '@reduxjs/toolkit';\nimport { persistStore, persistReducer } from 'redux-persist';\nimport { rootPersistConfig, rootReducer } from './rootReducer';\n\n// ----------------------------------------------------------------------\n\nconst store = configureStore({\n reducer: persistReducer(rootPersistConfig, rootReducer),\n middleware: getDefaultMiddleware({\n serializableCheck: false,\n immutableCheck: false,\n }),\n});\n\nconst persistor = persistStore(store);\n\nexport { store, persistor };\n","import PropTypes from 'prop-types';\nimport { createContext, useState, useEffect } from 'react';\n// @mui\nimport { useMediaQuery } from '@mui/material';\nimport { useTheme } from '@mui/material/styles';\n\n// ----------------------------------------------------------------------\n\nconst initialState = {\n collapseClick: false,\n collapseHover: false,\n onToggleCollapse: () => {},\n onHoverEnter: () => {},\n onHoverLeave: () => {},\n};\n\nconst CollapseDrawerContext = createContext(initialState);\n\nCollapseDrawerProvider.propTypes = {\n children: PropTypes.node,\n};\n\nfunction CollapseDrawerProvider({ children }) {\n const theme = useTheme();\n const isMobile = useMediaQuery(theme.breakpoints.down('lg'));\n const [collapse, setCollapse] = useState({\n click: false,\n hover: false,\n });\n\n useEffect(() => {\n if (isMobile) {\n setCollapse({\n click: false,\n hover: false,\n });\n }\n }, [isMobile]);\n\n const handleToggleCollapse = () => {\n setCollapse({ ...collapse, click: !collapse.click });\n };\n\n const handleHoverEnter = () => {\n if (collapse.click) {\n setCollapse({ ...collapse, hover: true });\n }\n };\n\n const handleHoverLeave = () => {\n setCollapse({ ...collapse, hover: false });\n };\n\n return (\n \n {children}\n \n );\n}\n\nexport { CollapseDrawerProvider, CollapseDrawerContext };\n","import { useContext } from 'react';\nimport { CollapseDrawerContext } from '../contexts/CollapseDrawerContext';\n\n// ----------------------------------------------------------------------\n\nconst useCollapseDrawer = () => useContext(CollapseDrawerContext);\n\nexport default useCollapseDrawer;\n","import { useState } from 'react';\n// @mui\nimport { styled } from '@mui/material/styles';\nimport { Input, Slide, Button, InputAdornment, ClickAwayListener } from '@mui/material';\n// utils\nimport cssStyles from '../../../utils/cssStyles';\n// components\nimport Iconify from '../../../components/Iconify';\nimport { IconButtonAnimate } from '../../../components/animate';\n\n// ----------------------------------------------------------------------\n\nconst APPBAR_MOBILE = 64;\nconst APPBAR_DESKTOP = 92;\n\nconst SearchbarStyle = styled('div')(({ theme }) => ({\n ...cssStyles(theme).bgBlur(),\n top: 0,\n left: 0,\n zIndex: 99,\n width: '100%',\n display: 'flex',\n position: 'absolute',\n alignItems: 'center',\n height: APPBAR_MOBILE,\n padding: theme.spacing(0, 3),\n boxShadow: theme.customShadows.z8,\n [theme.breakpoints.up('md')]: {\n height: APPBAR_DESKTOP,\n padding: theme.spacing(0, 5),\n },\n}));\n\n// ----------------------------------------------------------------------\n\nexport default function Searchbar() {\n const [isOpen, setOpen] = useState(false);\n\n const handleOpen = () => {\n setOpen((prev) => !prev);\n };\n\n const handleClose = () => {\n setOpen(false);\n };\n\n return (\n \n
\n {!isOpen && (\n \n \n \n )}\n\n \n \n \n \n \n }\n sx={{ mr: 1, fontWeight: 'fontWeightBold' }}\n />\n \n \n \n
\n
\n );\n}\n","import PropTypes from 'prop-types';\n// @mui\nimport { styled } from '@mui/material/styles';\nimport { Popover } from '@mui/material';\n\n// ----------------------------------------------------------------------\n\nconst ArrowStyle = styled('span')(({ theme }) => ({\n [theme.breakpoints.up('sm')]: {\n top: -7,\n zIndex: 1,\n width: 12,\n right: 20,\n height: 12,\n content: \"''\",\n position: 'absolute',\n borderRadius: '0 0 4px 0',\n transform: 'rotate(-135deg)',\n background: theme.palette.background.paper,\n borderRight: `solid 1px ${theme.palette.grey[500_12]}`,\n borderBottom: `solid 1px ${theme.palette.grey[500_12]}`,\n },\n}));\n\n// ----------------------------------------------------------------------\n\nMenuPopover.propTypes = {\n children: PropTypes.node.isRequired,\n sx: PropTypes.object,\n};\n\nexport default function MenuPopover({ children, sx, ...other }) {\n return (\n theme.customShadows.z20,\n border: (theme) => `solid 1px ${theme.palette.grey[500_12]}`,\n ...sx,\n },\n }}\n {...other}\n >\n \n\n {children}\n \n );\n}\n","import { useRef, useState } from 'react';\nimport { Link as RouterLink, useNavigate } from 'react-router-dom';\n// @mui\nimport { alpha } from '@mui/material/styles';\nimport { Box, Divider, MenuItem, Typography, Button, Avatar, Stack } from '@mui/material';\n// components\n\nimport useAuth from '../../../hooks/useAuth';\n\nimport MenuPopover from '../../../components/MenuPopover';\nimport { IconButtonAnimate } from '../../../components/animate';\n\n// ----------------------------------------------------------------------\n\nconst MENU_OPTIONS = [\n // {\n // label: 'Home',\n // linkTo: '/',\n // },\n {\n label: 'Profile',\n linkTo: '/profile',\n },\n // {\n // label: 'Settings',\n // linkTo: '#',\n // },\n];\n\n// ----------------------------------------------------------------------\n\nexport default function AccountPopover() {\n const anchorRef = useRef(null);\n const { user, logout } = useAuth();\n const navigate = useNavigate();\n const [open, setOpen] = useState(false);\n\n const handleOpen = () => {\n setOpen(true);\n };\n const handleClose = () => {\n setOpen(false);\n };\n\n const handleLogout = async () => {\n try {\n handleClose();\n await logout();\n localStorage.removeItem('accessToken');\n navigate('/');\n } catch (err) {\n console.error(err);\n }\n };\n\n return (\n <>\n alpha(theme.palette.grey[900], 0.8),\n },\n }),\n }}\n >\n \n \n\n \n \n \n {user.name}\n \n \n {user.email}\n \n \n\n \n \n {MENU_OPTIONS.map((option) => (\n \n {option.label}\n \n ))}\n \n \n\n \n \n \n \n \n );\n}\n","// ----------------------------------------------------------------------\n\nexport const role = [\n 'UX Designer',\n 'Full Stack Designer',\n 'Backend Developer',\n 'UX Designer',\n 'UX Designer',\n 'Project Manager',\n 'Leader',\n 'Backend Developer',\n 'Project Manager',\n 'UI Designer',\n 'UI/UX Designer',\n 'UI/UX Designer',\n 'UI Designer',\n 'Backend Developer',\n 'Backend Developer',\n 'Front End Developer',\n 'Backend Developer',\n 'Full Stack Designer',\n 'Full Stack Developer',\n 'Backend Developer',\n 'UX Designer',\n 'UI Designer',\n 'Project Manager',\n 'UI/UX Designer',\n 'UI Designer',\n 'Project Manager',\n 'Full Stack Developer',\n 'Hr Manager',\n 'Hr Manager',\n 'UI/UX Designer',\n 'Project Manager',\n 'Full Stack Designer',\n 'UI Designer',\n 'Leader',\n 'Front End Developer',\n 'UI/UX Designer',\n 'Project Manager',\n 'UI/UX Designer',\n 'UI Designer',\n 'Full Stack Designer'\n];\n","// ----------------------------------------------------------------------\n\nexport const email = [\n 'nannie_abernathy70@yahoo.com',\n 'ashlynn_ohara62@gmail.com',\n 'milo.farrell@hotmail.com',\n 'violet.ratke86@yahoo.com',\n 'letha_lubowitz24@yahoo.com',\n 'aditya_greenfelder31@gmail.com',\n 'lenna_bergnaum27@hotmail.com',\n 'luella.ryan33@gmail.com',\n 'joana.simonis84@gmail.com',\n 'marjolaine_white94@gmail.com',\n 'vergie_block82@hotmail.com',\n 'vito.hudson@hotmail.com',\n 'tyrel_greenholt@gmail.com',\n 'dwight.block85@yahoo.com',\n 'mireya13@hotmail.com',\n 'dasia_jenkins@hotmail.com',\n 'benny89@yahoo.com',\n 'dawn.goyette@gmail.com',\n 'zella_hickle4@yahoo.com',\n 'avery43@hotmail.com',\n 'olen_legros@gmail.com',\n 'jimmie.gerhold73@hotmail.com',\n 'genevieve.powlowski@hotmail.com',\n 'louie.kuphal39@gmail.com',\n 'enoch.cruickshank@gmail.com',\n 'arlo_mccullough@gmail.com',\n 'sadie18@yahoo.com',\n 'aric67@gmail.com',\n 'mack_deckow53@gmail.com',\n 'constantin91@yahoo.com',\n 'lonny84@hotmail.com',\n 'gus56@hotmail.com',\n 'brennon64@yahoo.com',\n 'hortense.streich@hotmail.com',\n 'kallie_powlowski57@hotmail.com',\n 'meghan.kemmer@hotmail.com',\n 'bella.mraz14@yahoo.com',\n 'barney88@gmail.com',\n 'diamond_johns@hotmail.com',\n 'gus80@hotmail.com'\n];\n","// ----------------------------------------------------------------------\n\nexport const boolean = [\n true,\n true,\n true,\n false,\n false,\n true,\n false,\n false,\n false,\n false,\n true,\n true,\n true,\n false,\n false,\n false,\n true,\n false,\n false,\n false,\n true,\n false,\n false,\n true,\n true,\n true,\n false,\n false,\n true,\n true,\n false,\n true,\n false,\n true,\n true,\n true,\n false,\n true,\n false,\n false\n];\n","// ----------------------------------------------------------------------\n\nexport const company = [\n 'Lueilwitz and Sons',\n 'Gleichner, Mueller and Tromp',\n 'Nikolaus - Leuschke',\n 'Hegmann, Kreiger and Bayer',\n 'Grimes Inc',\n 'Durgan - Murazik',\n 'Altenwerth, Medhurst and Roberts',\n 'Raynor Group',\n 'Mraz, Donnelly and Collins',\n 'Padberg - Bailey',\n 'Heidenreich, Stokes and Parker',\n 'Pagac and Sons',\n 'Rempel, Hand and Herzog',\n 'Dare - Treutel',\n 'Kihn, Marquardt and Crist',\n 'Nolan - Kunde',\n 'Wuckert Inc',\n 'Dibbert Inc',\n 'Goyette and Sons',\n 'Feest Group',\n 'Bosco and Sons',\n 'Bartell - Kovacek',\n 'Schimmel - Raynor',\n 'Tremblay LLC',\n 'Hills - Mitchell',\n 'Rogahn LLC',\n 'Kuhn, Osinski and Morar',\n 'Schmitt Inc',\n 'Breitenberg - Rosenbaum',\n \"O'Keefe, Schneider and Mraz\",\n 'Rohan, Langworth and Kling',\n 'Morar and Sons',\n 'Mraz LLC',\n 'Rowe, Parisian and Kub',\n 'Marquardt - Hane',\n 'Medhurst Group',\n 'Nikolaus - Lang',\n 'Effertz, Mohr and Olson',\n 'Anderson - Kris',\n 'Runolfsson Group'\n];\n","// ----------------------------------------------------------------------\n\nexport const phoneNumber = [\n '365-374-4961',\n '904-966-2836',\n '399-757-9909',\n '692-767-2903',\n '990-588-5716',\n '955-439-2578',\n '226-924-4058',\n '552-917-1454',\n '285-840-9338',\n '306-269-2446',\n '883-373-6253',\n '476-509-8866',\n '201-465-1954',\n '538-295-9408',\n '531-492-6028',\n '981-699-7588',\n '500-268-4826',\n '205-952-3828',\n '222-255-5190',\n '408-439-8033',\n '272-940-8266',\n '812-685-8057',\n '353-801-5212',\n '606-285-8928',\n '202-767-8621',\n '222-830-0731',\n '964-940-3166',\n '262-702-2396',\n '886-261-9789',\n '352-390-5069',\n '343-907-8334',\n '575-347-2399',\n '749-228-5604',\n '774-452-2071',\n '607-841-0447',\n '395-619-2157',\n '233-834-0373',\n '586-880-2602',\n '746-772-0722',\n '638-615-3365,'\n];\n","// ----------------------------------------------------------------------\n\nexport const fullAddress = [\n '19034 Verna Unions Apt. 164 - Honolulu, RI / 87535',\n '1147 Rohan Drive Suite 819 - Burlington, VT / 82021',\n '18605 Thompson Circle Apt. 086 - Idaho Falls, WV / 50337',\n '110 Lamar Station Apt. 730 - Hagerstown, OK / 49808',\n '36901 Elmer Spurs Apt. 762 - Miramar, DE / 92836',\n '2089 Runolfsson Harbors Suite 886 - Chapel Hill, TX / 32827',\n '279 Karolann Ports Apt. 774 - Prescott Valley, WV / 53905',\n '96607 Claire Square Suite 591 - St. Louis Park, HI / 40802',\n '9388 Auer Station Suite 573 - Honolulu, AK / 98024',\n '47665 Adaline Squares Suite 510 - Blacksburg, NE / 53515',\n '989 Vernice Flats Apt. 183 - Billings, NV / 04147',\n '91020 Wehner Locks Apt. 673 - Albany, WY / 68763',\n '585 Candelario Pass Suite 090 - Columbus, LA / 25376',\n '80988 Renner Crest Apt. 000 - Fargo, VA / 24266',\n '28307 Shayne Pike Suite 523 - North Las Vegas, AZ / 28550',\n '205 Farrell Highway Suite 333 - Rock Hill, OK / 63421',\n '253 Kara Motorway Suite 821 - Manchester, SD / 09331',\n '13663 Kiara Oval Suite 606 - Missoula, AR / 44478',\n '8110 Claire Port Apt. 703 - Anchorage, TN / 01753',\n '4642 Demetris Lane Suite 407 - Edmond, AZ / 60888',\n '74794 Asha Flat Suite 890 - Lancaster, OR / 13466',\n '8135 Keeling Pines Apt. 326 - Alexandria, MA / 89442',\n '441 Gibson Shores Suite 247 - Pasco, NM / 60678',\n '4373 Emelia Valley Suite 596 - Columbia, NM / 42586',\n '1946 Strosin Creek Apt. 279 - Casper, CO / 21335',\n '147 Rempel Center Apt. 305 - Centennial, TN / 09375',\n '78481 Floyd Mountains Apt. 184 - Glendale, SD / 18777',\n '129 Toy Pines Suite 339 - Idaho Falls, CT / 82070',\n '08945 Cremin Underpass Apt. 700 - Iowa City, GA / 33243',\n '20728 Dorcas Highway Suite 959 - Largo, ND / 99931',\n '492 Wilburn Park Apt. 746 - Bellevue, TN / 16077',\n '70530 Garfield Tunnel Suite 902 - Detroit, IA / 01664',\n '868 Kautzer Grove Suite 334 - Kearny, KS / 51368',\n '71189 Towne Forks Suite 519 - Anchorage, IL / 52636',\n '5070 Magdalena Neck Suite 096 - Cedar Rapids, PA / 01342',\n '6216 Jermain Walk Apt. 279 - Wilmington, MA / 55416',\n '1795 Kilback Stravenue Apt. 745 - Concord, MA / 96099',\n '831 Rolfson Expressway Apt. 878 - Norman, NY / 10239',\n '909 Nathaniel Lake Suite 769 - Sherman, NJ / 46523',\n '3690 Hans Ports Apt. 369 - Cary, KS / 48930'\n];\n\nexport const country = [\n 'Kenya',\n 'Madagascar',\n 'Netherlands Antilles',\n 'Azerbaijan',\n 'Aruba',\n 'Comoros',\n 'Sierra Leone',\n 'Bermuda',\n 'Italy',\n 'Iran',\n 'Denmark',\n 'Congo',\n 'Cambodia',\n 'Virgin Islands, British',\n 'Bahamas',\n 'Italy',\n 'France',\n 'Portugal',\n 'Nepal',\n 'Saint Vincent and the Grenadines',\n 'Greenland',\n 'Maldives',\n 'Comoros',\n 'Bhutan',\n 'Tuvalu',\n 'Ethiopia',\n 'Myanmar',\n 'Libyan Arab Jamahiriya',\n 'Senegal',\n 'Malta',\n 'Kyrgyz Republic',\n 'Turks and Caicos Islands',\n 'Gibraltar',\n 'Sweden',\n 'Zambia',\n 'Isle of Man',\n 'Canada',\n 'Turkey',\n 'Samoa',\n 'Vietnam'\n];\n","// ----------------------------------------------------------------------\n\nexport const fullName = [\n 'Jayvion Simon',\n 'Lucian Obrien',\n 'Deja Brady',\n 'Harrison Stein',\n 'Reece Chung',\n 'Lainey Davidson',\n 'Cristopher Cardenas',\n 'Melanie Noble',\n 'Chase Day',\n 'Shawn Manning',\n 'Soren Durham',\n 'Cortez Herring',\n 'Brycen Jimenez',\n 'Giana Brandt',\n 'Aspen Schmitt',\n 'Colten Aguilar',\n 'Angelique Morse',\n 'Selina Boyer',\n 'Lawson Bass',\n 'Ariana Lang',\n 'Amiah Pruitt',\n 'Harold Mcgrath',\n 'Esperanza Mcintyre',\n 'Mireya Conner',\n 'Jamie Kline',\n 'Laney Vazquez',\n 'Tiffany May',\n 'Dexter Shepherd',\n 'Jaqueline Spencer',\n 'Londyn Jarvis',\n 'Yesenia Butler',\n 'Jayvon Hull',\n 'Izayah Pope',\n 'Ayana Hunter',\n 'Isabell Bender',\n 'Desiree Schmidt',\n 'Aidan Stout',\n 'Jace Bush',\n 'Janiya Williamson',\n 'Hudson Alvarez'\n];\n\nexport const firstName = [\n 'Mossie',\n 'David',\n 'Ebba',\n 'Chester',\n 'Eula',\n 'Jaren',\n 'Boyd',\n 'Brady',\n 'Aida',\n 'Anastasia',\n 'Gregoria',\n 'Julianne',\n 'Ila',\n 'Elyssa',\n 'Lucio',\n 'Lewis',\n 'Jacinthe',\n 'Molly',\n 'Brown',\n 'Fritz',\n 'Keon',\n 'Ella',\n 'Ken',\n 'Whitney',\n 'Monte',\n 'Rose',\n 'Shana',\n 'Devon',\n 'Jaleel',\n 'Laury',\n 'Brooks',\n 'Bruce',\n 'Avery',\n 'Esperanza',\n 'Helene',\n 'Heloise',\n 'Elinor',\n 'Adeline',\n 'Haley',\n 'Anabelle'\n];\n\nexport const lastName = [\n 'Carroll',\n 'Simonis',\n 'Yost',\n 'Hand',\n 'Emmerich',\n 'Wilderman',\n 'Howell',\n 'Sporer',\n 'Boehm',\n 'Morar',\n 'Koch',\n 'Reynolds',\n 'Padberg',\n 'Watsica',\n 'Upton',\n 'Yundt',\n 'Pfeffer',\n 'Parker',\n 'Zulauf',\n 'Treutel',\n 'McDermott',\n 'McDermott',\n 'Cruickshank',\n 'Parisian',\n 'Auer',\n 'Turner',\n 'Dooley',\n 'Wiegand',\n 'Abbott',\n 'Wisoky',\n 'Fahey',\n 'Satterfield',\n 'Bahringer',\n 'Schulist',\n 'Durgan',\n 'Carroll',\n 'Jones',\n 'Leffler',\n 'Gutkowski',\n 'Homenick'\n];\n","// ----------------------------------------------------------------------\n\nexport const title = [\n 'Apply These 7 Secret Techniques To Improve Event',\n 'Believing These 7 Myths About Event Keeps You From Growing',\n \"Don't Waste Time! 7 Facts Until You Reach Your Event\",\n 'How 7 Things Will Change The Way You Approach Event',\n \"Event Awards: 7 Reasons Why They Don't Work & What You Can Do About It\",\n \"Event Doesn't Have To Be Hard. Read These 7 Tips\",\n 'Event Is Your Worst Enemy. 7 Ways To Defeat It',\n 'Event On A Budget: 7 Tips From The Great Depression',\n 'Knowing These 7 Secrets Will Make Your Event Look Amazing',\n 'Master The Art Of Event With These 7 Tips',\n 'My Life, My Job, My Career: How 7 Simple Event Helped Me Succeed',\n 'Take Advantage Of Event - Read These 7 Tips',\n 'The Next 7 Things You Should Do For Event Success',\n 'The Time Is Running Out! Think About These 7 Ways To Change Your Event',\n 'The 7 Best Things About Event',\n 'The 7 Biggest Event Mistakes You Can Easily Avoid',\n 'The 7 Most Successful Event Companies In Region',\n 'Think Your Event Is Safe? 7 Ways You Can Lose It Today',\n \"Thinking About Event? 7 Reasons Why It's Time To Stop!\",\n '7 Places To Get Deals On Event',\n 'Best Event Android Apps',\n 'Best Event Tips You Will Read This Year',\n 'Best 30 Tips For Event',\n 'Should Fixing Event Take 30 Steps?',\n 'The A - Z Of Event',\n 'The Next 30 Things To Immediately Do About Event',\n 'The Ultimate Guide To Event',\n 'Top 30 Funny Event Quotes',\n 'Top 30 Quotes On Event',\n 'Top 7 Lessons About Event To Learn Before You Hit 30',\n 'Top 7 Ways To Buy A Used Event',\n '30 Best Ways To Sell Event',\n '30 Ideas For Event',\n '30 Lessons About Event You Need To Learn Before You Hit 40',\n '30 Methods Of Event Domination',\n '30 Things To Do Immediately About Event',\n '30 Tips To Grow Your Event',\n '30 Ways To Avoid Event Burnout',\n '30 Ways To Improve Event',\n 'How To Make More Event By Doing Less'\n];\n\nexport const sentence = [\n 'Assumenda nam repudiandae rerum fugiat vel maxime.',\n 'Quis veniam aut saepe aliquid nulla.',\n 'Reprehenderit ut voluptas sapiente ratione nostrum est.',\n 'Error ut sit vel molestias velit.',\n 'Quo quia sit nihil nemo doloremque et.',\n 'Autem doloribus harum vero laborum.',\n 'Tempora officiis consequuntur architecto nostrum autem nam adipisci.',\n 'Voluptas sunt magni adipisci praesentium saepe.',\n 'Ea architecto quas voluptates voluptas earum illo est vel rem.',\n 'Ipsum expedita reiciendis ut.',\n 'Architecto vel voluptatibus alias a aut non maxime ipsa voluptates.',\n 'Reiciendis enim officiis cupiditate eaque distinctio laudantium modi similique consequatur.',\n 'Ab autem consequatur itaque mollitia ipsum cupiditate error repudiandae nobis.',\n 'Distinctio architecto debitis eligendi consequatur unde id modi accusantium possimus.',\n 'At ut voluptate accusantium.',\n 'Repudiandae ut qui veritatis sint.',\n 'Laboriosam blanditiis quo sed et qui esse ipsam necessitatibus sed.',\n 'Et molestiae et excepturi maxime omnis.',\n 'Sint dolorem quam eum magnam.',\n 'Rerum ut iusto iste quam voluptatem necessitatibus.',\n 'Et quam in.',\n 'Fugit esse tenetur.',\n 'Dolorem dolor porro nihil cupiditate molestiae deserunt ut.',\n 'Omnis beatae eos eius aut molestias laboriosam laborum et optio.',\n 'Ut veniam quam assumenda ut voluptatibus ducimus accusamus.',\n 'Quos dignissimos neque omnis reiciendis voluptatem ducimus.',\n 'Laboriosam quia ut esse.',\n 'Sit reiciendis nihil qui molestias et.',\n 'Facilis cupiditate minima ratione quaerat omnis velit non ex totam.',\n 'Provident sint esse voluptatem voluptas eveniet est.',\n 'Molestias consequatur ea facilis.',\n 'Tempora voluptatibus autem ut ut porro quae delectus dolorum.',\n 'Et consequatur amet nemo ducimus voluptatem placeat voluptas.',\n 'Modi iste atque hic voluptas sit quis deleniti quas consequatur.',\n 'Omnis est aliquid odio mollitia aliquid ex.',\n 'Officia possimus veniam quod molestias.',\n 'Mollitia inventore recusandae provident aut.',\n 'Numquam ullam beatae possimus.',\n 'Fuga velit cupiditate ex culpa odio aut ut.',\n 'Vero corrupti nam voluptatum excepturi est et.'\n];\n\nexport const description = [\n 'Occaecati est et illo quibusdam accusamus qui. Incidunt aut et molestiae ut facere aut. Est quidem iusto praesentium excepturi harum nihil tenetur facilis. Ut omnis voluptates nihil accusantium doloribus eaque debitis.',\n 'Atque eaque ducimus minima distinctio velit. Laborum et veniam officiis. Delectus ex saepe hic id laboriosam officia. Odit nostrum qui illum saepe debitis ullam. Laudantium beatae modi fugit ut. Dolores consequatur beatae nihil voluptates rem maiores.',\n 'Rerum eius velit dolores. Explicabo ad nemo quibusdam. Voluptatem eum suscipit et ipsum et consequatur aperiam quia. Rerum nulla sequi recusandae illum velit quia quas. Et error laborum maiores cupiditate occaecati.',\n 'Et non omnis qui. Qui sunt deserunt dolorem aut velit cumque adipisci aut enim. Nihil quis quisquam nesciunt dicta nobis ab aperiam dolorem repellat. Voluptates non blanditiis. Error et tenetur iste soluta cupiditate ratione perspiciatis et. Quibusdam aliquid nam sunt et quisquam non esse.',\n 'Nihil ea sunt facilis praesentium atque. Ab animi alias sequi molestias aut velit ea. Sed possimus eos. Et est aliquid est voluptatem.',\n 'Non rerum modi. Accusamus voluptatem odit nihil in. Quidem et iusto numquam veniam culpa aperiam odio aut enim. Quae vel dolores. Pariatur est culpa veritatis aut dolorem.',\n 'Est enim et sit non impedit aperiam cumque animi. Aut eius impedit saepe blanditiis. Totam molestias magnam minima fugiat.',\n 'Unde a inventore et. Sed esse ut. Atque ducimus quibusdam fuga quas id qui fuga.',\n 'Eaque natus adipisci soluta nostrum dolorem. Nesciunt ipsum molestias ut aliquid natus ut omnis qui fugiat. Dolor et rem. Ut neque voluptatem blanditiis quasi ullam deleniti.',\n 'Nam et error exercitationem qui voluptate optio. Officia omnis qui accusantium ipsam qui. Quia sequi nulla perspiciatis optio vero omnis maxime omnis ipsum. Perspiciatis consequuntur asperiores veniam dolores.',\n 'Perspiciatis nulla ut ut ut voluptates totam consectetur eligendi qui. Optio ut cum. Dolorum sapiente qui laborum. Impedit temporibus totam delectus nihil. Voluptatem corrupti rem.',\n 'Distinctio omnis similique omnis eos. Repellat cumque rerum nisi. Reiciendis soluta non ut veniam temporibus. Accusantium et dolorem voluptas harum. Nemo eius voluptate dicta et hic nemo. Dolorem assumenda et beatae molestias sit quo mollitia quis consequatur.',\n 'Sed ut mollitia tempore ipsam et illum doloribus ut. Occaecati ratione veritatis explicabo. Omnis nam omnis sunt placeat tempore accusantium placeat distinctio velit.',\n 'Eum illo dicta et perspiciatis ut blanditiis eos sequi. Ea veritatis aut et voluptas aut. Laborum eos quia tempore a culpa.',\n 'Aut quos quae dolores repudiandae similique perferendis perferendis earum laudantium. Facere placeat natus nobis. Eius vitae ullam dolorem.',\n 'Vero dolorem et voluptatem fugit tempore a quam iure. Fuga consequatur corrupti sunt asperiores vitae. Libero totam repellendus animi debitis illum et sunt officia.',\n 'Cupiditate illum officiis id molestiae. Numquam non molestiae aliquid et natus sed hic. Alias quia explicabo sed corrupti sint. Natus in et odio qui unde facilis quia. Est sit eius laboriosam aliquid non aperiam quia quo corporis.',\n 'Et a ab. Optio aspernatur minus tempora amet vitae consectetur inventore cumque. Sed et omnis. Aspernatur a magnam.',\n 'Ipsum omnis et. Quia ea et autem tempore consequuntur veniam dolorem officiis. Ipsa dicta et ut quidem quia doloremque. Sequi vitae doloremque temporibus. Deserunt incidunt id aperiam itaque natus. Earum sit eaque quas incidunt nihil.',\n 'Quae consequatur reiciendis. Consequatur non optio. Eaque id placeat. Commodi quo officia aut repudiandae reiciendis tempore voluptatem et. Ut accusamus qui itaque maxime aliquam. Fugit ut animi molestiae porro maiores.',\n 'Modi hic asperiores ab cumque quam est aut. Voluptas atque quos molestias. Ut excepturi distinctio ipsam aspernatur sit.',\n 'Sunt totam facilis. Quam commodi voluptatem veniam. Tempora deleniti itaque fugit nihil voluptas.',\n 'Ipsam aliquam velit nobis repellendus officiis aut deserunt id et. Nihil sunt aut dolores aut. Dolores est ipsa quia et laborum quidem laborum accusamus id. Facilis odit quod hic laudantium saepe omnis nisi in sint. Sed cupiditate possimus id.',\n 'Magnam non eveniet optio optio ut aliquid atque. Velit libero aspernatur quis laborum consequatur laudantium. Tempora facere optio fugit accusantium ut. Omnis aspernatur reprehenderit autem esse ut ut enim voluptatibus.',\n 'Ipsam vel molestiae dolorem iure molestiae. Ut qui cumque et sint recusandae modi nulla. Vel rerum tempore similique autem enim voluptatem dolores facilis. Qui delectus recusandae magnam.',\n 'Fugiat molestias distinctio enim nobis rerum. Perspiciatis adipisci corrupti quas sed ab sunt nostrum. Quibusdam reiciendis ratione dolores vitae fuga exercitationem asperiores maxime voluptate. Minus et ea delectus quia ullam est. Exercitationem iusto libero. Et aut dolore reprehenderit et saepe sint modi.',\n 'Ex neque aut voluptatem delectus eum deserunt voluptate. Ut quam placeat et. Et impedit tenetur illum aut consequatur quia. Autem sed dolorem non ad aspernatur illum dignissimos beatae. Earum iusto aut rem aut. Facere ea alias enim quo assumenda.',\n 'Quis sint recusandae quasi corporis et fugit. Omnis voluptatum id laborum qui. Assumenda animi quia eum et facere fuga. Ab et sint molestiae et voluptatum nostrum est.',\n 'Est quis numquam recusandae alias porro magni. Incidunt quis aut necessitatibus nam ea dolores cumque. Quis dolorum veniam.',\n 'Corporis magnam non. Ut voluptates pariatur et. Quis tenetur mollitia et necessitatibus et. Perferendis error velit aut.',\n 'Eos ex accusantium possimus aut quae. Omnis dolorum velit. Sapiente quia dolore ea assumenda voluptatem exercitationem sed consequuntur. Eveniet et molestiae ipsa harum quidem soluta quo. Consequatur ad sunt sed numquam odio eveniet.',\n 'Ut sit et provident vero vero voluptatem distinctio. Cumque sit error qui et. Ea architecto ipsum occaecati sed alias eum vel. Officia tempore architecto autem vel veniam. Minus modi commodi ad consequatur similique ut. Tenetur tempore eum.',\n 'Quibusdam in cum voluptatem consequatur rerum. Qui eum assumenda nemo maiores veniam quae. Ipsa occaecati et provident. Quas similique deserunt doloremque placeat natus.',\n 'Voluptates et earum fugiat molestiae distinctio. Aut sapiente quas dolores et. Quo et dolor velit et iure consequatur ut in amet. Repellendus aut sequi animi inventore nesciunt itaque.',\n 'Sit a tempore dicta provident molestiae. Necessitatibus blanditiis voluptatum. Magnam esse animi in qui veritatis quibusdam recusandae adipisci possimus. Tenetur dolores ipsum.',\n 'Neque id sunt amet modi expedita aut libero aut in. Minima dolore praesentium quia quas et pariatur numquam. In ut sequi nemo velit iste minima aliquam. Neque ut tenetur consequuntur sint nemo unde. Magni nesciunt omnis illo optio. Molestias eum exercitationem aut harum odit.',\n 'Modi quia laboriosam qui ad aut. Fugit quisquam earum distinctio officia est fugit quos. Iure repellat distinctio veritatis voluptate amet ratione repudiandae.',\n 'Impedit perferendis vel quis ratione. Id aut id officia. Illum fuga saepe provident voluptate eligendi provident. Et nostrum maxime magni. Nobis cumque id magni in iste earum.',\n 'Dolor numquam maiores praesentium dolorem nihil minus praesentium rem dolorem. Est rerum placeat. Numquam sed magni aliquam laborum enim facere ducimus.',\n 'In sint enim nam et itaque et qui. Molestiae a iusto quidem quia temporibus id quia eaque eius. Quis quia consectetur saepe vero et molestias. Rem minima accusamus vitae adipisci molestiae unde voluptate consequatur molestiae. Rerum exercitationem quisquam vitae.'\n];\n","// ----------------------------------------------------------------------\n\nexport const price = [\n 16.19, 35.71, 34.3, 93.1, 55.47, 89.09, 44.39, 26.92, 45.35, 26.96, 78.22, 35.54, 90.69, 63.61,\n 67.55, 94.75, 75.78, 39.6, 52.84, 72.8, 83.08, 85.02, 69.22, 60.96, 84.7, 16.68, 78.83, 58.07,\n 65.8, 55.69, 87.55, 44.74, 27.42, 84, 76.17, 43.83, 76.39, 17.42, 42.3, 12.45\n];\n\nexport const rating = [\n 2.5, 2, 4.9, 2, 4, 5, 4.9, 5, 3.7, 2.5, 2, 4.9, 4.8, 4, 2, 3.7, 1.4, 2.4, 1.8, 5, 2.9, 3.9, 3.9,\n 1.8, 5, 2.6, 3.1, 3.9, 1.2, 3.2, 4.1, 5, 4.5, 4.1, 2.3, 2.4, 5, 3.1, 4.9, 1.7\n];\n\nexport const age = [\n 52, 43, 56, 25, 22, 53, 38, 50, 55, 37, 16, 27, 55, 41, 52, 32, 34, 52, 31, 53, 23, 48, 43, 41,\n 19, 21, 17, 29, 32, 54, 38, 34, 49, 33, 55, 50, 24, 27, 23, 23\n];\n\nexport const percent = [\n 8.62, 86.36, 73.99, 79, 63.41, 58.79, 12.32, 88.44, 45.06, 91.64, 88.41, 73.08, 39.14, 89.34,\n 43.37, 34.45, 24.04, 80.96, 72.91, 47.59, 2.46, 3.33, 99.31, 47.6, 34.09, 50.61, 66.13, 46.69,\n 92.43, 31.41, 90.85, 36.32, 38.84, 25.6, 87.61, 1.31, 89.32, 41.23, 85.9, 62.63\n];\n","import { sub } from 'date-fns';\n//\nimport { role } from './role';\nimport { email } from './email';\nimport { boolean } from './boolean';\nimport { company } from './company';\nimport { phoneNumber } from './phoneNumber';\nimport { fullAddress, country } from './address';\nimport { firstName, lastName, fullName } from './name';\nimport { title, sentence, description } from './text';\nimport { price, rating, age, percent } from './number';\n\n// ----------------------------------------------------------------------\n\nconst _mock = {\n id: (index) => `e99f09a7-dd88-49d5-b1c8-1daf80c2d7b${index + 1}`,\n email: (index) => email[index],\n phoneNumber: (index) => phoneNumber[index],\n time: (index) => sub(new Date(), { days: index, hours: index }),\n boolean: (index) => boolean[index],\n role: (index) => role[index],\n company: (index) => company[index],\n address: {\n fullAddress: (index) => fullAddress[index],\n country: (index) => country[index],\n },\n name: {\n firstName: (index) => firstName[index],\n lastName: (index) => lastName[index],\n fullName: (index) => fullName[index],\n },\n text: {\n title: (index) => title[index],\n sentence: (index) => sentence[index],\n description: (index) => description[index],\n },\n number: {\n percent: (index) => percent[index],\n rating: (index) => rating[index],\n age: (index) => age[index],\n price: (index) => price[index],\n },\n image: {\n cover: (index) => `https://minimal-assets-api.vercel.app/assets/images/covers/cover_${index + 1}.jpg`,\n feed: (index) => `https://minimal-assets-api.vercel.app/assets/images/feeds/feed_${index + 1}.jpg`,\n product: (index) => `https://minimal-assets-api.vercel.app/assets/images/products/product_${index + 1}.jpg`,\n avatar: (index) => `https://minimal-assets-api.vercel.app/assets/images/avatars/avatar_${index + 1}.jpg`,\n },\n};\n\nexport default _mock;\n","// ----------------------------------------------------------------------\n\nexport function randomNumber(number) {\n return Math.floor(Math.random() * number) + 1;\n}\n\nexport function randomNumberRange(min, max) {\n return Math.floor(Math.random() * (max - min + 1)) + min;\n}\n\nexport function randomInArray(array) {\n return array[Math.floor(Math.random() * array.length)];\n}\n","import { noCase } from 'change-case';\n// _mock\nimport _mock from './_mock';\nimport { randomNumberRange, randomInArray } from './funcs';\n\n// ----------------------------------------------------------------------\n\nexport const _appRelated = ['Chrome', 'Drive', 'Dropbox', 'Evernote', 'Github'].map((appName, index) => ({\n id: _mock.id(index),\n name: appName,\n system: (index === 2 && 'Windows') || (index === 4 && 'Windows') || 'Mac',\n price: index === 0 || index === 2 || index === 4 ? 0 : _mock.number.price(index),\n rating: _mock.number.rating(index),\n review: randomNumberRange(999, 99999),\n shortcut: `https://minimal-assets-api.vercel.app/assets/icons/ic_${noCase(appName)}.svg`,\n}));\n\nexport const _appInstalled = ['de', 'en', 'fr', 'kr', 'us'].map((country, index) => ({\n id: _mock.id(index),\n name: ['Germany', 'England', 'France', 'Korean', 'USA'][index],\n android: randomNumberRange(999, 99999),\n windows: randomNumberRange(999, 99999),\n apple: randomNumberRange(999, 99999),\n flag: `https://minimal-assets-api.vercel.app/assets/icons/ic_flag_${country}.svg`,\n}));\n\nexport const _appAuthors = [...Array(3)].map((_, index) => ({\n id: _mock.id(index),\n name: _mock.name.fullName(index),\n avatar: _mock.image.avatar(index),\n favourite: randomNumberRange(9999, 19999),\n}));\n\nexport const _appInvoices = [...Array(5)].map((_, index) => ({\n id: `${Date.now() + index}`,\n price: _mock.number.price(index),\n category: randomInArray(['Android', 'Mac', 'Windows']),\n status: randomInArray(['paid', 'out_of_date', 'in_progress']),\n}));\n\nexport const _appFeatured = [...Array(3)].map((_, index) => ({\n id: _mock.id(index),\n title: ['Harry Potter and the Deathly Hallows - Part 2', 'Disney Zombies 2', 'Lightroom mobile - Koloro'][index],\n description: _mock.text.title(index),\n image: _mock.image.feed(index),\n}));\n","import _mock from './_mock';\nimport { randomNumberRange, randomInArray } from './funcs';\n\n// ----------------------------------------------------------------------\n\nexport const _userAbout = {\n id: _mock.id(1),\n cover: _mock.image.cover(1),\n position: 'UI Designer',\n follower: randomNumberRange(999, 99999),\n following: randomNumberRange(999, 99999),\n quote: 'Tart I love sugar plum I love oat cake. Sweet roll caramels I love jujubes. Topping cake wafer..',\n country: _mock.address.country(1),\n email: _mock.email(1),\n company: _mock.company(1),\n school: _mock.company(2),\n role: 'Manager',\n facebookLink: `https://www.facebook.com/caitlyn.kerluke`,\n instagramLink: `https://www.instagram.com/caitlyn.kerluke`,\n linkedinLink: `https://www.linkedin.com/in/caitlyn.kerluke`,\n twitterLink: `https://www.twitter.com/caitlyn.kerluke`,\n};\n\nexport const _userFollowers = [...Array(18)].map((_, index) => ({\n id: _mock.id(index),\n avatarUrl: _mock.image.avatar(index),\n name: _mock.name.fullName(index),\n country: _mock.address.country(index),\n isFollowed: _mock.boolean(index),\n}));\n\nexport const _userFriends = [...Array(18)].map((_, index) => ({\n id: _mock.id(index),\n avatarUrl: _mock.image.avatar(index),\n name: _mock.name.fullName(index),\n role: _mock.role(index),\n}));\n\nexport const _userGallery = [...Array(12)].map((_, index) => ({\n id: _mock.id(index),\n title: _mock.text.title(index),\n postAt: _mock.time(index),\n imageUrl: _mock.image.cover(index),\n}));\n\nexport const _userFeeds = [...Array(3)].map((_, index) => ({\n id: _mock.id(index),\n author: {\n id: _mock.id(8),\n avatarUrl: _mock.image.avatar(1),\n name: 'Caitlyn Kerluke',\n },\n isLiked: true,\n createdAt: _mock.time(index),\n media: _mock.image.feed(index),\n message: _mock.text.sentence(index),\n personLikes: [...Array(36)].map((_, index) => ({\n name: _mock.name.fullName(index),\n avatarUrl: _mock.image.avatar(index + 2),\n })),\n comments: (index === 2 && []) || [\n {\n id: _mock.id(7),\n author: {\n id: _mock.id(8),\n avatarUrl: _mock.image.avatar(randomInArray([2, 3, 4, 5, 6]) || 2),\n name: _mock.name.fullName(index + 5),\n },\n createdAt: _mock.time(2),\n message: 'Praesent venenatis metus at',\n },\n {\n id: _mock.id(9),\n author: {\n id: _mock.id(10),\n avatarUrl: _mock.image.avatar(randomInArray([7, 8, 9, 10, 11]) || 7),\n name: _mock.name.fullName(index + 6),\n },\n createdAt: _mock.time(3),\n message:\n 'Etiam rhoncus. Nullam vel sem. Pellentesque libero tortor, tincidunt et, tincidunt eget, semper nec, quam. Sed lectus.',\n },\n ],\n}));\n\nexport const _userCards = [...Array(24)].map((_, index) => ({\n id: _mock.id(index),\n avatarUrl: _mock.image.avatar(index),\n cover: _mock.image.cover(index),\n name: _mock.name.fullName(index),\n follower: randomNumberRange(999, 99999),\n following: randomNumberRange(999, 99999),\n totalPost: randomNumberRange(999, 99999),\n position: _mock.role(index),\n}));\n\nexport const _userPayment = [...Array(2)].map((_, index) => ({\n id: _mock.id(index),\n cardNumber: ['**** **** **** 1234', '**** **** **** 5678', '**** **** **** 7878'][index],\n cardType: ['master_card', 'visa', 'master_card'][index],\n}));\n\nexport const _userAddressBook = [...Array(4)].map((_, index) => ({\n id: _mock.id(index),\n name: _mock.name.fullName(index),\n phone: _mock.phoneNumber(index),\n country: _mock.address.country(index),\n state: 'New Hampshire',\n city: 'East Sambury',\n street: '41256 Kamille Turnpike',\n zipCode: '85807',\n}));\n\nexport const _userInvoices = [...Array(10)].map((_, index) => ({\n id: _mock.id(index),\n createdAt: _mock.time(index),\n price: _mock.number.price(index),\n}));\n\nexport const _userList = [...Array(24)].map((_, index) => ({\n id: _mock.id(index),\n avatarUrl: _mock.image.avatar(index),\n name: _mock.name.fullName(index),\n email: _mock.email(index),\n phoneNumber: _mock.phoneNumber(index),\n address: '908 Jack Locks',\n country: _mock.address.country(index),\n state: 'Virginia',\n city: 'Rancho Cordova',\n zipCode: '85807',\n company: _mock.company(index),\n isVerified: _mock.boolean(index),\n status: randomInArray(['active', 'banned']),\n role: _mock.role(index),\n}));\n","import { PlanFreeIcon, PlanStarterIcon, PlanPremiumIcon } from '../assets';\n\n// ----------------------------------------------------------------------\n\nconst LICENSES = ['Standard', 'Standard Plus', 'Extended'];\n\nexport const _homePlans = [...Array(3)].map((_, index) => ({\n license: LICENSES[index],\n commons: ['One end products', '12 months updates', '6 months of support'],\n options: [\n 'JavaScript version',\n 'TypeScript version',\n 'Design Resources',\n 'Commercial applications',\n ],\n icons: [\n 'https://minimal-assets-api.vercel.app/assets/images/home/ic_sketch.svg',\n 'https://minimal-assets-api.vercel.app/assets/images/home/ic_figma.svg',\n 'https://minimal-assets-api.vercel.app/assets/images/home/ic_js.svg',\n 'https://minimal-assets-api.vercel.app/assets/images/home/ic_ts.svg',\n ],\n}));\n\nexport const _pricingPlans = [\n {\n subscription: 'basic',\n icon: ,\n price: 0,\n caption: 'forever',\n lists: [\n { text: '3 prototypes', isAvailable: true },\n { text: '3 boards', isAvailable: true },\n { text: 'Up to 5 team members', isAvailable: false },\n { text: 'Advanced security', isAvailable: false },\n { text: 'Permissions & workflows', isAvailable: false },\n ],\n labelAction: 'current plan',\n },\n {\n subscription: 'starter',\n icon: ,\n price: 4.99,\n caption: 'saving $24 a year',\n lists: [\n { text: '3 prototypes', isAvailable: true },\n { text: '3 boards', isAvailable: true },\n { text: 'Up to 5 team members', isAvailable: true },\n { text: 'Advanced security', isAvailable: false },\n { text: 'Permissions & workflows', isAvailable: false },\n ],\n labelAction: 'choose starter',\n },\n {\n subscription: 'premium',\n icon: ,\n price: 9.99,\n caption: 'saving $124 a year',\n lists: [\n { text: '3 prototypes', isAvailable: true },\n { text: '3 boards', isAvailable: true },\n { text: 'Up to 5 team members', isAvailable: true },\n { text: 'Advanced security', isAvailable: true },\n { text: 'Permissions & workflows', isAvailable: true },\n ],\n labelAction: 'choose premium',\n },\n];\n","import _mock from './_mock';\n\n// ----------------------------------------------------------------------\n\nconst COUNTRY = ['de', 'en', 'fr', 'kr', 'us'];\n\nconst CATEGORY = ['CAP', 'Branded Shoes', 'Headphone', 'Cell Phone', 'Earings'];\n\nconst PRODUCT_NAME = [\n 'Small Granite Computer',\n 'Small Rubber Mouse',\n 'Awesome Rubber Hat',\n 'Sleek Cotton Sausages',\n 'Rustic Wooden Chicken',\n];\n\nexport const _ecommerceSalesOverview = [...Array(3)].map((_, index) => ({\n label: ['Total Profit', 'Total Income', 'Total Expenses'][index],\n amount: _mock.number.price(index) * 100,\n value: _mock.number.percent(index),\n}));\n\nexport const _ecommerceBestSalesman = [...Array(5)].map((_, index) => ({\n id: _mock.id(index),\n name: _mock.name.fullName(index),\n email: _mock.email(index),\n avatar: _mock.image.avatar(index + 8),\n category: CATEGORY[index],\n flag: `https://minimal-assets-api.vercel.app/assets/icons/ic_flag_${COUNTRY[index]}.svg`,\n total: _mock.number.price(index),\n rank: `Top ${index + 1}`,\n}));\n\nexport const _ecommerceLatestProducts = [...Array(5)].map((_, index) => ({\n id: _mock.id(index),\n name: PRODUCT_NAME[index],\n image: _mock.image.product(index),\n price: _mock.number.price(index),\n priceSale: index === 0 || index === 3 ? 0 : _mock.number.price(index),\n colors: (index === 0 && ['#2EC4B6', '#E71D36', '#FF9F1C', '#011627']) ||\n (index === 1 && ['#92140C', '#FFCF99']) ||\n (index === 2 && ['#0CECDD', '#FFF338', '#FF67E7', '#C400FF', '#52006A', '#046582']) ||\n (index === 3 && ['#845EC2', '#E4007C', '#2A1A5E']) || ['#090088'],\n}));\n\nexport const _ecommerceNewProducts = [...Array(5)].map((_, index) => ({\n id: _mock.id(index),\n name: [\n 'Nike Air Max 97',\n 'Nike Zoom Gravity',\n 'Nike DBreak-Type',\n 'Kyrie Flytrap 3 EP Basketball Shoe',\n 'Nike Air Max Fusion Men',\n ][index],\n image: _mock.image.product(index),\n}));\n","import _mock from './_mock';\nimport { randomInArray } from './funcs';\n\n// ----------------------------------------------------------------------\n\nexport const _carouselsExample = [...Array(5)].map((_, index) => ({\n id: _mock.id(index),\n title: _mock.text.title(index),\n image: _mock.image.feed(index),\n description: _mock.text.description(index),\n}));\n\nexport const _carouselsMembers = [...Array(5)].map((_, index) => ({\n id: _mock.id(index),\n name: _mock.name.fullName(index),\n role: _mock.role(index),\n avatar: `https://minimal-assets-api.vercel.app/assets/images/members/member-${index + 1}.jpg`,\n}));\n\n// ----------------------------------------------------------------------\n\nexport const _invoice = {\n id: `${Date.now()}`,\n taxes: 5,\n discount: 10,\n status: 'paid',\n invoiceFrom: {\n name: _mock.name.fullName(1),\n address: _mock.address.fullAddress(1),\n company: _mock.company(1),\n email: _mock.email(1),\n phone: _mock.phoneNumber(1),\n },\n invoiceTo: {\n name: _mock.name.fullName(2),\n address: _mock.address.fullAddress(2),\n company: _mock.company(2),\n email: _mock.email(2),\n phone: _mock.phoneNumber(2),\n },\n items: [...Array(3)].map((_, index) => ({\n id: _mock.id(index),\n title: _mock.text.title(index),\n description: _mock.text.description(index),\n qty: 5,\n price: _mock.number.price(index),\n })),\n};\n\n// ----------------------------------------------------------------------\n\nexport const _faqs = [...Array(8)].map((_, index) => ({\n id: _mock.id(index),\n value: `panel${index + 1}`,\n heading: `Questions ${index + 1}`,\n detail: _mock.text.description(index),\n}));\n\n// ----------------------------------------------------------------------\n\nexport const _addressBooks = [...Array(5)].map((_, index) => ({\n id: _mock.id(index),\n receiver: _mock.name.fullName(index),\n fullAddress: _mock.address.fullAddress(index),\n phone: _mock.phoneNumber(index),\n addressType: index === 0 ? 'Home' : 'Office',\n isDefault: index === 0,\n}));\n\n// ----------------------------------------------------------------------\n\nexport const _skills = [...Array(3)].map((_, index) => ({\n label: ['Development', 'Design', 'Marketing'][index],\n value: _mock.number.percent(index),\n}));\n\n// ----------------------------------------------------------------------\n\nexport const _accordions = [...Array(4)].map((_, index) => ({\n id: _mock.id(index),\n value: `panel${index + 1}`,\n heading: `Accordion ${index + 1}`,\n subHeading: _mock.text.title(index),\n detail: _mock.text.description(index),\n}));\n\n// ----------------------------------------------------------------------\n\nexport const _dataGrid = [...Array(36)].map((_, index) => ({\n id: _mock.id(index),\n name: _mock.name.fullName(index),\n email: _mock.email(index),\n lastLogin: _mock.time(index),\n performance: _mock.number.percent(index),\n rating: _mock.number.rating(index),\n status: randomInArray(['online', 'away', 'busy']),\n isAdmin: _mock.boolean(index),\n lastName: _mock.name.lastName(index),\n firstName: _mock.name.firstName(index),\n age: _mock.number.age(index),\n}));\n\n// ----------------------------------------------------------------------\n\nexport const _megaMenuProducts = [...Array(10)].map((_, index) => ({\n name: _mock.text.title(index),\n image: _mock.image.feed(index),\n path: '#',\n}));\n\n// ----------------------------------------------------------------------\n\nexport const _contacts = [...Array(20)].map((_, index) => ({\n id: _mock.id(index),\n name: _mock.name.fullName(index),\n username: _mock.name.fullName(index),\n avatar: _mock.image.avatar(index),\n address: _mock.address.fullAddress(index),\n phone: _mock.phoneNumber(index),\n email: _mock.email(index),\n lastActivity: _mock.time(index),\n status: randomInArray(['online', 'offline', 'away', 'busy']),\n position: _mock.role(index),\n}));\n\n// ----------------------------------------------------------------------\n\nexport const _notifications = [...Array(5)].map((_, index) => ({\n id: _mock.id(index),\n title: ['Your order is placed', 'Sylvan King', 'You have new message', 'You have new mail', 'Delivery processing'][\n index\n ],\n description: [\n 'waiting for shipping',\n 'answered to your comment on the Minimal',\n '5 unread messages',\n 'sent from Guido Padberg',\n 'Your order is being shipped',\n ][index],\n avatar: [null, _mock.image.avatar(2), null, null, null][index],\n type: ['order_placed', 'friend_interactive', 'chat_message', 'mail', 'order_shipped'][index],\n createdAt: _mock.time(index),\n isUnRead: [true, true, false, false, false][index],\n}));\n\n// ----------------------------------------------------------------------\n\nexport const _mapContact = [\n {\n latlng: [33, 65],\n address: _mock.address.fullAddress(1),\n phoneNumber: _mock.phoneNumber(1),\n },\n {\n latlng: [-12.5, 18.5],\n address: _mock.address.fullAddress(2),\n phoneNumber: _mock.phoneNumber(2),\n },\n];\n","import _mock from './_mock';\nimport { randomInArray } from './funcs';\n\n// ----------------------------------------------------------------------\n\nexport const _bookings = [...Array(5)].map((_, index) => ({\n id: _mock.id(index),\n name: _mock.name.fullName(index),\n avatar: _mock.image.avatar(index),\n checkIn: _mock.time(index),\n checkOut: _mock.time(index),\n phoneNumber: _mock.phoneNumber(index),\n status: randomInArray(['pending', 'un_paid', 'paid']),\n roomType: randomInArray(['double', 'king', 'single']),\n}));\n\nexport const _bookingsOverview = [...Array(3)].map((_, index) => ({\n status: ['Pending', 'Cancel', 'Done'][index],\n quantity: _mock.number.percent(index) * 1000,\n value: _mock.number.percent(index),\n}));\n\nexport const _bookingReview = [...Array(5)].map((_, index) => ({\n id: _mock.id(index),\n name: _mock.name.fullName(index),\n description: _mock.text.description(index),\n avatar: _mock.image.avatar(index),\n rating: _mock.number.rating(index),\n postedAt: _mock.time(index),\n tags: ['Great Sevice', 'Recommended', 'Best Price'],\n}));\n\nexport const _bookingNew = [...Array(5)].map((_, index) => ({\n id: _mock.id(index),\n name: _mock.name.fullName(index),\n avatar: _mock.image.avatar(index),\n bookdAt: _mock.time(index),\n roomNumber: 'A-21',\n roomType: randomInArray(['double', 'king', 'single']),\n person: '3-5',\n cover: `https://minimal-assets-api.vercel.app/assets/images/rooms/room-${index + 1}.jpg`,\n}));\n","import _mock from './_mock';\n\n// ----------------------------------------------------------------------\n\nexport const _bankingContacts = [...Array(5)].map((_, index) => ({\n id: _mock.id(index),\n name: _mock.name.fullName(index),\n email: _mock.email(index),\n avatar: _mock.image.avatar(index + 4),\n}));\n\nexport const _bankingQuickTransfer = [...Array(12)].map((_, index) => ({\n id: _mock.id(index),\n name: _mock.name.fullName(index),\n email: _mock.email(index),\n avatar: _mock.image.avatar(index),\n}));\n\nexport const _bankingCreditCard = [\n {\n id: _mock.id(2),\n balance: 23432.03,\n cardType: 'mastercard',\n cardHolder: _mock.name.fullName(2),\n cardNumber: '**** **** **** 3640',\n cardValid: '11/22',\n },\n {\n id: _mock.id(3),\n balance: 18000.23,\n cardType: 'visa',\n cardHolder: _mock.name.fullName(3),\n cardNumber: '**** **** **** 8864',\n cardValid: '11/25',\n },\n {\n id: _mock.id(4),\n balance: 2000.89,\n cardType: 'mastercard',\n cardHolder: _mock.name.fullName(4),\n cardNumber: '**** **** **** 7755',\n cardValid: '11/22',\n },\n];\n\nexport const _bankingRecentTransitions = [\n {\n id: _mock.id(2),\n name: _mock.name.fullName(2),\n avatar: _mock.image.avatar(8),\n type: 'Income',\n message: 'Receive money from',\n category: 'Annette Black',\n date: 1627556358365,\n status: 'in_progress',\n amount: 811.45,\n },\n {\n id: _mock.id(3),\n name: _mock.name.fullName(3),\n avatar: _mock.image.avatar(9),\n type: 'Expenses',\n message: 'Payment for',\n category: 'Courtney Henry',\n date: 1627556329038,\n status: 'completed',\n amount: 436.03,\n },\n {\n id: _mock.id(4),\n name: _mock.name.fullName(4),\n avatar: _mock.image.avatar(12),\n type: 'Receive',\n message: 'Payment for',\n category: 'Theresa Webb',\n date: 1627556339677,\n status: 'failed',\n amount: 82.26,\n },\n {\n id: _mock.id(5),\n name: null,\n avatar: null,\n type: 'Expenses',\n message: 'Payment for',\n category: 'Beauty & Health',\n date: 1627547330510,\n status: 'completed',\n amount: 480.73,\n },\n {\n id: _mock.id(6),\n name: null,\n avatar: null,\n type: 'Expenses',\n message: 'Payment for',\n category: 'Books',\n date: 1627556347676,\n status: 'in_progress',\n amount: 11.45,\n },\n];\n","// components\nimport Iconify from '../components/Iconify';\n//\nimport _mock from './_mock';\n\n// ----------------------------------------------------------------------\n\nexport const _analyticPost = [...Array(5)].map((_, index) => ({\n id: _mock.id(index),\n title: _mock.text.title(index),\n description: _mock.text.description(index),\n image: _mock.image.cover(index),\n postedAt: _mock.time(index),\n}));\n\nexport const _analyticOrderTimeline = [...Array(5)].map((_, index) => ({\n id: _mock.id(index),\n title: [\n '1983, orders, $4220',\n '12 Invoices have been paid',\n 'Order #37745 from September',\n 'New order placed #XF-2356',\n 'New order placed #XF-2346',\n ][index],\n type: `order${index + 1}`,\n time: _mock.time(index),\n}));\n\nexport const _analyticTraffic = [\n {\n name: 'FaceBook',\n value: 323234,\n icon: ,\n },\n {\n name: 'Google',\n value: 341212,\n icon: ,\n },\n {\n name: 'Linkedin',\n value: 411213,\n icon: ,\n },\n {\n name: 'Twitter',\n value: 443232,\n icon: ,\n },\n];\n","import PropTypes from 'prop-types';\n// @mui\nimport { styled } from '@mui/material/styles';\n\n// ----------------------------------------------------------------------\n\nconst RootStyle = styled('span')(({ theme, ownerState }) => {\n const { status, size } = ownerState;\n\n return {\n width: 10,\n height: 10,\n display: 'flex',\n borderRadius: '50%',\n alignItems: 'center',\n justifyContent: 'center',\n '&:before, &:after': {\n content: \"''\",\n borderRadius: 1,\n backgroundColor: theme.palette.common.white\n },\n\n ...(size === 'small' && { width: 8, height: 8 }),\n\n ...(size === 'large' && { width: 12, height: 12 }),\n\n ...(status === 'offline' && { backgroundColor: 'transparent' }),\n\n ...(status === 'away' && {\n backgroundColor: theme.palette.warning.main,\n '&:before': {\n width: 2,\n height: 4,\n transform: 'translateX(1px) translateY(-1px)'\n },\n '&:after': {\n width: 2,\n height: 4,\n transform: 'translateY(1px) rotate(125deg)'\n }\n }),\n\n ...(status === 'busy' && {\n backgroundColor: theme.palette.error.main,\n '&:before': { width: 6, height: 2 }\n }),\n\n ...(status === 'online' && {\n backgroundColor: theme.palette.success.main\n }),\n\n ...(status === 'invisible' && {\n backgroundColor: theme.palette.text.disabled,\n '&:before': {\n width: 6,\n height: 6,\n borderRadius: '50%'\n }\n }),\n\n ...(status === 'unread' && {\n backgroundColor: theme.palette.info.main\n })\n };\n});\n\n// ----------------------------------------------------------------------\n\nBadgeStatus.propTypes = {\n size: PropTypes.oneOf(['small', 'medium', 'large']),\n status: PropTypes.oneOf(['away', 'busy', 'unread', 'online', 'offline', 'invisible'])\n};\n\nexport default function BadgeStatus({ size = 'medium', status = 'offline', ...other }) {\n return ;\n}\n","import { useState, useRef, useEffect } from 'react';\nimport { useSnackbar } from 'notistack';\n\n// @mui\nimport { Button, Dialog, TextField, DialogTitle, DialogContent, DialogActions, DialogContentText } from '@mui/material';\n\n//\nimport { useSelector } from 'react-redux';\nimport * as Yup from 'yup';\nimport { Formik } from 'formik';\n\n// utils\nimport useAuth from '../../../../hooks/useAuth';\nimport useAppData from '../../../../hooks/useAppData';\n\nconst CreateCompanyDialog = ({ showDialog, hideButton, closeCallback }) => {\n const { user } = useAuth();\n const [open, setOpen] = useState(showDialog || false);\n const { enqueueSnackbar } = useSnackbar();\n const { dashboardAPIUrl } = useSelector((state) => state.enviroment);\n const formRef = useRef();\n const { refreshCompanies, updateCurrentCompany, companies, craeteNewCompany } = useAppData();\n const [newCompanyId, setNewCompanyId] = useState(null);\n const [companyName, setCompanyName] = useState('');\n\n const handleClickOpen = () => {\n setOpen(true);\n };\n\n const handleClose = () => {\n if (closeCallback) closeCallback();\n setOpen(false);\n refreshCompanies();\n };\n\n const handleFormSubmit = () => {\n if (formRef.current) {\n formRef.current.handleSubmit();\n }\n };\n\n useEffect(() => {\n if (newCompanyId) {\n updateCurrentCompany(newCompanyId);\n\n if (closeCallback) closeCallback();\n }\n }, [companies]);\n\n return (\n
\n {!hideButton && (\n \n )}\n\n {\n handleClose();\n }}\n >\n Create\n \n Enter the name of the new company you want to create.\n {\n try {\n const result = await craeteNewCompany(values.name);\n if (result) {\n setSubmitting(false);\n enqueueSnackbar('New company created', { variant: 'success' });\n setNewCompanyId((prev) => result.data);\n handleClose();\n }\n } catch (e) {\n console.error(e);\n }\n }}\n >\n {({ errors, handleBlur, handleChange, handleSubmit, isSubmitting, touched, values }) => (\n
\n {\n if (e.target.value.length <= 60) {\n handleChange(e);\n setCompanyName(e.target.value);\n }\n }}\n type=\"text\"\n margin=\"dense\"\n value={values.name}\n variant=\"outlined\"\n label=\"Company Name\"\n />\n \n )}\n \n {`${companyName.length}/60`}\n
\n \n \n \n \n \n
\n );\n};\n\nexport default CreateCompanyDialog;\n","import { useState } from 'react';\nimport PropTypes from 'prop-types';\n// @mui\nimport { styled } from '@mui/material/styles';\nimport { Box, Stack, AppBar, Toolbar, Select, MenuItem, Typography, FormControl } from '@mui/material';\n// hooks\nimport useOffSetTop from '../../../hooks/useOffSetTop';\nimport useResponsive from '../../../hooks/useResponsive';\nimport useCollapseDrawer from '../../../hooks/useCollapseDrawer';\nimport useAppData from '../../../hooks/useAppData';\n\n// utils\nimport cssStyles from '../../../utils/cssStyles';\n// config\nimport {\n DASHBOARD_NAVBAR_WIDTH,\n DASHBOARD_HEADER_MOBILE,\n DASHBOARD_HEADER_DESKTOP,\n DASHBOARD_NAVBAR_COLLAPSE_WIDTH,\n} from '../../../config';\n// components\nimport Iconify from '../../../components/Iconify';\nimport { IconButtonAnimate } from '../../../components/animate';\n//\nimport Searchbar from './Searchbar';\nimport AccountPopover from './AccountPopover';\nimport LanguagePopover from './LanguagePopover';\nimport ContactsPopover from './ContactsPopover';\nimport NotificationsPopover from './NotificationsPopover';\nimport CreateCompanyDialog from '../../../sections/@dashboard/general/app/CreateCompanyDialog';\n\n// ----------------------------------------------------------------------\n\nconst RootStyle = styled(AppBar, {\n shouldForwardProp: (prop) => prop !== 'isCollapse',\n})(({ isCollapse, theme }) => ({\n boxShadow: 'none',\n ...cssStyles(theme).bgBlur(),\n transition: theme.transitions.create('width', {\n duration: theme.transitions.duration.shorter,\n }),\n [theme.breakpoints.up('lg')]: {\n width: `calc(100% - ${DASHBOARD_NAVBAR_WIDTH + 1}px)`,\n ...(isCollapse && {\n width: `calc(100% - ${DASHBOARD_NAVBAR_COLLAPSE_WIDTH}px)`,\n }),\n },\n}));\n\nconst ToolbarStyle = styled(Toolbar)(({ theme }) => ({\n minHeight: DASHBOARD_HEADER_MOBILE,\n transition: theme.transitions.create('min-height', {\n easing: theme.transitions.easing.easeInOut,\n duration: theme.transitions.duration.shorter,\n }),\n [theme.breakpoints.up('lg')]: {\n padding: theme.spacing(0, 5),\n minHeight: DASHBOARD_HEADER_DESKTOP,\n },\n}));\n\n// ----------------------------------------------------------------------\n\nDashboardHeader.propTypes = {\n onOpenSidebar: PropTypes.func,\n};\n\nexport default function DashboardHeader({ onOpenSidebar }) {\n const { isCollapse } = useCollapseDrawer();\n const { companies, currentCompany, updateCurrentCompany } = useAppData();\n const [showNewCompanyDialog, setShowNewCompanyDialog] = useState(false);\n const [createCompanyDialog, setCreateCompanyDialog] = useState(null);\n\n const isOffset = useOffSetTop(DASHBOARD_HEADER_DESKTOP);\n\n const isDesktop = useResponsive('up', 'lg');\n\n return (\n <>\n {createCompanyDialog}\n\n \n \n {!isDesktop && (\n \n \n \n )}\n\n {/* */}\n \n \n \n {\n if (e.target.value === '-1') {\n // setShowNewCompanyDialog(true);\n setCreateCompanyDialog(\n {\n setCreateCompanyDialog(null);\n }}\n />\n );\n } else {\n window.location.href = `${window.location.origin}${window.location.pathname}`;\n updateCurrentCompany(e.target.value);\n }\n }}\n >\n {companies &&\n companies.map((company, index) => {\n return (\n \n \n {`${company.company_name}`}\n \n \n {company.company_name.length > 30\n ? `...${company.company_id.substring(\n company.company_id.length / 2 + (company.company_name.length - 30)\n )}`\n : company.company_id}\n \n \n );\n })}\n Create New Company\n \n \n \n\n \n \n \n \n \n \n );\n}\n","import { useState, useEffect } from 'react';\n\n// ----------------------------------------------------------------------\n\nexport default function useOffSetTop(top) {\n const [offsetTop, setOffSetTop] = useState(false);\n const isTop = top || 100;\n\n useEffect(() => {\n window.onscroll = () => {\n if (window.pageYOffset > isTop) {\n setOffSetTop(true);\n } else {\n setOffSetTop(false);\n }\n };\n return () => {\n window.onscroll = null;\n };\n }, [isTop]);\n\n return offsetTop;\n}\n\n// Usage\n// const offset = useOffSetTop(100);\n","import PropTypes from 'prop-types';\nimport { NavLink as RouterLink } from 'react-router-dom';\n// @mui\nimport { alpha, styled } from '@mui/material/styles';\nimport { Box, Link, ListItemText, ListItemButton, ListItemIcon } from '@mui/material';\n// config\nimport {\n DASHBOARD_NAVBAR_ROOT_ITEM_HEIGHT,\n DASHBOARD_NAVBAR_SUB_ITEM_HEIGHT,\n DASHBOARD_NAVBAR_ICON_ITEM_SIZE,\n} from '../../config';\n// components\nimport Iconify from '../Iconify';\n\n// ----------------------------------------------------------------------\n\nconst ListItemStyle = styled(ListItemButton, {\n shouldForwardProp: (prop) => prop !== 'activeRoot' && prop !== 'activeSub' && prop !== 'subItem',\n})(({ activeRoot, activeSub, subItem, theme }) => ({\n ...theme.typography.body2,\n position: 'relative',\n height: DASHBOARD_NAVBAR_ROOT_ITEM_HEIGHT,\n textTransform: 'capitalize',\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(1.5),\n marginBottom: theme.spacing(0.5),\n color: theme.palette.text.secondary,\n borderRadius: theme.shape.borderRadius,\n // activeRoot\n ...(activeRoot && {\n ...theme.typography.subtitle2,\n color: theme.palette.primary.main,\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n }),\n // activeSub\n ...(activeSub && {\n ...theme.typography.subtitle2,\n color: theme.palette.text.primary,\n }),\n // subItem\n ...(subItem && {\n height: DASHBOARD_NAVBAR_SUB_ITEM_HEIGHT,\n }),\n}));\n\nconst ListItemTextStyle = styled(ListItemText, {\n shouldForwardProp: (prop) => prop !== 'isCollapse',\n})(({ isCollapse, theme }) => ({\n whiteSpace: 'nowrap',\n transition: theme.transitions.create(['width', 'opacity'], {\n duration: theme.transitions.duration.shorter,\n }),\n ...(isCollapse && {\n width: 0,\n opacity: 0,\n }),\n}));\n\nconst ListItemIconStyle = styled(ListItemIcon)({\n width: DASHBOARD_NAVBAR_ICON_ITEM_SIZE,\n height: DASHBOARD_NAVBAR_ICON_ITEM_SIZE,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n '& svg': { width: '100%', height: '100%' },\n});\n\n// ----------------------------------------------------------------------\n\nNavItemRoot.propTypes = {\n active: PropTypes.bool,\n isCollapse: PropTypes.bool,\n item: PropTypes.shape({\n children: PropTypes.array,\n icon: PropTypes.any,\n info: PropTypes.any,\n path: PropTypes.string,\n title: PropTypes.string,\n }),\n onOpen: PropTypes.func,\n open: PropTypes.bool,\n};\n\nconst isExternalLink = (path) => path.includes('http');\n\nexport function NavItemRoot({ item, isCollapse, open = false, active, onOpen }) {\n const { title, path, icon, info, children } = item;\n\n const renderContent = (\n <>\n {icon && {icon}}\n \n {!isCollapse && <>{info && info}}\n \n );\n\n if (children) {\n return (\n \n {renderContent}\n \n );\n }\n\n return isExternalLink(path) ? (\n \n {renderContent}\n \n ) : (\n \n {renderContent}\n \n );\n}\n\n// ----------------------------------------------------------------------\n\nNavItemSub.propTypes = {\n active: PropTypes.bool,\n item: PropTypes.shape({\n children: PropTypes.array,\n info: PropTypes.any,\n path: PropTypes.string,\n title: PropTypes.string,\n }),\n onOpen: PropTypes.func,\n open: PropTypes.bool,\n};\n\nexport function NavItemSub({ item, open = false, active, onOpen }) {\n const { title, path, info, children } = item;\n\n const renderContent = (\n <>\n \n \n {info && info}\n {children && }\n \n );\n\n if (children) {\n return (\n \n {renderContent}\n \n );\n }\n\n return isExternalLink(path) ? (\n \n {renderContent}\n \n ) : (\n \n {renderContent}\n \n );\n}\n\n// ----------------------------------------------------------------------\n\nDotIcon.propTypes = {\n active: PropTypes.bool,\n};\n\nexport function DotIcon({ active }) {\n return (\n \n \n theme.transitions.create('transform', {\n duration: theme.transitions.duration.shorter,\n }),\n ...(active && {\n transform: 'scale(2)',\n bgcolor: 'primary.main',\n }),\n }}\n />\n \n );\n}\n\n// ----------------------------------------------------------------------\n\nArrowIcon.propTypes = {\n open: PropTypes.bool,\n};\n\nexport function ArrowIcon({ open }) {\n return (\n \n );\n}\n","import PropTypes from 'prop-types';\nimport { useState } from 'react';\nimport { matchPath, useLocation } from 'react-router-dom';\n// @mui\nimport { List, Collapse } from '@mui/material';\n//\nimport { NavItemRoot, NavItemSub } from './NavItem';\n\n// ----------------------------------------------------------------------\n\nconst getActive = (path, pathname) => {\n return path ? !!matchPath({ path, end: false }, pathname) : false;\n};\n\nNavListRoot.propTypes = {\n isCollapse: PropTypes.bool,\n list: PropTypes.shape({\n children: PropTypes.array,\n path: PropTypes.string,\n }),\n};\n\nexport function NavListRoot({ list, isCollapse }) {\n const { pathname } = useLocation();\n\n const active = getActive(list.path, pathname);\n\n const [open, setOpen] = useState(active);\n\n const hasChildren = list.children;\n\n if (hasChildren) {\n return (\n <>\n setOpen(!open)} />\n\n {!isCollapse && (\n \n \n {(list.children || []).map((item) => (\n \n ))}\n \n \n )}\n \n );\n }\n\n return ;\n}\n\n// ----------------------------------------------------------------------\n\nNavListSub.propTypes = {\n list: PropTypes.shape({\n children: PropTypes.array,\n path: PropTypes.string,\n }),\n};\n\nfunction NavListSub({ list }) {\n const { pathname } = useLocation();\n\n const activeRoot = getActive(list.path, pathname);\n\n const [open, setOpen] = useState(activeRoot);\n\n const hasChildren = list.children;\n\n if (hasChildren) {\n return (\n <>\n setOpen(!open)} open={open} active={activeRoot} />\n\n \n \n {(list.children || []).map((item) => (\n \n ))}\n \n \n \n );\n }\n\n return ;\n}\n","// @mui\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport { List, Box, ListSubheader } from '@mui/material';\n//\nimport { NavListRoot } from './NavList';\n\n// ----------------------------------------------------------------------\n\nexport const ListSubheaderStyle = styled((props) => )(\n ({ theme }) => ({\n ...theme.typography.overline,\n paddingTop: theme.spacing(3),\n paddingLeft: theme.spacing(2),\n paddingBottom: theme.spacing(1),\n color: theme.palette.text.primary,\n transition: theme.transitions.create('opacity', {\n duration: theme.transitions.duration.shorter,\n }),\n })\n);\n\n// ----------------------------------------------------------------------\n\nNavSection.propTypes = {\n isCollapse: PropTypes.bool,\n navConfig: PropTypes.array,\n};\n\nexport default function NavSection({ navConfig, isCollapse = false, ...other }) {\n return (\n \n {navConfig.map((group) => (\n \n \n {group.subheader}\n \n\n {group.items.map((list) => (\n \n ))}\n \n ))}\n \n );\n}\n","import PropTypes from 'prop-types';\nimport { Box } from '@mui/material';\n\n// ----------------------------------------------------------------------\n\nSvgIconStyle.propTypes = {\n src: PropTypes.string.isRequired,\n sx: PropTypes.object,\n};\n\nexport default function SvgIconStyle({ src, sx }) {\n return (\n \n );\n}\n","import { useState } from 'react';\nimport PropTypes from 'prop-types';\n// @mui\nimport { styled } from '@mui/material/styles';\nimport { Avatar, Box, FormControlLabel, Link, Typography, Switch } from '@mui/material';\n\n// Redux\nimport { useDispatch } from 'react-redux';\nimport { switchMode } from '../../../redux/slices/enviroment';\n\n// hooks\nimport useAuth from '../../../hooks/useAuth';\n\n// ----------------------------------------------------------------------\n\nconst RootStyle = styled('div')(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n padding: theme.spacing(2, 2.5),\n borderRadius: Number(theme.shape.borderRadius) * 1.5,\n backgroundColor: theme.palette.grey[500_12],\n transition: theme.transitions.create('opacity', {\n duration: theme.transitions.duration.shorter,\n }),\n}));\n\n// ----------------------------------------------------------------------\n\nNavbarAccount.propTypes = {\n isCollapse: PropTypes.bool,\n};\n\nexport default function NavbarAccount({ isCollapse }) {\n const { user } = useAuth();\n const dispatch = useDispatch();\n const [checkedState, setCheckedState] = useState(localStorage.getItem('env') || 'testnet');\n\n const handleChange = () => {\n if (checkedState === 'testnet') {\n setCheckedState('mainnet');\n dispatch(switchMode());\n localStorage.setItem('env', 'mainnet');\n // window.location.reload();\n } else {\n setCheckedState('testnet');\n\n dispatch(switchMode());\n localStorage.setItem('env', 'testnet');\n // window.location.reload();\n }\n window.location.assign(`${window.location.origin}/${window.location.pathname.split('/')[1]}`);\n };\n\n return (\n \n \n \n\n \n theme.transitions.create('width', {\n duration: theme.transitions.duration.shorter,\n }),\n ...(isCollapse && {\n ml: 0,\n width: 0,\n }),\n }}\n >\n \n {user.name}\n \n \n {user.role}\n \n\n }\n label={checkedState === 'testnet' ? 'On Testnet' : 'On Mainnet'}\n />\n \n
\n \n );\n}\n","// @mui\nimport { Stack, Button, Typography } from '@mui/material';\n// assets\nimport { DocIllustration } from '../../../assets';\n\n// ----------------------------------------------------------------------\n\nexport default function NavbarDocs() {\n return (\n \n \n\n
\n \n Need help?\n
Please check our docs\n
\n
\n\n {\n window.open('https://docs.graffle.io', '_blank');\n }}\n >\n Documentation\n \n
\n );\n}\n","// @mui\nimport PropTypes from 'prop-types';\nimport { Box } from '@mui/material';\n// components\nimport { IconButtonAnimate } from '../../../components/animate';\n\n// ----------------------------------------------------------------------\n\nCollapseButton.propTypes = {\n collapseClick: PropTypes.bool,\n onToggleCollapse: PropTypes.func,\n};\n\nexport default function CollapseButton({ onToggleCollapse, collapseClick }) {\n return (\n \n \n theme.transitions.create('transform', {\n duration: theme.transitions.duration.shorter,\n }),\n ...(collapseClick && {\n transform: 'rotate(180deg)',\n }),\n }}\n >\n {icon}\n \n \n );\n}\n\n// ----------------------------------------------------------------------\n\nconst icon = (\n \n \n \n \n \n \n \n \n \n);\n","import SettingsIcon from '@mui/icons-material/Settings';\nimport EventNoteIcon from '@mui/icons-material/EventNote';\n\n// routes\nimport { PATH_DASHBOARD } from '../../../routes/paths';\n\n// components\nimport SvgIconStyle from '../../../components/SvgIconStyle';\n\n// ----------------------------------------------------------------------\n\nconst getIcon = (name) => ;\n\nconst ICONS = {\n user: getIcon('ic_user'),\n ecommerce: getIcon('ic_ecommerce'),\n analytics: getIcon('ic_analytics'),\n dashboard: getIcon('ic_dashboard'),\n projects: ,\n events: ,\n};\n\nconst sidebarConfig = [\n // GENERAL\n // ----------------------------------------------------------------------\n {\n subheader: 'App',\n items: [\n {\n title: 'Dashboard',\n path: PATH_DASHBOARD.general.app,\n icon: ICONS.dashboard,\n },\n {\n title: 'Projects',\n path: PATH_DASHBOARD.projects.root,\n icon: ICONS.projects,\n },\n {\n title: 'Webhook Logs',\n path: PATH_DASHBOARD.webhooklogs.root,\n icon: ICONS.events,\n },\n // {\n // title: 'Analytics',\n // path: PATH_DASHBOARD.analytics.root,\n // icon: ICONS.events,\n // },\n ],\n },\n];\n\nexport default sidebarConfig;\n","import PropTypes from 'prop-types';\nimport { useEffect, useState } from 'react';\nimport { useLocation } from 'react-router-dom';\n// @mui\nimport SettingsIcon from '@mui/icons-material/Settings';\nimport EventNoteIcon from '@mui/icons-material/EventNote';\nimport BusinessIcon from '@mui/icons-material/Business';\nimport { styled, useTheme } from '@mui/material/styles';\nimport { Box, Stack, Drawer, Typography } from '@mui/material';\n// routes\nimport { PATH_DASHBOARD } from '../../../routes/paths';\n// hooks\nimport useResponsive from '../../../hooks/useResponsive';\nimport useCollapseDrawer from '../../../hooks/useCollapseDrawer';\nimport useAppData from '../../../hooks/useAppData';\n// utils\nimport cssStyles from '../../../utils/cssStyles';\n// config\nimport { DASHBOARD_NAVBAR_WIDTH, DASHBOARD_NAVBAR_COLLAPSE_WIDTH } from '../../../config';\n// components\nimport Logo from '../../../components/Logo';\nimport Scrollbar from '../../../components/Scrollbar';\nimport NavSection from '../../../components/nav-section';\nimport SvgIconStyle from '../../../components/SvgIconStyle';\n//\nimport NavbarAccount from './NavbarAccount';\nimport NavbarDocs from './NavbarDocs';\nimport CollapseButton from './CollapseButton';\nimport navConfig from './NavConfig';\n\n// ----------------------------------------------------------------------\n\nconst getIcon = (name) => ;\n\nconst ICONS = {\n user: getIcon('ic_user'),\n ecommerce: getIcon('ic_ecommerce'),\n analytics: getIcon('ic_analytics'),\n dashboard: getIcon('ic_dashboard'),\n projects: ,\n events: ,\n company: ,\n};\n\nconst RootStyle = styled('div')(({ theme }) => ({\n [theme.breakpoints.up('lg')]: {\n flexShrink: 0,\n transition: theme.transitions.create('width', {\n duration: theme.transitions.duration.shorter,\n }),\n },\n}));\n\n// ----------------------------------------------------------------------\n\nDashboardNavbar.propTypes = {\n isOpenSidebar: PropTypes.bool,\n onCloseSidebar: PropTypes.func,\n};\n\nexport default function DashboardNavbar({ isOpenSidebar, onCloseSidebar }) {\n const theme = useTheme();\n const { companies, currentCompany } = useAppData();\n const { pathname } = useLocation();\n const [links, setLinks] = useState([]);\n\n const isDesktop = useResponsive('up', 'lg');\n\n const { isCollapse, collapseClick, collapseHover, onToggleCollapse, onHoverEnter, onHoverLeave } =\n useCollapseDrawer();\n\n useEffect(() => {\n if (isOpenSidebar) {\n onCloseSidebar();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [pathname]);\n\n useEffect(() => {\n if (currentCompany.length > 0 && companies.find((company) => company.company_id === currentCompany) !== undefined) {\n if (\n companies &&\n companies.length > 0 &&\n companies.find((company) => company.company_id === currentCompany).role > 2\n ) {\n const adminLinks = [\n {\n ...navConfig[0],\n items: [\n ...navConfig[0].items,\n {\n title: 'Company',\n path: PATH_DASHBOARD.company.root,\n icon: ICONS.company,\n },\n ],\n },\n ];\n\n setLinks(adminLinks);\n } else {\n setLinks(navConfig);\n }\n }\n }, [currentCompany, companies]);\n\n const renderContent = (\n \n \n \n \n\n {/* {isDesktop && !isCollapse && (\n \n )} */}\n \n\n \n \n\n \n\n \n\n {!isCollapse && }\n\n \n v2.11.1\n \n \n );\n\n return (\n \n {!isDesktop && (\n \n {renderContent}\n \n )}\n\n {isDesktop && (\n \n theme.transitions.create('width', {\n duration: theme.transitions.duration.standard,\n }),\n ...(isCollapse && {\n width: DASHBOARD_NAVBAR_COLLAPSE_WIDTH,\n }),\n ...(collapseHover && {\n ...cssStyles(theme).bgBlur(),\n boxShadow: (theme) => theme.customShadows.z24,\n }),\n },\n }}\n >\n {renderContent}\n \n )}\n \n );\n}\n","import { useState } from 'react';\nimport { Outlet } from 'react-router-dom';\n// @mui\nimport { styled } from '@mui/material/styles';\n// hooks\nimport useCollapseDrawer from '../../hooks/useCollapseDrawer';\n// config\nimport {\n DASHBOARD_NAVBAR_WIDTH,\n DASHBOARD_HEADER_MOBILE,\n DASHBOARD_HEADER_DESKTOP,\n DASHBOARD_NAVBAR_COLLAPSE_WIDTH\n} from '../../config';\n//\nimport DashboardHeader from './header';\nimport DashboardNavbar from './navbar';\n\n// ----------------------------------------------------------------------\n\nconst RootStyle = styled('div')(({ theme }) => ({\n [theme.breakpoints.up('lg')]: {\n display: 'flex',\n minHeight: '100%'\n }\n}));\n\nconst MainStyle = styled('main', {\n shouldForwardProp: (prop) => prop !== 'collapseClick'\n})(({ collapseClick, theme }) => ({\n flexGrow: 1,\n paddingTop: DASHBOARD_HEADER_MOBILE + 24,\n paddingBottom: DASHBOARD_HEADER_MOBILE + 24,\n [theme.breakpoints.up('lg')]: {\n paddingLeft: 16,\n paddingRight: 16,\n paddingTop: DASHBOARD_HEADER_DESKTOP + 24,\n paddingBottom: DASHBOARD_HEADER_DESKTOP + 24,\n width: `calc(100% - ${DASHBOARD_NAVBAR_WIDTH}px)`,\n transition: theme.transitions.create('margin-left', {\n duration: theme.transitions.duration.shorter\n }),\n ...(collapseClick && {\n marginLeft: DASHBOARD_NAVBAR_COLLAPSE_WIDTH\n })\n }\n}));\n\n// ----------------------------------------------------------------------\n\nexport default function DashboardLayout() {\n const { collapseClick } = useCollapseDrawer();\n\n const [open, setOpen] = useState(false);\n\n return (\n \n setOpen(true)} />\n\n setOpen(false)} />\n\n \n \n \n \n );\n}\n","import NProgress from 'nprogress';\nimport { useEffect, useMemo } from 'react';\n// @mui\nimport { useTheme } from '@mui/material/styles';\nimport { GlobalStyles } from '@mui/material';\n\n// ----------------------------------------------------------------------\n\nexport function ProgressBarStyle() {\n const theme = useTheme();\n\n return (\n \n );\n}\n\nexport default function ProgressBar() {\n NProgress.configure({\n showSpinner: false\n });\n\n useMemo(() => {\n NProgress.start();\n }, []);\n\n useEffect(() => {\n NProgress.done();\n }, []);\n\n return null;\n}\n","import PropTypes from 'prop-types';\nimport { m } from 'framer-motion';\n// @mui\nimport { alpha, styled } from '@mui/material/styles';\nimport { Box } from '@mui/material';\n//\nimport Logo from './Logo';\nimport ProgressBar from './ProgressBar';\n\n// ----------------------------------------------------------------------\n\nconst RootStyle = styled('div')(({ theme }) => ({\n right: 0,\n bottom: 0,\n zIndex: 99999,\n width: '100%',\n height: '100%',\n position: 'fixed',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: theme.palette.background.default,\n}));\n\n// ----------------------------------------------------------------------\n\nLoadingScreen.propTypes = {\n isDashboard: PropTypes.bool,\n};\n\nexport default function LoadingScreen({ isDashboard, ...other }) {\n return (\n <>\n \n\n {!isDashboard && (\n \n \n \n \n\n `solid 3px ${alpha(theme.palette.primary.dark, 0.24)}`,\n }}\n />\n\n `solid 8px ${alpha(theme.palette.primary.dark, 0.24)}`,\n }}\n />\n \n )}\n \n );\n}\n","import PropTypes from 'prop-types';\nimport { Navigate, useNavigate } from 'react-router-dom';\n// hooks\nimport useAuth from '../hooks/useAuth';\n// routes\nimport { PATH_DASHBOARD } from '../routes/paths';\n// components\nimport LoadingScreen from '../components/LoadingScreen';\n\n// ----------------------------------------------------------------------\n\nGuestGuard.propTypes = {\n children: PropTypes.node,\n};\n\nexport default function GuestGuard({ children }) {\n const { isAuthenticated, isInitialized } = useAuth();\n const navigate = useNavigate();\n\n if (!isInitialized) {\n return ;\n }\n\n if (isAuthenticated) {\n return ;\n }\n\n return <>{children};\n}\n","import PropTypes from 'prop-types';\nimport { useState } from 'react';\nimport { Navigate, useLocation } from 'react-router-dom';\n// hooks\nimport useAuth from '../hooks/useAuth';\n// pages\nimport Login from '../pages/auth/Login';\n// components\nimport LoadingScreen from '../components/LoadingScreen';\n\n// ----------------------------------------------------------------------\n\nAuthGuard.propTypes = {\n children: PropTypes.node,\n};\n\nexport default function AuthGuard({ children }) {\n const { isAuthenticated, isInitialized } = useAuth();\n const { pathname } = useLocation();\n const [requestedLocation, setRequestedLocation] = useState(null);\n\n if (!isInitialized) {\n return ;\n }\n\n if (!isAuthenticated) {\n if (pathname !== requestedLocation) {\n setRequestedLocation(pathname);\n }\n return ;\n }\n\n if (requestedLocation && pathname !== requestedLocation) {\n setRequestedLocation(null);\n return ;\n }\n\n return <>{children};\n}\n","import PropTypes from 'prop-types';\nimport { Navigate, useLocation } from 'react-router-dom';\n\n// hooks\nimport useAppData from '../hooks/useAppData';\n\n// ----------------------------------------------------------------------\n\nRoleBasedGuard.propTypes = {\n accessibleRoles: PropTypes.array, // Example ['admin', 'leader']\n children: PropTypes.node,\n};\n\nexport default function RoleBasedGuard({ accessibleRoles, children }) {\n const { companies, currentCompany, getRole } = useAppData();\n\n if (getRole() < 2) {\n return ;\n }\n\n return <>{children};\n}\n","import { Suspense, lazy } from 'react';\nimport { Navigate, useRoutes, useLocation } from 'react-router-dom';\n// layouts\n// import MainLayout from '../layouts/main';\nimport DashboardLayout from '../layouts/dashboard';\nimport LogoOnlyLayout from '../layouts/LogoOnlyLayout';\n// guards\nimport GuestGuard from '../guards/GuestGuard';\nimport AuthGuard from '../guards/AuthGuard';\nimport RoleBasedGuard from '../guards/RoleBasedGuard';\n// config\nimport { PATH_AFTER_LOGIN } from '../config';\n// components\nimport LoadingScreen from '../components/LoadingScreen';\n\n// ----------------------------------------------------------------------\n\nconst Loadable = (Component) => (props) => {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const { pathname } = useLocation();\n\n return (\n }>\n \n \n );\n};\n\nexport default function Router() {\n return useRoutes([\n {\n path: 'auth',\n children: [\n {\n path: 'login',\n element: (\n \n \n \n ),\n },\n {\n path: 'register',\n element: (\n \n \n \n ),\n },\n { path: 'login-unprotected', element: },\n { path: 'register-unprotected', element: },\n { path: 'reset-password', element: },\n { path: 'verify', element: },\n ],\n },\n\n // Dashboard Routes\n {\n path: '*',\n element: (\n \n \n \n ),\n children: [\n { index: true, element: },\n {\n path: 'login',\n element: (\n \n \n \n ),\n },\n { path: 'dashboard', element: },\n\n {\n path: 'projects',\n children: [\n { element: , index: true },\n { path: ':projectid', element: },\n ],\n },\n\n {\n path: 'company',\n element: (\n \n \n \n ),\n },\n { path: 'analytics', element: },\n { path: 'events', element: },\n {\n path: 'webhooks',\n children: [\n { element: , index: true },\n { path: 'details/', element: },\n { path: 'replay', element: },\n ],\n },\n { path: 'profile', element: },\n\n { path: 'form', element: },\n\n { path: '404', element: },\n { path: '*', element: },\n ],\n },\n\n {\n path: '*',\n element: (\n \n \n \n ),\n },\n\n { path: '*', element: },\n ]);\n}\n\n// IMPORT COMPONENTS\n\n// Authentication\nconst Login = Loadable(lazy(() => import('../pages/auth/Login')));\nconst Register = Loadable(lazy(() => import('../pages/auth/Register')));\nconst ResetPassword = Loadable(lazy(() => import('../pages/auth/ResetPassword')));\nconst VerifyCode = Loadable(lazy(() => import('../pages/auth/VerifyCode')));\n// Dashboard\nconst Home = Loadable(lazy(() => import('../pages/dashboard/Home')));\nconst Projects = Loadable(lazy(() => import('../pages/Projects')));\nconst CadenceForm = Loadable(lazy(() => import('../pages/CadenceForm')));\nconst EventsPage = Loadable(lazy(() => import('../pages/Events')));\nconst WebhookLogsPage = Loadable(lazy(() => import('../pages/WebhookLogs')));\nconst WebhookLogDetail = Loadable(lazy(() => import('../pages/WebhookLogDetail')));\nconst Replay = Loadable(lazy(() => import('../pages/replay')));\nconst UserProfile = Loadable(lazy(() => import('../pages/UserProfile')));\nconst AnalyticsPage = Loadable(lazy(() => import('../pages/AnalyticsPage')));\n\nconst ProjectDetails = Loadable(lazy(() => import('../pages/ProjectDetails')));\nconst CompanyManagement = Loadable(lazy(() => import('../pages/CompanyManagement')));\n\nconst NotFound = Loadable(lazy(() => import('../pages/Page404')));\n","// @mui\nimport { useTheme } from '@mui/material/styles';\n// hooks\nimport useResponsive from '../hooks/useResponsive';\n\n// ----------------------------------------------------------------------\n\nexport default function GetFontValue(variant) {\n const theme = useTheme();\n const breakpoints = useWidth();\n\n const key = theme.breakpoints.up(breakpoints === 'xl' ? 'lg' : breakpoints);\n\n const hasResponsive =\n variant === 'h1' ||\n variant === 'h2' ||\n variant === 'h3' ||\n variant === 'h4' ||\n variant === 'h5' ||\n variant === 'h6';\n\n const getFont =\n hasResponsive && theme.typography[variant][key] ? theme.typography[variant][key] : theme.typography[variant];\n\n const fontSize = remToPx(getFont.fontSize);\n const lineHeight = Number(theme.typography[variant].lineHeight) * fontSize;\n const { fontWeight } = theme.typography[variant];\n const { letterSpacing } = theme.typography[variant];\n\n return { fontSize, lineHeight, fontWeight, letterSpacing };\n}\n\n// ----------------------------------------------------------------------\n\nexport function remToPx(value) {\n return Math.round(parseFloat(value) * 16);\n}\n\nexport function pxToRem(value) {\n return `${value / 16}rem`;\n}\n\nexport function responsiveFontSizes({ sm, md, lg }) {\n return {\n '@media (min-width:600px)': {\n fontSize: pxToRem(sm)\n },\n '@media (min-width:900px)': {\n fontSize: pxToRem(md)\n },\n '@media (min-width:1200px)': {\n fontSize: pxToRem(lg)\n }\n };\n}\n\n// ----------------------------------------------------------------------\n\nfunction useWidth() {\n const theme = useTheme();\n const keys = [...theme.breakpoints.keys].reverse();\n return (\n keys.reduce((output, key) => {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const matches = useResponsive('up', key);\n return !output && matches ? key : output;\n }, null) || 'xs'\n );\n}\n","import { pxToRem, responsiveFontSizes } from '../utils/getFontValue';\n\n// ----------------------------------------------------------------------\n\nconst FONT_PRIMARY = 'Public Sans, sans-serif'; // Google Font\n// const FONT_SECONDARY = 'CircularStd, sans-serif'; // Local Font\n\nconst typography = {\n fontFamily: FONT_PRIMARY,\n fontWeightRegular: 400,\n fontWeightMedium: 600,\n fontWeightBold: 700,\n h1: {\n fontWeight: 700,\n lineHeight: 80 / 64,\n fontSize: pxToRem(40),\n letterSpacing: 2,\n ...responsiveFontSizes({ sm: 52, md: 58, lg: 64 }),\n },\n h2: {\n fontWeight: 700,\n lineHeight: 64 / 48,\n fontSize: pxToRem(32),\n ...responsiveFontSizes({ sm: 40, md: 44, lg: 48 }),\n },\n h3: {\n fontWeight: 700,\n lineHeight: 1.5,\n fontSize: pxToRem(24),\n ...responsiveFontSizes({ sm: 26, md: 30, lg: 32 }),\n },\n h4: {\n fontWeight: 700,\n lineHeight: 1.5,\n fontSize: pxToRem(20),\n ...responsiveFontSizes({ sm: 20, md: 24, lg: 24 }),\n },\n h5: {\n fontWeight: 700,\n lineHeight: 1.5,\n fontSize: pxToRem(18),\n ...responsiveFontSizes({ sm: 19, md: 20, lg: 20 }),\n },\n h6: {\n fontWeight: 700,\n lineHeight: 28 / 18,\n fontSize: pxToRem(17),\n ...responsiveFontSizes({ sm: 18, md: 18, lg: 18 }),\n },\n subtitle1: {\n fontWeight: 600,\n lineHeight: 1.5,\n fontSize: pxToRem(16),\n },\n subtitle2: {\n fontWeight: 600,\n lineHeight: 22 / 14,\n fontSize: pxToRem(14),\n },\n body1: {\n lineHeight: 1.5,\n fontSize: pxToRem(16),\n },\n body2: {\n lineHeight: 22 / 14,\n fontSize: pxToRem(14),\n },\n caption: {\n lineHeight: 1.5,\n fontSize: pxToRem(12),\n },\n overline: {\n fontWeight: 700,\n lineHeight: 1.5,\n fontSize: pxToRem(12),\n textTransform: 'uppercase',\n },\n button: {\n fontWeight: 700,\n lineHeight: 24 / 14,\n fontSize: pxToRem(14),\n textTransform: 'capitalize',\n },\n};\n\nexport default typography;\n","// ----------------------------------------------------------------------\n\nconst breakpoints = {\n values: {\n xs: 0,\n sm: 600,\n md: 900,\n lg: 1200,\n xl: 1536\n }\n};\n\nexport default breakpoints;\n","// @mui\nimport { SvgIcon } from '@mui/material';\n\n// ----------------------------------------------------------------------\n\n// CloseIcon\nexport function CloseIcon(props) {\n return (\n \n \n \n );\n}\n\n// StarIcon\nexport function StarIcon(props) {\n return (\n \n \n \n );\n}\n\n// Using for Alert\nexport function InfoIcon(props) {\n return (\n \n \n \n );\n}\n\nexport function WarningIcon(props) {\n return (\n \n \n \n );\n}\n\nexport function SuccessIcon(props) {\n return (\n \n \n \n );\n}\n\nexport function ErrorIcon(props) {\n return (\n \n \n \n );\n}\n\n// Using for Checkbox\nexport function CheckboxIcon(props) {\n return (\n \n \n \n );\n}\n\nexport function CheckboxCheckedIcon(props) {\n return (\n \n \n \n );\n}\n\nexport function CheckboxIndeterminateIcon(props) {\n return (\n \n \n \n );\n}\n\n// Using for Select Input\nexport function InputSelectIcon(props) {\n return (\n \n \n \n );\n}\n\n// Using for TreeView\nexport function TreeViewCollapseIcon(props) {\n return (\n \n \n \n );\n}\n\nexport function TreeViewExpandIcon(props) {\n return (\n \n \n \n );\n}\n\nexport function TreeViewEndIcon(props) {\n return (\n \n \n \n );\n}\n","//\nimport { StarIcon } from './CustomIcons';\n\n// ----------------------------------------------------------------------\n\nconst ICON_SMALL = { width: 20, height: 20 };\nconst ICON_LARGE = { width: 28, height: 28 };\n\nexport default function Rating(theme) {\n return {\n MuiRating: {\n defaultProps: {\n emptyIcon: ,\n icon: \n },\n\n styleOverrides: {\n root: {\n '&.Mui-disabled': {\n opacity: 0.48\n }\n },\n iconEmpty: { color: theme.palette.grey[500_48] },\n sizeSmall: { '& svg': { ...ICON_SMALL } },\n sizeLarge: { '& svg': { ...ICON_LARGE } }\n }\n }\n };\n}\n","import Fab from './Fab';\nimport Card from './Card';\nimport Chip from './Chip';\nimport Tabs from './Tabs';\nimport Menu from './Menu';\nimport Grid from './Grid';\nimport Link from './Link';\nimport Lists from './Lists';\nimport Table from './Table';\nimport Alert from './Alert';\nimport Badge from './Badge';\nimport Paper from './Paper';\nimport Input from './Input';\nimport Radio from './Radio';\nimport Drawer from './Drawer';\nimport Dialog from './Dialog';\nimport Avatar from './Avatar';\nimport Rating from './Rating';\nimport Slider from './Slider';\nimport Button from './Button';\nimport Switch from './Switch';\nimport Select from './Select';\nimport SvgIcon from './SvgIcon';\nimport Tooltip from './Tooltip';\nimport Popover from './Popover';\nimport Stepper from './Stepper';\nimport Pickers from './Pickers';\nimport DataGrid from './DataGrid';\nimport Skeleton from './Skeleton';\nimport Backdrop from './Backdrop';\nimport Snackbar from './Snackbar';\nimport Progress from './Progress';\nimport Timeline from './Timeline';\nimport TreeView from './TreeView';\nimport Checkbox from './Checkbox';\nimport Container from './Container';\nimport Accordion from './Accordion';\nimport Typography from './Typography';\nimport Pagination from './Pagination';\nimport IconButton from './IconButton';\nimport Breadcrumbs from './Breadcrumbs';\nimport ButtonGroup from './ButtonGroup';\nimport Autocomplete from './Autocomplete';\nimport ToggleButton from './ToggleButton';\nimport ControlLabel from './ControlLabel';\nimport LoadingButton from './LoadingButton';\n\n// ----------------------------------------------------------------------\n\nexport default function ComponentsOverrides(theme) {\n return Object.assign(\n Fab(theme),\n Tabs(theme),\n Chip(theme),\n Card(theme),\n Menu(theme),\n Grid(theme),\n Link(theme),\n Input(theme),\n Radio(theme),\n Badge(theme),\n Lists(theme),\n Table(theme),\n Paper(theme),\n Alert(theme),\n Switch(theme),\n Select(theme),\n Button(theme),\n Rating(theme),\n Dialog(theme),\n Avatar(theme),\n Slider(theme),\n Drawer(theme),\n Pickers(theme),\n Stepper(theme),\n Tooltip(theme),\n Popover(theme),\n SvgIcon(theme),\n Checkbox(theme),\n DataGrid(theme),\n Skeleton(theme),\n Timeline(theme),\n TreeView(theme),\n Backdrop(theme),\n Snackbar(theme),\n Progress(theme),\n Container(theme),\n Accordion(theme),\n IconButton(theme),\n Typography(theme),\n Pagination(theme),\n ButtonGroup(theme),\n Breadcrumbs(theme),\n Autocomplete(theme),\n ControlLabel(theme),\n ToggleButton(theme),\n LoadingButton(theme)\n );\n}\n","// ----------------------------------------------------------------------\n\nexport default function Fab(theme) {\n return {\n MuiFab: {\n defaultProps: {\n color: 'primary'\n },\n\n styleOverrides: {\n root: {\n boxShadow: theme.customShadows.z8,\n '&:hover': {\n boxShadow: 'none',\n backgroundColor: theme.palette.grey[400]\n }\n },\n primary: {\n boxShadow: theme.customShadows.primary,\n '&:hover': {\n backgroundColor: theme.palette.primary.dark\n }\n },\n secondary: {\n boxShadow: theme.customShadows.secondary,\n '&:hover': {\n backgroundColor: theme.palette.secondary.dark\n }\n },\n extended: {\n '& svg': {\n marginRight: theme.spacing(1)\n }\n }\n }\n }\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function Tabs(theme) {\n return {\n MuiTab: {\n styleOverrides: {\n root: {\n padding: 0,\n fontWeight: theme.typography.fontWeightMedium,\n borderTopLeftRadius: theme.shape.borderRadius,\n borderTopRightRadius: theme.shape.borderRadius,\n '&.Mui-selected': {\n color: theme.palette.text.primary\n },\n '&:not(:last-of-type)': {\n marginRight: theme.spacing(5)\n },\n '@media (min-width: 600px)': {\n minWidth: 48\n }\n },\n labelIcon: {\n minHeight: 48,\n flexDirection: 'row',\n '& > *:first-of-type': {\n marginBottom: 0,\n marginRight: theme.spacing(1)\n }\n },\n wrapper: {\n flexDirection: 'row',\n whiteSpace: 'nowrap'\n },\n textColorInherit: {\n opacity: 1,\n color: theme.palette.text.secondary\n }\n }\n },\n MuiTabPanel: {\n styleOverrides: {\n root: {\n padding: 0\n }\n }\n },\n MuiTabScrollButton: {\n styleOverrides: {\n root: {\n width: 48,\n borderRadius: '50%'\n }\n }\n }\n };\n}\n","//\nimport { CloseIcon } from './CustomIcons';\n\n// ----------------------------------------------------------------------\n\nexport default function Chip(theme) {\n return {\n MuiChip: {\n defaultProps: {\n deleteIcon: \n },\n\n styleOverrides: {\n colorDefault: {\n '& .MuiChip-avatarMedium, .MuiChip-avatarSmall': {\n color: theme.palette.text.secondary\n }\n },\n outlined: {\n borderColor: theme.palette.grey[500_32],\n '&.MuiChip-colorPrimary': {\n borderColor: theme.palette.primary.main\n },\n '&.MuiChip-colorSecondary': {\n borderColor: theme.palette.secondary.main\n }\n },\n //\n avatarColorInfo: {\n color: theme.palette.info.contrastText,\n backgroundColor: theme.palette.info.dark\n },\n avatarColorSuccess: {\n color: theme.palette.success.contrastText,\n backgroundColor: theme.palette.success.dark\n },\n avatarColorWarning: {\n color: theme.palette.warning.contrastText,\n backgroundColor: theme.palette.warning.dark\n },\n avatarColorError: {\n color: theme.palette.error.contrastText,\n backgroundColor: theme.palette.error.dark\n }\n }\n }\n };\n}\n","import { alpha } from '@mui/material/styles';\n\n// ----------------------------------------------------------------------\n\nexport default function Card(theme) {\n const isLight = theme.palette.mode === 'light';\n\n const boxShadow = `0 0 2px 0 ${alpha(isLight ? theme.palette.grey[500] : theme.palette.common.black, 0.2)}, ${\n theme.customShadows.z12\n }`;\n\n return {\n MuiCard: {\n styleOverrides: {\n root: {\n boxShadow,\n position: 'relative',\n borderRadius: Number(theme.shape.borderRadius) * 2,\n zIndex: 0 // Fix Safari overflow: hidden with border radius\n }\n }\n },\n MuiCardHeader: {\n defaultProps: {\n titleTypographyProps: { variant: 'h6' },\n subheaderTypographyProps: { variant: 'body2', marginTop: theme.spacing(0.5) }\n },\n styleOverrides: {\n root: {\n padding: theme.spacing(3, 3, 0)\n }\n }\n },\n MuiCardContent: {\n styleOverrides: {\n root: {\n padding: theme.spacing(3)\n }\n }\n }\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function Menu(theme) {\n return {\n MuiMenuItem: {\n styleOverrides: {\n root: {\n '&.Mui-selected': {\n backgroundColor: theme.palette.action.selected,\n '&:hover': {\n backgroundColor: theme.palette.action.hover\n }\n }\n }\n }\n }\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function Grid() {\n return {\n MuiGrid: {\n styleOverrides: {}\n }\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function Link() {\n return {\n MuiLink: {\n defaultProps: {\n underline: 'hover'\n },\n\n styleOverrides: {\n root: {}\n }\n }\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function Input(theme) {\n return {\n MuiInputBase: {\n styleOverrides: {\n root: {\n '&.Mui-disabled': {\n '& svg': { color: theme.palette.text.disabled }\n }\n },\n input: {\n '&::placeholder': {\n opacity: 1,\n color: theme.palette.text.disabled\n }\n }\n }\n },\n MuiInput: {\n styleOverrides: {\n underline: {\n '&:before': {\n borderBottomColor: theme.palette.grey[500_56]\n }\n }\n }\n },\n MuiFilledInput: {\n styleOverrides: {\n root: {\n backgroundColor: theme.palette.grey[500_12],\n '&:hover': {\n backgroundColor: theme.palette.grey[500_16]\n },\n '&.Mui-focused': {\n backgroundColor: theme.palette.action.focus\n },\n '&.Mui-disabled': {\n backgroundColor: theme.palette.action.disabledBackground\n }\n },\n underline: {\n '&:before': {\n borderBottomColor: theme.palette.grey[500_56]\n }\n }\n }\n },\n MuiOutlinedInput: {\n styleOverrides: {\n root: {\n '& .MuiOutlinedInput-notchedOutline': {\n borderColor: theme.palette.grey[500_32]\n },\n '&.Mui-disabled': {\n '& .MuiOutlinedInput-notchedOutline': {\n borderColor: theme.palette.action.disabledBackground\n }\n }\n }\n }\n }\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function Radio(theme) {\n return {\n MuiRadio: {\n styleOverrides: {\n root: {\n padding: theme.spacing(1),\n svg: {\n fontSize: 24,\n '&[font-size=small]': {\n fontSize: 20\n }\n }\n }\n }\n }\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function Badge() {\n return {\n MuiBadge: {\n styleOverrides: {\n dot: {\n width: 10,\n height: 10,\n borderRadius: '50%'\n }\n }\n }\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function Lists(theme) {\n return {\n MuiListItemIcon: {\n styleOverrides: {\n root: {\n color: 'inherit',\n minWidth: 'auto',\n marginRight: theme.spacing(2)\n }\n }\n },\n MuiListItemAvatar: {\n styleOverrides: {\n root: {\n minWidth: 'auto',\n marginRight: theme.spacing(2)\n }\n }\n },\n MuiListItemText: {\n styleOverrides: {\n root: {\n marginTop: 0,\n marginBottom: 0\n },\n multiline: {\n marginTop: 0,\n marginBottom: 0\n }\n }\n }\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function Table(theme) {\n return {\n MuiTableRow: {\n styleOverrides: {\n root: {\n '&.Mui-selected': {\n backgroundColor: theme.palette.action.selected,\n '&:hover': {\n backgroundColor: theme.palette.action.hover\n }\n }\n }\n }\n },\n MuiTableCell: {\n styleOverrides: {\n root: {\n borderBottom: 'none'\n },\n head: {\n color: theme.palette.text.secondary,\n backgroundColor: theme.palette.background.neutral,\n '&:first-of-type': {\n paddingLeft: theme.spacing(3),\n borderTopLeftRadius: theme.shape.borderRadius,\n borderBottomLeftRadius: theme.shape.borderRadius,\n boxShadow: `inset 8px 0 0 ${theme.palette.background.paper}`\n },\n '&:last-of-type': {\n paddingRight: theme.spacing(3),\n borderTopRightRadius: theme.shape.borderRadius,\n borderBottomRightRadius: theme.shape.borderRadius,\n boxShadow: `inset -8px 0 0 ${theme.palette.background.paper}`\n }\n },\n stickyHeader: {\n backgroundColor: theme.palette.background.paper,\n backgroundImage: `linear-gradient(to bottom, ${theme.palette.background.neutral} 0%, ${theme.palette.background.neutral} 100%)`\n },\n body: {\n '&:first-of-type': {\n paddingLeft: theme.spacing(3)\n },\n '&:last-of-type': {\n paddingRight: theme.spacing(3)\n }\n }\n }\n },\n MuiTablePagination: {\n styleOverrides: {\n root: {\n borderTop: `solid 1px ${theme.palette.divider}`\n },\n toolbar: {\n height: 64\n },\n select: {\n '&:focus': {\n borderRadius: theme.shape.borderRadius\n }\n },\n selectIcon: {\n width: 20,\n height: 20,\n marginTop: -4\n }\n }\n }\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function Paper(theme) {\n return {\n MuiPaper: {\n defaultProps: {\n elevation: 0\n },\n\n variants: [\n {\n props: { variant: 'outlined' },\n style: { borderColor: theme.palette.grey[500_12] }\n }\n ],\n\n styleOverrides: {\n root: {\n backgroundImage: 'none'\n }\n }\n }\n };\n}\n","// @mui\n//\nimport { ErrorIcon, InfoIcon, SuccessIcon, WarningIcon } from './CustomIcons';\n\n// ----------------------------------------------------------------------\n\nexport default function Alert(theme) {\n const isLight = theme.palette.mode === 'light';\n\n const standardStyle = (color) => ({\n color: theme.palette[color][isLight ? 'darker' : 'lighter'],\n backgroundColor: theme.palette[color][isLight ? 'lighter' : 'darker'],\n '& .MuiAlert-icon': {\n color: theme.palette[color][isLight ? 'main' : 'light']\n }\n });\n\n const filledStyle = (color) => ({\n color: theme.palette[color].contrastText\n });\n\n const outlinedStyle = (color) => ({\n color: theme.palette[color][isLight ? 'darker' : 'lighter'],\n border: `solid 1px ${theme.palette[color][isLight ? 'light' : 'dark']}`,\n backgroundColor: theme.palette[color][isLight ? 'lighter' : 'darker'],\n '& .MuiAlert-icon': {\n color: theme.palette[color][isLight ? 'main' : 'light']\n }\n });\n\n return {\n MuiAlert: {\n defaultProps: {\n iconMapping: {\n info: ,\n success: ,\n warning: ,\n error: \n }\n },\n\n styleOverrides: {\n message: {\n '& .MuiAlertTitle-root': {\n marginBottom: theme.spacing(0.5)\n }\n },\n action: {\n '& button:not(:first-of-type)': {\n marginLeft: theme.spacing(1)\n }\n },\n\n standardInfo: standardStyle('info'),\n standardSuccess: standardStyle('success'),\n standardWarning: standardStyle('warning'),\n standardError: standardStyle('error'),\n\n filledInfo: filledStyle('info'),\n filledSuccess: filledStyle('success'),\n filledWarning: filledStyle('warning'),\n filledError: filledStyle('error'),\n\n outlinedInfo: outlinedStyle('info'),\n outlinedSuccess: outlinedStyle('success'),\n outlinedWarning: outlinedStyle('warning'),\n outlinedError: outlinedStyle('error')\n }\n }\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function Switch(theme) {\n const isLight = theme.palette.mode === 'light';\n\n return {\n MuiSwitch: {\n styleOverrides: {\n thumb: {\n boxShadow: theme.customShadows.z1\n },\n track: {\n opacity: 1,\n backgroundColor: theme.palette.grey[500]\n },\n switchBase: {\n left: 0,\n right: 'auto',\n '&:not(:.Mui-checked)': {\n color: theme.palette.grey[isLight ? 100 : 300]\n },\n '&.Mui-checked.Mui-disabled, &.Mui-disabled': {\n color: theme.palette.grey[isLight ? 400 : 600]\n },\n '&.Mui-disabled+.MuiSwitch-track': {\n opacity: 1,\n backgroundColor: `${theme.palette.action.disabledBackground} !important`\n }\n }\n }\n }\n };\n}\n","//\n//\nimport { InputSelectIcon } from './CustomIcons';\n\n// ----------------------------------------------------------------------\n\nexport default function Select() {\n return {\n MuiSelect: {\n defaultProps: {\n IconComponent: InputSelectIcon\n },\n\n styleOverrides: {\n root: {}\n }\n }\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function Button(theme) {\n return {\n MuiButton: {\n styleOverrides: {\n root: {\n '&:hover': {\n boxShadow: 'none'\n }\n },\n sizeLarge: {\n height: 48\n },\n // contained\n containedInherit: {\n color: theme.palette.grey[800],\n boxShadow: theme.customShadows.z8,\n '&:hover': {\n backgroundColor: theme.palette.grey[400]\n }\n },\n containedPrimary: {\n boxShadow: theme.customShadows.primary\n },\n containedSecondary: {\n boxShadow: theme.customShadows.secondary\n },\n containedInfo: {\n boxShadow: theme.customShadows.info\n },\n containedSuccess: {\n boxShadow: theme.customShadows.success\n },\n containedWarning: {\n boxShadow: theme.customShadows.warning\n },\n containedError: {\n boxShadow: theme.customShadows.error\n },\n // outlined\n outlinedInherit: {\n border: `1px solid ${theme.palette.grey[500_32]}`,\n '&:hover': {\n backgroundColor: theme.palette.action.hover\n }\n },\n textInherit: {\n '&:hover': {\n backgroundColor: theme.palette.action.hover\n }\n }\n }\n }\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function Dialog(theme) {\n return {\n MuiDialog: {\n styleOverrides: {\n paper: {\n boxShadow: theme.customShadows.z24,\n '&.MuiPaper-rounded': {\n borderRadius: Number(theme.shape.borderRadius) * 2\n },\n '&.MuiDialog-paperFullScreen': {\n borderRadius: 0\n },\n '&.MuiDialog-paper .MuiDialogActions-root': {\n padding: theme.spacing(3)\n },\n '@media (max-width: 600px)': {\n margin: theme.spacing(2)\n },\n '@media (max-width: 663.95px)': {\n '&.MuiDialog-paperWidthSm.MuiDialog-paperScrollBody': {\n maxWidth: '100%'\n }\n }\n },\n paperFullWidth: {\n width: '100%'\n }\n }\n },\n MuiDialogTitle: {\n styleOverrides: {\n root: {\n padding: theme.spacing(3, 3, 0)\n }\n }\n },\n MuiDialogContent: {\n styleOverrides: {\n root: {\n borderTop: 0,\n borderBottom: 0,\n padding: theme.spacing(3)\n }\n }\n },\n MuiDialogActions: {\n styleOverrides: {\n root: {\n '& > :not(:first-of-type)': {\n marginLeft: theme.spacing(1.5)\n }\n }\n }\n }\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function Avatar(theme) {\n return {\n MuiAvatar: {\n styleOverrides: {\n colorDefault: {\n color: theme.palette.text.secondary,\n backgroundColor: theme.palette.grey[400]\n }\n }\n },\n MuiAvatarGroup: {\n styleOverrides: {\n avatar: {\n fontSize: 16,\n fontWeight: theme.typography.fontWeightMedium,\n '&:first-of-type': {\n fontSize: 14,\n color: theme.palette.primary.main,\n backgroundColor: theme.palette.primary.lighter\n }\n }\n }\n }\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function Slider(theme) {\n const isLight = theme.palette.mode === 'light';\n\n return {\n MuiSlider: {\n defaultProps: {\n size: 'small'\n },\n\n styleOverrides: {\n root: {\n '&.Mui-disabled': {\n color: theme.palette.action.disabled\n }\n },\n markLabel: {\n fontSize: 13,\n color: theme.palette.text.disabled\n },\n valueLabel: {\n borderRadius: 8,\n backgroundColor: theme.palette.grey[isLight ? 800 : 700]\n }\n }\n }\n };\n}\n","import { alpha } from '@mui/material';\n\n// ----------------------------------------------------------------------\n\nexport default function Drawer(theme) {\n const isLight = theme.palette.mode === 'light';\n\n return {\n MuiDrawer: {\n styleOverrides: {\n modal: {\n '&[role=\"presentation\"]': {\n '& .MuiDrawer-paperAnchorLeft': {\n boxShadow: `8px 24px 24px 12px ${alpha(theme.palette.grey[900], isLight ? 0.16 : 0.48)}`\n },\n '& .MuiDrawer-paperAnchorRight': {\n boxShadow: `-8px 24px 24px 12px ${alpha(theme.palette.grey[900], isLight ? 0.16 : 0.48)}`\n }\n }\n }\n }\n }\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function Pickers() {\n return {};\n}\n","// ----------------------------------------------------------------------\n\nexport default function Stepper(theme) {\n return {\n MuiStepConnector: {\n styleOverrides: {\n line: {\n borderColor: theme.palette.divider\n }\n }\n }\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function Tooltip(theme) {\n const isLight = theme.palette.mode === 'light';\n\n return {\n MuiTooltip: {\n styleOverrides: {\n tooltip: {\n backgroundColor: theme.palette.grey[isLight ? 800 : 700]\n },\n arrow: {\n color: theme.palette.grey[isLight ? 800 : 700]\n }\n }\n }\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function Popover(theme) {\n return {\n MuiPopover: {\n styleOverrides: {\n paper: {\n boxShadow: theme.customShadows.z12\n }\n }\n }\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function SvgIcon() {\n return {\n MuiSvgIcon: {\n styleOverrides: {\n fontSizeSmall: {\n width: 20,\n height: 20,\n fontSize: 'inherit'\n },\n fontSizeLarge: {\n width: 32,\n height: 32,\n fontSize: 'inherit'\n }\n }\n }\n };\n}\n","//\nimport { CheckboxIcon, CheckboxCheckedIcon, CheckboxIndeterminateIcon } from './CustomIcons';\n\n// ----------------------------------------------------------------------\n\nexport default function Checkbox(theme) {\n return {\n MuiCheckbox: {\n defaultProps: {\n icon: ,\n checkedIcon: ,\n indeterminateIcon: \n },\n\n styleOverrides: {\n root: {\n padding: theme.spacing(1),\n '&.Mui-checked.Mui-disabled, &.Mui-disabled': {\n color: theme.palette.action.disabled\n },\n '& .MuiSvgIcon-fontSizeMedium': {\n width: 24,\n height: 24\n },\n '& .MuiSvgIcon-fontSizeSmall': {\n width: 20,\n height: 20\n },\n svg: {\n fontSize: 24,\n '&[font-size=small]': {\n fontSize: 20\n }\n }\n }\n }\n }\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function DataGrid(theme) {\n return {\n MuiDataGrid: {\n styleOverrides: {\n root: {\n borderRadius: 0,\n border: `1px solid transparent`,\n '& .MuiTablePagination-root': {\n borderTop: 0\n },\n '& .MuiDataGrid-toolbarContainer': {\n padding: theme.spacing(2),\n backgroundColor: theme.palette.background.neutral,\n '& .MuiButton-root': {\n marginRight: theme.spacing(1.5),\n color: theme.palette.text.primary,\n '&:hover': {\n backgroundColor: theme.palette.action.hover\n }\n }\n },\n '& .MuiDataGrid-cell, .MuiDataGrid-columnsContainer': {\n borderBottom: `1px solid ${theme.palette.divider}`\n },\n '& .MuiDataGrid-columnSeparator': {\n color: theme.palette.divider\n },\n '& .MuiDataGrid-columnHeader[data-field=\"__check__\"]': {\n padding: 0\n }\n }\n }\n },\n MuiGridMenu: {\n styleOverrides: {\n root: {\n '& .MuiDataGrid-gridMenuList': {\n boxShadow: theme.customShadows.z20,\n borderRadius: theme.shape.borderRadius\n },\n '& .MuiMenuItem-root': {\n ...theme.typography.body2\n }\n }\n }\n },\n MuiGridFilterForm: {\n styleOverrides: {\n root: {\n padding: theme.spacing(1.5, 0),\n '& .MuiFormControl-root': {\n margin: theme.spacing(0, 0.5)\n },\n '& .MuiInput-root': {\n marginTop: theme.spacing(3),\n '&::before, &::after': {\n display: 'none'\n },\n '& .MuiNativeSelect-select, .MuiInput-input': {\n ...theme.typography.body2,\n padding: theme.spacing(0.75, 1),\n borderRadius: theme.shape.borderRadius,\n backgroundColor: theme.palette.background.neutral\n },\n '& .MuiSvgIcon-root': {\n right: 4\n }\n }\n }\n }\n },\n MuiGridPanelFooter: {\n styleOverrides: {\n root: {\n padding: theme.spacing(2),\n justifyContent: 'flex-end',\n '& .MuiButton-root': {\n '&:first-of-type': {\n marginRight: theme.spacing(1.5),\n color: theme.palette.text.primary,\n '&:hover': {\n backgroundColor: theme.palette.action.hover\n }\n },\n '&:last-of-type': {\n color: theme.palette.common.white,\n backgroundColor: theme.palette.primary.main,\n '&:hover': {\n backgroundColor: theme.palette.primary.dark\n }\n }\n }\n }\n }\n }\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function Skeleton(theme) {\n return {\n MuiSkeleton: {\n defaultProps: {\n animation: 'wave'\n },\n\n styleOverrides: {\n root: {\n backgroundColor: theme.palette.background.neutral\n }\n }\n }\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function Timeline(theme) {\n return {\n MuiTimelineDot: {\n styleOverrides: {\n root: {\n boxShadow: 'none'\n }\n }\n },\n\n MuiTimelineConnector: {\n styleOverrides: {\n root: {\n backgroundColor: theme.palette.divider\n }\n }\n }\n };\n}\n","//\nimport { TreeViewCollapseIcon, TreeViewExpandIcon, TreeViewEndIcon } from './CustomIcons';\n\n// ----------------------------------------------------------------------\n\nexport default function TreeView(theme) {\n return {\n MuiTreeView: {\n defaultProps: {\n defaultCollapseIcon: ,\n defaultExpandIcon: ,\n defaultEndIcon: \n }\n },\n MuiTreeItem: {\n styleOverrides: {\n label: { ...theme.typography.body2 },\n iconContainer: { width: 'auto' }\n }\n }\n };\n}\n","import { alpha } from '@mui/material/styles';\n\n// ----------------------------------------------------------------------\n\nexport default function Backdrop(theme) {\n const varLow = alpha(theme.palette.grey[900], 0.48);\n const varHigh = alpha(theme.palette.grey[900], 1);\n\n return {\n MuiBackdrop: {\n styleOverrides: {\n root: {\n background: [\n `rgb(22,28,36)`,\n `-moz-linear-gradient(75deg, ${varLow} 0%, ${varHigh} 100%)`,\n `-webkit-linear-gradient(75deg, ${varLow} 0%, ${varHigh} 100%)`,\n `linear-gradient(75deg, ${varLow} 0%, ${varHigh} 100%)`\n ],\n '&.MuiBackdrop-invisible': {\n background: 'transparent'\n }\n }\n }\n }\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function Snackbar() {\n return {\n MuiSnackbarContent: {\n styleOverrides: {\n root: {}\n }\n }\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function Progress(theme) {\n const isLight = theme.palette.mode === 'light';\n\n return {\n MuiLinearProgress: {\n styleOverrides: {\n root: {\n borderRadius: 4,\n overflow: 'hidden'\n },\n bar: {\n borderRadius: 4\n },\n colorPrimary: {\n backgroundColor: theme.palette.primary[isLight ? 'lighter' : 'darker']\n },\n buffer: {\n backgroundColor: 'transparent'\n }\n }\n }\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function Container() {\n return {\n MuiContainer: {\n styleOverrides: {\n root: {}\n }\n }\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function Accordion(theme) {\n return {\n MuiAccordion: {\n styleOverrides: {\n root: {\n '&.Mui-expanded': {\n boxShadow: theme.customShadows.z8,\n borderRadius: theme.shape.borderRadius\n },\n '&.Mui-disabled': {\n backgroundColor: 'transparent'\n }\n }\n }\n },\n MuiAccordionSummary: {\n styleOverrides: {\n root: {\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(1),\n '&.Mui-disabled': {\n opacity: 1,\n color: theme.palette.action.disabled,\n '& .MuiTypography-root': {\n color: 'inherit'\n }\n }\n },\n expandIconWrapper: {\n color: 'inherit'\n }\n }\n }\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function IconButton() {\n return {\n MuiIconButton: {\n styleOverrides: {\n root: {}\n }\n }\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function Typography(theme) {\n return {\n MuiTypography: {\n styleOverrides: {\n paragraph: {\n marginBottom: theme.spacing(2)\n },\n gutterBottom: {\n marginBottom: theme.spacing(1)\n }\n }\n }\n };\n}\n","import { alpha } from '@mui/material/styles';\n\n// ----------------------------------------------------------------------\n\nexport default function Pagination(theme) {\n return {\n MuiPaginationItem: {\n styleOverrides: {\n root: {\n '&.Mui-selected': {\n fontWeight: theme.typography.fontWeightBold\n }\n },\n textPrimary: {\n '&.Mui-selected': {\n color: theme.palette.primary.main,\n backgroundColor: alpha(theme.palette.primary.main, 0.08),\n '&:hover, &.Mui-focusVisible': {\n backgroundColor: `${alpha(theme.palette.primary.main, 0.24)} !important`\n }\n }\n },\n outlined: {\n border: `1px solid ${theme.palette.grey[500_32]}`\n },\n outlinedPrimary: {\n '&.Mui-selected': {\n backgroundColor: alpha(theme.palette.primary.main, 0.08),\n border: `1px solid ${alpha(theme.palette.primary.main, 0.24)}`\n }\n }\n }\n }\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function ButtonGroup(theme) {\n const styleContained = (color) => ({\n props: { variant: 'contained', color },\n style: { boxShadow: theme.customShadows[color] }\n });\n\n return {\n MuiButtonGroup: {\n variants: [\n {\n props: { variant: 'contained', color: 'inherit' },\n style: { boxShadow: theme.customShadows.z8 }\n },\n styleContained('primary'),\n styleContained('secondary'),\n styleContained('info'),\n styleContained('success'),\n styleContained('warning'),\n styleContained('error'),\n\n {\n props: { disabled: true },\n style: {\n boxShadow: 'none',\n '& .MuiButtonGroup-grouped.Mui-disabled': {\n color: theme.palette.action.disabled,\n borderColor: `${theme.palette.action.disabledBackground} !important`,\n '&.MuiButton-contained': {\n backgroundColor: theme.palette.action.disabledBackground\n }\n }\n }\n }\n ],\n\n styleOverrides: {\n root: {\n '&:hover': {\n boxShadow: 'none'\n }\n }\n }\n }\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function Breadcrumbs(theme) {\n return {\n MuiBreadcrumbs: {\n styleOverrides: {\n separator: {\n marginLeft: theme.spacing(2),\n marginRight: theme.spacing(2)\n }\n }\n }\n };\n}\n","import { alpha } from '@mui/material/styles';\n\n// ----------------------------------------------------------------------\n\nexport default function Autocomplete(theme) {\n const isLight = theme.palette.mode === 'light';\n\n const boxShadow = `0 0 2px 0 ${alpha(isLight ? theme.palette.grey[500] : theme.palette.common.black, 0.2)}, ${\n theme.customShadows.z20\n }`;\n\n return {\n MuiAutocomplete: {\n styleOverrides: {\n popper: {\n minWidth: 260,\n maxWidth: 260,\n },\n paper: {\n boxShadow,\n },\n listbox: {\n padding: theme.spacing(0, 1),\n '& .MuiAutocomplete-option': {\n padding: theme.spacing(1),\n margin: theme.spacing(1, 0),\n borderRadius: theme.shape.borderRadius,\n },\n },\n },\n },\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function ControlLabel(theme) {\n return {\n MuiFormControlLabel: {\n styleOverrides: {\n label: {\n ...theme.typography.body2\n }\n }\n },\n MuiFormHelperText: {\n styleOverrides: {\n root: {\n marginTop: theme.spacing(1)\n }\n }\n },\n MuiFormLabel: {\n styleOverrides: {\n root: {\n color: theme.palette.text.disabled\n }\n }\n }\n };\n}\n","import { alpha } from '@mui/material/styles';\n\n// ----------------------------------------------------------------------\n\nexport default function ToggleButton(theme) {\n const style = (color) => ({\n props: { color },\n style: {\n '&:hover': {\n borderColor: alpha(theme.palette[color].main, 0.48),\n backgroundColor: alpha(theme.palette[color].main, theme.palette.action.hoverOpacity)\n },\n '&.Mui-selected': {\n borderColor: alpha(theme.palette[color].main, 0.48)\n }\n }\n });\n\n return {\n MuiToggleButton: {\n variants: [\n {\n props: { color: 'standard' },\n style: {\n '&.Mui-selected': {\n backgroundColor: theme.palette.action.selected\n }\n }\n },\n style('primary'),\n style('secondary'),\n style('info'),\n style('success'),\n style('warning'),\n style('error')\n ]\n },\n MuiToggleButtonGroup: {\n styleOverrides: {\n root: {\n borderRadius: theme.shape.borderRadius,\n backgroundColor: theme.palette.background.paper,\n border: `solid 1px ${theme.palette.grey[500_12]}`,\n '& .MuiToggleButton-root': {\n margin: 4,\n borderColor: 'transparent !important',\n borderRadius: `${theme.shape.borderRadius}px !important`\n }\n }\n }\n }\n };\n}\n","// ----------------------------------------------------------------------\n\nexport default function LoadingButton() {\n return {\n MuiLoadingButton: {\n styleOverrides: {\n root: {\n '&.MuiButton-text': {\n '& .MuiLoadingButton-startIconPendingStart': {\n marginLeft: 0\n },\n '& .MuiLoadingButton-endIconPendingEnd': {\n marginRight: 0\n }\n }\n }\n }\n }\n };\n}\n","// @mui\nimport { alpha } from '@mui/material/styles';\n//\nimport palette from './palette';\n\n// ----------------------------------------------------------------------\n\nconst LIGHT_MODE = palette.light.grey[500];\nconst DARK_MODE = '#000000';\n\nconst createShadow = (color) => {\n const transparent1 = alpha(color, 0.2);\n const transparent2 = alpha(color, 0.14);\n const transparent3 = alpha(color, 0.12);\n return [\n 'none',\n `0px 2px 1px -1px ${transparent1},0px 1px 1px 0px ${transparent2},0px 1px 3px 0px ${transparent3}`,\n `0px 3px 1px -2px ${transparent1},0px 2px 2px 0px ${transparent2},0px 1px 5px 0px ${transparent3}`,\n `0px 3px 3px -2px ${transparent1},0px 3px 4px 0px ${transparent2},0px 1px 8px 0px ${transparent3}`,\n `0px 2px 4px -1px ${transparent1},0px 4px 5px 0px ${transparent2},0px 1px 10px 0px ${transparent3}`,\n `0px 3px 5px -1px ${transparent1},0px 5px 8px 0px ${transparent2},0px 1px 14px 0px ${transparent3}`,\n `0px 3px 5px -1px ${transparent1},0px 6px 10px 0px ${transparent2},0px 1px 18px 0px ${transparent3}`,\n `0px 4px 5px -2px ${transparent1},0px 7px 10px 1px ${transparent2},0px 2px 16px 1px ${transparent3}`,\n `0px 5px 5px -3px ${transparent1},0px 8px 10px 1px ${transparent2},0px 3px 14px 2px ${transparent3}`,\n `0px 5px 6px -3px ${transparent1},0px 9px 12px 1px ${transparent2},0px 3px 16px 2px ${transparent3}`,\n `0px 6px 6px -3px ${transparent1},0px 10px 14px 1px ${transparent2},0px 4px 18px 3px ${transparent3}`,\n `0px 6px 7px -4px ${transparent1},0px 11px 15px 1px ${transparent2},0px 4px 20px 3px ${transparent3}`,\n `0px 7px 8px -4px ${transparent1},0px 12px 17px 2px ${transparent2},0px 5px 22px 4px ${transparent3}`,\n `0px 7px 8px -4px ${transparent1},0px 13px 19px 2px ${transparent2},0px 5px 24px 4px ${transparent3}`,\n `0px 7px 9px -4px ${transparent1},0px 14px 21px 2px ${transparent2},0px 5px 26px 4px ${transparent3}`,\n `0px 8px 9px -5px ${transparent1},0px 15px 22px 2px ${transparent2},0px 6px 28px 5px ${transparent3}`,\n `0px 8px 10px -5px ${transparent1},0px 16px 24px 2px ${transparent2},0px 6px 30px 5px ${transparent3}`,\n `0px 8px 11px -5px ${transparent1},0px 17px 26px 2px ${transparent2},0px 6px 32px 5px ${transparent3}`,\n `0px 9px 11px -5px ${transparent1},0px 18px 28px 2px ${transparent2},0px 7px 34px 6px ${transparent3}`,\n `0px 9px 12px -6px ${transparent1},0px 19px 29px 2px ${transparent2},0px 7px 36px 6px ${transparent3}`,\n `0px 10px 13px -6px ${transparent1},0px 20px 31px 3px ${transparent2},0px 8px 38px 7px ${transparent3}`,\n `0px 10px 13px -6px ${transparent1},0px 21px 33px 3px ${transparent2},0px 8px 40px 7px ${transparent3}`,\n `0px 10px 14px -6px ${transparent1},0px 22px 35px 3px ${transparent2},0px 8px 42px 7px ${transparent3}`,\n `0px 11px 14px -7px ${transparent1},0px 23px 36px 3px ${transparent2},0px 9px 44px 8px ${transparent3}`,\n `0px 11px 15px -7px ${transparent1},0px 24px 38px 3px ${transparent2},0px 9px 46px 8px ${transparent3}`\n ];\n};\n\nconst createCustomShadow = (color) => {\n const transparent = alpha(color, 0.12);\n return {\n z1: `0 1px 2px 0 ${transparent}`,\n z8: `0 8px 16px 0 ${transparent}`,\n z12: `0 12px 24px -4px ${transparent}`,\n z16: `0 16px 32px -4px ${transparent}`,\n z20: `0 20px 40px -4px ${transparent}`,\n z24: `0 24px 48px 0 ${transparent}`,\n primary: `0 8px 16px 0 ${alpha(palette.light.primary.main, 0.24)}`,\n info: `0 8px 16px 0 ${alpha(palette.light.info.main, 0.24)}`,\n secondary: `0 8px 16px 0 ${alpha(palette.light.secondary.main, 0.24)}`,\n success: `0 8px 16px 0 ${alpha(palette.light.success.main, 0.24)}`,\n warning: `0 8px 16px 0 ${alpha(palette.light.warning.main, 0.24)}`,\n error: `0 8px 16px 0 ${alpha(palette.light.error.main, 0.24)}`\n };\n};\n\nexport const customShadows = {\n light: createCustomShadow(LIGHT_MODE),\n dark: createCustomShadow(DARK_MODE)\n};\n\nconst shadows = {\n light: createShadow(LIGHT_MODE),\n dark: createShadow(DARK_MODE)\n};\n\nexport default shadows;\n","import PropTypes from 'prop-types';\nimport { useMemo } from 'react';\n// @mui\nimport { CssBaseline } from '@mui/material';\nimport { createTheme, ThemeProvider as MUIThemeProvider, StyledEngineProvider } from '@mui/material/styles';\n// hooks\nimport useSettings from '../hooks/useSettings';\n//\nimport palette from './palette';\nimport typography from './typography';\nimport breakpoints from './breakpoints';\nimport componentsOverride from './overrides';\nimport shadows, { customShadows } from './shadows';\n\n// ----------------------------------------------------------------------\n\nThemeProvider.propTypes = {\n children: PropTypes.node\n};\n\nexport default function ThemeProvider({ children }) {\n const { themeMode, themeDirection } = useSettings();\n const isLight = themeMode === 'light';\n\n const themeOptions = useMemo(\n () => ({\n palette: isLight ? palette.light : palette.dark,\n typography,\n breakpoints,\n shape: { borderRadius: 8 },\n direction: themeDirection,\n shadows: isLight ? shadows.light : shadows.dark,\n customShadows: isLight ? customShadows.light : customShadows.dark\n }),\n [isLight, themeDirection]\n );\n\n const theme = createTheme(themeOptions);\n theme.components = componentsOverride(theme);\n\n return (\n \n \n \n {children}\n \n \n );\n}\n","// @mui\nimport { useTheme } from '@mui/material/styles';\nimport { GlobalStyles as MUIGlobalStyles } from '@mui/material';\n\n// ----------------------------------------------------------------------\n\nexport default function GlobalStyles() {\n const theme = useTheme();\n\n return (\n \n );\n}\n","// @mui\nimport {\n Box,\n Grid,\n Radio,\n Paper,\n RadioGroup,\n CardActionArea,\n FormControlLabel,\n} from '@mui/material';\n// hooks\nimport useSettings from '../../hooks/useSettings';\n// components\nimport Iconify from '../Iconify';\n\n// ----------------------------------------------------------------------\n\nexport default function SettingMode() {\n const { themeMode, onChangeMode } = useSettings();\n\n return (\n \n \n {['light', 'dark'].map((mode, index) => (\n \n theme.customShadows.z12,\n }),\n }}\n >\n \n \n \n \n\n }\n sx={{\n m: 0,\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n position: 'absolute',\n }}\n />\n \n \n \n ))}\n \n \n );\n}\n","import PropTypes from 'prop-types';\n// @mui\nimport { alpha, styled } from '@mui/material/styles';\nimport { Tooltip } from '@mui/material';\n// utils\nimport cssStyles from '../../utils/cssStyles';\n//\nimport Iconify from '../Iconify';\nimport { IconButtonAnimate } from '../animate';\n\n// ----------------------------------------------------------------------\n\nconst RootStyle = styled('span')(({ theme }) => ({\n ...cssStyles(theme).bgBlur({ opacity: 0.64 }),\n right: 0,\n top: '50%',\n position: 'fixed',\n marginTop: theme.spacing(-3),\n padding: theme.spacing(0.5),\n zIndex: theme.zIndex.drawer + 2,\n borderRadius: '24px 0 20px 24px',\n boxShadow: `-12px 12px 32px -4px ${alpha(\n theme.palette.mode === 'light' ? theme.palette.grey[600] : theme.palette.common.black,\n 0.36\n )}`,\n}));\n\nconst DotStyle = styled('span')(({ theme }) => ({\n top: 8,\n width: 8,\n height: 8,\n right: 10,\n borderRadius: '50%',\n position: 'absolute',\n backgroundColor: theme.palette.error.main,\n}));\n\n// ----------------------------------------------------------------------\n\nToggleButton.propTypes = {\n notDefault: PropTypes.bool,\n onToggle: PropTypes.func,\n open: PropTypes.bool,\n};\n\nexport default function ToggleButton({ notDefault, open, onToggle }) {\n return (\n \n {notDefault && !open && }\n\n \n theme.transitions.create('all'),\n '&:hover': {\n color: 'primary.main',\n bgcolor: (theme) => alpha(theme.palette.primary.main, theme.palette.action.hoverOpacity),\n },\n }}\n >\n \n \n \n \n );\n}\n","// @mui\nimport { Paper, CardActionArea, Stack } from '@mui/material';\n// hooks\nimport useSettings from '../../hooks/useSettings';\n// components\nimport Iconify from '../Iconify';\n\n// ----------------------------------------------------------------------\n\nexport default function SettingStretch() {\n const { themeStretch, onToggleStretch } = useSettings();\n\n return (\n \n \n theme.transitions.create('width'),\n boxShadow: (theme) => theme.customShadows.z12,\n ...(themeStretch && {\n width: 1,\n color: 'primary.main',\n }),\n }}\n >\n \n \n \n \n \n );\n}\n","import {\n Box,\n Grid,\n Paper,\n Radio,\n RadioGroup,\n CardActionArea,\n FormControlLabel,\n} from '@mui/material';\n// hooks\nimport useSettings from '../../hooks/useSettings';\n\n// ----------------------------------------------------------------------\n\nexport default function SettingDirection() {\n const { themeDirection, onChangeDirection } = useSettings();\n\n return (\n \n \n {['ltr', 'rtl'].map((direction, index) => (\n \n theme.customShadows.z12,\n }),\n }}\n >\n \n \n {[56, 36, 24].map((size, index) => (\n \n ))}\n \n }\n sx={{\n m: 0,\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n position: 'absolute',\n }}\n />\n \n \n \n ))}\n \n \n );\n}\n","import { useState } from 'react';\n// @mui\nimport { alpha } from '@mui/material/styles';\nimport { Button } from '@mui/material';\n// components\nimport Iconify from '../Iconify';\n\n// ----------------------------------------------------------------------\n\nexport default function SettingFullscreen() {\n const [fullscreen, setFullscreen] = useState(false);\n\n const toggleFullScreen = () => {\n if (!document.fullscreenElement) {\n document.documentElement.requestFullscreen();\n setFullscreen(true);\n } else if (document.exitFullscreen) {\n document.exitFullscreen();\n setFullscreen(false);\n }\n };\n\n return (\n }\n onClick={toggleFullScreen}\n sx={{\n fontSize: 14,\n ...(fullscreen && {\n bgcolor: (theme) =>\n alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n }),\n }}\n >\n {fullscreen ? 'Exit Fullscreen' : 'Fullscreen'}\n \n );\n}\n","import { AnimatePresence, m } from 'framer-motion';\nimport { useState, useEffect } from 'react';\n// @mui\nimport { alpha, styled } from '@mui/material/styles';\nimport { Backdrop, Divider, Typography, Stack } from '@mui/material';\n// hooks\nimport useSettings from '../../hooks/useSettings';\n// utils\nimport cssStyles from '../../utils/cssStyles';\n// config\nimport { DRAWER_WIDTH, defaultSettings } from '../../config';\n//\nimport Iconify from '../Iconify';\nimport Scrollbar from '../Scrollbar';\nimport SettingMode from './SettingMode';\nimport ToggleButton from './ToggleButton';\nimport SettingStretch from './SettingStretch';\nimport SettingDirection from './SettingDirection';\nimport SettingFullscreen from './SettingFullscreen';\nimport { IconButtonAnimate, varFade } from '../animate';\nimport SettingColorPresets from './SettingColorPresets';\n\n// ----------------------------------------------------------------------\n\nconst RootStyle = styled(m.div)(({ theme }) => ({\n ...cssStyles(theme).bgBlur({ color: theme.palette.background.paper }),\n top: 0,\n right: 0,\n bottom: 0,\n display: 'flex',\n position: 'fixed',\n overflow: 'hidden',\n width: DRAWER_WIDTH,\n flexDirection: 'column',\n margin: theme.spacing(2),\n paddingBottom: theme.spacing(3),\n zIndex: theme.zIndex.drawer + 3,\n borderRadius: Number(theme.shape.borderRadius) * 1.5,\n boxShadow: `-24px 12px 32px -4px ${alpha(\n theme.palette.mode === 'light' ? theme.palette.grey[600] : theme.palette.common.black,\n 0.16\n )}`,\n}));\n\n// ----------------------------------------------------------------------\n\nexport default function Settings() {\n const { themeMode, themeDirection, themeColorPresets, themeStretch, onResetSetting } = useSettings();\n const [open, setOpen] = useState(false);\n\n const notDefault =\n themeMode !== defaultSettings.themeMode ||\n themeDirection !== defaultSettings.themeDirection ||\n themeColorPresets !== defaultSettings.themeColorPresets ||\n themeStretch !== defaultSettings.themeStretch;\n\n const varSidebar =\n themeDirection !== 'rtl'\n ? varFade({\n distance: DRAWER_WIDTH,\n durationIn: 0.32,\n durationOut: 0.32,\n }).inRight\n : varFade({\n distance: DRAWER_WIDTH,\n durationIn: 0.32,\n durationOut: 0.32,\n }).inLeft;\n\n useEffect(() => {\n if (open) {\n document.body.style.overflow = 'hidden';\n } else {\n document.body.style.overflow = 'unset';\n }\n }, [open]);\n\n const handleToggle = () => {\n setOpen((prev) => !prev);\n };\n\n const handleClose = () => {\n setOpen(false);\n };\n\n return (\n <>\n theme.zIndex.drawer + 1 }}\n />\n\n {!open && }\n\n \n {open && (\n <>\n \n \n Settings\n
\n \n \n \n \n \n \n
\n
\n\n \n\n \n \n \n Mode\n \n \n\n \n Direction\n \n \n\n \n Stretch\n \n \n\n \n \n \n
\n \n )}\n
\n \n );\n}\n","import PropTypes from 'prop-types';\nimport { useEffect } from 'react';\n// rtl\nimport rtlPlugin from 'stylis-plugin-rtl';\n// emotion\nimport createCache from '@emotion/cache';\nimport { CacheProvider } from '@emotion/react';\n// @mui\nimport { useTheme } from '@mui/material/styles';\n\n// ----------------------------------------------------------------------\n\nRtlLayout.propTypes = {\n children: PropTypes.node,\n};\n\nexport default function RtlLayout({ children }) {\n const theme = useTheme();\n\n useEffect(() => {\n document.dir = theme.direction;\n }, [theme.direction]);\n\n const cacheRtl = createCache({\n key: theme.direction === 'rtl' ? 'rtl' : 'css',\n stylisPlugins: theme.direction === 'rtl' ? [rtlPlugin] : [],\n });\n\n return {children};\n}\n","import { useEffect } from 'react';\nimport { useLocation } from 'react-router-dom';\n\n// ----------------------------------------------------------------------\n\nexport default function ScrollToTop() {\n const { pathname } = useLocation();\n\n useEffect(() => {\n window.scrollTo(0, 0);\n }, [pathname]);\n\n return null;\n}\n","import { useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { SnackbarProvider } from 'notistack';\n// @mui\nimport { alpha, useTheme } from '@mui/material/styles';\nimport { Box, GlobalStyles } from '@mui/material';\n//\nimport Iconify from './Iconify';\nimport { IconButtonAnimate } from './animate';\n\n// ----------------------------------------------------------------------\n\nfunction SnackbarStyles() {\n const theme = useTheme();\n const isLight = theme.palette.mode === 'light';\n\n return (\n \n );\n}\n\n// ----------------------------------------------------------------------\n\nNotistackProvider.propTypes = {\n children: PropTypes.node,\n};\n\nexport default function NotistackProvider({ children }) {\n const notistackRef = useRef(null);\n\n const onClose = (key) => () => {\n notistackRef.current.closeSnackbar(key);\n };\n\n return (\n <>\n \n\n ,\n success: ,\n warning: ,\n error: ,\n }}\n // With close as default\n action={(key) => (\n \n \n \n )}\n >\n {children}\n \n \n );\n}\n\n// ----------------------------------------------------------------------\n\nSnackbarIcon.propTypes = {\n icon: PropTypes.string,\n color: PropTypes.oneOf(['primary', 'secondary', 'info', 'success', 'warning', 'error']),\n};\n\nfunction SnackbarIcon({ icon, color }) {\n return (\n alpha(theme.palette[color].main, 0.16),\n }}\n >\n \n \n );\n}\n","import PropTypes from 'prop-types';\nimport { useMemo } from 'react';\n// @mui\nimport { alpha, ThemeProvider, createTheme, useTheme } from '@mui/material/styles';\n// hooks\nimport useSettings from '../hooks/useSettings';\n//\nimport componentsOverride from '../theme/overrides';\n\n// ----------------------------------------------------------------------\n\nThemeColorPresets.propTypes = {\n children: PropTypes.node,\n};\n\nexport default function ThemeColorPresets({ children }) {\n const defaultTheme = useTheme();\n const { setColor } = useSettings();\n\n const themeOptions = useMemo(\n () => ({\n ...defaultTheme,\n palette: {\n ...defaultTheme.palette,\n primary: setColor,\n },\n customShadows: {\n ...defaultTheme.customShadows,\n primary: `0 8px 16px 0 ${alpha(setColor.main, 0.24)}`,\n },\n }),\n [setColor, defaultTheme]\n );\n\n const theme = createTheme(themeOptions);\n theme.components = componentsOverride(theme);\n\n return {children};\n}\n","import PropTypes from 'prop-types';\nimport { Link as RouterLink } from 'react-router-dom';\n// @mui\nimport { useTheme } from '@mui/material/styles';\nimport { Box } from '@mui/material';\n\n// ----------------------------------------------------------------------\n\nLogoLarge.propTypes = {\n disabledLink: PropTypes.bool,\n sx: PropTypes.any,\n};\n\nexport default function LogoLarge({ ...other }) {\n return ;\n}\n","// @mui\nimport { alpha, styled } from '@mui/material/styles';\nimport { Box, Typography, Typograpy, Stack } from '@mui/material';\n\nimport LogoLarge from './LogoLarge';\n\nimport useSettings from '../hooks/useSettings';\n\nconst ErrorContainer = styled('div')(({ theme }) => ({\n position: 'absolute',\n width: '100%',\n height: '100%',\n // backgroundColor: 'red',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n}));\nconst RootStyle = styled('div')(({ theme }) => ({\n width: 600,\n\n position: 'absolute',\n\n backgroundColor: theme.palette.background.default,\n borderColor: '#ff6600',\n borderStyle: 'solid',\n borderWidth: 4,\n borderRadius: 20,\n padding: 30,\n}));\n\nconst AppLoadErrorMessage = () => {\n const { themeMode } = useSettings();\n\n return (\n \n \n \n Graffle Management Dashboard\n \n \n \n \n An error occurred while attempting to retrieve the data for your companies. Please refresh the page and try\n again. If this problem persists, please contact us on the Graffle Discord server.\n \n \n \n \n );\n};\n\nexport default AppLoadErrorMessage;\n","import { useEffect, useState } from 'react';\n\n// routes\nimport Router from './routes';\n\n// Contexts\nimport useAppData from './hooks/useAppData';\n// theme\nimport ThemeProvider from './theme';\nimport GlobalStyles from './theme/globalStyles';\n// components\nimport Settings from './components/settings';\nimport RtlLayout from './components/RtlLayout';\nimport ScrollToTop from './components/ScrollToTop';\nimport { ProgressBarStyle } from './components/ProgressBar';\nimport NotistackProvider from './components/NotistackProvider';\nimport ThemeColorPresets from './components/ThemeColorPresets';\nimport MotionLazyContainer from './components/animate/MotionLazyContainer';\n\nimport LoadingScreen from './components/LoadingScreen';\nimport AppLoadErrorMessage from './components/AppLoadErrorMessage';\n\n// ----------------------------------------------------------------------\n\nif (localStorage.getItem('env') === null) {\n localStorage.setItem('env', 'testnet');\n}\n\nexport default function App() {\n const { loading, initError } = useAppData();\n\n // useEffect(() => {}, [loading])\n\n return (\n \n \n \n \n \n {initError && }\n {!loading && !initError && (\n <>\n \n \n \n \n \n \n )}\n {loading && !initError && }\n \n \n \n \n \n );\n}\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://cra.link/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.0/8 are considered localhost for IPv4.\n window.location.hostname.match(/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://cra.link/PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then((registration) => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://cra.link/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 headers: { 'Service-Worker': 'script' }\n })\n .then((response) => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (response.status === 404 || (contentType != null && contentType.indexOf('javascript') === -1)) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then((registration) => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log('No internet connection found. App is running in offline mode.');\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready\n .then((registration) => {\n registration.unregister();\n })\n .catch((error) => {\n console.error(error.message);\n });\n }\n}\n","const reportWebVitals = (onPerfEntry) => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","// scroll bar\nimport 'simplebar/src/simplebar.css';\n\n// lazy image\nimport 'react-lazy-load-image-component/src/effects/blur.css';\nimport 'react-lazy-load-image-component/src/effects/opacity.css';\nimport 'react-lazy-load-image-component/src/effects/black-and-white.css';\n\nimport ReactDOM from 'react-dom';\nimport { BrowserRouter } from 'react-router-dom';\nimport { HelmetProvider } from 'react-helmet-async';\n\nimport { AdapterDateFns } from '@mui/x-date-pickers/AdapterDateFns';\nimport { LocalizationProvider } from '@mui/x-date-pickers';\n\n// redux\nimport { Provider as ReduxProvider } from 'react-redux';\nimport { PersistGate } from 'redux-persist/lib/integration/react';\nimport { store, persistor } from './redux/store';\n// contexts\nimport { SettingsProvider } from './contexts/SettingsContext';\nimport { CollapseDrawerProvider } from './contexts/CollapseDrawerContext';\nimport { AuthProvider } from './contexts/Auth0Context';\nimport { AppDataProvider } from './contexts/AppDataContext';\n//\nimport App from './App';\nimport * as serviceWorkerRegistration from './serviceWorkerRegistration';\nimport reportWebVitals from './reportWebVitals';\n\n// ----------------------------------------------------------------------\n\nReactDOM.render(\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ,\n document.getElementById('root')\n);\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://cra.link/PWA\nserviceWorkerRegistration.unregister();\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n","// ----------------------------------------------------------------------\n\nfunction path(root, sublink) {\n return `${root}${sublink}`;\n}\n\nconst ROOTS_AUTH = '/auth';\nconst ROOTS_DASHBOARD = '';\n\n// ----------------------------------------------------------------------\n\nexport const PATH_AUTH = {\n root: ROOTS_AUTH,\n login: path(ROOTS_AUTH, '/login'),\n loginUnprotected: path(ROOTS_AUTH, '/login-unprotected'),\n register: path(ROOTS_AUTH, '/register'),\n registerUnprotected: path(ROOTS_AUTH, '/register-unprotected'),\n resetPassword: path(ROOTS_AUTH, '/reset-password'),\n verify: path(ROOTS_AUTH, '/verify'),\n};\n\nexport const PATH_PAGE = {\n comingSoon: '/coming-soon',\n maintenance: '/maintenance',\n pricing: '/pricing',\n payment: '/payment',\n about: '/about-us',\n contact: '/contact-us',\n faqs: '/faqs',\n page404: '/404',\n page500: '/500',\n components: '/components',\n};\n\nexport const PATH_DASHBOARD = {\n root: ROOTS_DASHBOARD,\n general: {\n app: path(ROOTS_DASHBOARD, '/dashboard'),\n ecommerce: path(ROOTS_DASHBOARD, '/ecommerce'),\n analytics: path(ROOTS_DASHBOARD, '/analytics'),\n banking: path(ROOTS_DASHBOARD, '/banking'),\n booking: path(ROOTS_DASHBOARD, '/booking'),\n },\n projects: {\n root: path(ROOTS_DASHBOARD, '/projects'),\n },\n events: {\n root: path(ROOTS_DASHBOARD, '/events'),\n },\n webhooklogs: {\n root: path(ROOTS_DASHBOARD, '/webhooks'),\n detail: path(ROOTS_DASHBOARD, '/webhooks/details/:webhooklogid'),\n replay: path(ROOTS_DASHBOARD, 'webhooks/replay'),\n },\n company: {\n root: path(ROOTS_DASHBOARD, '/company'),\n },\n analytics: {\n root: path(ROOTS_DASHBOARD, '/analytics'),\n },\n mail: {\n root: path(ROOTS_DASHBOARD, '/mail'),\n all: path(ROOTS_DASHBOARD, '/mail/all'),\n },\n chat: {\n root: path(ROOTS_DASHBOARD, '/chat'),\n new: path(ROOTS_DASHBOARD, '/chat/new'),\n conversation: path(ROOTS_DASHBOARD, '/chat/:conversationKey'),\n },\n calendar: path(ROOTS_DASHBOARD, '/calendar'),\n kanban: path(ROOTS_DASHBOARD, '/kanban'),\n user: {\n root: path(ROOTS_DASHBOARD, '/user'),\n profile: path(ROOTS_DASHBOARD, '/user/profile'),\n cards: path(ROOTS_DASHBOARD, '/user/cards'),\n list: path(ROOTS_DASHBOARD, '/user/list'),\n newUser: path(ROOTS_DASHBOARD, '/user/new'),\n editById: path(ROOTS_DASHBOARD, `/user/reece-chung/edit`),\n account: path(ROOTS_DASHBOARD, '/user/account'),\n },\n eCommerce: {\n root: path(ROOTS_DASHBOARD, '/e-commerce'),\n shop: path(ROOTS_DASHBOARD, '/e-commerce/shop'),\n product: path(ROOTS_DASHBOARD, '/e-commerce/product/:name'),\n productById: path(ROOTS_DASHBOARD, '/e-commerce/product/nike-air-force-1-ndestrukt'),\n list: path(ROOTS_DASHBOARD, '/e-commerce/list'),\n newProduct: path(ROOTS_DASHBOARD, '/e-commerce/product/new'),\n editById: path(ROOTS_DASHBOARD, '/e-commerce/product/nike-blazer-low-77-vintage/edit'),\n checkout: path(ROOTS_DASHBOARD, '/e-commerce/checkout'),\n invoice: path(ROOTS_DASHBOARD, '/e-commerce/invoice'),\n },\n blog: {\n root: path(ROOTS_DASHBOARD, '/blog'),\n posts: path(ROOTS_DASHBOARD, '/blog/posts'),\n post: path(ROOTS_DASHBOARD, '/blog/post/:title'),\n postById: path(ROOTS_DASHBOARD, '/blog/post/apply-these-7-secret-techniques-to-improve-event'),\n newPost: path(ROOTS_DASHBOARD, '/blog/new-post'),\n },\n};\n\nexport const PATH_DOCS = 'https://docs-minimals.vercel.app/introduction';\n","import { useContext } from 'react';\n\nimport { AppDataContext } from '../contexts/AppDataContext';\n\n// ----------------------------------------------------------------------\n\nconst useAppData = () => {\n const context = useContext(AppDataContext);\n\n if (!context) throw new Error('App Data context must be use inside AppDataProvider');\n\n return context;\n};\n\nexport default useAppData;\n","import { alpha } from '@mui/material/styles';\n\n// ----------------------------------------------------------------------\n\nfunction getDirection(value = 'bottom') {\n return {\n top: 'to top',\n right: 'to right',\n bottom: 'to bottom',\n left: 'to left'\n }[value];\n}\n\nexport default function cssStyles(theme) {\n return {\n bgBlur: (props) => {\n const color = props?.color || theme?.palette.background.default || '#000000';\n\n const blur = props?.blur || 6;\n const opacity = props?.opacity || 0.8;\n\n return {\n backdropFilter: `blur(${blur}px)`,\n WebkitBackdropFilter: `blur(${blur}px)`, // Fix on Mobile\n backgroundColor: alpha(color, opacity)\n };\n },\n bgGradient: (props) => {\n const direction = getDirection(props?.direction);\n const startColor = props?.startColor || `${alpha('#000000', 0)} 0%`;\n const endColor = props?.endColor || '#000000 75%';\n\n return {\n background: `linear-gradient(${direction}, ${startColor}, ${endColor});`\n };\n },\n bgImage: (props) => {\n const url = props?.url || 'https://minimal-assets-api.vercel.app/assets/images/bg_gradient.jpg';\n const direction = getDirection(props?.direction);\n const startColor = props?.startColor || alpha(theme?.palette.grey[900] || '#000000', 0.88);\n const endColor = props?.endColor || alpha(theme?.palette.grey[900] || '#000000', 0.88);\n\n return {\n background: `linear-gradient(${direction}, ${startColor}, ${endColor}), url(${url})`,\n backgroundSize: 'cover',\n backgroundRepeat: 'no-repeat',\n backgroundPosition: 'center center'\n };\n }\n };\n}\n","// @mui\nimport { useTheme } from '@mui/material/styles';\nimport useMediaQuery from '@mui/material/useMediaQuery';\n\n// ----------------------------------------------------------------------\n\nexport default function useResponsive(query, key, start, end) {\n const theme = useTheme();\n\n const mediaUp = useMediaQuery(theme.breakpoints.up(key));\n\n const mediaDown = useMediaQuery(theme.breakpoints.down(key));\n\n const mediaBetween = useMediaQuery(theme.breakpoints.between(start, end));\n\n const mediaOnly = useMediaQuery(theme.breakpoints.only(key));\n\n if (query === 'up') {\n return mediaUp;\n }\n\n if (query === 'down') {\n return mediaDown;\n }\n\n if (query === 'between') {\n return mediaBetween;\n }\n\n if (query === 'only') {\n return mediaOnly;\n }\n return null;\n}\n"],"sourceRoot":""}