{"version":3,"sources":["themes/default-theme.ts","modules/core/providers/menu-item-provider/context.ts","modules/core/providers/menu-item-provider/provider.tsx","modules/core/routes.tsx","modules/core/index.ts","lib/module/as-lazy-loadable.ts","modules/dashboard/routes.tsx","assets/svg/route-not-found-illustration.svg","modules/dashboard/index.ts","modules/app-details/routes.tsx","modules/index.ts","modules/app-details/index.ts","modules/core/pages/not-found-page.tsx","modules/core/layouts/core-app-layout/core-app-layout.tsx","modules/core/containers/core-app-layout-container.tsx","common/components/api-error/error-fallback.tsx","app.tsx","lib/authorization/access-rights.ts","app-loader.tsx","serviceWorkerRegistration.ts","modules/core/defaults/login-defaults.ts","common/utils/session-storage.ts","common/utils/auth-handler-util.ts","index.tsx","dependencies.ts","common/utils/error-message-utils.ts","common/components/illustration-message.tsx","common/components/loading-illustration.tsx","common/components/style-literals.tsx","common/components/user-avatar-text.tsx","common/components/centered-spinner.tsx","common/components/styled-components.ts","common/components/separator.tsx","common/components/custom-tooltip.tsx","common/components/rating-field.tsx","lib/hooks/url-query-params.ts","assets/svg/error.svg","common/components/api-error/api-error.tsx","modules/core/clients/core-api-client.ts","../node_modules/@agilepoint/web-components/dist/esm lazy /^/.*/.entry/.js$/ include: /.entry/.js$/ exclude: /.system/.entry/.js$/ groupOptions: {} namespace object","common/defaults.ts","common/service-client.tsx","common/regular-expressions.ts","common/app-service-client.tsx","common/theme-app-identifier.tsx","modules/core/scopes/config-scope.tsx"],"names":["themeRegistry","registerThemeUsingCompilers","layout","columnsCount","semantics","appStoreVxt","semanticColors","blueVariant1","errorBackgroundColor","categoryPillColor","grayVariant1","grayVariant2","grayVariant3","grayVariant4","grayVariant5","grayVariant6","jumbotronBackgroundColor","primaryTextColor","secondaryTextColor","productCardFallBackColor","productCardHoverColor","separatorColor","agilePointBlue","borders","variant4","stroke","thin","errorMessages","MenuItemsContext","createContext","menuItems","modulesMap","i","reduceMappedMenuItems","prev","curr","concat","MenuItemsProvider","props","children","modules","menuItemsInfo","React","useMemo","map","reduce","Provider","value","OpenDashboardPage","to","CoreModule","name","version","description","routes","context","path","element","asLazyLoadable","loader","component","lazy","createElement","_path","_path2","_path3","_path4","_path5","_path6","_path7","_path8","_path9","_path10","_path11","_path12","_path13","_path14","_path15","_path16","_path17","_path18","_path19","_path20","_path21","_path22","_path23","DashboardPage","DashboardModule","id","label","iconName","order","data","route","AppDetailsPage","allModules","slice","_excluded","_extends","Object","assign","target","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","_objectWithoutProperties","excluded","sourceKeys","keys","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","SvgRouteNotFoundIllustration","_ref","svgRef","title","titleId","xmlns","xmlnsXlink","x","y","width","height","viewBox","enableBackground","xmlSpace","ref","fill","d","opacity","ForwardRef","MainHeaderInfo","styled","div","typographyPresets","headings","h1","NotFoundPage","className","translate","useTranslate","orientation","justifyContent","alignment","gap","H4","ContentArea","CoreAppLayout","alignItems","fallback","CoreAppLayoutContainer","culture","ErrorFallbackWrapper","ReloadButton","onClick","window","location","reload","ErrorFallback","error","errorMessage","getErrorMessage","errorObject","headerMessage","BottomRightNotificationList","WithNotificationList","AppRouter","memo","appContext","basename","configuration","baseUrl","AccessRightKeys","queryClient","QueryClient","defaultOptions","queries","refetchOnWindowFocus","cacheTime","App","configScopeFactory","loaderFallback","memoizeFunction","message","onBuildIocContainer","builder","appContextDependency","inject","createConfigScopeBuilder","basePath","store","localizer","genericIconsSpritePath","combineUrl","client","scopeName","scopeCreator","themeName","genericIconSpritePath","FallbackComponent","Component","accessRights","AppWithAuthorizerLocalizer","injectLocalizationProvider","injectAuthorizationProvider","AppLoader","routeContext","getMenuItemsByGroup","group","createRoutes","loading","appLoadingContext","setAppLoadingContext","isInProduction","isProduction","environment","Promise","all","createLocalizer","namespacesToLoad","waitTillInitialized","debug","then","catch","r","enhancer","compose","composed","composeWithDevTools","createStore","state","undefined","authorizationContext","accessCodes","authContext","createAuthorizationContext","authorizer","registerAccessRights","permissionStore","add","appProps","toString","Boolean","hostname","match","hostUserDetailsTypes","portalParams","getSessionStorageItem","sessionStorageName","sessionStorage","getItem","SESSION_STORAGE_ITEM_NAME","configFilePath","process","clearURLParam","appStoreURL","href","split","history","replaceState","document","getAPConfig","userConfig","legacyApp","accessToken","apServerUrl","fullName","portalUrl","userName","isLegacy","apiUrl","endsWith","auth","domain","userLocale","staySignedIn","userDetails","getUserDetailsConfig","config","urlParam","getURLQueryParams","paramsValue","params","decodedData","atob","JSON","parse","gethostUserConfig","formattedServerURL","apConfig","applicationConfig","agilepoint","cookieConfig","setSessionStorageData","sessionInfo","sessionStorageValue","stringify","setItem","getUserDetailsConfigFromSessionStorage","configDetails","sessionStorageData","parsedSessionStorageInfo","getStoreUserContext","a","getConfigDeatils","ConfigSource","fromFile","load","isLegacyApp","getLegacyUserDetailsConfig","substring","decodeURIComponent","getLegacyhostUserConfig","hasURLQueryParam","includes","getHostUserDetails","urlQueryParam","apSessionConfig","userConfigs","hostUserDetails","boot","getAuthInfo","expires","configSource","from","createAppContext","authentication","getToken","renewToken","rootSelector","host","querySelector","Error","ReactDOM","navigator","serviceWorker","ready","registration","unregister","console","createDependency","Symbol","defaultErrorMessage","IllustrationContentBlock","Typography","Medium","color","palette","neutralPrimary","themePrimary","getColor","theme","Title","H2","MessageContentBlock","StackPanel","StyledFlexBox","FlexBox","IllustrationLoadingMessage","flexDirection","Small","IllustrationMessage","displayMessage","type","onRenderMessageContent","renderMessage","useCallback","generateId","LoadingIllustrationBlock","LoadingIllustration","commonStyles","textOverflow","css","fullWidth","fullHeight","navResultContentBlock","outlineColor","outlineStyle","boldTextLabel","h5","primartButtonStyles","themeLighter","standardHeadingStyles","secondaryHeadingStyle","contentWidth","standardButtonHoverStyle","COLORCODES","backgroundColor","textColor","idx","Math","floor","random","ActionButton","$textColor","$backgroundColor","$profileImage","textStyles","xSmall","CenteredSpinner","text","textAlign","spinnerProps","getDirection","style","Spinner","$padding","$margin","$overflow","$gap","StyledStackPanel","margin","padding","maxHeight","overflow","position","top","right","bottom","left","HorizontalLine","hr","$width","$height","$color","VerticalLine","StyledIcon","Icon","StyledCallout","Callout","calloutWidth","calloutHeight","white","CustomTooltip","tooltipContentRenderer","tooltipContent","rest","useState","showTooltip","setShowToolTip","helpIconRef","createRef","onMouseMoveAction","debounce","ev","stopPropagation","prevValue","onMouseOver","onMouseOut","iconSize","targetRef","hidden","isBeakVisible","beakWidth","RatingField","defaultValue","validationRules","restProps","control","useFormContext","renderToggleInput","field","onChange","rules","render","useURLQueryParams","filterQueryParams","useLocation","searchParams","URLSearchParams","search","getKeyValueOfParam","urlPrams","values","filters","currentValue","queryStringParamsValue","get","_circle","_rect","_polygon","_polygon2","_circle2","_circle3","_g","SvgError","cx","cy","rx","ry","points","transform","IllustrationWrapper","StyledErrorMessage","ErrorMessage","ErrorInfo","H1","CoreApiClient","agilepointServiceClient","postJSON","json","user","toCamelCasedKeys","webpackAsyncContext","req","__webpack_require__","o","resolve","e","code","ids","module","exports","keysCode","ServiceClient","apiEndPoint","storeAuth","restURL","headers","Headers","fetchData","endPoint","init","fetch","body","method","res","status","statusText","err","getData","postData","append","arg","ServiceClientContext","ServiceClientProvider","useConfigScopeSelectors","selectStoreApiEndPoint","selectStoreAuth","storeEndPoint","useServiceClient","useContext","emailRegExp","RegExp","AppServiceClient","forEach","has","set","AppServiceClientContext","AppServiceClientProvider","selectAgilePointConfig","useAppServiceClient","useIsThemeAppIdentifier","isThemeApp","useParams","pid","coreApiClientDependency","initialState","modelBuilder","createModel","selectAppConfig","createSelector","selectBasePathURL","selectAppStoreConfig","appStoreConfigurations","selectIsLegacyApp","actionCreatorsFactory","registerActions","selectors","loadConfig","actions","initAsync","iocContainer","coreApiClient","log","createScopeFactory","modelFactory","scopeId","useSelectors"],"mappings":"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","file":"static/js/main.87b96a5a.chunk.js","sourcesContent":["import { themeRegistry } from '@agilepoint/wat-react-ux';\r\n\r\nthemeRegistry.registerThemeUsingCompilers('app-store-vnxt-default', { layout: { columnsCount: 24 } }, (semantics) => ({\r\n appStoreVxt: {\r\n semanticColors: {\r\n blueVariant1: '#000000d1',\r\n errorBackgroundColor: '#ff585f0d',\r\n categoryPillColor: '#E5F1FB',\r\n grayVariant1: '#3B4455',\r\n grayVariant2: '#676E7B',\r\n grayVariant3: '#667287',\r\n grayVariant4: '#CACED5',\r\n grayVariant5: '#F1F2F4',\r\n grayVariant6: '#F8F9FA',\r\n jumbotronBackgroundColor: '#6E40CF',\r\n primaryTextColor: '#676E7B',\r\n secondaryTextColor: '#3B4455',\r\n productCardFallBackColor: '#e6faf0',\r\n productCardHoverColor: '#00000012',\r\n separatorColor: '#E6E6E6',\r\n agilePointBlue: '#0077D9'\r\n },\r\n borders: {\r\n variant4: `${semantics.stroke.thin} solid #CACED5`,\r\n errorMessages: `${semantics.stroke.thin} solid #B6383E`\r\n }\r\n }\r\n}));\r\n","import { createContext } from 'react';\r\nimport { INavigationMenuItem } from 'types';\r\n\r\ninterface INavigationMenuItems {\r\n menuItems: INavigationMenuItem[];\r\n}\r\n\r\nexport const MenuItemsContext = createContext({\r\n menuItems: []\r\n});\r\n","import React from 'react';\r\nimport { MenuItemsContext } from './context';\r\nimport { IModuleManifest, INavigationMenuItem } from 'types';\r\n\r\ninterface IMenuItemsProviderProps {\r\n modules: IModuleManifest[];\r\n children?: React.ReactNode;\r\n}\r\n\r\nconst modulesMap = (i: IModuleManifest) => i.menuItems || [];\r\n\r\nconst reduceMappedMenuItems = (prev: INavigationMenuItem[], curr: INavigationMenuItem[]) => prev.concat(curr);\r\n\r\nexport function MenuItemsProvider(props: IMenuItemsProviderProps) {\r\n const { children, modules } = props;\r\n const menuItemsInfo = React.useMemo(() => ({ menuItems: modules.map(modulesMap).reduce(reduceMappedMenuItems, []) }), [modules]);\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n","import { Navigate, Route } from 'react-router-dom';\r\nimport { IRouteBuilderContext } from '../../types';\r\n\r\nfunction OpenDashboardPage() {\r\n return ;\r\n}\r\n\r\nexport default function (context: IRouteBuilderContext) {\r\n return (\r\n <>\r\n } />\r\n \r\n );\r\n}\r\n","import { IModuleManifest } from 'types';\r\n\r\nimport routes from './routes';\r\n\r\nexport const CoreModule: IModuleManifest = {\r\n name: 'core',\r\n version: '1.0.0',\r\n description: 'Core Module',\r\n routes\r\n};\r\n","import React from 'react';\r\n\r\ntype ComponentLoader = () => Promise<{ default: React.ComponentType; }>;\r\n\r\nexport function asLazyLoadable(loader: ComponentLoader): React.ComponentType {\r\n return (props: TProps) => {\r\n const component: any = React.useMemo(() => React.lazy(loader), []);\r\n return React.createElement(component, props);\r\n };\r\n}\r\n","import { IRouteBuilderContext } from 'types';\r\nimport { asLazyLoadable } from 'lib/module';\r\nimport { Route } from 'react-router-dom';\r\n\r\nconst DashboardPage = asLazyLoadable(() => import('./pages/dashboard-page'));\r\n\r\nexport default (context: IRouteBuilderContext) => (\r\n <>\r\n } />\r\n \r\n);\r\n","var _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10, _path11, _path12, _path13, _path14, _path15, _path16, _path17, _path18, _path19, _path20, _path21, _path22, _path23;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgRouteNotFoundIllustration(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n width: \"393px\",\n height: \"250px\",\n viewBox: \"0 0 393 250\",\n enableBackground: \"new 0 0 393 250\",\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#5CB9CA\",\n d: \"M295.1,183.1c0,0,22.6,0.8,31-15.9s14.1-14.6,22.5-14.5s14.8-6,13-13c-1.9-7.1-7.2-8.7-7.2-8.7 s17.5-2.3,17.9-11.8s-10.5-8.2-10.5-8.2s17.5-11.7,7-21.5c-9-8.4-15.9,4.9-15.9,4.9s1.3-12.9-7.8-13c-14.4-0.2-6.9,17.6-6.9,17.6 s-5.8-6.5-13-3.4c-9.6,4.2,1.4,20.6,1.4,20.6s-8.4-2.8-13.3,1.2c-6.1,5-1.6,13.9,1.7,21.4c3.5,7.9,7.6,10.5,2,15 c-4.6,3.9-11.4-3.1-17,4.1C295.8,163.2,308.7,171.6,295.1,183.1z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.356,\n fill: \"#7ED4E3\",\n enableBackground: \"new \",\n d: \"M42.7,25.9c7.2,0,13-5.8,13-13s-5.8-13-13-13s-13,5.8-13,13 S35.5,25.9,42.7,25.9z\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#7ED4E3\",\n d: \"M110,60.6c14.8,0,26.8-12,26.8-26.8S124.8,7.1,110,7.1s-26.8,12-26.8,26.8S95.2,60.6,110,60.6z\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#F5F7F8\",\n d: \"M61.2,97.3c10.1,0,18.3-8.2,18.3-18.3s-8.2-18.3-18.3-18.3S42.9,68.9,42.9,79S51.1,97.3,61.2,97.3z\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#5CB9CA\",\n d: \"M68.3,208.8c0,0-2.3-17.1-10.1-28.2c-7.8-11.1-13.2-10.1-20-8.3c-6.6,1.8-10.8,4.2-14.2-1.5 c-3.2-5.5,2.4-9.3,2.4-9.3s-16,5.3-20.3-8c-3.5-10.8,3.4-18.5,9.6-20.2c8.9-2.4,16.2,4.5,16.2,4.5s-0.1-10.4,12-8.7 c10.6,1.5,11.1,20.4,11.1,20.4s4.3-10.3,13-3c7.3,6.2,9,21.7,8.2,34.7C75.5,190.3,68.3,208.8,68.3,208.8z\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#E1EAEE\",\n d: \"M138.1,44.3h125.4c37.5,0,67.9,30.4,67.9,67.9v30.7c0,37.5-30.4,67.9-67.9,67.9H138.1 c-37.5,0-67.9-30.4-67.9-67.9v-30.7C70.2,74.7,100.6,44.3,138.1,44.3z\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#39447A\",\n d: \"M201.2,221.8H71.4c-11.7,0-32-3.7-32-3.7v-3.2h323.5c-0.4,1.1-0.8,2.1-1.4,3.1c-0.5,0.4-25.9,3.7-39.7,3.7 L201.2,221.8z M71.1,214.3c-1.8,0-3.2-1.4-3.3-3.2v-158c0.1-6.4,5.3-11.4,11.7-11.3h242.2c6.4-0.1,11.6,5,11.7,11.3v158.1 c0,1.8-1.5,3.2-3.3,3.2L71.1,214.3z M74.3,53.1v155H327v-155c0-2.8-2.4-5.1-5.2-5.1H79.5C76.7,47.9,74.4,50.3,74.3,53.1z\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#F4F8FA\",\n d: \"M323.1,48c2.4,0,4.3,1.9,4.3,4.2v151.7c0,2.3-1.9,4.2-4.3,4.2H78.6c-2.4,0,0.3,0-4.3,0V52.2 c0-2.3,1.9-4.2,4.3-4.2H323.1z\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#EBEEF9\",\n d: \"M323.1,47.9c2.4,0,4.3,1.9,4.3,4.2v15.8H74.3V52.1c0-2.4,1.9-4.2,4.3-4.2C78.6,47.9,323.1,47.9,323.1,47.9z\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#FFFFFF\",\n d: \"M87,61.1c2,0,3.7-1.6,3.7-3.7S89,53.8,87,53.8s-3.7,1.6-3.7,3.7S85,61.1,87,61.1z\"\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#FFFFFF\",\n d: \"M101.2,61.1c2,0,3.7-1.6,3.7-3.7s-1.6-3.7-3.7-3.7c-2,0-3.7,1.6-3.7,3.7S99.2,61.1,101.2,61.1z\"\n })), _path12 || (_path12 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#105449\",\n d: \"M115.4,61.1c2,0,3.7-1.6,3.7-3.7s-1.6-3.7-3.7-3.7c-2,0-3.7,1.6-3.7,3.7S113.4,61.1,115.4,61.1z\"\n })), _path13 || (_path13 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#7ED4E3\",\n d: \"M71.1,215.3c0,0-12-11.7-19.2-16.9c-9.1-6.6-18-8.5-19.5-14c-1.2-4.5,4.5-6.7,9.2-4.6 c3.2,1.4,6.1,3.1,9.1,4.8c-3.7-5.8-8.6-10.6-14.5-14.2c-7.3-4.6-7.7-11.8-2.4-15.2s9.7-1.3,14.4,4.2c2.8,3.7,5.1,7.9,6.5,12.3 c0,0,0.6-10.1-1.1-16c-2.1-7.4-6.5-9.7-13.3-16.2c-6.6-6.2-1.3-15.9,6.2-16.2c9.6-0.4,15.2-0.1,14.3-6.5c-1.2-7.8-1.8-12.5,3.7-17.3 c7.5-6.7,15.6-2.7,20.5,4c4,5.4,0.5,16.2,0.5,16.2s5.3-5,12-2.4c7.3,2.8,7.1,11.7,4.7,16.3c-2.4,4.6-12.1,9.4-12.1,9.4 s8.1,0.1,7.5,6.7c-0.5,5.8-6.8,6.8-12.4,6.7c-4.1,0-11.6,4.5-11.6,4.5s11.1-2.8,12.6,4.4c1.3,6.4-5.3,9.2-10,11.4 c-3.1,1.5-5.7,3.7-7.9,6.1c0,0,6.6-3.8,9.3,1.4c2.7,5.1-0.9,9.3-5.3,12.1C68,199.4,68.7,207.8,71.1,215.3z\"\n })), _path14 || (_path14 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#7ED4E3\",\n d: \"M331.6,213.4c0-6.4-0.8-12.6-2.5-18.7c-3.3-12.5-12.4-17.2-8.5-24.8c4.4-8.7,14.8-3.2,14.8-3.2 s-15.1-16.2-3.6-23.2c9-5.4,13.2,4.1,13.2,4.1s2-20.6,12.8-16.6c12,4.3,0.7,19.5,0.7,19.5s11.1-4.9,14.4,5.4 c3.1,9.6-12.3,12.2-13.1,14.1c-1.4,3,6.6-1.7,9,5.9c1.8,5.8-6.7,10.6-18.1,15.7C339.4,196.5,333.8,207.5,331.6,213.4z\"\n })), _path15 || (_path15 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#F5AB90\",\n d: \"M255.4,31.8c2.9,0,5.3-2.4,5.3-5.3s-2.4-5.3-5.3-5.3s-5.3,2.4-5.3,5.3C250.1,29.5,252.5,31.8,255.4,31.8z\"\n })), _path16 || (_path16 = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.478,\n fill: \"#0077D9\",\n enableBackground: \"new \",\n d: \"M292,100.2c2.9,0,5.3-2.4,5.3-5.3s-2.4-5.3-5.3-5.3 s-5.3,2.4-5.3,5.3C286.7,97.9,289,100.2,292,100.2z\"\n })), _path17 || (_path17 = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.506,\n fill: \"#F1C411\",\n enableBackground: \"new \",\n d: \"M360.4,37.7c2.9,0,5.3-2.4,5.3-5.3s-2.4-5.3-5.3-5.3 s-5.3,2.4-5.3,5.3C355.1,35.4,357.4,37.7,360.4,37.7z\"\n })), _path18 || (_path18 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#B6383E\",\n d: \"M302.4,250c21.2,0,38.3-17.2,38.3-38.3c0-21.2-17.2-38.3-38.3-38.3s-38.3,17.2-38.3,38.3 S281.3,250,302.4,250z\"\n })), _path19 || (_path19 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#FFFFFF\",\n d: \"M318,222.5l-11-11l11.1-11.1c1.2-1.2,1.2-3.2,0-4.1c-1.2-1.2-3.2-1.2-4.1,0l-11.1,11.1l-11.3-11.3 c-1.2-1.2-3.2-1.2-4.1,0c-1.2,1.2-1.2,3.2,0,4.1l11.1,11.1l-11.3,11.3c-1.2,1.2-1.2,3.2,0,4.1c0.6,0.6,1.4,0.8,2.2,0.8 c0.8,0,1.6-0.2,2.2-0.8l11.1-11.1l11.1,11.1c0.6,0.6,1.4,0.8,2.2,0.8s1.6-0.2,2.2-0.8C319.2,225.5,319.2,223.7,318,222.5z\"\n })), _path20 || (_path20 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#F1C411\",\n d: \"M157.7,142.4v6.1H127l-0.3-4.7l18.1-28.5h6.2l-6.7,11.3l-9.7,15.8L157.7,142.4L157.7,142.4z M152.6,115.3 V158h-7.8v-42.7H152.6z\"\n })), _path21 || (_path21 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#F1C411\",\n d: \"M257.9,142.4v6.1h-30.7l-0.3-4.7l18.1-28.5h6.2l-6.7,11.3l-9.7,15.8L257.9,142.4L257.9,142.4z M252.9,115.3 V158h-7.8v-42.7H252.9z\"\n })), _path22 || (_path22 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#0077D9\",\n d: \"M214.8,129.9l-1.8-0.3c-0.1-0.2-0.2-0.4-0.3-0.6l1-1.5c1.6-2.2,1.3-5.2-0.6-7.1l-2.9-2.9 c-1.9-1.9-4.9-2.1-7-0.6l-1.5,1c-0.3-0.1-0.5-0.2-0.7-0.3l-0.3-1.7c-0.4-2.6-2.7-4.6-5.4-4.6h-4.1c-2.7,0-5,1.9-5.4,4.6l-0.3,1.8 c-0.2,0.1-0.4,0.2-0.6,0.3l-1.4-1c-2.2-1.6-5.2-1.3-7.1,0.6l-2.9,2.9c-1.9,1.9-2.2,4.9-0.6,7.1l1.1,1.5c-0.1,0.2-0.2,0.4-0.3,0.6 L172,130c-2.6,0.4-4.6,2.7-4.6,5.4v4.1c0,2.7,1.9,5,4.6,5.4l1.8,0.3c0.1,0.2,0.2,0.4,0.3,0.6l-1,1.4c-1.6,2.2-1.3,5.2,0.6,7.1 l2.9,2.9c1.9,1.9,4.9,2.1,7.1,0.6l1.5-1.1c0.2,0.1,0.3,0.1,0.5,0.2l0.3,1.8c0.4,2.6,2.7,4.6,5.4,4.6h4.1c2.7,0,5-1.9,5.4-4.6 l0.3-1.8c0.2-0.1,0.4-0.2,0.6-0.3l1.4,1c2.2,1.6,5.2,1.3,7.1-0.6l2.9-2.9c1.9-1.9,2.2-4.9,0.6-7.1l-1-1.5c0.1-0.2,0.2-0.4,0.3-0.6 l1.8-0.3c2.6-0.4,4.6-2.7,4.6-5.4v-4.1C219.4,132.6,217.4,130.3,214.8,129.9z M214.2,139.5c0,0.1-0.1,0.2-0.2,0.2l-3.2,0.5 c-1,0.2-1.9,0.9-2.1,1.9c-0.3,0.9-0.7,1.8-1.1,2.6c-0.5,0.9-0.4,2,0.2,2.8l1.9,2.7c0.1,0.1,0.1,0.3,0,0.4l-2.9,2.9 c-0.1,0.1-0.1,0.1-0.2,0.1c-0.1,0-0.1,0-0.2-0.1l-2.6-1.9c-0.8-0.6-1.9-0.7-2.8-0.2c-0.8,0.4-1.7,0.8-2.6,1.1 c-1,0.3-1.7,1.1-1.9,2.1l-0.6,3.2c0,0.2-0.1,0.3-0.3,0.3h-4.1c-0.2,0-0.3-0.1-0.3-0.3l-0.5-3.2c-0.2-1-0.9-1.8-1.9-2.1 c-0.9-0.3-1.7-0.6-2.5-1c-0.4-0.2-0.8-0.3-1.3-0.3c-0.6,0-1.1,0.2-1.6,0.5l-2.7,1.9c0,0-0.1,0.1-0.2,0.1c-0.1,0-0.2,0-0.2-0.1 l-2.9-2.9c-0.1-0.1-0.1-0.3,0-0.4l1.9-2.6c0.6-0.8,0.7-1.9,0.2-2.8c-0.4-0.8-0.8-1.7-1.1-2.6c-0.3-1-1.1-1.7-2.1-1.9l-3.3-0.6 c-0.2,0-0.3-0.1-0.3-0.3v-4.1c0-0.2,0.1-0.3,0.3-0.3l3.2-0.5c1-0.2,1.8-0.9,2.1-1.9c0.3-0.9,0.6-1.8,1.1-2.6c0.5-0.9,0.4-2-0.2-2.8 l-1.9-2.7c-0.1-0.1-0.1-0.3,0-0.4l2.9-2.9c0.1-0.1,0.1-0.1,0.2-0.1c0.1,0,0.1,0,0.2,0.1l2.6,1.9c0.8,0.6,1.9,0.7,2.8,0.2 c0.8-0.4,1.7-0.8,2.6-1.1c1-0.3,1.7-1.1,1.9-2.1l0.6-3.3c0-0.2,0.1-0.3,0.3-0.3h4.1c0.2,0,0.3,0.1,0.3,0.3l0.5,3.2 c0.2,1,0.9,1.9,1.9,2.1c0.9,0.3,1.9,0.7,2.7,1.1c0.9,0.5,2,0.4,2.8-0.2l2.7-1.9c0,0,0.1-0.1,0.2-0.1c0.1,0,0.2,0,0.2,0.1l2.9,2.9 c0.1,0.1,0.1,0.3,0,0.4l-1.9,2.6c-0.6,0.8-0.7,1.9-0.2,2.8c0.4,0.8,0.8,1.7,1.1,2.6c0.3,1,1.1,1.7,2.1,1.9l3.2,0.5 c0.1,0,0.2,0.1,0.2,0.3L214.2,139.5L214.2,139.5z\"\n })), _path23 || (_path23 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#0077D9\",\n d: \"M193.4,126.6c-6,0-10.8,4.8-10.8,10.8s4.8,10.8,10.8,10.8s10.8-4.8,10.8-10.8S199.4,126.6,193.4,126.6z M199,137.4c0,3.1-2.5,5.6-5.6,5.6s-5.6-2.5-5.6-5.6c0-3.1,2.5-5.6,5.6-5.6S199,134.3,199,137.4z\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgRouteNotFoundIllustration);\nexport default __webpack_public_path__ + \"static/media/route-not-found-illustration.efd1ff88.svg\";\nexport { ForwardRef as ReactComponent };","import { IModuleManifest } from 'types';\r\nimport routes from './routes';\r\n\r\nexport const DashboardModule: IModuleManifest = {\r\n name: 'dashboard',\r\n version: '1.0.0',\r\n description: 'Dashboard Module',\r\n routes,\r\n // Todo: need to remove this later\r\n menuItems: [{\r\n id: 'dashboard',\r\n label: 'Dashboard',\r\n iconName: 'ap-home.solid',\r\n order: 200,\r\n data: {\r\n route: '/dashboard'\r\n }\r\n }]\r\n};\r\n","import { IRouteBuilderContext } from 'types';\r\nimport { asLazyLoadable } from 'lib/module';\r\nimport { Route } from 'react-router-dom';\r\n\r\nconst AppDetailsPage = asLazyLoadable(() => import('./pages/app-details-page'));\r\n\r\nexport default (context: IRouteBuilderContext) => (\r\n <>\r\n } />\r\n \r\n);\r\n","import { CoreModule } from './core';\r\nimport { IModuleManifest } from 'types';\r\nimport { DashboardModule } from './dashboard';\r\nimport { AppDetailsModule } from './app-details';\r\n\r\nconst allModules: IModuleManifest[] = [CoreModule, DashboardModule, AppDetailsModule];\r\n\r\nexport default allModules.slice();\r\n","import { IModuleManifest } from 'types';\r\nimport routes from './routes';\r\n\r\nexport const AppDetailsModule: IModuleManifest = {\r\n name: 'app-details',\r\n version: '1.0.0',\r\n description: 'App Details Module',\r\n routes,\r\n // Todo: need to remove this later\r\n menuItems: [{\r\n id: 'app-details',\r\n label: 'AppDetails',\r\n iconName: 'ap-home.solid',\r\n order: 200,\r\n data: {\r\n route: '/app-details'\r\n }\r\n }]\r\n};\r\n","import styled from 'styled-components';\r\nimport { StackPanel, Typography, typographyPresets } from '@agilepoint/wat-react-ux';\r\nimport { ReactComponent as NotFoundIllustration } from '../../../assets/svg/route-not-found-illustration.svg';\r\nimport { useTranslate } from '@agilepoint/wat-react';\r\n\r\nexport interface INotFoundPageProps {\r\n className?: string;\r\n}\r\n\r\nconst MainHeaderInfo = styled.div`\r\n ${typographyPresets.headings.h1};\r\n font-size: 40px;\r\n font-weight: 400;\r\n`;\r\n\r\nexport function NotFoundPage(props: INotFoundPageProps) {\r\n const { className } = props;\r\n const translate = useTranslate();\r\n\r\n return (\r\n \r\n \r\n \r\n Oops!\r\n {translate('messages.pageDoesNotExists')}\r\n \r\n \r\n );\r\n}\r\n","import * as React from 'react';\r\nimport styled from 'styled-components';\r\nimport { FlexBox, IBaseComponentProps } from '@agilepoint/wat-react-ux';\r\nimport { Route, Routes } from 'react-router';\r\nimport { NotFoundPage } from 'modules/core/pages/not-found-page';\r\nimport { LoadingIllustration } from 'common';\r\n\r\nexport interface ICoreAppLayoutProps extends IBaseComponentProps {\r\n routes: React.ReactNode[];\r\n}\r\n\r\nexport function CoreAppLayoutBase(props: ICoreAppLayoutProps) {\r\n const { routes, className } = props;\r\n\r\n return (\r\n \r\n \r\n }>\r\n \r\n {routes}\r\n } />\r\n \r\n \r\n \r\n \r\n );\r\n\r\n}\r\n\r\nconst ContentArea = styled.div`\r\n height: 100%;\r\n flex-grow: 1;\r\n width: 100%;\r\n`;\r\n\r\nexport const CoreAppLayout = styled(CoreAppLayoutBase)`\r\n letter-spacing: .1px;\r\n height: 100%;\r\n width: 100%;\r\n`;\r\n","import React from 'react';\r\nimport { IBaseComponentProps, CultureProvider } from '@agilepoint/wat-react-ux';\r\nimport { CoreAppLayout } from '../layouts/core-app-layout';\r\n\r\nexport interface ICoreAppLayoutProps extends IBaseComponentProps {\r\n routes: React.ReactNode[];\r\n}\r\n\r\nexport function CoreAppLayoutContainer(props: ICoreAppLayoutProps) {\r\n // Todo: Need to add culture dynamically it is hardcoded for now\r\n return (\r\n \r\n {React.createElement(CoreAppLayout, props)}\r\n \r\n );\r\n}\r\n","import { PrimaryButton, StackPanel } from '@agilepoint/wat-react-ux';\r\nimport { getErrorMessage } from 'common/utils/error-message-utils';\r\nimport styled from 'styled-components';\r\nimport { ErrorInfo } from './api-error';\r\n\r\ninterface IErrorFallBackProps {\r\n error: any;\r\n resetErrorBoundary: any;\r\n}\r\n\r\nconst ErrorFallbackWrapper = styled.div`\r\n width: 100%;\r\n height: 100%;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n flex-direction: column;\r\n`;\r\n\r\nexport function ReloadButton() {\r\n return ( window.location.reload()} label=\"Try Again\" title='Reload' />);\r\n}\r\n\r\nexport function ErrorFallback(props: IErrorFallBackProps) {\r\n const { error } = props;\r\n const errorMessage = getErrorMessage(error);\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import { BrowserRouter } from 'react-router-dom';\r\nimport { ILocalizer } from '@agilepoint/wat-react';\r\nimport { IAppContext, IAuthorizationContext, IConfigurationBase } from '@agilepoint/wat';\r\nimport {\r\n WatReactAppContainer, PopupMessageHost, WindowSizeProvider, WithNotificationList, WithPopup\r\n} from '@agilepoint/wat-react-ux';\r\nimport { memo, Component } from 'react';\r\nimport { Store } from 'redux';\r\nimport { IIocContainerBuilder } from '@agilepoint/restate-core/lib/ioc-container';\r\nimport { combineUrl, memoizeFunction } from '@agilepoint/utils-common';\r\nimport { ErrorBoundary } from 'react-error-boundary';\r\nimport styled from 'styled-components';\r\nimport { PermissionCode } from './lib/authorization';\r\nimport { createConfigScopeBuilder } from './modules/core/scopes';\r\nimport { appContextDependency } from './dependencies';\r\nimport { IApplicationConfig } from './types';\r\nimport { LoadingIllustration, ServiceClientProvider } from './common';\r\nimport { QueryClient, QueryClientProvider } from 'react-query';\r\nimport { MenuItemsProvider } from 'modules/core/providers/menu-item-provider';\r\nimport modules from 'modules';\r\nimport { CoreAppLayoutContainer } from 'modules/core/containers';\r\nimport { RestateProvider, ScopeRegistrar } from '@agilepoint/react-restate';\r\nimport { ErrorFallback } from 'common/components/api-error/error-fallback';\r\n\r\nexport interface IAppProps {\r\n appContext: IAppContext;\r\n authorizationContext: IAuthorizationContext;\r\n localizer: ILocalizer;\r\n store: Store;\r\n routes: React.ReactNode[];\r\n}\r\n\r\nconst BottomRightNotificationList = styled(WithNotificationList)`\r\n bottom: 50px;\r\n right: 32px;\r\n top: unset;\r\n left: unset;\r\n width: auto;\r\n`;\r\n\r\ninterface IAppRouterProps {\r\n appContext: IAppContext;\r\n children: any;\r\n}\r\n\r\nconst AppRouter = memo(({ appContext, children }: IAppRouterProps) => (\r\n \r\n {children}\r\n \r\n));\r\n\r\nfunction getIconsPath(basePath: string) {\r\n const genericIconsSpritePath = combineUrl(basePath, '/assets/icons/generic/sprite.symbol.svg');\r\n return { genericIconsSpritePath };\r\n}\r\n\r\n// Create a client\r\nconst queryClient = new QueryClient({ defaultOptions: { queries: { refetchOnWindowFocus: false, cacheTime: 0 } } });\r\n\r\nexport class App extends Component>{\r\n private configScopeFactory: any;\r\n\r\n private loaderFallback = memoizeFunction((error?: Error) => (\r\n error\r\n ? {error.message}\r\n : \r\n ));\r\n\r\n constructor(props: IAppProps) {\r\n super(props);\r\n const { appContext: { configuration } } = props;\r\n this.configScopeFactory = createConfigScopeBuilder(configuration);\r\n }\r\n\r\n render() {\r\n const { store, appContext, localizer, routes } = this.props;\r\n const { genericIconsSpritePath } = getIconsPath(appContext.configuration.basePath);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* Todo: MenuItemsProvider is not required currently has to be removed later */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private onBuildIocContainer = (builder: IIocContainerBuilder) => {\r\n appContextDependency.inject(builder, this.props.appContext);\r\n };\r\n}\r\n","import { IAccessRight } from '@agilepoint/wat';\r\nimport { PermissionCode } from './permissions';\r\n\r\nexport enum AccessRightKeys {\r\n\r\n}\r\n\r\nexport const accessRights: IAccessRight[] = [\r\n\r\n];\r\n","import * as React from 'react';\r\nimport { Store, createStore, compose } from 'redux';\r\nimport { createAuthorizationContext, IAppContext, isProduction } from '@agilepoint/wat';\r\nimport {\r\n createLocalizer, injectAuthorizationProvider, injectLocalizationProvider, ILocalizer\r\n} from '@agilepoint/wat-react';\r\nimport { composeWithDevTools } from 'redux-devtools-extension';\r\nimport { App } from './app';\r\nimport { IApplicationConfig, IRouteBuilderContext, MenuGroup } from './types';\r\nimport modules from './modules';\r\nimport { accessRights, PermissionCode } from './lib/authorization';\r\nimport { LoadingIllustration } from './common/components';\r\n\r\ninterface IAppLoadingContext {\r\n loading?: boolean;\r\n localizer?: ILocalizer;\r\n accessCodes?: string[];\r\n store?: Store;\r\n error?: Error;\r\n}\r\n\r\nconst createRoutes = (appContext: IAppContext) => {\r\n const routeContext: IRouteBuilderContext = {\r\n baseUrl: appContext.configuration.baseUrl,\r\n appContext,\r\n getMenuItemsByGroup(group: MenuGroup) {\r\n return [];\r\n }\r\n };\r\n return modules.map(i => i.routes(routeContext).props.children).reduce((prev, curr) => prev.concat(curr), []);\r\n};\r\n\r\nconst AppWithAuthorizerLocalizer = injectLocalizationProvider(injectAuthorizationProvider(App));\r\n\r\nexport function AppLoader(props: {\r\n appContext: IAppContext;\r\n}) {\r\n const { appContext } = props;\r\n const routes = React.useMemo(() => createRoutes(appContext), [appContext]);\r\n const [appLoadingContext, setAppLoadingContext] = React.useState({ loading: true });\r\n const isInProduction = isProduction(appContext.configuration.environment);\r\n\r\n React.useMemo(() => {\r\n Promise.all(\r\n [\r\n createLocalizer({\r\n configuration: appContext.configuration,\r\n namespacesToLoad: ['app'],\r\n waitTillInitialized: true,\r\n debug: !isInProduction\r\n })\r\n ]).then(([localizer]) => {\r\n setAppLoadingContext({ loading: false, localizer });\r\n })\r\n .catch(r => setAppLoadingContext({ loading: false, error: r }));\r\n\r\n }, [appContext, isInProduction]);\r\n\r\n const store = React.useMemo(() => {\r\n const enhancer = compose();\r\n const composed = isInProduction ? enhancer : composeWithDevTools(enhancer);\r\n return createStore((state) => (state === undefined ? {} : state), composed);\r\n\r\n }, [isInProduction]);\r\n\r\n const authorizationContext = React.useMemo(() => {\r\n const accessCodes = (appLoadingContext.accessCodes ? appLoadingContext.accessCodes : []) as PermissionCode[];\r\n const authContext = createAuthorizationContext();\r\n authContext.authorizer.registerAccessRights(...accessRights);\r\n authContext.permissionStore.add(...accessCodes);\r\n return authContext;\r\n }, [appLoadingContext.accessCodes]);\r\n\r\n const appProps = React.useMemo(() => ({\r\n appContext,\r\n authorizationContext,\r\n localizer: appLoadingContext.localizer!,\r\n store,\r\n routes\r\n }), [store, appContext, routes, authorizationContext, appLoadingContext.localizer]);\r\n\r\n if (appLoadingContext.loading) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n if (appLoadingContext.error) {\r\n return (\r\n

{appLoadingContext.error.toString()}

\r\n );\r\n }\r\n\r\n return React.createElement(AppWithAuthorizerLocalizer, appProps);\r\n}\r\n","/* eslint-disable eqeqeq */\r\n/* eslint-disable comma-dangle */\r\n// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://cra.link/PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.0/8 are considered localhost for IPv4.\r\n window.location.hostname.match(/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)\r\n);\r\n\r\ntype Config = {\r\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\r\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\r\n};\r\n\r\nexport function register(config?: Config) {\r\n if ('serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://cra.link/PWA'\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl: string, config?: Config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then((registration) => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://cra.link/PWA.'\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch((error) => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl: string, config?: Config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl, {\r\n headers: { 'Service-Worker': 'script' },\r\n })\r\n .then((response) => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type');\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf('javascript') === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then((registration) => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log('No internet connection found. App is running in offline mode.');\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready\r\n .then((registration) => {\r\n registration.unregister();\r\n })\r\n .catch((error) => {\r\n console.error(error.message);\r\n });\r\n }\r\n}\r\n","export enum hostUserDetailsTypes {\r\n accessToken = 'accessToken',\r\n userName = 'userName',\r\n fullName = 'fullName',\r\n apServerUrl = 'apServerUrl',\r\n portalUrl = 'portalUrl'\r\n}\r\n\r\nexport enum portalParams {\r\n params = 'params'\r\n}\r\n","// Note: The user details are stored on session storage now instead of cookie, in the future need to store the value with encodedURI format.\r\n\r\nexport function setSessionStorageItem(sessionStorageName: string, sessionStorageValue: string, expireDays: number, keepMeSignedIn: boolean) {\r\n // const date = new Date();\r\n // // here days are converted to milliseconds\r\n // date.setTime(date.getTime() + (expireDays * 24 * 60 * 60 * 1000));\r\n // const expires = 'expires=' + date.toUTCString();\r\n // const cookieExpireValue = keepMeSignedIn ? expires : '';\r\n // const encodedCookieValue = encodeURI(cookieValue);\r\n // document.cookie = cookieName + '=' + encodedCookieValue + ';' + cookieExpireValue + ';path=/';\r\n sessionStorage.setItem(sessionStorageName, sessionStorageValue);\r\n}\r\n\r\nexport function getSessionStorageItem(sessionStorageName: string) {\r\n // const name = cookieName + '=';\r\n // const cookieList = document.cookie.split(';');\r\n // for (let i = 0; i < cookieList.length; i++) {\r\n // let cookie = cookieList[i];\r\n // while (cookie.charAt(0) === ' ') {\r\n // cookie = cookie.substring(1);\r\n // }\r\n // if (cookie.indexOf(name) === 0) {\r\n // const decodedCookieValue = decodeURI(cookie.substring(name.length, cookie.length) || '');\r\n // return decodedCookieValue;\r\n // }\r\n // }\r\n // return '';\r\n return sessionStorage.getItem(sessionStorageName) || '';\r\n}\r\n\r\nexport function isSessionStorageSupported() {\r\n // return typeof document === 'object' && typeof document.cookie === 'string';\r\n return typeof sessionStorage === 'object';\r\n}\r\n\r\nexport function clearSessionStorage() {\r\n // const cookiesList = document.cookie.split(';');\r\n // for (let i = 0; i < cookiesList.length; i++) {\r\n // const cookie = cookiesList[i];\r\n // const eqPos = cookie.indexOf('=');\r\n // const name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie;\r\n // document.cookie = name + '=;Path=/;expires=Thu, 01 Jan 1970 00:00:00 GMT';\r\n // }\r\n sessionStorage.clear();\r\n}\r\n","import { combineUrl } from '@agilepoint/utils-common';\r\nimport { ConfigSource, IConfigurationBase } from '@agilepoint/wat';\r\nimport { getURLQueryParams } from 'lib/hooks/url-query-params';\r\nimport { portalParams } from 'modules/core/defaults/login-defaults';\r\nimport { IhostUserDetails } from 'modules/core/types';\r\nimport { IApplicationConfig } from 'types';\r\nimport { getSessionStorageItem, setSessionStorageItem } from './session-storage';\r\n\r\nexport const SESSION_STORAGE_ITEM_NAME = 'AP_APPSTORE_AUTH';\r\n\r\nconst configFilePath = combineUrl(process.env.PUBLIC_URL, 'config.json');\r\n\r\n// function checkIfURLParamExists() {\r\n// const paramsValues = getURLQueryParams(portalParams);\r\n// return Object.keys(paramsValues).length > 0;\r\n// }\r\n\r\nfunction clearURLParam() {\r\n const appStoreURL = window.location.href.split('?')[0];\r\n window.history.replaceState('object', document.title, appStoreURL);\r\n}\r\n\r\nexport function clearLegacyURLParam() {\r\n const appStoreURL = location.href.split('/params(')[0];\r\n window.history.replaceState('object', document.title, appStoreURL);\r\n}\r\n\r\nconst gethostUserConfig = (paramsValue: string) => {\r\n const decodedData = paramsValue ? window.atob(paramsValue) : '';\r\n const userDetails = paramsValue ? JSON.parse(decodedData) as IhostUserDetails : {} as IhostUserDetails;\r\n return userDetails;\r\n};\r\n\r\nconst getAPConfig = (userConfig: IhostUserDetails, legacyApp: boolean) => {\r\n const { accessToken, apServerUrl, fullName, portalUrl, userName } = userConfig;\r\n const formattedServerURL = apServerUrl.endsWith('/') ? apServerUrl : apServerUrl + '/';\r\n return {\r\n portalUrl,\r\n isLegacy: legacyApp,\r\n apiUrl: formattedServerURL,\r\n auth: accessToken,\r\n culture: 'en-US',\r\n domain: '',\r\n userLocale: '',\r\n staySignedIn: false,\r\n userDetails: {\r\n fullName,\r\n userName\r\n }\r\n };\r\n};\r\n\r\nconst getUserDetailsConfig = (config: IApplicationConfig, legacyApp: boolean) => {\r\n const urlParam = getURLQueryParams(portalParams);\r\n const paramsValue = urlParam.params ? urlParam.params : '';\r\n const userConfig = gethostUserConfig(paramsValue);\r\n const { accessToken, apServerUrl, fullName, portalUrl, userName } = userConfig;\r\n const formattedServerURL = apServerUrl.endsWith('/') ? apServerUrl : apServerUrl + '/';\r\n const apConfig = getAPConfig(userConfig, legacyApp);\r\n const applicationConfig = paramsValue && paramsValue !== '' ? {\r\n ...config,\r\n portalUrl,\r\n isLegacy: legacyApp,\r\n agilepoint: {\r\n ...config.agilepoint,\r\n ...{\r\n apiUrl: formattedServerURL,\r\n auth: accessToken,\r\n culture: 'en-US',\r\n domain: '',\r\n userLocale: '',\r\n staySignedIn: false,\r\n userDetails: {\r\n ...config.agilepoint.userDetails,\r\n fullName,\r\n userName\r\n },\r\n portalUrl\r\n }\r\n }\r\n } : config as IConfigurationBase;\r\n return {\r\n applicationConfig,\r\n cookieConfig: apConfig\r\n };\r\n};\r\n\r\nconst setSessionStorageData = (sessionInfo: any) => {\r\n setSessionStorageItem(SESSION_STORAGE_ITEM_NAME, JSON.stringify(sessionInfo), 14, false);\r\n};\r\n\r\nconst getUserDetailsConfigFromSessionStorage = (configDetails: IApplicationConfig) => {\r\n const sessionStorageData = getSessionStorageItem(SESSION_STORAGE_ITEM_NAME);\r\n const parsedSessionStorageInfo = JSON.parse(sessionStorageData);\r\n return {\r\n ...configDetails,\r\n portalUrl: parsedSessionStorageInfo.portalUrl,\r\n isLegacy: parsedSessionStorageInfo.isLegacy,\r\n agilepoint: {\r\n ...configDetails.agilepoint,\r\n ...parsedSessionStorageInfo\r\n }\r\n };\r\n};\r\n\r\n// Read config file details\r\nasync function getStoreUserContext() {\r\n const getConfigDeatils = ConfigSource.fromFile(configFilePath);\r\n const configDetails = await getConfigDeatils.load();\r\n return configDetails;\r\n}\r\n\r\nconst isLegacyApp = () => {\r\n const paramsValues = getURLQueryParams(portalParams);\r\n return (paramsValues.params === undefined);\r\n};\r\n\r\nconst getLegacyhostUserConfig = () => {\r\n const url = window.location.href;\r\n const params = (url.split('params(')[1]);\r\n const parsedConfig = params && params.substring(0, params.length - 1);\r\n const config = parsedConfig.split(',');\r\n const accessToken = config[0] && window.decodeURIComponent(config[0]);\r\n const userName = config[1];\r\n const fullName = config[2];\r\n const apServerUrl = config[3];\r\n const portalUrl = config[4];\r\n const userDetails = {\r\n accessToken: accessToken,\r\n userName,\r\n fullName,\r\n apServerUrl,\r\n portalUrl\r\n } as IhostUserDetails;\r\n return userDetails;\r\n};\r\n\r\nconst getLegacyUserDetailsConfig = (config: IApplicationConfig, legacyApp: boolean) => {\r\n const userConfig = getLegacyhostUserConfig();\r\n const { accessToken, apServerUrl, fullName, portalUrl, userName } = userConfig;\r\n const formattedServerURL = apServerUrl.endsWith('/') ? apServerUrl : apServerUrl + '/';\r\n const apConfig = getAPConfig(userConfig, legacyApp);\r\n const applicationConfig = userConfig ? {\r\n ...config,\r\n portalUrl,\r\n isLegacy: legacyApp,\r\n agilepoint: {\r\n ...config.agilepoint,\r\n ...{\r\n apiUrl: formattedServerURL,\r\n auth: accessToken,\r\n culture: 'en-US',\r\n domain: '',\r\n userLocale: '',\r\n staySignedIn: false,\r\n userDetails: {\r\n ...config.agilepoint.userDetails,\r\n fullName,\r\n userName\r\n },\r\n portalUrl\r\n }\r\n }\r\n } : config as IConfigurationBase;\r\n return {\r\n applicationConfig,\r\n cookieConfig: apConfig\r\n };\r\n};\r\n\r\nconst hasURLQueryParam = () => {\r\n const url = window.location.href;\r\n return (url.includes('params'));\r\n};\r\n\r\nexport async function getHostUserDetails() {\r\n // Get store app user context\r\n const configDetails = await getStoreUserContext();\r\n\r\n // Check if legacy app params\r\n const urlQueryParam = hasURLQueryParam();\r\n\r\n const legacyApp = isLegacyApp();\r\n // get session storage details\r\n const sessionStorageValue = getSessionStorageItem(SESSION_STORAGE_ITEM_NAME);\r\n\r\n // Check if URL param exists or session storage value exists\r\n if (sessionStorageValue) {\r\n const apSessionConfig = getUserDetailsConfigFromSessionStorage(configDetails);\r\n return apSessionConfig;\r\n }\r\n if(urlQueryParam) {\r\n if(legacyApp) {\r\n if (sessionStorageValue === '') {\r\n const userConfigs = getLegacyUserDetailsConfig(configDetails, legacyApp);\r\n // set the session storage\r\n setSessionStorageData(userConfigs.cookieConfig);\r\n return userConfigs.applicationConfig;\r\n }\r\n }\r\n if (sessionStorageValue === '') {\r\n const hostUserDetails = getUserDetailsConfig(configDetails, legacyApp);\r\n // set the session storage\r\n setSessionStorageData(hostUserDetails.cookieConfig);\r\n // Remove param from URL, since the user details will be in session storage\r\n clearURLParam();\r\n return hostUserDetails.applicationConfig;\r\n }\r\n }\r\n // If URL param doesn't exists send the default store use context\r\n return configDetails;\r\n}\r\n\r\n","import * as ReactDOM from 'react-dom';\r\nimport { createAppContext, ConfigSource, IConfigSource, ICreateAppContextOptions } from '@agilepoint/wat';\r\nimport { combineUrl } from '@agilepoint/utils-common';\r\nimport './themes';\r\nimport { AppLoader } from './app-loader';\r\nimport { IApplicationConfig } from './types';\r\nimport * as serviceWorkerRegistration from './serviceWorkerRegistration';\r\nimport { getHostUserDetails } from 'common/utils/auth-handler-util';\r\n\r\ndeclare global {\r\n // tslint:disable-next-line:interface-name\r\n interface Window {\r\n __AP__: {\r\n authentication: ICreateAppContextOptions['authentication'];\r\n appStoreConfigurations: {\r\n config: IApplicationConfig;\r\n }\r\n };\r\n }\r\n}\r\n\r\nconst configFilePath = combineUrl(process.env.PUBLIC_URL, 'config.json');\r\n\r\nexport default async function boot() {\r\n\r\n const hostUserDetails = await getHostUserDetails();\r\n\r\n const configSource: IConfigSource = hostUserDetails ?\r\n ConfigSource.from(hostUserDetails as any) :\r\n ConfigSource.fromFile(configFilePath);\r\n\r\n async function getAuthInfo() {\r\n return { auth: hostUserDetails?.agilepoint?.auth, expires: 3600 };\r\n }\r\n // NOTE: Renew token needs to be implmented\r\n const appContext = await createAppContext({\r\n configSource, authentication: {\r\n getToken: getAuthInfo,\r\n renewToken: getAuthInfo\r\n }\r\n });\r\n\r\n const { rootSelector = '#app-store-nxt-root' } = appContext.configuration;\r\n\r\n const host = document.querySelector(`body ${rootSelector}`);\r\n\r\n if (!host) {\r\n throw new Error('Invalid host. Please check rootSelector value in your configuration');\r\n }\r\n\r\n ReactDOM.render(, host);\r\n}\r\n\r\nboot();\r\n\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://cra.link/PWA\r\nserviceWorkerRegistration.unregister();\r\n/*serviceWorkerRegistration.register({\r\n onUpdate: (registration) => {\r\n\r\n // eslint-disable-next-line no-alert\r\n if (confirm('There is an update pending, do you want to refresh?')) {\r\n // Assuming the user accepted the update, set up a listener\r\n // that will reload the page as soon as the previously waiting\r\n // service worker has taken control.\r\n\r\n registration.addEventListener('controlling', () => {\r\n window.location.reload();\r\n });\r\n\r\n if (registration && registration.waiting) {\r\n // Send a message to the waiting service worker,\r\n // instructing it to activate.\r\n // Note: for this to work, you have to add a message\r\n // listener in your service worker. See below.\r\n messageSW(registration.waiting, { type: 'SKIP_WAITING' });\r\n }\r\n }\r\n }\r\n});*/\r\n\r\n// If you want to start measuring performance in your app, pass a function\r\n// to log results (for example: reportWebVitals(console.log))\r\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\r\n","import { createDependency } from '@agilepoint/restate-core/lib/ioc-container';\r\nimport { IAppContext, IConfigurationBase } from '@agilepoint/wat';\r\n\r\nexport const appContextDependency = createDependency>(Symbol('AppContext'));\r\n","import { memoizeFunction } from '@agilepoint/utils-common';\r\n\r\nconst defaultErrorMessage = 'Error: Something went wrong!';\r\nexport const getErrorMessage = memoizeFunction((error: unknown): string => {\r\n try {\r\n if (error) {\r\n if (typeof(error) === 'string') {\r\n return error;\r\n }\r\n return (error as any).message || defaultErrorMessage;\r\n }\r\n return defaultErrorMessage;\r\n } catch {\r\n return defaultErrorMessage;\r\n }\r\n});\r\n","import React, { Suspense } from 'react';\r\nimport styled from 'styled-components';\r\nimport { IBaseComponentProps, Typography, FlexBox, Illustration, IPalette, StackPanel } from '@agilepoint/wat-react-ux';\r\nimport { IllustrationName } from '@agilepoint/web-components';\r\nimport { generateId } from '@agilepoint/utils-common';\r\nimport { Localize } from '@agilepoint/wat-react';\r\n\r\ninterface IIllustrationMessageProps extends IBaseComponentProps {\r\n type: IllustrationName;\r\n displayMessage?: string;\r\n title?: string;\r\n color?: 'blue' | 'black';\r\n width?: string;\r\n height?: string;\r\n onRenderMessageContent?(): React.ReactNode;\r\n}\r\n\r\nfunction getColor(palette: IPalette, color?: string) {\r\n switch (color) {\r\n case 'black':\r\n return palette.neutralPrimary;\r\n case 'blue':\r\n return palette.themePrimary;\r\n default:\r\n return palette.neutralPrimary;\r\n }\r\n}\r\n\r\nexport const IllustrationContentBlock = styled(Typography.Medium) >`\r\n color: ${({ color, theme: { semantics: { palette } } }) => getColor(palette, color)};\r\n`;\r\n\r\nconst Title = styled(Typography.H2)`\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n width: 100%;\r\n`;\r\n\r\nconst MessageContentBlock = styled(StackPanel)`\r\n text-align: center;\r\n padding: 0 12px;\r\n`;\r\n\r\nconst StyledFlexBox = styled(FlexBox)`\r\n margin: 20px auto;\r\n`;\r\n\r\nexport function IllustrationLoadingMessage() {\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport const IllustrationMessage = React.memo((props: IIllustrationMessageProps) => {\r\n const { displayMessage, type, title, color, className, onRenderMessageContent, width = '100%', height = '100%' } = props;\r\n const renderMessage = React.useCallback(() => {\r\n if (onRenderMessageContent !== undefined) {\r\n return
{onRenderMessageContent()}
;\r\n }\r\n return (displayMessage ? {displayMessage} : <>);\r\n }, [onRenderMessageContent, color, displayMessage]);\r\n\r\n return (\r\n }>\r\n \r\n \r\n \r\n \r\n \r\n {title ? {title} : <>}\r\n {renderMessage()}\r\n \r\n \r\n \r\n );\r\n});\r\n","import { FlexBox } from '@agilepoint/wat-react-ux';\r\nimport styled from 'styled-components';\r\nimport { IllustrationMessage } from '../../common';\r\n\r\ninterface ILoadingScreenProps {\r\n}\r\n\r\nconst LoadingIllustrationBlock = styled(FlexBox)`\r\n height: 100%;\r\n min-height:450px;\r\n`;\r\n\r\nexport function LoadingIllustration(props: ILoadingScreenProps) {\r\n return (\r\n \r\n \r\n \r\n\r\n );\r\n}\r\n","import { css } from 'styled-components';\r\nimport { typographyPresets } from '@agilepoint/wat-react-ux';\r\n\r\n\r\n// TODO: NEED TO REMOVE UNUSED, UNWANTED CSS FROM HERE\r\nexport const commonStyles = {\r\n textOverflow: css`\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n `,\r\n fullWidth: css`\r\n width: 100%;\r\n `,\r\n fullHeight: css`\r\n height: 100%;\r\n `,\r\n navResultContentBlock: css`\r\n width: calc(100% - 32px);\r\n height: calc(100% - 16px);\r\n margin: 0px 16px 16px;\r\n `,\r\n outlineColor: css`\r\n outline-color: ${({ theme: { semantics: { palette } } }) => palette.themePrimary};\r\n `,\r\n outlineStyle: css`\r\n outline: ${({ theme: { semantics: { palette } } }) => palette.themePrimary} auto 1px;\r\n `,\r\n boldTextLabel: css`\r\n .ap-label, .ap-label > span {\r\n ${typographyPresets.headings.h5};\r\n }\r\n `,\r\n primartButtonStyles: css`\r\n background-color: ${({ theme: { semantics: { palette } } }) => palette.themePrimary};\r\n border-radius: 22px;\r\n :disabled {\r\n background: ${({ theme: { semantics: { palette } } }) => palette.themeLighter}\r\n border-radius: 22px;\r\n }\r\n `,\r\n // Todo: later Need to use/add these in appropriate place accross the app\r\n standardHeadingStyles: css`\r\n font-style: normal;\r\n font-weight: 500;\r\n font-size: 18px;\r\n line-height: 21px;\r\n `,\r\n secondaryHeadingStyle: css`\r\n font-style: normal;\r\n font-weight: 500;\r\n font-size: 16px;\r\n line-height: 19px;\r\n `,\r\n contentWidth: css`\r\n margin-right: auto;\r\n margin-left: auto;\r\n width: 1376px;\r\n `,\r\n standardButtonHoverStyle: css`\r\n :hover {\r\n fill:#0077D9;\r\n }`\r\n};\r\n","import React from 'react';\r\nimport styled from 'styled-components';\r\nimport { ActionButton, IButtonProps, typographyPresets } from '@agilepoint/wat-react-ux';\r\nimport { memoizeFunction } from '@agilepoint/utils-common';\r\n\r\ninterface IInitialsColorCodes {\r\n backgroundColor: string;\r\n textColor: string;\r\n}\r\n\r\nconst COLORCODES = [{\r\n backgroundColor: '#DDECF7',\r\n textColor: '#0077D9'\r\n}, {\r\n backgroundColor: '#ECE5F6',\r\n textColor: '#6E40CF'\r\n}, {\r\n backgroundColor: '#F5E2EE',\r\n textColor: '#B32181'\r\n}, {\r\n backgroundColor: '#DFEEE5',\r\n textColor: '#008334'\r\n}, {\r\n backgroundColor: '#F4E6E6',\r\n textColor: '#B6383E'\r\n}, {\r\n backgroundColor: '#F5EDDE',\r\n textColor: '#B96E02'\r\n}, {\r\n backgroundColor: '#EFE1ED',\r\n textColor: '#8C007E'\r\n}, {\r\n backgroundColor: '#EAEBEC',\r\n textColor: '#5F6672'\r\n}, {\r\n backgroundColor: '#EFE8E0',\r\n textColor: '#934F00'\r\n}, {\r\n backgroundColor: '#E4EAEE',\r\n textColor: '#19628F'\r\n}, {\r\n backgroundColor: '#DEEDEE',\r\n textColor: '#00828C'\r\n}, {\r\n backgroundColor: '#E3EAF5',\r\n textColor: '#165DCB'\r\n}] as IInitialsColorCodes[];\r\n\r\nconst chooseRandomColors = memoizeFunction((name: string): IInitialsColorCodes => {\r\n const idx = Math.floor(Math.random() * COLORCODES.length);\r\n return COLORCODES[idx];\r\n}, 500);\r\n\r\nexport interface IUserAvatarTextProps extends Pick {\r\n userFullName: string;\r\n profileImage?: string;\r\n}\r\n\r\nconst ShortName = styled(ActionButton) <{ $backgroundColor: string; $textColor: string; $profileImage?: string }>`\r\n color: ${({ $textColor }) => $textColor};\r\n background-color: ${({ $backgroundColor }) => $backgroundColor};\r\n background-image: ${({ $profileImage }) => `${$profileImage || $profileImage !== '' ? `url(${$profileImage})` : 'none'}`};\r\n background-repeat: no-repeat;\r\n background-size: contain;\r\n height: 25px;\r\n width: 25px;\r\n border-radius: 50%;\r\n text-align: center;\r\n text-transform: uppercase;\r\n\r\n .ap-button-label {\r\n ${typographyPresets.textStyles.xSmall};\r\n margin: 0;\r\n }\r\n`;\r\n\r\nexport const UserAvatarText = React.memo((props: IUserAvatarTextProps) => {\r\n const { userFullName = '', profileImage, ...rest } = props;\r\n const abbrevatedText = React.useMemo(() => (userFullName.slice(0, 2)), [userFullName]);\r\n const { backgroundColor, textColor } = React.useMemo(() => chooseRandomColors(userFullName), [userFullName]);\r\n\r\n return (\r\n \r\n );\r\n});\r\n","import React from 'react';\r\nimport { Spinner, ISpinnerProps, FlexBox, Typography } from '@agilepoint/wat-react-ux';\r\n\r\ntype TextAlign = 'top' | 'bottom' | 'left' | 'right';\r\n\r\ninterface ICenteredSpinnerProps extends ISpinnerProps {\r\n text?: string;\r\n textAlign?: TextAlign;\r\n width?: string;\r\n height?: string;\r\n}\r\n\r\nexport const CenteredSpinner = React.memo((props: ICenteredSpinnerProps) => {\r\n const { text, textAlign = 'bottom', height = '100%', width = '100%', ...spinnerProps } = props;\r\n const getDirection = React.useMemo(() => (textAlign === 'top' ? 'column' : (textAlign === 'bottom' ? 'column-reverse' : (textAlign === 'left' ? 'row' : 'row-reverse'))), [textAlign]);\r\n\r\n return (\r\n \r\n {text ? {text} : null}\r\n {React.createElement(Spinner, spinnerProps)}\r\n \r\n );\r\n});\r\n","import styled, { css } from 'styled-components';\r\nimport { FlexBox, StackPanel } from '@agilepoint/wat-react-ux';\r\n\r\nexport const StyledFlexBox = styled(FlexBox) <{ $padding?: string, $margin?: string, $overflow?: string, $gap?: string }>`\r\n padding: ${({ $padding }) => $padding};\r\n margin: ${({ $margin }) => $margin};\r\n overflow: ${({ $overflow }) => $overflow};\r\n gap: ${({ $gap }) => $gap};\r\n`;\r\n\r\nexport const StyledStackPanel = styled(StackPanel) <{\r\n padding?: string;\r\n margin?: string;\r\n maxHeight?: string;\r\n overflow?: string;\r\n position?: string;\r\n top?: string;\r\n right?: string;\r\n bottom?: string;\r\n left?: string;\r\n}>`\r\n ${({ margin }) => margin && css`margin: ${margin};`};\r\n ${({ padding }) => padding && css`padding: ${padding};`};\r\n ${({ maxHeight }) => maxHeight && css`max-height: ${maxHeight};`};\r\n ${({ overflow }) => overflow && css`overflow: ${overflow};`};\r\n ${({ position }) => position && css`position: ${position};`};\r\n ${({ top }) => top && css`top: ${top};`};\r\n ${({ right }) => right && css`right: ${right};`};\r\n ${({ bottom }) => bottom && css`bottom: ${bottom};`};\r\n ${({ left }) => left && css`left: ${left};`};\r\n`;\r\n","import styled from 'styled-components';\r\n\r\nexport const HorizontalLine = styled.hr<{ $color?: string, $margin?: string, $height?: string, $width?: string }>`\r\n width: ${({ $width }) => $width ?? '100%'};\r\n height: ${({ $height }) => $height ?? '1px'};\r\n border-width: 0px;\r\n background-color: ${({ $color, theme: { appStoreVxt: { semanticColors } } }) => ($color ? $color : semanticColors.grayVariant5)};;\r\n margin: ${({ $margin }) => $margin};\r\n`;\r\n\r\nexport const VerticalLine = styled.div<{ $color?: string, $margin?: string, $height?: string, $width?: string }>`\r\n width: ${({ $width }) => $width ?? '1px'};\r\n height: ${({ $height }) => $height ?? '100%'};\r\n border-width: 0px;\r\n background-color: ${({ $color, theme: { appStoreVxt: { semanticColors } } }) => ($color ? $color : semanticColors.separatorColor)};;\r\n margin: ${({ $margin }) => $margin};\r\n`;\r\n","import React from 'react';\r\nimport styled from 'styled-components';\r\nimport { Callout, FlexBox, ICalloutProps, Icon, Typography } from '@agilepoint/wat-react-ux';\r\nimport { debounce } from '@agilepoint/utils-common';\r\n\r\ninterface ICustomTooltipProps extends ICalloutProps {\r\n tooltipContent?: string;\r\n tooltipContentRenderer?: () => React.ReactNode;\r\n calloutHeight?: string;\r\n calloutWidth?: string;\r\n}\r\n\r\nconst StyledIcon = styled(Icon)`\r\n fill: ${({ theme: { appStoreVxt: { semanticColors } } }) => semanticColors.grayVariant3}; \r\n`;\r\n\r\nconst StyledCallout = styled(Callout) >`\r\n width: ${({ calloutWidth }) => calloutWidth ?? '300px'};\r\n height: ${({ calloutHeight }) => calloutHeight};\r\n padding: 10px 15px;\r\n background-color: ${({ theme: { appStoreVxt: { semanticColors } } }) => semanticColors.grayVariant3};\r\n color: ${({ theme: { semantics } }) => semantics.palette.white};\r\n .ap-callout-content, span {\r\n background-color: inherit;\r\n border: none;\r\n }\r\n`;\r\n\r\nexport const CustomTooltip = React.memo((props: ICustomTooltipProps) => {\r\n const { tooltipContentRenderer, calloutHeight, calloutWidth, tooltipContent, ...rest } = props;\r\n const [showTooltip, setShowToolTip] = React.useState(false);\r\n const helpIconRef = React.createRef();\r\n\r\n const onMouseMoveAction = debounce(React.useCallback((ev) => {\r\n ev.stopPropagation();\r\n setShowToolTip((prevValue) => !prevValue);\r\n }, []), 200);\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n {\r\n showTooltip\r\n ?\r\n