{"version":3,"sources":["api/web-app.ts","api/hooks.tsx","webpack:///./src/assets/defaultImages/CompanyLogo.svg?188e","assets/view-icon.svg","assets/defaultImages/GenericBanner.png","styles/colors.ts","assets/big-unsuccessful-x.svg","assets/rounded-close-icon.svg","Components/FailureModal.tsx","Components/SoloButton.tsx","Components/SoloInput.tsx","assets/small-green-plus.svg","assets/big-successful-checkmark.svg","Components/SoloFormField.tsx","assets/not-found-left-socket.svg","Components/SuccessModal.tsx","Components/ChangePassword.tsx","assets/not-found-right-plug.svg","assets/portal-not-found-card.svg","Components/FourOhFour.tsx","assets/Loader.svg","Components/ErrorBoundary.tsx","assets/code-sprocket-icon.svg","Components/Loading.tsx","Components/Login.tsx","assets/dropdown-arrow.svg","assets/tag-icon.svg","Components/SwaggerUI/SwaggerComponent.tsx","Components/SwaggerUI/SwaggerHolder.tsx","assets/document.svg","assets/environment-icon.svg","Components/APIDetailsCard.tsx","assets/version-icon.svg","assets/api-key-placeholder.svg","Components/ApiDetailsPage.tsx","assets/user-icon.svg","assets/calendar-icon.svg","assets/group-policy-icon.svg","assets/no-api-key-icon.svg","assets/plan-icon.svg","assets/small-grey-x.svg","helper-utils.ts","assets/big-warning-exclamation.svg","Components/Card.tsx","assets/developer-portal-icon.svg","Components/ConfirmationModal.tsx","Components/CreateAPIKeyModal.tsx","Components/APIKeyDetails.tsx","Components/ApiKeysCatalogPage.tsx","assets/code-close-tag.svg","Components/APICatalogSearch.tsx","assets/grpc-icon.svg","assets/openapi-icon.svg","assets/door-icon.svg","Components/APISummaryCard.tsx","Components/ApisCatalogPage.tsx","Components/DynamicPage.tsx","Components/Footer.tsx","assets/defaultImages/CompanyLogo.svg","assets/home-icon.svg","assets/get-started-icon.svg","Components/Header.tsx","Components/CTACard.tsx","Components/HomePage.tsx","Components/MarkdownDisplayPage.tsx","Components/MainContent.tsx","styles/globalStyles.ts","App.tsx","serviceWorker.ts","index.tsx"],"names":["host","window","location","origin","webAppClient","WebAppApiClient","transport","grpc","CrossBrowserHttpTransport","withCredentials","debug","process","webAppAPI","login","loginRequest","Promise","resolve","reject","request","LoginRequest","basicAuth","BasicAuth","setPassword","password","setUsername","username","setBasicAuth","error","data","logError","undefined","toObject","logout","Empty","getCurrentUser","publicAccessUser","getPortalSummary","changePassword","changePasswordRequest","ChangePasswordRequest","setCurrentPassword","currentPassword","setNewPassword","newPassword","getCustomStyles","getCustomStyling","getStaticPages","staticPagesList","getDynamicPages","dynamicPagesList","listAPIProducts","getAPIProductDetails","ref","toObjectRef","getAPIProductVersionDetails","req","APIProductVersionDetailsRequest","apiProductRef","environmentRef","version","setApiProductRef","setEnvironmentRef","setVersion","listAPIProductPlanDetails","listAPIProductPlans","apiProductsList","listAPIProductEnvironmentPlans","environmentsList","addAPIKey","AddAPIKeyRequest","usagePlanName","customStringDataMap","setUsagePlanName","forEach","key","value","getCustomStringDataMap","set","deleteAPIKey","invokeGrpcMethod","GRPCInvokeRequest","apiKey","argumentJson","methodName","serviceDomain","serviceName","oauthAccessToken","apRef","objectRefFromObj","envRef","setServiceName","setServiceDomain","setMethodName","setArgumentJson","setOauthAccessToken","setApiKey","invokeGRPCMethod","getPageExtensionsMap","getPageExtensions","pageExtensionsMap","console","message","code","metadata","ObjectRef","name","namespace","setName","setNamespace","obj","REFRESH_INTERVAL_SLOW","API_CATALOG_INFO_KEY","WebAppApi","ListAPIProducts","CURRENT_USER_KEY","GetCurrentUser","PORTAL_SUMMARY_KEY","GetPortalSummary","CUSTOM_STYLES_KEY","GetCustomStyling","GLOBAL_CONFIG","shouldRetryOnError","dedupingInterval","refreshInterval","useListAPIProducts","useSWR","apiCatalogInfo","apiCatalogInfoError","apiCatalogInfoLoading","apiCatalogInfoMutate","mutate","useGetAPIProductDetails","GetAPIProductDetails","apiProductDetails","apiProductDetailsError","apiProductDetailsLoading","apiProductDetailsMutate","useGetDynamicPages","GetDynamicPages","dynamicPages","dynamicPagesError","dynamicPagesLoading","dynamicPagesMutate","useGetStaticPages","GetStaticPages","staticPages","staticPagesError","staticPagesLoading","staticPagesMutate","useGetCustomStyles","customStyles","customStylesError","customStylesLoading","customStylesMutate","useGetPortalSummary","portalSummary","portalSummaryError","hasOIDCLoginEnabled","oidcLoginUrl","portalSummaryLoading","useGetCurrentUser","currentUser","isLoggedIn","currentUserError","currentUserLoading","_defs","_g","_path","_extends","Object","assign","target","i","arguments","length","source","prototype","hasOwnProperty","call","apply","this","_objectWithoutProperties","excluded","sourceKeys","keys","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","SvgCompanyLogo","_ref","svgRef","title","titleId","props","xmlns","width","height","viewBox","id","transform","className","d","_path2","_rect","_rect2","ForwardRef","SvgViewIcon","colors","kumquatOrange","tangerineOrange","peachOrange","grapefruitOrange","pumpkinOrange","flashlightGold","sunGold","groveGreen","forestGreen","dropBlue","splashBlue","puddleBlue","pondBlue","lakeBlue","seaBlue","oceanBlue","offBlue","neptuneBlue","planeOfWaterBlue","januaryGrey","februaryGrey","marchGrey","aprilGrey","mayGrey","juneGrey","septemberGrey","novemberGrey","decemberGrey","scrollbarBorderGrey","scrollbarBackgroundGrey","boxShadow","darkerBoxShadow","SvgBigUnsuccessfulX","cx","cy","r","x1","y2","x2","maskStyle","background","floatingStyle","borderRadius","bodyStyle","ContentContainer","styled","div","WarningCircle","ContentText","MinorText","FailureModal","failureMessage","visible","minorMessage","React","showModal","setShowModal","footer","style","onCancel","SoloButton","primaryColorOverride","isCancel","isNegative","text","onClick","errorText","disabled","rest","backgroundColor","aria-disabled","e","customStyling","primaryColor","RemoveTagButton","button","Label","label","SoloInput","input","borderless","placeholder","onChange","onBlur","onKeyPress","type","SvgRoundedCloseIcon","fill","fillRule","clipRule","SvgSmallGreenPlus","ErrorText","errorExists","SoloFormInput","hideError","form","useFormikContext","field","getFieldProps","meta","getFieldMeta","touched","SoloFormMetadata","editMode","newMetadataKey","newMetadataValue","labels","values","setFieldValue","newLabelIsAddable","some","existingLabel","map","labelKey","labelValue","aria-label","newLabels","filter","k","SvgBigSuccessfulCheckmark","IconHolderCircle","SuccessModal","successMessage","setTimeout","smallNavLinkStyles","color","initialValues","repeatPassword","validationSchema","yup","shape","required","min","matches","oneOf","PasswordRequirements","placement","content","aria-hidden","ChangePassword","routerHistory","useHistory","showPassword","setShowPassword","resetPasswordResolved","setResetPasswordResolved","document","innerFormik","keyPressed","event","isValid","attemptReset","a","then","result","push","pathname","resetForm","wasSuccessful","errorMessage","bannerUrl","src","DefaultBanner","alt","role","logoUrl","onSubmit","render","formik","autoComplete","aria-describedby","evt","dirty","handleSubmit","to","SvgNotFoundLeftSocket","xmlnsXlink","x","y","filterUnits","stdDeviation","floodOpacity","operator","in2","in","SvgNotFoundRightPlug","SvgPortalNotFoundCard","rx","FoFPage","main","MessageBox","Title","h1","ExtraInfo","LinkLikeText","span","PlugHolder","SocketHolder","FourOhFour","useEffect","data-testid","ErrorBoundary","state","hasError","info","fallback","children","SvgLoader","Rotater","degrees","Loading","center","loading","offset","useState","setDegrees","spinterval","setInterval","oldDegree","clearInterval","Login","loginResolved","setLoginResolved","showBasicAuthCredentials","setShowBasicAuthCredentials","formikHelpers","isFirstLogin","trigger","catch","onKeyDown","href","rel","basicAuthLoginEnabled","SvgCodeSprocketIcon","SvgDropdownArrow","opacity","SvgTagIcon","SwaggerComponent","displayRef","sanitizedDomId","setSanitizedDomId","dom_id","split","join","current","SwaggerUIConstructor","spec","plugins","deepLinking","showMutatedRequest","isGrpc","oauth2RedirectUrl","requestInterceptor","responseInterceptor","syntaxHighlight","activated","MethodMapping","Status","SwaggerHolder","swaggerJSON","disableTryItOut","portalUrlPrefix","versionDetails","apiProduct","setGrpcResponse","grpcRequest","setGrpcRequest","res","getResponse","apiType","APIType","GRPC","system","SET_GRPC_RESPONSE","fromJS","Im","statePlugins","wrapSelectors","allowTryItOutFor","originalSelector","path","method","actions","args","payload","reducers","action","selectors","getGrpcResponse","createSelector","get","wrapActions","setRequest","oriAction","body","url","headers","domain","packageService","JSON","stringify","specActions","wrapComponents","VersionStamp","Original","curl","OperationSummaryMethod","CLIENT_STREAM","UNARY","SERVER_STREAM","BIDIRECTIONAL_STREAM","liveResponse","updateLoadingStatus","response","getComponent","getConfigs","specSelectors","displayRequestDuration","curlRequest","mutatedRequestFor","requestFor","status","toJS","statusCode","UNKNOWN","ResponseBody","contentType","SvgDocument","stringToContent","parse","APIDetailsCard","GetAPIProductVersionDetails","apiVersionDetails","apiVersionDetailsError","apiVersionDetailsLoading","apiVersionDetailsMutate","useGetAPIProductVersionDetails","imageUrl","onError","setCardImage","cardImage","operationsSpec","displayname","description","tagsList","sort","tag","OPEN_API","templElement","createElement","file","Blob","URL","createObjectURL","download","appendChild","click","operationsDisabled","SvgEnvironmentIcon","clipPath","SvgVersionIcon","ApiDetailsPage","useParams","apiproductnamespace","apiproductname","history","initialVersionName","URLSearchParams","useLocation","search","find","env","versionsList","v","currentEnvironment","setCurrentEnvironment","currentVersion","setCurrentVersion","showDropdown","setShowDropdown","displayName","exact","aria-haspopup","aria-expanded","aria-orientation","aria-labelledby","b","replace","uid","SvgApiKeyPlaceholder","stroke","SvgUserIcon","SvgCalendarIcon","_path3","_path4","_path5","SvgGroupPolicyIcon","SvgNoApiKeyIcon","SvgPlanIcon","_circle","SvgSmallGreyX","formatUnit","usagePlanUnit","getAPITypeName","HYBRID","EMPTY","sortByName","sortByDisplayName","Card","lightShadow","SvgBigWarningExclamation","_g2","ConfirmationModal","confirmationTopic","confirmText","goForIt","cancel","UnderlineButton","CreateAPIKeyModal","isConfigVisible","setIsConfigVisible","toggleConfigVisible","apiKeyMetadata","newAPIKeyMetadataKey","newAPIKeyMetadataValue","isSubmitting","errors","APIProductCard","apiProductName","apiProductNamespace","addKeyModalOpen","setAddKeyModalOpen","confirmingKeyDeletionRef","setConfirmingKeyDeletionRef","keysBeingShown","setKeysBeingShown","attemptedCopy","setAttemptedCopy","usagePlanToAdd","setUsagePlanToAdd","environmentForAPIKey","setEnvironmentForAPIKey","keyCount","setKeyCount","planCount","setPlanCount","isExpanded","setIsExpanded","ListAPIProductPlans","apiProductPlans","apiProductPlansError","apiProductPlansLoading","apiProductPlansMutate","useListAPIProductPlanDetails","ListAPIProductPlanDetails","environmentUsagePlans","environmentUsagePlansError","environmentUsagePlansLoading","environmentUsagePlansMutate","useGetEnvironmentUsagePlans","plans","plan","apiKeyCount","copyKey","copyText","textArea","position","top","left","focus","select","success","execCommand","err","removeChild","copyTextToClipboard","plansList","usagePlan","authPolicyType","PlanSummary","AuthPolicyType","API_KEY","openAddKeyModal","unit","requestsPerUnit","apiKeysList","date","display","placeContent","keyInfo","stopPropagation","toggleKeyShowing","creationTimestamp","Date","seconds","toUTCString","attemptDeleteKey","apiProductId","generateKey","ApiKeysCatalogPage","SvgDeveloperPortalIcon","CheckboxContainer","APICatalogSearch","changeApiSpecFilter","apiSpec","newFilterSet","Set","currentFilter","apiSpecFilter","checked","add","delete","updateFilter","textFilter","environmentFilter","tagFilter","changeTagFilter","htmlFor","apiTypes","has","environments","environment","tags","SvgCodeCloseTag","SvgGrpcIcon","_style","SvgOpenapiIcon","enableBackground","xmlSpace","points","APISummaryCard","searchFilter","filterVersions","versionInfo","size","Array","from","includes","versions","modifiedDateTime","versionName","operationsCount","secondsToString","setSeconds","toLocaleString","ApisCatalogPage","getUrlSearchFilter","searchFilterString","decodeURIComponent","_key","isArray","warn","setSearchFilter","shouldPushNextFilterChangeToHistory","setShouldPushNextFilterChangeToHistory","searchParamsTimeout","setSearchParamsTimeout","newSearchParamsTimeout","newSearchParams","newSearchFilterString","encodeURIComponent","newSearchParamsString","toString","newHistoryState","clearTimeout","onNavigate","newSearchFilter","addEventListener","removeEventListener","searchInfo","apiTypesList","apiInfo","toLowerCase","modifiedDate","card","portalAllowAll","DynamicPageComponent","page","iframeEl","getElementById","iframeWindow","contentWindow","postMessage","setAttribute","Fragment","Footer","SvgDoorIcon","SvgHomeIcon","UserControlsModal","open","defaultTextColor","Header","PlaceholderLogo","dropdownOut","setDropdownOut","isActive","match","navigationLinkName","o","linkColorOverride","secondaryColor","SvgGetStartedIcon","CTACard","icon","ctaText","onCTAClick","notReady","testId","paddingTop","CodeIcon","fillColor","HomePage","displayedPage","setDisplayedPage","displayOnHomepage","GettingStartedContainer","BackgroundImageHolder","BackgroundImageHolderScreen","hsl","alpha","hslContent","hslToHSLA","GetStartedHeadings","GetStartedTitle","GetStartedDescription","CustomMarkdownHolder","MarkdownDisplayPage","routerLoocation","pageOfInterest","staticPage","inlineString","MainContent","defaultGlobalStyles","css","App","GetPageExtensions","pageExtensionsMapError","refreshPageExtensionsMap","revalidate","pageExtensionsMapLoading","useGetPageExtensionsMap","val","frag","createRange","createContextualFragment","getElementsByTagName","Helmet","faviconUrl","customCss","styles","Boolean","hostname","ReactDOM","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.9989e1b8.chunk.js","sourcesContent":["import { grpc } from '@improbable-eng/grpc-web';\nimport { Empty } from 'google-protobuf/google/protobuf/empty_pb';\nimport { ObjectRef } from 'proto/github.com/solo-io/dev-portal/api/dev-portal/v1beta1/common/common_pb';\nimport { PageSpec } from 'proto/github.com/solo-io/dev-portal/api/dev-portal/v1beta1/portal_pb';\nimport {\n AddAPIKeyRequest,\n AddAPIKeyResponse,\n APIProductDetails,\n APIProductListResponse,\n APIProductPlanListSummary,\n APIProductVersionDetails,\n APIProductVersionDetailsRequest,\n ChangePasswordRequest,\n DynamicPage,\n EnvironmentPlans,\n GetCustomStylingResponse,\n GetPortalSummaryResponse,\n GRPCInvokeRequest,\n GRPCInvokeResponse,\n LoginRequest,\n LoginResponse\n} from 'proto/web_app_grpc_pb';\nimport { ServiceError, WebAppApiClient } from 'proto/web_app_grpc_pb_service';\n\nexport const host = `${process.env.NODE_ENV === 'production' ? window.location.origin : 'http://localhost:1234'}`;\n\nexport const webAppClient = new WebAppApiClient(host, {\n transport: grpc.CrossBrowserHttpTransport({ withCredentials: true }),\n debug: process.env.NODE_ENV === 'development'\n});\n\nexport const webAppAPI = {\n login,\n logout,\n getCurrentUser,\n getPortalSummary,\n changePassword,\n getCustomStyles,\n getStaticPages,\n getDynamicPages,\n listAPIProducts,\n getAPIProductDetails,\n getAPIProductVersionDetails,\n listAPIProductPlanDetails,\n listAPIProductEnvironmentPlans,\n addAPIKey,\n deleteAPIKey,\n invokeGrpcMethod,\n getPageExtensionsMap\n};\n\nfunction login(loginRequest: LoginRequest.AsObject): Promise {\n return new Promise((resolve, reject) => {\n let request = new LoginRequest();\n\n let basicAuth = new LoginRequest.BasicAuth();\n if (loginRequest.basicAuth) {\n basicAuth.setPassword(loginRequest.basicAuth?.password);\n basicAuth.setUsername(loginRequest.basicAuth?.username);\n }\n\n request.setBasicAuth(basicAuth);\n\n webAppClient.login(request, (error, data) => {\n if (error !== null) {\n logError(error);\n\n resolve(undefined!!);\n } else {\n resolve(data?.toObject()!);\n }\n });\n });\n}\n\nfunction changePassword(changePasswordRequest: ChangePasswordRequest.AsObject): Promise {\n return new Promise((resolve, reject) => {\n let request = new ChangePasswordRequest();\n\n request.setCurrentPassword(changePasswordRequest.currentPassword);\n request.setNewPassword(changePasswordRequest.newPassword);\n\n webAppClient.changePassword(request, (error, data) => {\n if (error !== null) {\n logError(error);\n\n resolve(undefined!);\n } else {\n resolve(data?.toObject()!);\n }\n });\n });\n}\n\nfunction getCurrentUser(): Promise {\n return new Promise((resolve, reject) => {\n webAppClient.getCurrentUser(new Empty(), (error, data) => {\n if (error !== null) {\n logError(error);\n\n // An error here means we don't know who the current user is, or if there is one,\n // the caller should handle an error accordingly\n reject(error);\n } else if (!data?.toObject().username && data?.toObject().publicAccessUser) {\n reject(\"publicAccessUser\"); // publicAccessUser is a placeholder, not a real user\n } else {\n resolve(data?.toObject().username!);\n }\n });\n });\n}\n\nfunction logout(): Promise {\n return new Promise((resolve, reject) => {\n webAppClient.logout(new Empty(), (error, data) => {\n if (error !== null) {\n logError(error);\n\n reject(error);\n } else {\n resolve(data?.toObject()!);\n }\n });\n });\n}\n\nfunction getPortalSummary(): Promise {\n return new Promise((resolve, reject) => {\n webAppClient.getPortalSummary(new Empty(), (error, data) => {\n if (error !== null) {\n logError(error);\n\n reject(error);\n } else {\n resolve(data?.toObject()!);\n }\n });\n });\n}\n\nfunction getCustomStyles(): Promise {\n return new Promise((resolve, reject) => {\n webAppClient.getCustomStyling(new Empty(), (error, data) => {\n if (error !== null) {\n logError(error);\n reject(error);\n } else {\n resolve(data?.toObject()!);\n }\n });\n });\n}\n\nfunction listAPIProducts(): Promise {\n return new Promise((resolve, reject) => {\n webAppClient.listAPIProducts(new Empty(), (error, data) => {\n if (error !== null) {\n logError(error);\n reject(error);\n } else {\n resolve(data?.toObject()!);\n }\n });\n });\n}\n\nfunction getAPIProductDetails(ref: ObjectRef.AsObject): Promise {\n return new Promise((resolve, reject) => {\n webAppClient.getAPIProductDetails(toObjectRef(ref), (error, data) => {\n if (error !== null) {\n logError(error);\n reject(error);\n } else {\n resolve(data?.toObject()!);\n }\n });\n });\n}\n\nfunction listAPIProductPlanDetails(): Promise {\n return new Promise((resolve, reject) => {\n webAppClient.listAPIProductPlans(new Empty(), (error, data) => {\n if (error !== null) {\n logError(error);\n reject(error);\n } else {\n resolve(data?.toObject().apiProductsList!);\n }\n });\n });\n}\n\nfunction getAPIProductVersionDetails(\n req: APIProductVersionDetailsRequest.AsObject\n): Promise {\n let request = new APIProductVersionDetailsRequest();\n let { apiProductRef, environmentRef, version } = req;\n request.setApiProductRef(toObjectRef(apiProductRef));\n request.setEnvironmentRef(toObjectRef(environmentRef));\n request.setVersion(version);\n\n return new Promise((resolve, reject) => {\n webAppClient.getAPIProductVersionDetails(request, (error, data) => {\n if (error !== null) {\n logError(error);\n reject(error);\n } else {\n resolve(data!.toObject());\n }\n });\n });\n}\n\nfunction listAPIProductEnvironmentPlans(ref: ObjectRef.AsObject): Promise {\n return new Promise((resolve, reject) => {\n webAppClient.listAPIProductPlanDetails(toObjectRef(ref), (error, data) => {\n if (error !== null) {\n logError(error);\n reject(error);\n } else {\n resolve(data!.toObject().environmentsList);\n }\n });\n });\n}\n\nfunction getStaticPages(): Promise {\n return new Promise((resolve, reject) => {\n webAppClient.getStaticPages(new Empty(), (error, data) => {\n if (error !== null) {\n logError(error);\n\n reject(error);\n } else {\n resolve(data?.toObject().staticPagesList!);\n }\n });\n });\n}\n\nfunction getDynamicPages(): Promise {\n return new Promise((resolve, reject) => {\n webAppClient.getDynamicPages(new Empty(), (error, data) => {\n if (error !== null) {\n logError(error);\n\n reject(error);\n } else {\n resolve(data?.toObject().dynamicPagesList!);\n }\n });\n });\n}\n\nfunction getPageExtensionsMap(): Promise<[string, string][]> {\n return new Promise((resolve, reject) => {\n webAppClient.getPageExtensions(new Empty(), (error, data) => {\n if (error !== null) {\n logError(error);\n\n reject(error);\n } else {\n resolve(data?.toObject().pageExtensionsMap!);\n }\n });\n });\n}\n\nfunction addAPIKey(req: AddAPIKeyRequest.AsObject): Promise {\n return new Promise((resolve, reject) => {\n let request = new AddAPIKeyRequest();\n let { apiProductRef, environmentRef, usagePlanName, customStringDataMap } = req;\n request.setApiProductRef(toObjectRef(apiProductRef));\n request.setEnvironmentRef(toObjectRef(environmentRef));\n request.setUsagePlanName(usagePlanName);\n // Set the metadata k/v\n if (customStringDataMap !== undefined) {\n customStringDataMap.forEach(([key, value]) => request.getCustomStringDataMap().set(key, value));\n }\n\n webAppClient.addAPIKey(request, (error, data) => {\n if (error !== null) {\n logError(error);\n reject(error);\n } else {\n resolve(data!.toObject());\n }\n });\n });\n}\n\nfunction deleteAPIKey(req: ObjectRef.AsObject): Promise {\n return new Promise((resolve, reject) => {\n webAppClient.deleteAPIKey(toObjectRef(req), (error, data) => {\n if (error !== null) {\n logError(error);\n reject(error);\n } else {\n resolve(data!.toObject());\n }\n });\n });\n}\n\nfunction invokeGrpcMethod(req: GRPCInvokeRequest.AsObject): Promise {\n let request = new GRPCInvokeRequest();\n let {\n apiKey,\n argumentJson,\n apiProductRef,\n environmentRef,\n methodName,\n serviceDomain,\n serviceName,\n oauthAccessToken,\n version\n } = req;\n\n let apRef = objectRefFromObj(apiProductRef);\n let envRef = objectRefFromObj(environmentRef);\n\n request.setApiProductRef(apRef);\n request.setEnvironmentRef(envRef);\n request.setVersion(version);\n request.setServiceName(serviceName);\n request.setServiceDomain(serviceDomain);\n request.setMethodName(methodName);\n request.setArgumentJson(argumentJson);\n\n if (!!oauthAccessToken) {\n request.setOauthAccessToken(oauthAccessToken);\n } else {\n request.setApiKey(apiKey);\n }\n\n return new Promise((resolve, reject) => {\n webAppClient.invokeGRPCMethod(request, (error, data) => {\n if (error !== null) {\n logError(error);\n reject(error);\n } else {\n resolve(data!.toObject());\n }\n });\n });\n}\n\nexport function logError(error: ServiceError) {\n console.error('Error:', error.message);\n console.error('Code:', error.code);\n console.error('Metadata:', error.metadata);\n}\n\nexport function toObjectRef(ref: ObjectRef.AsObject | undefined): ObjectRef {\n if (ref === undefined!) {\n return new ObjectRef();\n }\n\n let { name, namespace } = ref!;\n let request = new ObjectRef();\n request.setName(name);\n request.setNamespace(namespace);\n return request;\n}\n\nexport function objectRefFromObj(obj: ObjectRef.AsObject | undefined) {\n let ref = new ObjectRef();\n if (!!obj) {\n ref.setName(obj.name);\n ref.setNamespace(obj.namespace);\n }\n return ref;\n}\n","import { ObjectRef } from 'proto/github.com/solo-io/dev-portal/api/dev-portal/v1beta1/common/common_pb';\nimport { PageSpec } from 'proto/github.com/solo-io/dev-portal/api/dev-portal/v1beta1/portal_pb';\nimport {\n APIProductDetails,\n APIProductListResponse,\n APIProductPlanListSummary,\n APIProductVersionDetails,\n APIProductVersionDetailsRequest,\n DynamicPage,\n EnvironmentPlans\n} from 'proto/web_app_grpc_pb';\nimport { WebAppApi } from 'proto/web_app_grpc_pb_service';\nimport useSWR, { ConfigInterface } from 'swr';\nimport { webAppAPI } from './web-app';\n\n// TODO: set up appropriate refresh intervals\nconst REFRESH_INTERVAL_DEFAULT = 3000;\nconst REFRESH_INTERVAL_SLOW = 10000;\n\n// TODO: define all keys here to avoid duplicates and for use elsewhere in code base\n// Keys\nexport const API_CATALOG_INFO_KEY = `${WebAppApi.ListAPIProducts.methodName}`;\nexport const API_PRODUCT_DETAILS_KEY = (ref: ObjectRef.AsObject) =>\n !!ref.name && !!ref.namespace ? `${WebAppApi.GetAPIProductDetails.methodName}/${ref.name}/${ref.namespace}` : null;\n\nexport const CURRENT_USER_KEY = `${WebAppApi.GetCurrentUser.methodName}`;\nexport const PORTAL_SUMMARY_KEY = `${WebAppApi.GetPortalSummary.methodName}`;\nexport const CUSTOM_STYLES_KEY = `${WebAppApi.GetCustomStyling.methodName}`;\n\nexport const GLOBAL_CONFIG: ConfigInterface = {\n shouldRetryOnError: false,\n dedupingInterval: 2000,\n refreshInterval: REFRESH_INTERVAL_DEFAULT\n};\n\nexport function useListAPIProducts() {\n const { data, error, mutate } = useSWR(\n API_CATALOG_INFO_KEY,\n webAppAPI.listAPIProducts,\n GLOBAL_CONFIG\n );\n\n return {\n apiCatalogInfo: data,\n apiCatalogInfoError: error,\n apiCatalogInfoLoading: !data && !error,\n apiCatalogInfoMutate: mutate\n };\n}\n\nexport function useGetAPIProductDetails(apiProductRef: ObjectRef.AsObject) {\n const { data, error, mutate } = useSWR(\n API_PRODUCT_DETAILS_KEY(apiProductRef),\n () => webAppAPI.getAPIProductDetails(apiProductRef!),\n GLOBAL_CONFIG\n );\n\n return {\n apiProductDetails: data,\n apiProductDetailsError: error,\n apiProductDetailsLoading: !data && !error,\n apiProductDetailsMutate: mutate\n };\n}\n\nexport function useGetAPIProductVersionDetails(\n req: APIProductVersionDetailsRequest.AsObject & { currentUser: string }\n) {\n let key =\n !!req?.apiProductRef?.namespace &&\n !!req?.apiProductRef?.name &&\n !!req?.environmentRef?.namespace &&\n !!req?.environmentRef?.name\n ? `${WebAppApi.GetAPIProductVersionDetails.methodName}/${req?.environmentRef?.namespace}_${req?.environmentRef?.name}` +\n `/${req?.apiProductRef?.namespace}_${req?.apiProductRef?.name}/${req?.version}/${req?.currentUser}`\n : null;\n\n const { data, error, mutate } = useSWR(\n key,\n () => webAppAPI.getAPIProductVersionDetails(req),\n GLOBAL_CONFIG\n );\n\n return {\n apiVersionDetails: data,\n apiVersionDetailsError: error,\n apiVersionDetailsLoading: !data && !error,\n apiVersionDetailsMutate: mutate\n };\n}\n\nexport function useGetDynamicPages() {\n let key = `${WebAppApi.GetDynamicPages.methodName}`;\n const { data, error, mutate } = useSWR(key, webAppAPI.getDynamicPages, {\n ...GLOBAL_CONFIG,\n refreshInterval: 0\n });\n\n return {\n dynamicPages: data,\n dynamicPagesError: error,\n dynamicPagesLoading: !data && !error,\n dynamicPagesMutate: mutate\n };\n}\n\nexport function useGetStaticPages() {\n let key = `${WebAppApi.GetStaticPages.methodName}`;\n const { data, error, mutate } = useSWR(key, webAppAPI.getStaticPages, {\n ...GLOBAL_CONFIG,\n refreshInterval: 0\n });\n\n return {\n staticPages: data,\n staticPagesError: error,\n staticPagesLoading: !data && !error,\n staticPagesMutate: mutate\n };\n}\n\nexport function useGetEnvironmentUsagePlans(ref: ObjectRef.AsObject) {\n let key =\n !!ref.namespace && !!ref.name\n ? `${WebAppApi.ListAPIProductPlanDetails.methodName}/${ref.namespace}/${ref.name}`\n : null;\n\n const { data, error, mutate } = useSWR(\n key,\n () => webAppAPI.listAPIProductEnvironmentPlans(ref!),\n GLOBAL_CONFIG\n );\n\n return {\n environmentUsagePlans: data,\n environmentUsagePlansError: error,\n environmentUsagePlansLoading: !data && !error,\n environmentUsagePlansMutate: mutate\n };\n}\n\nexport function useListAPIProductPlanDetails() {\n let key = `${WebAppApi.ListAPIProductPlans.methodName}`;\n const { data, error, mutate } = useSWR(\n key,\n webAppAPI.listAPIProductPlanDetails,\n GLOBAL_CONFIG\n );\n\n return {\n apiProductPlans: data,\n apiProductPlansError: error,\n apiProductPlansLoading: !data && !error,\n apiProductPlansMutate: mutate\n };\n}\n\nexport function useGetCustomStyles() {\n const { data, error, mutate } = useSWR(CUSTOM_STYLES_KEY, webAppAPI.getCustomStyles, {\n ...GLOBAL_CONFIG,\n refreshInterval: REFRESH_INTERVAL_SLOW\n });\n\n return {\n customStyles: data,\n customStylesError: error,\n customStylesLoading: !data && !error,\n customStylesMutate: mutate\n };\n}\n\n// TODO: this probably doesn't need to refresh every 3 seconds\nexport function useGetPortalSummary() {\n const { data, error } = useSWR(PORTAL_SUMMARY_KEY, webAppAPI.getPortalSummary, {\n ...GLOBAL_CONFIG,\n refreshInterval: REFRESH_INTERVAL_SLOW\n });\n\n return {\n portalSummary: data,\n portalSummaryError: error,\n hasOIDCLoginEnabled: !!data?.oidcLoginUrl,\n portalSummaryLoading: !data && !error\n };\n}\n\n// TODO: this probably doesn't need to refresh every 3 seconds\nexport function useGetCurrentUser() {\n const { data, error } = useSWR(CURRENT_USER_KEY, webAppAPI.getCurrentUser, {\n ...GLOBAL_CONFIG,\n refreshInterval: REFRESH_INTERVAL_SLOW\n });\n\n return {\n currentUser: data,\n isLoggedIn: data !== '',\n currentUserError: error,\n currentUserLoading: !data && !error\n };\n}\n\nexport function useGetPageExtensionsMap() {\n let key = `${WebAppApi.serviceName}.${WebAppApi.GetPageExtensions.methodName}`;\n const { data, error, revalidate } = useSWR<[string, string][]>(key, webAppAPI.getPageExtensionsMap, {\n ...GLOBAL_CONFIG,\n refreshInterval: REFRESH_INTERVAL_SLOW\n });\n\n return {\n pageExtensionsMap: data,\n pageExtensionsMapError: error,\n refreshPageExtensionsMap: revalidate,\n pageExtensionsMapLoading: !data && !error\n };\n}\n","var _defs, _g, _path;\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 SvgCompanyLogo(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 200,\n height: 45.51,\n viewBox: \"0 0 200 45.51\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \"\\n .defaultCompanyLogoA {\\n fill: #adb3bc;\\n }\\n\\n .defaultCompanyLogoB {\\n fill: #6e7477;\\n }\\n\\n .defaultCompanyLogoC {\\n fill: #35393b;\\n }\\n \"))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n className: \"defaultCompanyLogoA\",\n d: \"M1838.046,1447.563a17.4,17.4,0,0,1-17.02-29.475,17.377,17.377,0,0,0,4.719,15.906q.326.325.665.633c.065.3.137.6.217.9A17.373,17.373,0,0,0,1838.046,1447.563Z\",\n transform: \"translate(-1815.26 -1402.911)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"defaultCompanyLogoA\",\n d: \"M2491.5,1447.823a17.288,17.288,0,0,1-9.886-.261,17.376,17.376,0,0,0,11.414-12.038c.082-.3.153-.6.215-.9.229-.206.451-.416.67-.635a17.375,17.375,0,0,0,4.716-15.906,17.4,17.4,0,0,1-7.129,29.736Z\",\n transform: \"translate(-2458.827 -1402.911)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"defaultCompanyLogoB\",\n d: \"M2164.619,1901.751c-.062.3-.134.6-.215.9a11.432,11.432,0,1,1-22.832,0c-.081-.3-.153-.6-.217-.9A17.394,17.394,0,0,0,2164.619,1901.751Z\",\n transform: \"translate(-2130.203 -1870.033)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"defaultCompanyLogoA\",\n d: \"M2017.929,1028.681a17.377,17.377,0,0,0-16.133-3.866c-.3.081-.593.166-.883.263-.291-.094-.587-.182-.885-.263a17.382,17.382,0,0,0-16.135,3.866,17.4,17.4,0,0,1,34.036,0Z\",\n transform: \"translate(-1978.126 -1014.893)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"defaultCompanyLogoB\",\n d: \"M1978.653,1308.572q-.34-.308-.666-.633a11.432,11.432,0,1,1,11.417-19.772c.3.081.594.169.885.264A17.4,17.4,0,0,0,1978.653,1308.572Z\",\n transform: \"translate(-1967.502 -1277.685)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"defaultCompanyLogoB\",\n d: \"M2493.914,1307.939c-.22.219-.441.43-.67.635a17.394,17.394,0,0,0-11.629-20.144c.29-.1.584-.183.884-.264a11.432,11.432,0,1,1,11.416,19.772Z\",\n transform: \"translate(-2458.827 -1277.685)\"\n }))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n className: \"defaultCompanyLogoC\",\n d: \"M6.813,13.768a5.64,5.64,0,0,1-2.933-.815A6.1,6.1,0,0,1,1.7,10.759a5.874,5.874,0,0,1,0-5.942A6.117,6.117,0,0,1,3.88,2.631a5.7,5.7,0,0,1,5.186-.353,5.893,5.893,0,0,1,1.9,1.3l-.891.908A4.622,4.622,0,0,0,8.586,3.413a4.3,4.3,0,0,0-4.051.261A4.84,4.84,0,0,0,2.854,5.422a4.755,4.755,0,0,0,0,4.732A4.93,4.93,0,0,0,4.535,11.9a4.274,4.274,0,0,0,4.051.269,4.622,4.622,0,0,0,1.488-1.076l.891.908a6.145,6.145,0,0,1-1.9,1.294A5.561,5.561,0,0,1,6.813,13.768Zm11.515,0a5.64,5.64,0,0,1-2.933-.815,6.1,6.1,0,0,1-2.177-2.194,5.874,5.874,0,0,1,0-5.942,6.117,6.117,0,0,1,2.177-2.185,5.64,5.64,0,0,1,2.933-.815,5.582,5.582,0,0,1,2.933.815,6.161,6.161,0,0,1,2.16,2.185,5.874,5.874,0,0,1,0,5.942,6.14,6.14,0,0,1-2.16,2.194A5.582,5.582,0,0,1,18.328,13.768Zm0-1.21a4.223,4.223,0,0,0,2.278-.656,4.86,4.86,0,0,0,1.673-1.748,4.811,4.811,0,0,0,0-4.732,4.772,4.772,0,0,0-1.673-1.748,4.332,4.332,0,0,0-4.555,0,4.84,4.84,0,0,0-1.681,1.748,4.755,4.755,0,0,0,0,4.732A4.93,4.93,0,0,0,16.05,11.9,4.223,4.223,0,0,0,18.328,12.557ZM26.9,2.018h1.311L32.5,10.069l4.286-8.052H38.1V13.566H36.784V4.842L32.5,12.893,28.212,4.842v8.724H26.9Zm14.742,0h4.69a4.884,4.884,0,0,1,2.152.471,3.767,3.767,0,0,1,1.538,1.32,3.375,3.375,0,0,1,.563,1.908,3.375,3.375,0,0,1-.563,1.908,3.767,3.767,0,0,1-1.538,1.32,4.884,4.884,0,0,1-2.152.471H42.953v4.152H41.642ZM46.1,8.17a3.705,3.705,0,0,0,2.295-.656,2.133,2.133,0,0,0,.866-1.8,2.133,2.133,0,0,0-.866-1.8A3.705,3.705,0,0,0,46.1,3.262H42.953V8.17Zm14.557,2.774H54.216l-1.16,2.622H51.627L56.721,2.018h1.429l5.093,11.548H61.814ZM60.116,9.7,57.443,3.631,54.754,9.7Zm5.261-7.682h1.311l7.161,9.4v-9.4h1.311V13.566H73.849l-7.161-9.4v9.4H65.377ZM81.851,8.859,77.195,2.018h1.631l3.715,5.6,3.749-5.6h1.58L83.229,8.859v4.707H81.851Zm20.171,3.463v1.244H94.408V2.018h1.311v10.3Zm7.161,1.446a5.64,5.64,0,0,1-2.933-.815,6.1,6.1,0,0,1-2.177-2.194,5.874,5.874,0,0,1,0-5.942,6.117,6.117,0,0,1,2.177-2.185,5.64,5.64,0,0,1,2.933-.815,5.582,5.582,0,0,1,2.933.815,6.161,6.161,0,0,1,2.16,2.185,5.874,5.874,0,0,1,0,5.942,6.14,6.14,0,0,1-2.16,2.194A5.582,5.582,0,0,1,109.183,13.768Zm0-1.21a4.223,4.223,0,0,0,2.278-.656,4.86,4.86,0,0,0,1.673-1.748,4.811,4.811,0,0,0,0-4.732,4.772,4.772,0,0,0-1.673-1.748,4.332,4.332,0,0,0-4.555,0,4.84,4.84,0,0,0-1.681,1.748,4.755,4.755,0,0,0,0,4.732,4.93,4.93,0,0,0,1.681,1.748A4.223,4.223,0,0,0,109.183,12.557Zm13.464-5.076h4.623V12a5.813,5.813,0,0,1-2.042,1.286,6.729,6.729,0,0,1-2.446.479,5.64,5.64,0,0,1-2.933-.815,6.1,6.1,0,0,1-2.177-2.194,5.874,5.874,0,0,1,0-5.942,6.117,6.117,0,0,1,2.177-2.185,5.64,5.64,0,0,1,2.933-.815,6.8,6.8,0,0,1,2.454.479,5.627,5.627,0,0,1,2.034,1.286l-.891.908a4.521,4.521,0,0,0-1.631-1.059,5.277,5.277,0,0,0-1.967-.4,4.263,4.263,0,0,0-2.278.647,4.84,4.84,0,0,0-1.681,1.748,4.755,4.755,0,0,0,0,4.732A4.93,4.93,0,0,0,120.5,11.9a4.223,4.223,0,0,0,2.278.656,5.188,5.188,0,0,0,1.673-.294,5.233,5.233,0,0,0,1.5-.782V8.725h-3.311Zm12.624,6.287a5.64,5.64,0,0,1-2.933-.815,6.1,6.1,0,0,1-2.177-2.194,5.874,5.874,0,0,1,0-5.942,6.117,6.117,0,0,1,2.177-2.185,5.64,5.64,0,0,1,2.933-.815,5.582,5.582,0,0,1,2.933.815,6.161,6.161,0,0,1,2.16,2.185,5.874,5.874,0,0,1,0,5.942,6.14,6.14,0,0,1-2.16,2.194A5.582,5.582,0,0,1,135.272,13.768Zm0-1.21a4.223,4.223,0,0,0,2.278-.656,4.86,4.86,0,0,0,1.673-1.748,4.811,4.811,0,0,0,0-4.732,4.772,4.772,0,0,0-1.673-1.748,4.332,4.332,0,0,0-4.555,0,4.839,4.839,0,0,0-1.681,1.748,4.755,4.755,0,0,0,0,4.732,4.93,4.93,0,0,0,1.681,1.748A4.223,4.223,0,0,0,135.272,12.557Z\",\n transform: \"translate(58.828 16.106)\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCompanyLogo);\nexport default __webpack_public_path__ + \"static/media/CompanyLogo.b627b24d.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _path, _path2, _rect, _rect2;\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 SvgViewIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \"\\n .viewA {\\n opacity: 0;\\n }\\n \"))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M168.6,390.606h0a4.611,4.611,0,1,0,4.5,4.609A4.56,4.56,0,0,0,168.6,390.605Zm0,8.207a3.557,3.557,0,0,1-3.509-3.6,3.6,3.6,0,0,1,1.012-2.535,3.441,3.441,0,0,1,2.07-1.035v-.025l.428,0a3.6,3.6,0,0,1,0,7.192Z\",\n transform: \"translate(-156.726 -383.078)\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M167.366,387.727h-.014l-.265,0a13.813,13.813,0,0,0-11.529,6.844.575.575,0,0,0,0,.576c2.759,4.381,7.153,6.939,11.79,6.846a13.837,13.837,0,0,0,11.807-6.853.56.56,0,0,0,0-.574C176.394,390.183,171.985,387.611,167.366,387.727Zm10.7,7.412a12.8,12.8,0,0,1-10.715,5.838l-.22,0a12.858,12.858,0,0,1-10.483-5.84l-.2-.28.2-.28a12.879,12.879,0,0,1,10.7-5.837h0a12.83,12.83,0,0,1,10.715,5.836l.2.28Z\",\n transform: \"translate(-155.483 -382.724)\"\n })), _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n className: \"viewA\",\n width: 24,\n height: 24,\n transform: \"translate(0)\"\n })), _rect2 || (_rect2 = /*#__PURE__*/React.createElement(\"rect\", {\n className: \"viewA\",\n width: 23.754,\n height: 23.754,\n transform: \"translate(0)\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgViewIcon);\nexport default __webpack_public_path__ + \"static/media/view-icon.ff2183b9.svg\";\nexport { ForwardRef as ReactComponent };","export default __webpack_public_path__ + \"static/media/GenericBanner.a08be82e.png\";","const colorsList = {\n kumquatOrange: 'hsl(22, 100%, 94%)', //#FFEADE\n tangerineOrange: 'hsl(20, 92%, 84%)', //#FCCCB3\n peachOrange: 'hsl(20, 75%, 64%)', //#E98D5E\n grapefruitOrange: 'hsl(20, 76%, 47%)', //#D75B1D\n pumpkinOrange: 'hsl(19, 100%, 27%)', //#8B2E00\n\n flashlightGold: 'hsl(39, 100%, 95%)', //#FFF6E5\n sunGold: 'hsl(39, 100%, 59%)', //#FFB831\n\n groveGreen: 'hsl(161, 100%, 96%)', //\t#ebfff9\n forestGreen: 'hsl(161, 88%, 42%)', //#0dc98e\n\n dropBlue: 'hsl(202, 100%, 98%)', //#F7FCFF\n splashBlue: 'hsl(200, 100%, 95%)', //#EAF8FF\n puddleBlue: 'hsl(198, 100%, 84%)', //#B1E7FF\n pondBlue: 'hsl(198, 81%, 67%)', // #6AC7F0\n lakeBlue: 'hsl(198, 71%, 60%)', //#54B7E3\n seaBlue: 'hsl(198, 72%, 46%)', //#2196C9\n oceanBlue: 'hsl(198, 84%, 37%)', //##0F7FB1\n offBlue: 'hsla(219, 43%, 48%)', // #466BB0\n neptuneBlue: 'hsl(210, 40%, 24%)', //#253E58\n planeOfWaterBlue: 'hsl(204, 59%, 13%)', //#0e2636\n\n januaryGrey: 'hsl(0, 0%, 97%)', //#F9F9F9',\n februaryGrey: 'hsl(0, 0%, 94%)', //#F2F2F2',\n marchGrey: 'hsl(240, 1%, 87%)', //#DFDFE0\n aprilGrey: 'hsl(216, 13%, 85%)', //#D4D8DE\n mayGrey: 'hsl(214, 12%, 78%)', //#C2C8D0\n juneGrey: 'hsl(216, 10%, 70%)', //#ADB3BC\n septemberGrey: 'hsl(200, 3%, 44%)', //#6E7477\n novemberGrey: 'hsl(200, 5%, 22%)', //#35393B\n decemberGrey: 'hsla(0, 0%, 18%)', //#2E2E2E\n\n scrollbarBorderGrey: '#E5E5E5',\n scrollbarBackgroundGrey: 'hsl(0,0%,98.5%)',\n\n boxShadow: 'hsla(0, 0%, 0%, 0.06)',\n darkerBoxShadow: 'hsla(0,0%,0%, .15)'\n};\ntype ColorProps = typeof colorsList;\n\n// this gets us autocomplete!\nexport const colors = { ...colorsList } as ColorProps;\n\nexport function hslToHSLA(hsl: string, alpha: number | string) {\n let hslContent = hsl.split(')')[0].split('(')[1];\n\n return `hsla(${hslContent}, ${alpha})`;\n}\n\nexport function hexToRGBA(hex: string, alpha: number | string) {\n let c;\n if (/^#([A-Fa-f0-9]{3}){1,2}$/.test(hex)) {\n c = hex.substring(1).split('');\n if (c.length === 3) {\n c = [c[0], c[0], c[1], c[1], c[2], c[2]];\n }\n c = '0x' + c.join('');\n // @ts-ignore\n return `rgba(${[(c >> 16) & 255, (c >> 8) & 255, c & 255].join(',')}, ${alpha})`;\n }\n throw new Error('Bad Hex');\n}\n","var _defs, _g;\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 SvgBigUnsuccessfulX(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 128.161,\n height: 128.161,\n viewBox: \"0 0 128.161 128.161\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \"\\n .orangeBigXCircle {\\n fill: #fcccb3;\\n }\\n\\n .orangeBigXCircle,\\n .orangeBigX {\\n stroke: #d75b1d;\\n stroke-width: 2px;\\n }\\n\\n .orangeBigX,\\n .orangeBigXCircleOut1 {\\n fill: none;\\n }\\n\\n .orangeBigXCircleOut2 {\\n stroke: none;\\n }\\n \"))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(-1021 -1222.865)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(1021 1222.865)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n className: \"orangeBigXCircle\",\n transform: \"translate(0 0)\"\n }, /*#__PURE__*/React.createElement(\"circle\", {\n className: \"orangeBigXCircleOut2\",\n cx: 64.081,\n cy: 64.081,\n r: 64.081\n }), /*#__PURE__*/React.createElement(\"circle\", {\n className: \"orangeBigXCircleOut1\",\n cx: 64.081,\n cy: 64.081,\n r: 63.081\n }))), /*#__PURE__*/React.createElement(\"line\", {\n className: \"orangeBigX\",\n x1: 54.206,\n y2: 54.206,\n transform: \"translate(1058.294 1260.294)\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n className: \"orangeBigX\",\n x2: 54.206,\n y2: 54.206,\n transform: \"translate(1058.294 1260.294)\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgBigUnsuccessfulX);\nexport default __webpack_public_path__ + \"static/media/big-unsuccessful-x.d211fcaf.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\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 SvgRoundedCloseIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n className: \"w-5 h-5\",\n viewBox: \"0 0 20 20\",\n fill: \"currentColor\",\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 fillRule: \"evenodd\",\n d: \"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z\",\n clipRule: \"evenodd\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgRoundedCloseIcon);\nexport default __webpack_public_path__ + \"static/media/rounded-close-icon.ff820f06.svg\";\nexport { ForwardRef as ReactComponent };","import * as React from 'react';\n\nimport { Modal } from 'antd';\nimport { ModalProps } from 'antd/lib/modal';\nimport { ReactComponent as UnsuccesfulX } from 'assets/big-unsuccessful-x.svg';\nimport styled from '@emotion/styled';\nimport { colors } from 'styles/colors';\n\nconst maskStyle = {\n background: 'rgba(255, 255, 255, 0)'\n};\nconst floatingStyle = {\n borderRadius: '10px'\n};\nconst bodyStyle = {\n borderRadius: '10px'\n};\n\nconst ContentContainer = styled.div`\n width: 200px;\n margin: 25px auto 50px;\n text-align: center;\n`;\n\nconst WarningCircle = styled.div`\n display: inline-flex;\n justify-content: center;\n align-items: center;\n width: 128px;\n height: 128px;\n border-radius: 100%;\n`;\nconst ContentText = styled.div`\n margin-top: 30px;\n font-size: 22px;\n color: ${colors.novemberGrey};\n width: 100%;\n`;\nconst MinorText = styled.div`\n margin-top: 20px;\n font-size: 16px;\n color: ${colors.juneGrey};\n width: 100%;\n`;\n\ninterface Props extends ModalProps {\n visible: boolean;\n failureMessage: React.ReactNode;\n minorMessage?: string;\n}\n\nexport const FailureModal = (props: Props) => {\n const { failureMessage, visible, minorMessage } = props;\n const [showModal, setShowModal] = React.useState(visible);\n\n React.useEffect(() => {\n if (visible) {\n setShowModal(true);\n /*setTimeout(() => {\n setShowModal(false);\n }, 2000);*/\n }\n }, [visible]);\n\n const onClose = () => {\n setShowModal(false);\n };\n\n return (\n <>\n \n \n \n \n \n {failureMessage}\n {minorMessage}\n \n \n \n );\n};\n","import styled from '@emotion/styled';\nimport { Button } from 'antd';\nimport { useGetCustomStyles } from 'api/hooks';\nimport * as React from 'react';\nimport { colors } from 'styles/colors';\nimport './SoloButton.css';\n\ntype SoloButtonBlockProps = {\n isCancel?: boolean;\n isNegative?: boolean;\n primaryColorOverride?: string;\n};\n\nexport const SoloButtonBlock = styled.div`\n position: relative;\n display: inline-block;\n text-align: center;\n\n button.ant-btn {\n padding: 10px 20px;\n font-size: 16px;\n line-height: 14px;\n background: ${(props: SoloButtonBlockProps) => props.primaryColorOverride || colors.seaBlue};\n color: white;\n border: none;\n outline: none;\n border-radius: 8px;\n min-width: 125px;\n height: auto;\n cursor: pointer;\n\n &:hover,\n &:focus {\n color: white;\n background: ${colors.lakeBlue};\n }\n\n &:active {\n background: ${colors.seaBlue};\n }\n\n &:disabled,\n &[aria-disabled='true'] {\n opacity: 0.3;\n pointer-events: none;\n cursor: default;\n background: ${colors.seaBlue};\n color: white;\n box-shadow: none;\n }\n\n > span {\n position: relative;\n z-index: 2;\n }\n\n ${(props: SoloButtonBlockProps) =>\n !!props.isCancel\n ? `background: ${colors.juneGrey};\n\n &:hover,\n &:focus {\n background: ${colors.mayGrey};\n }\n\n &:active {\n background: ${colors.juneGrey};\n }\n\n &:disabled, &[aria-disabled=\"true\"] {\n background: ${colors.juneGrey};\n }`\n : !!props.isNegative\n ? `background: ${colors.grapefruitOrange};\n\n &:hover,\n &:focus {\n background: ${colors.peachOrange};\n }\n\n &:active {\n background: ${colors.grapefruitOrange};\n }\n\n &:disabled,&[aria-disabled=\"true\"] {\n background: ${colors.grapefruitOrange};\n }`\n : ''};\n }\n`;\n\ninterface ButtonProps {\n text: string;\n onClick: (e: React.MouseEvent) => void;\n errorText?: string;\n error?: boolean;\n disabled?: boolean;\n isCancel?: boolean;\n isNegative?: boolean;\n role?: any;\n}\n\nexport const SoloButton = (props: ButtonProps) => {\n const { text, onClick, errorText, error, disabled, isCancel, isNegative, ...rest } = props;\n\n const { customStyles, customStylesError } = useGetCustomStyles();\n\n const intermediaryOnClick = (e: React.MouseEvent) => {\n if (!disabled) {\n onClick(e);\n }\n };\n\n return (\n \n \n {error ? errorText : text}\n \n \n );\n};\n\nexport const RemoveTagButton = styled.button`\n margin-left: 1.5rem;\n margin-right: 0.5rem;\n flex-shrink: 0;\n display: inline-flex;\n color: rgba(194, 200, 208, 1);\n &:focus {\n color: #253e58;\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n`;\n","import * as React from 'react';\nimport styled from '@emotion/styled';\nimport { colors } from 'styles/colors';\n\nexport const Label = styled.label`\n display: block;\n color: ${colors.novemberGrey};\n font-size: 16px;\n margin-bottom: 10px;\n font-weight: 500;\n`;\n\ntype InputStyledProps = {\n error?: boolean;\n borderless?: boolean;\n};\n\nconst Input = styled.input`\n width: 100%;\n padding: 7px 15px 7px 11px;\n border-radius: 8px;\n line-height: 16px;\n outline: none;\n\n border: 1px solid\n ${(props: InputStyledProps) =>\n props.error ? colors.grapefruitOrange : props.borderless ? 'none' : colors.aprilGrey};\n\n &:disabled {\n background: ${colors.februaryGrey};\n color: ${colors.septemberGrey};\n border: 1px solid ${colors.mayGrey};\n }\n\n &::placeholder {\n color: ${colors.juneGrey};\n }\n`;\n\ninterface InputProps {\n name?: string;\n title?: string;\n placeholder?: string;\n value: string | number;\n disabled?: boolean;\n onChange: (e: React.ChangeEvent) => any;\n onBlur?: (e: React.ChangeEvent) => any;\n onKeyPress?: (e: React.KeyboardEvent) => void;\n borderless?: boolean;\n error?: boolean;\n password?: boolean;\n}\n\nexport const SoloInput = (props: InputProps) => {\n const {\n name,\n title,\n placeholder,\n value,\n onChange,\n onBlur,\n disabled,\n error,\n borderless,\n onKeyPress,\n password,\n ...rest\n } = props;\n\n return (\n
\n {title && }\n \n
\n );\n};\n","var _defs, _g;\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 SvgSmallGreenPlus(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 22.321,\n height: 22.321,\n viewBox: \"0 0 22.321 22.321\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \"\\n .small-green-plus-b {\\n fill: none;\\n stroke: #fff;\\n stroke-width: 2px\\n }\\n \"))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(-1212.679 -1275.51)\"\n }, /*#__PURE__*/React.createElement(\"circle\", {\n cx: 11.161,\n cy: 11.161,\n r: 11.161,\n transform: \"translate(1212.679 1275.51)\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n y2: 10.146,\n className: \"small-green-plus-b\",\n transform: \"translate(1223.839 1281.394)\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n x2: 10.146,\n className: \"small-green-plus-b\",\n transform: \"translate(1218.563 1286.67)\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSmallGreenPlus);\nexport default __webpack_public_path__ + \"static/media/small-green-plus.31ab7cdf.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _g;\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 SvgBigSuccessfulCheckmark(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 128.161,\n height: 128.161,\n viewBox: \"0 0 128.161 128.161\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \"\\n .greenBigCheckCircle {\\n fill: #d2f7ec;\\n stroke-width: 2px;\\n }\\n\\n .greenBigCheckCircle,\\n .greenBigCheck {\\n stroke: #0dce93;\\n }\\n\\n .greenBigCheck,\\n .greenBigCheckCircleOut1 {\\n fill: none;\\n }\\n\\n .greenBigCheck {\\n stroke-width: 3px;\\n }\\n\\n .greenBigCheckCircleOut2 {\\n stroke: none;\\n }\\n \"))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(-857 -1222.865)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(857 1222.865)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n className: \"greenBigCheckCircle\",\n transform: \"translate(0 0)\"\n }, /*#__PURE__*/React.createElement(\"circle\", {\n className: \"greenBigCheckCircleOut2\",\n cx: 64.081,\n cy: 64.081,\n r: 64.081\n }), /*#__PURE__*/React.createElement(\"circle\", {\n className: \"greenBigCheckCircleOut1\",\n cx: 64.081,\n cy: 64.081,\n r: 63.081\n }))), /*#__PURE__*/React.createElement(\"path\", {\n className: \"greenBigCheck\",\n d: \"M-10877.523-709.641l25.818,25.813,41.092-41.1\",\n transform: \"translate(11765.116 1994.447)\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgBigSuccessfulCheckmark);\nexport default __webpack_public_path__ + \"static/media/big-successful-checkmark.db55ac08.svg\";\nexport { ForwardRef as ReactComponent };","import styled from '@emotion/styled';\nimport { FormikValues, useField, useFormikContext } from 'formik';\nimport React from 'react';\nimport { SoloInput } from './SoloInput';\nimport { colors } from 'styles/colors';\nimport { RemoveTagButton } from './SoloButton';\nimport { ReactComponent as CloseIcon } from 'assets/rounded-close-icon.svg';\nimport { ReactComponent as GreenPlus } from 'assets/small-green-plus.svg';\n\ntype ErrorTextProps = { errorExists?: boolean };\n\nexport const ErrorText = styled.div`\n color: ${colors.grapefruitOrange};\n visibility: ${(props: ErrorTextProps) => (props.errorExists ? 'visible' : 'hidden')};\n height: 15px;\n margin-top: 5px;\n`;\n\ntype FormInputProps = {\n label: string;\n name: string;\n};\n\nexport const FormInput: React.FC = ({ label, ...props }) => {\n const [field, meta] = useField(props.name);\n\n return (\n
\n \n
\n \n
\n \n
\n
\n {meta.error && meta.touched &&

{meta.error}

}\n
\n );\n};\n\nexport const SoloFormInput = ({ ...props }) => {\n const { hideError = false } = props;\n const form = useFormikContext();\n const field = form.getFieldProps(props.name);\n const meta = form.getFieldMeta(props.name);\n\n return (\n <>\n \n {hideError ? null : {meta.error}}\n \n );\n};\n\nexport type SoloFormMetadataProps = {\n name: string; // the name of this field in Formik\n newMetadataKey?: string;\n newMetadataValue?: string;\n labels?: [string, string][];\n editMode?: boolean;\n};\n\nexport const SoloFormMetadata = (props: SoloFormMetadataProps) => {\n const { name, editMode = true, newMetadataKey = 'newKey', newMetadataValue = 'newValue', labels } = props;\n const { values, setFieldValue } = useFormikContext();\n\n const newLabelIsAddable =\n !!values[newMetadataKey].length &&\n !!values[newMetadataValue].length &&\n !(values[name] as [string, string][]).some(\n ([existingLabel, existingValue]) => values[newMetadataKey] === existingLabel\n );\n\n return (\n <>\n
Custom Metadata
\n {editMode ? (\n <>\n
\n
\n {(values[name] as [string, string][])?.map(([labelKey, labelValue]) => (\n \n \n {labelKey} :\n {labelValue}\n \n \n {\n let newLabels = (values[name] as [string, string][]).filter(([k, v]) => labelKey !== k);\n setFieldValue(name, newLabels);\n }}>\n \n \n \n
\n \n \n ))}\n
\n
\n
\n \n \n \n \n\n {\n if (newLabelIsAddable) {\n let newLabels = [\n ...(values[name] as [string, string][]),\n [values[newMetadataKey], values[newMetadataValue]]\n ];\n setFieldValue(name, newLabels);\n setFieldValue(newMetadataKey, '');\n setFieldValue(newMetadataValue, '');\n }\n }}>\n \n \n
\n
\n \n \n ) : (\n
\n {(labels ?? (values[name] as [string, string][])).map(([labelKey, labelValue]) => (\n \n \n {labelKey} :\n {labelValue}\n \n \n ))}\n
\n )}\n \n );\n};\n","var _defs, _g;\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 SvgNotFoundLeftSocket(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n width: 456.768,\n height: 229.318,\n viewBox: \"0 0 456.768 229.318\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \"\\n .notFoundSocketA {\\n fill: #fff;\\n }\\n\\n .notFoundSocketB {\\n fill: #466bb0;\\n }\\n\\n .notFoundSocketC {\\n filter: url(#a);\\n }\\n \"), /*#__PURE__*/React.createElement(\"filter\", {\n id: \"a\",\n x: 0,\n y: 0,\n width: 456.768,\n height: 229.318,\n filterUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"feOffset\", {\n input: \"SourceAlpha\"\n }), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 3,\n result: \"b\"\n }), /*#__PURE__*/React.createElement(\"feFlood\", {\n floodOpacity: 0.161\n }), /*#__PURE__*/React.createElement(\"feComposite\", {\n operator: \"in\",\n in2: \"b\"\n }), /*#__PURE__*/React.createElement(\"feComposite\", {\n in: \"SourceGraphic\"\n })))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(9.001 8.624)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n className: \"notFoundSocketC\",\n transform: \"matrix(1, 0, 0, 1, -9, -8.62)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n className: \"notFoundSocketA\",\n d: \"M-1346.89,2170.683l-22.658-98.567c-1.293-5.626-6.271-9.3-11.1-8.19-3.625.834-6.149,4.133-6.632,8.107l-48.194,11.077a15.419,15.419,0,0,0-11.9,16.165l-14.859,3.415a15.413,15.413,0,0,0-11.554,18.449l3.048,13.261-24.963,5.739a12.487,12.487,0,0,0-8.052,6c-.32.05-.641.112-.962.193-11.443,2.905-22.859,6.482-33.9,9.94-7.215,2.261-14.675,4.6-22.05,6.718-12.606,3.623-23.94,6.037-38.269,6.037h-.413c-13.166-.043-23.052-2.412-31.113-7.453a23.439,23.439,0,0,1-5.044-4.116,22.383,22.383,0,0,1-4.357-5.909c-2.471-4.356-3.95-10.443-4.279-17.6-.4-8.719.691-17.623,1.746-26.233,1.033-8.425,2.1-17.137,1.829-25.876-.513-16.492-6.972-31.513-19.2-44.647-19.382-20.821-48.5-29.228-74.182-36.645l-.776-.224c-2.462-.711-5.017-1.415-7.488-2.1-14.464-3.986-29.421-8.108-40.653-17.271-.912-.743-1.631-1.511-2.484-2.3v22.612h0v.106a89.363,89.363,0,0,0,14.1,6.906c10.24,3.925,20.972,6.995,31.352,9.964,15.1,4.318,30.7,8.784,44.666,15.893,12.472,6.352,21.6,13.941,27.906,23.2a46.78,46.78,0,0,1,7.8,19.667c1.164,7.634.266,15.815-.6,23.728l-.081.74c-.233,2.127-.489,4.267-.745,6.415-1.767,14.8-3.6,30.112,1.379,44.806a47.611,47.611,0,0,0,26.613,28.549c9.885,4.295,20.978,6.382,33.915,6.383a152.306,152.306,0,0,0,22.408-1.808c10.984-1.629,21.726-4.976,32.114-8.214l3.114-.969q3.963-1.229,7.922-2.473c10.969-3.437,22.313-6.99,33.613-9.859a9.641,9.641,0,0,0,1.669-.606,12.463,12.463,0,0,0,8.115.879l24.963-5.737,3.048,13.26a15.412,15.412,0,0,0,18.453,11.556l14.859-3.415a15.419,15.419,0,0,0,17.767,9.345l48.194-11.077c2.17,3.365,5.88,5.231,9.506,4.4C-1348.472,2181.787-1345.6,2176.308-1346.89,2170.683Z\",\n transform: \"translate(1794.35 -1969.65)\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n className: \"notFoundSocketB\",\n d: \"M438.458,557.844,415.8,459.277c-1.293-5.626-6.271-9.3-11.1-8.19-3.625.834-6.149,4.133-6.632,8.107l-48.194,11.077a15.42,15.42,0,0,0-11.9,16.165l-14.859,3.415A15.413,15.413,0,0,0,311.561,508.3l3.048,13.261L289.646,527.3a12.486,12.486,0,0,0-8.052,6c-.32.05-.641.112-.962.193-11.443,2.905-22.859,6.482-33.9,9.94-7.215,2.261-14.675,4.6-22.05,6.718-12.606,3.623-23.94,6.037-38.269,6.037H186c-13.166-.043-23.052-2.412-31.113-7.453a23.438,23.438,0,0,1-5.044-4.116,22.393,22.393,0,0,1-4.357-5.909c-2.471-4.356-3.95-10.443-4.279-17.6-.4-8.719.691-17.623,1.746-26.233,1.033-8.425,2.1-17.137,1.829-25.876-.513-16.492-6.972-31.513-19.2-44.647C106.2,403.533,77.086,395.126,51.4,387.709l-.776-.224c-2.462-.711-5.017-1.415-7.488-2.1-14.464-3.986-29.421-8.108-40.653-17.271-.912-.743-1.631-1.511-2.484-2.3v6.74c11.983,9.509,27.041,13.717,41.775,17.779,2.456.677,5,1.376,7.427,2.078l.777.225c25.045,7.232,53.431,15.429,71.846,35.209,11.356,12.2,17.353,26.1,17.826,41.309.259,8.345-.785,16.859-1.794,25.092-1.08,8.821-2.2,17.942-1.779,27.093.37,8.076,2.033,14.77,4.941,19.9a27.128,27.128,0,0,0,5.19,7,28.209,28.209,0,0,0,5.954,4.839c8.907,5.571,19.652,8.187,33.816,8.234h.434c12.777,0,24.275-1.807,39.687-6.236,7.434-2.137,14.923-4.483,22.167-6.752,10.343-3.241,21.019-6.578,31.678-9.355a12.362,12.362,0,0,0,2.436,7.987c-10.822,2.814-21.606,6.184-32.052,9.456q-3.953,1.238-7.908,2.469l-3.122.971c-10.2,3.179-20.749,6.466-31.34,8.036a147.18,147.18,0,0,1-21.656,1.753c-12.218,0-22.643-1.949-31.87-5.958a42.537,42.537,0,0,1-23.8-25.485c-4.6-13.594-2.844-28.316-1.144-42.553.259-2.164.516-4.32.751-6.464l.081-.738c.9-8.241,1.84-16.763.575-25.062a51.81,51.81,0,0,0-8.632-21.782c-6.8-9.991-16.558-18.131-29.819-24.884-14.4-7.333-30.254-11.868-45.583-16.253-10.273-2.939-20.9-5.977-30.927-9.822A83.631,83.631,0,0,1,0,382.52v6.012a89.355,89.355,0,0,0,14.1,6.906c10.24,3.925,20.972,6.995,31.352,9.964,15.1,4.318,30.7,8.784,44.666,15.893,12.472,6.352,21.6,13.941,27.906,23.2a46.78,46.78,0,0,1,7.8,19.667c1.164,7.634.266,15.815-.6,23.728l-.081.74c-.233,2.127-.489,4.267-.745,6.415-1.767,14.8-3.595,30.112,1.379,44.806A47.609,47.609,0,0,0,152.39,568.4c9.885,4.295,20.978,6.382,33.915,6.383h0a152.217,152.217,0,0,0,22.408-1.808c10.984-1.629,21.726-4.976,32.114-8.214l3.114-.969q3.963-1.229,7.922-2.473c10.969-3.437,22.313-6.99,33.613-9.859a9.61,9.61,0,0,0,1.669-.606,12.459,12.459,0,0,0,8.115.879l24.963-5.737,3.048,13.26a15.412,15.412,0,0,0,18.453,11.556l14.859-3.415a15.419,15.419,0,0,0,17.767,9.345l48.194-11.077c2.17,3.365,5.88,5.231,9.506,4.4C436.876,568.948,439.75,563.469,438.458,557.844ZM294.111,546.728A7.4,7.4,0,1,1,290.8,532.3l24.963-5.738,3.315,14.424Zm46.464,19.078a10.275,10.275,0,0,1-12.3-7.7l-11.711-50.948a10.275,10.275,0,0,1,7.7-12.3l14.689-3.377,16.308,70.955Zm32.626,5.929a10.275,10.275,0,0,1-12.3-7.7l-17.574-76.457a10.276,10.276,0,0,1,7.7-12.3l47.51-10.92,22.172,96.463Zm57.7-6.68c-2.033.468-4.3-1.52-4.947-4.338L403.3,462.151c-.648-2.819.523-5.6,2.556-6.063s4.3,1.519,4.946,4.338l22.656,98.568C434.1,561.812,432.933,564.589,430.9,565.056Z\",\n transform: \"translate(0 -365.818)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"notFoundSocketB\",\n d: \"M517.334,629.043q-4.023-17.5-8.047-35.01c-.649-2.821-5.65-1.672-5,1.15q4.024,17.507,8.047,35.01c.649,2.823,5.65,1.674,5-1.149Z\",\n transform: \"translate(-180.774 -447.054)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"notFoundSocketB\",\n d: \"M532.075,625.654q-4.024-17.5-8.047-35.009c-.648-2.823-5.65-1.673-5,1.15q4.023,17.5,8.047,35.009c.649,2.823,5.651,1.674,5-1.15Z\",\n transform: \"translate(-186.059 -445.839)\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgNotFoundLeftSocket);\nexport default __webpack_public_path__ + \"static/media/not-found-left-socket.aa8b0b35.svg\";\nexport { ForwardRef as ReactComponent };","import * as React from 'react';\n\nimport { Modal } from 'antd';\nimport { ModalProps } from 'antd/lib/modal';\nimport { ReactComponent as SuccessCheckmark } from 'assets/big-successful-checkmark.svg';\nimport styled from '@emotion/styled';\nimport { colors } from 'styles/colors';\n\nconst maskStyle = {\n background: 'rgba(255, 255, 255, 0)'\n};\nconst floatingStyle = {\n borderRadius: '10px'\n};\nconst bodyStyle = {\n borderRadius: '10px'\n};\n\nconst ContentContainer = styled.div`\n width: 300px;\n margin: 25px auto 50px;\n text-align: center;\n`;\n\nconst IconHolderCircle = styled.div`\n display: inline-flex;\n justify-content: center;\n align-items: center;\n width: 128px;\n height: 128px;\n border-radius: 100%;\n`;\nconst ContentText = styled.div`\n margin-top: 30px;\n font-size: 22px;\n color: ${colors.novemberGrey};\n width: 100%;\n`;\n\ninterface Props extends ModalProps {\n visible: boolean;\n successMessage: React.ReactNode;\n}\n\nexport const SuccessModal = (props: Props) => {\n const { successMessage, visible } = props;\n const [showModal, setShowModal] = React.useState(visible);\n\n React.useEffect(() => {\n if (visible) {\n setShowModal(true);\n setTimeout(() => {\n setShowModal(false);\n }, 2000);\n }\n }, [visible]);\n\n return (\n <>\n \n \n \n \n \n {successMessage}\n \n \n \n );\n};\n","import { Popover } from 'antd';\nimport { useGetCustomStyles } from 'api/hooks';\nimport { webAppAPI } from 'api/web-app';\nimport { ReactComponent as DefaultCompanyLogo } from 'assets/defaultImages/CompanyLogo.svg';\nimport DefaultBanner from 'assets/defaultImages/GenericBanner.png';\nimport { ReactComponent as ViewPasswordIcon } from 'assets/view-icon.svg';\nimport { Formik, FormikProps } from 'formik';\nimport * as React from 'react';\nimport { Link, useHistory } from 'react-router-dom';\nimport { colors } from 'styles/colors';\nimport * as yup from 'yup';\nimport './ChangePassword.css';\nimport { FailureModal } from './FailureModal';\nimport { SoloButton } from './SoloButton';\nimport { SoloFormInput } from './SoloFormField';\nimport { SuccessModal } from './SuccessModal';\n\nconst smallNavLinkStyles = {\n color: colors.septemberGrey\n};\n\nconst initialValues = {\n newPassword: '',\n repeatPassword: ''\n};\nconst validationSchema = yup.object().shape({\n newPassword: yup\n .string()\n .required('Please choose a password')\n .min(8, 'Must be at least 8 characters long')\n .matches(/(?=.*[0-9])/, 'Must contain at least one number')\n .matches(/^.*[!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?].*$/, 'Need one special character'),\n\n repeatPassword: yup\n .string()\n .required('Passwords must match')\n .oneOf([yup.ref('newPassword'), null], `Passwords don't match`)\n});\n\nconst PasswordRequirements = () => {\n return (\n
\n \n
Password Requirements
\n
    \n
  • Password must be at least 8 characters long
  • \n
  • Password must contain at least one number, one letter
  • \n
  • Password must contain at least one special character (i.e. !&*)
  • \n
  • Password should not use consecutive numbers (i.e. 12345)
  • \n
\n
\n }>\n
\n
\n \n \n );\n};\n\nexport const ChangePassword = () => {\n const routerHistory = useHistory();\n const [showPassword, setShowPassword] = React.useState(false);\n const [resetPasswordResolved, setResetPasswordResolved] = React.useState<{\n wasSuccessful: boolean;\n errorMessage?: string;\n } | null>(null);\n\n const { customStyles, customStylesError } = useGetCustomStyles();\n\n React.useEffect(() => {\n document.title = 'Portal - Change password';\n }, []);\n\n let innerFormik: FormikProps | null = null;\n const keyPressed = (event: React.KeyboardEvent) => {\n if (innerFormik?.isValid && event.key === 'Enter') {\n attemptReset(innerFormik.values);\n }\n };\n\n const attemptReset = async (values: typeof initialValues) => {\n await webAppAPI\n .changePassword({ newPassword: values.newPassword, currentPassword: values.repeatPassword })\n .then(result => {\n if (result) {\n routerHistory.push({ pathname: '/' });\n } else {\n innerFormik?.resetForm();\n }\n setResetPasswordResolved({ wasSuccessful: !!result, errorMessage: 'Problems resetting' });\n\n setTimeout(() => {\n setResetPasswordResolved(null);\n }, 3100);\n });\n };\n return (\n
\n
\n {!!customStyles?.bannerUrl ? (\n {''}\n ) : (\n {''}\n )}\n
\n
\n\n
\n
\n
\n {!!customStyles?.logoUrl ? {''} : }\n
\n

Change Your Password

\n\n
\n Since this is the first time you are logging in, you are required to change your password for security\n purposes.\n
\n\n \n initialValues={initialValues}\n onSubmit={attemptReset}\n validationSchema={validationSchema}\n render={formik => {\n innerFormik = formik;\n\n return (\n
\n
\n
\n setShowPassword(!showPassword)}>\n \n \n ) => keyPressed(evt)}\n />\n
\n
\n
\n
\n setShowPassword(!showPassword)}>\n \n \n ) => keyPressed(evt)}\n />\n
\n
\n\n \n
\n );\n }}\n />\n \n
\n
\n\n \n Password changed sucessfully!{' '}\n
\n You will now be redirected to the{' '}\n \n home page\n \n .\n
\n
\n }\n />\n\n Unable to change password.
}\n minorMessage={resetPasswordResolved?.errorMessage}\n />\n \n );\n};\n","var _defs, _g;\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 SvgNotFoundRightPlug(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 478.169,\n height: 165.959,\n viewBox: \"0 0 478.169 165.959\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \"\\n .notFoundPlugA {\\n fill: #fff;\\n }\\n\\n .notFoundPlugB {\\n fill: #ddeaff;\\n }\\n\\n .notFoundPlugC {\\n fill: #466bb0;\\n }\\n \"))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(-0.001 0.043)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n className: \"notFoundPlugA\",\n d: \"M-1369.127,1638.3h0v-1.029a196.731,196.731,0,0,1-21.769,1.289c-.428.008-.829,0-1.245,0-19.93-.146-38.679-4.634-54.219-12.978a136.985,136.985,0,0,1-22.392-14.834c-6.6-5.447-12.42-12-17.558-17.774-5.1-5.73-10.242-11.17-17.161-14.755a44.138,44.138,0,0,0-20.239-4.791,46.367,46.367,0,0,0-5.549.334c-17.48,2.112-31.99,12.869-43.879,23.113-3.747,3.229-7.393,6.689-10.917,10.036-6.845,6.5-13.923,13.218-21.877,18.326-13.877,8.911-29.932,14.153-43.892,18.368-2.263.683-4.5,1.33-6.571,1.926-.027.008-.049.019-.076.027a12.452,12.452,0,0,0-7.914-.791l-24.963,5.739-3.048-13.261a15.413,15.413,0,0,0-18.454-11.556l-14.689,3.376-2.025-8.805c-1.293-5.625-6.27-9.3-11.1-8.189-3.625.833-6.147,4.132-6.631,8.106l-54.445,12.515a8.991,8.991,0,0,0-6.741,10.763l.92,4-31.175,7.166c-6.964,1.6-11.44,6.176-10.413,10.644s7.052,6.63,14.016,5.029l31.175-7.165,11.4,49.608-31.175,7.166c-6.963,1.6-11.44,6.176-10.413,10.644s7.052,6.632,14.016,5.031l31.174-7.165.921,4a8.99,8.99,0,0,0,10.764,6.741l54.445-12.515c2.171,3.364,5.88,5.231,9.505,4.4,4.827-1.11,7.7-6.589,6.408-12.213l-2.025-8.8,14.69-3.377a15.412,15.412,0,0,0,11.559-18.448l-3.048-13.262,24.963-5.737a12.485,12.485,0,0,0,8.011-5.925c15.953-4.6,32.783-10.028,48.109-18.365,11.919-6.485,21.74-15.635,31.236-24.483q2.07-1.928,4.15-3.854c11.9-10.971,22.848-20.328,36.374-23.725a28.9,28.9,0,0,1,7.032-.864,26.12,26.12,0,0,1,11.3,2.463c4.874,2.351,8.544,6.521,12.432,10.935q.816.929,1.635,1.848a162.993,162.993,0,0,0,18.688,18.424,160.628,160.628,0,0,0,24.209,16.079c16.882,9.207,36.646,14.36,58.739,15.317,2.257.1,4.585.148,6.921.148a195.923,195.923,0,0,0,20.817-1.187v-.049h0Z\",\n transform: \"translate(1847.297 -1573.473)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"notFoundPlugB\",\n width: 33.124,\n height: 4.567,\n transform: \"translate(54.54 114.006) rotate(-12.945)\"\n }), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(4.161 82.052)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(15.002 65.267)\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n className: \"notFoundPlugB\",\n width: 40.463,\n height: 2.835,\n transform: \"matrix(0.975, -0.224, 0.224, 0.975, 0, 9.064)\"\n })), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"notFoundPlugB\",\n width: 40.464,\n height: 2.835,\n transform: \"translate(0 9.065) rotate(-12.945)\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0.001 -0.043)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n className: \"notFoundPlugC\",\n d: \"M975.309,486.917q4.023,17.506,8.047,35.01c.649,2.822,5.65,1.672,5-1.15q-4.024-17.5-8.047-35.01c-.649-2.823-5.65-1.672-5,1.15Z\",\n transform: \"translate(-833.701 -411.656)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"notFoundPlugC\",\n d: \"M960.568,490.305q4.023,17.507,8.047,35.01c.649,2.822,5.65,1.672,5-1.15q-4.023-17.5-8.047-35.01c-.648-2.822-5.65-1.672-5,1.149Z\",\n transform: \"translate(-828.416 -412.871)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"notFoundPlugC\",\n d: \"M1232.758,448.561a192.052,192.052,0,0,1-20.817,1.217c-2.262,0-4.515-.049-6.7-.143-21.3-.922-40.314-5.867-56.5-14.7a155.554,155.554,0,0,1-23.435-15.56,158.36,158.36,0,0,1-18.092-17.856c-.539-.6-1.074-1.212-1.61-1.82-4.053-4.6-8.244-9.364-14.053-12.166a31.286,31.286,0,0,0-13.524-2.973,34.021,34.021,0,0,0-8.283,1.019c-14.7,3.69-26.178,13.474-38.6,24.929q-2.094,1.932-4.17,3.873c-9.689,9.028-18.841,17.555-30.189,23.73-13.912,7.568-29.234,12.706-43.965,17.036a12.318,12.318,0,0,0-2.489-7.96c1.055-.309,2.131-.627,3.216-.955,14.292-4.314,30.748-9.693,45.181-18.962,8.363-5.37,15.62-12.259,22.638-18.922,3.481-3.3,7.08-6.722,10.734-9.87,11.3-9.74,25.032-19.96,41.144-21.907a41.333,41.333,0,0,1,4.934-.3,38.988,38.988,0,0,1,17.879,4.215c6.14,3.181,10.923,8.253,15.686,13.608,5.261,5.916,11.224,12.622,18.126,18.321a142.074,142.074,0,0,0,23.231,15.4c16.273,8.736,35.849,13.435,56.61,13.588.428,0,.858,0,1.283,0a200.814,200.814,0,0,0,21.769-1.257v-5.165a196.779,196.779,0,0,1-21.769,1.289c-.428.008-.829,0-1.245,0-19.93-.146-38.679-4.634-54.219-12.978a136.95,136.95,0,0,1-22.392-14.834c-6.6-5.447-12.42-12-17.558-17.774-5.1-5.73-10.242-11.17-17.161-14.755a44.138,44.138,0,0,0-20.239-4.791,46.392,46.392,0,0,0-5.549.334c-17.48,2.112-31.99,12.869-43.879,23.113-3.747,3.229-7.393,6.689-10.917,10.036-6.845,6.5-13.923,13.218-21.877,18.326-13.877,8.911-29.932,14.153-43.892,18.368-2.263.683-4.5,1.33-6.571,1.926-.027.008-.049.019-.076.027a12.452,12.452,0,0,0-7.914-.791l-24.963,5.739-3.048-13.261a15.413,15.413,0,0,0-18.454-11.556l-14.689,3.376-2.025-8.805c-1.293-5.625-6.27-9.3-11.1-8.189-3.625.833-6.147,4.132-6.631,8.106l-54.445,12.515a8.99,8.99,0,0,0-6.741,10.763l.92,4-31.175,7.166c-6.964,1.6-11.44,6.176-10.413,10.644s7.052,6.63,14.016,5.029l31.175-7.165,11.4,49.608-31.175,7.166c-6.963,1.6-11.44,6.176-10.413,10.644s7.052,6.632,14.016,5.031l31.174-7.165.921,4a8.99,8.99,0,0,0,10.764,6.741l54.445-12.515c2.171,3.364,5.88,5.231,9.505,4.4,4.827-1.11,7.7-6.589,6.408-12.213l-2.025-8.8,14.69-3.377A15.413,15.413,0,0,0,921.2,485.911l-3.048-13.262,24.963-5.737a12.487,12.487,0,0,0,8.011-5.925c15.953-4.6,32.783-10.028,48.109-18.365,11.919-6.485,21.74-15.635,31.236-24.483q2.07-1.928,4.15-3.854c11.9-10.971,22.848-20.328,36.374-23.725a28.887,28.887,0,0,1,7.032-.864,26.131,26.131,0,0,1,11.295,2.463c4.873,2.351,8.544,6.521,12.431,10.935q.817.928,1.635,1.848a163.058,163.058,0,0,0,18.688,18.424,160.7,160.7,0,0,0,24.21,16.079c16.882,9.207,36.645,14.36,58.739,15.317,2.257.1,4.585.148,6.92.148a195.728,195.728,0,0,0,20.817-1.187ZM767.6,463.013c-4.4,1.012-7.641-.2-7.865-1.177s2.157-3.481,6.562-4.494l31.174-7.166,1.3,5.672Zm41.949,16.8,27.729-6.374,2.155,9.377-27.729,6.374ZM782.609,528.3c-4.405,1.012-7.641-.2-7.865-1.179s2.157-3.481,6.561-4.493l31.175-7.166,1.3,5.672Zm42.859,3.576a3.853,3.853,0,0,1-4.614-2.889l-8-34.79,32.73-7.523-4.454-19.38L808.4,474.814l-8-34.79a3.853,3.853,0,0,1,2.889-4.614l53.761-12.357,22.173,96.464Zm63.951-8.117c-2.033.467-4.3-1.518-4.946-4.337l-22.656-98.568c-.649-2.819.523-5.6,2.556-6.062s4.3,1.518,4.946,4.337L891.975,517.7C892.623,520.513,891.452,523.289,889.418,523.757Zm19.074-24.394-14.69,3.376-16.308-70.955,14.689-3.377a10.276,10.276,0,0,1,12.3,7.7L916.2,487.061A10.277,10.277,0,0,1,908.492,499.363Zm33.471-37.453L917,467.648l-3.315-14.423,24.963-5.739a7.4,7.4,0,0,1,3.315,14.424Z\",\n transform: \"translate(-754.59 -371.146)\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgNotFoundRightPlug);\nexport default __webpack_public_path__ + \"static/media/not-found-right-plug.3370bc92.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _g;\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 SvgPortalNotFoundCard(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 458.254,\n height: 248.17,\n viewBox: \"0 0 458.254 248.17\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \"\\n .portalNotFoundA {\\n fill: #466bb0;\\n }\\n\\n .portalNotFoundB {\\n fill: #98b2e0;\\n }\\n \"))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(-449.916 -216.987)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(563.456 257.34)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n className: \"portalNotFoundA\",\n d: \"M21.494,87.816,47.228,61.978,21.494,36.142l-2.839,2.851,22.9,22.985-22.9,22.988Z\",\n transform: \"translate(18.551 15.709)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"portalNotFoundA\",\n width: 21.83,\n height: 4.03,\n transform: \"translate(78.39 63.254)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"portalNotFoundA\",\n width: 32.507,\n height: 4.03,\n transform: \"translate(113.805 63.254)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"portalNotFoundA\",\n width: 5.724,\n height: 4.03,\n transform: \"translate(163.853 63.254)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"portalNotFoundA\",\n width: 7.08,\n height: 4.03,\n transform: \"translate(185.757 63.254)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"portalNotFoundA\",\n width: 21.83,\n height: 4.03,\n transform: \"translate(171.005 75.672)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"portalNotFoundA\",\n width: 32.501,\n height: 4.03,\n transform: \"translate(124.916 75.672)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"portalNotFoundA\",\n width: 5.726,\n height: 4.03,\n transform: \"translate(101.652 75.672)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"portalNotFoundA\",\n width: 7.08,\n height: 4.03,\n transform: \"translate(78.39 75.672)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"portalNotFoundA\",\n width: 21.83,\n height: 4.03,\n transform: \"translate(78.39 88.092)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"portalNotFoundA\",\n width: 32.507,\n height: 4.03,\n transform: \"translate(113.805 88.092)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"portalNotFoundA\",\n width: 5.724,\n height: 4.03,\n transform: \"translate(163.853 88.092)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"portalNotFoundA\",\n width: 7.08,\n height: 4.03,\n transform: \"translate(185.757 88.092)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"portalNotFoundA\",\n width: 29.413,\n height: 4.03,\n transform: \"translate(38.626 113.393)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"portalNotFoundA\",\n width: 43.802,\n height: 4.03,\n transform: \"translate(86.348 113.393)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"portalNotFoundA\",\n width: 7.715,\n height: 4.03,\n transform: \"translate(153.778 113.393)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"portalNotFoundA\",\n width: 9.54,\n height: 4.03,\n transform: \"translate(183.296 113.393)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"portalNotFoundA\",\n width: 29.413,\n height: 4.03,\n transform: \"translate(163.422 130.126)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"portalNotFoundA\",\n width: 43.799,\n height: 4.03,\n transform: \"translate(101.312 130.126)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"portalNotFoundA\",\n width: 7.715,\n height: 4.03,\n transform: \"translate(69.966 130.126)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"portalNotFoundA\",\n width: 9.537,\n height: 4.03,\n transform: \"translate(38.626 130.126)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"portalNotFoundA\",\n width: 29.413,\n height: 4.03,\n transform: \"translate(38.626 146.859)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"portalNotFoundA\",\n width: 22.4,\n height: 4.03,\n transform: \"translate(86.348 146.859)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"portalNotFoundA\",\n width: 7.715,\n height: 4.03,\n transform: \"translate(153.778 146.859)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"portalNotFoundA\",\n width: 9.54,\n height: 4.03,\n transform: \"translate(183.296 146.859)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"portalNotFoundA\",\n d: \"M221.57,16.843H19.393a14.688,14.688,0,0,0-14.642,14.7v138.02a14.688,14.688,0,0,0,14.642,14.7H221.573a14.688,14.688,0,0,0,14.642-14.7V31.545A14.69,14.69,0,0,0,221.57,16.843ZM232.2,169.564a10.663,10.663,0,0,1-10.629,10.672H19.393A10.663,10.663,0,0,1,8.765,169.564V57.985H232.2v111.58Zm0-115.612H8.762V31.545A10.663,10.663,0,0,1,19.391,20.873H221.57A10.663,10.663,0,0,1,232.2,31.545Z\",\n transform: \"translate(-4.751 -16.843)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"portalNotFoundA\",\n d: \"M10.974,32.426H57.318V22.687H10.974Zm4.014-5.709H53.3V28.4H14.988Z\",\n transform: \"translate(5.678 -6.986)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"portalNotFoundA\",\n d: \"M87.012,21.559a7.9,7.9,0,1,0,7.867,7.9A7.891,7.891,0,0,0,87.012,21.559Zm0,11.768a3.869,3.869,0,1,1,3.853-3.869A3.866,3.866,0,0,1,87.012,33.327Z\",\n transform: \"translate(119.925 -8.888)\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(812.225 216.987)\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n className: \"portalNotFoundB\",\n width: 57.983,\n height: 4.998,\n rx: 2.499,\n transform: \"matrix(0.819, -0.574, 0.574, 0.819, 0, 33.258)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"portalNotFoundB\",\n width: 57.983,\n height: 4.998,\n rx: 2.499,\n transform: \"matrix(0.766, 0.643, -0.643, 0.766, 3.578, 207.069)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"portalNotFoundB\",\n width: 29.992,\n height: 4.999,\n rx: 2.499,\n transform: \"matrix(0.891, 0.454, -0.454, 0.891, 32.475, 165.242)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"portalNotFoundB\",\n width: 57.119,\n height: 4.284,\n rx: 2.142,\n transform: \"translate(38.826 116.714)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"portalNotFoundB\",\n width: 27.993,\n height: 4.999,\n rx: 2.499,\n transform: \"translate(30.356 69.208) rotate(-22)\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(545.861 465.157) rotate(180)\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n className: \"portalNotFoundB\",\n width: 57.983,\n height: 4.998,\n rx: 2.499,\n transform: \"matrix(0.819, -0.574, 0.574, 0.819, 0, 33.258)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"portalNotFoundB\",\n width: 57.983,\n height: 4.998,\n rx: 2.499,\n transform: \"matrix(0.766, 0.643, -0.643, 0.766, 3.578, 207.069)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"portalNotFoundB\",\n width: 29.992,\n height: 4.999,\n rx: 2.499,\n transform: \"matrix(0.891, 0.454, -0.454, 0.891, 32.475, 165.242)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"portalNotFoundB\",\n width: 57.119,\n height: 4.284,\n rx: 2.142,\n transform: \"translate(38.826 116.714)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"portalNotFoundB\",\n width: 27.993,\n height: 4.999,\n rx: 2.499,\n transform: \"translate(30.356 69.208) rotate(-22)\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPortalNotFoundCard);\nexport default __webpack_public_path__ + \"static/media/portal-not-found-card.ec43f949.svg\";\nexport { ForwardRef as ReactComponent };","import styled from '@emotion/styled';\nimport { useGetPortalSummary } from 'api/hooks';\nimport { ReactComponent as NotFoundSocket } from 'assets/not-found-left-socket.svg';\nimport { ReactComponent as NotFoundPlug } from 'assets/not-found-right-plug.svg';\nimport { ReactComponent as NotFoundCard } from 'assets/portal-not-found-card.svg';\nimport { ServiceError } from 'proto/web_app_grpc_pb_service';\nimport React from 'react';\nimport { colors } from 'styles/colors';\n\nconst FoFPage = styled.main`\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100vh;\n width: 100vw;\n\n background: ${colors.januaryGrey};\n`;\n\nconst MessageBox = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n height: 600px;\n width: 1040px;\n max-width: 100vw;\n min-width: 600px;\n\n background: white;\n border-radius: 30px;\n box-shadow: 0 0 99px #0000000d;\n color: ${colors.decemberGrey};\n\n svg {\n margin-bottom: 64px;\n }\n`;\n\nconst Title = styled.h1`\n font-size: 48px;\n line-height: 58px;\n margin-bottom: 18px;\n`;\n\nconst ExtraInfo = styled.div`\n font-size: 22px;\n line-height: 26px;\n`;\n\nconst LinkLikeText = styled.span`\n color: ${colors.offBlue};\n`;\n\nconst PlugHolder = styled.div`\n position: absolute;\n right: 0;\n bottom: 50%;\n margin-bottom: 85px;\n`;\n\nconst SocketHolder = styled.div`\n position: absolute;\n top: 50%;\n margin-top: -150px;\n left: -9px; /* Offsets an issue with the SVG */\n`;\n\nexport function FourOhFour() {\n const { portalSummaryError } = useGetPortalSummary();\n\n React.useEffect(() => {\n document.title = 'Portal - 404';\n }, []);\n\n return (\n \n \n \n Portal Not Found!\n \n {portalSummaryError === undefined || (portalSummaryError as ServiceError | null)?.code === 2 ? (\n <>\n No portal exists for \"{window.location.host}\"\n \n ) : (\n <>Unable to get any information about a portal.\n )}\n \n \n\n \n \n \n\n \n \n \n \n );\n}\n","var _defs, _g;\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 SvgLoader(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 141.735,\n height: 161.207,\n viewBox: \"0 0 141.735 161.207\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \"\\n .loaderA {\\n opacity: 0.695;\\n }\\n\\n .loaderB {\\n fill: #b1e7fe;\\n }\\n\\n .loaderC {\\n fill: #b1e7ff;\\n }\\n\\n .loaderD {\\n fill: #6ac7f0;\\n }\\n\\n .loaderE {\\n fill: #54b7e3;\\n }\\n\\n .loaderF {\\n fill: #2196c9;\\n }\\n \"))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n className: \"loaderA\",\n transform: \"translate(-672 -420)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n className: \"loaderB\",\n d: \"M337.919,434.805l17.191,9.96v-76.8l-17.191,9.861Z\",\n transform: \"translate(458.625 94.395)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"loaderC\",\n d: \"M297.443,401.059,280.2,410.952l66.88,38.613v-19.85Z\",\n transform: \"translate(393.665 131.642)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"loaderD\",\n d: \"M296.511,377.734l-17.191-9.96v76.8l17.191-9.861Z\",\n transform: \"translate(392.679 94.184)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"loaderE\",\n d: \"M346.853,367.883v-19.85L280.4,386.4l17.161,9.942Z\",\n transform: \"translate(393.889 71.967)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"loaderF\",\n d: \"M363.221,396.494l17.246-9.893-66.8-38.569v19.85Z\",\n transform: \"translate(431.329 71.967)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"loaderC\",\n d: \"M313.664,429.635v19.85L380.2,411.072l-17.161-9.942Z\",\n transform: \"translate(431.329 131.721)\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgLoader);\nexport default __webpack_public_path__ + \"static/media/Loader.01a1b4c8.svg\";\nexport { ForwardRef as ReactComponent };","import * as React from 'react';\n\ntype State = {\n hasError: boolean;\n error: Error | null;\n};\n\ntype ErrorBoundProps = {\n fallback: React.ReactNode;\n};\n\n// Error boundaries currently have to be classes.\nexport class ErrorBoundary extends React.Component {\n state = { hasError: false, error: null };\n static getDerivedStateFromError(error: Error) {\n return {\n hasError: true,\n error\n };\n }\n componentDidCatch(error: Error, info: object) {\n console.error('Error Boundary caught an error', error, info);\n }\n\n render() {\n if (this.state.hasError) {\n return this.props.fallback;\n }\n return this.props.children;\n }\n}\n","var _defs, _rect, _g;\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 SvgCodeSprocketIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \"\\n .codeSproketA,\\n .codeSproketB {\\n fill: #2196c9;\\n }\\n\\n .codeSproketA {\\n opacity: 0;\\n }\\n \"))), _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n className: \"codeSproketA\",\n width: 32,\n height: 32\n })), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0 0)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.133,20.967l1.8.4A.065.065,0,0,1,5,21.433a15.212,15.212,0,0,0,1.4,3.4V24.9l-1,1.6a1.4,1.4,0,0,0,.2,1.733l2.2,2.2a1.415,1.415,0,0,0,1.733.2l1.6-1H11.2a15.212,15.212,0,0,0,3.4,1.4.065.065,0,0,1,.067.067l.4,1.8a1.427,1.427,0,0,0,1.4,1.133H19.6A1.484,1.484,0,0,0,21,32.9l.4-1.8.067-.067a15.212,15.212,0,0,0,3.4-1.4l-.333-.6.4.6,1.6,1a1.4,1.4,0,0,0,1.733-.2l2.2-2.2a1.415,1.415,0,0,0,.2-1.733l-1-1.6v-.067a15.212,15.212,0,0,0,1.4-3.4.065.065,0,0,1,.067-.067l1.8-.4A1.37,1.37,0,0,0,34,19.567V16.5a1.439,1.439,0,0,0-1.067-1.4l-1.867-.4L31,14.633a15.212,15.212,0,0,0-1.4-3.4v-.067l1-1.6a1.415,1.415,0,0,0-.2-1.733l-2.2-2.2a1.415,1.415,0,0,0-1.733-.2l-1.6,1H24.8a15.212,15.212,0,0,0-3.4-1.4.065.065,0,0,1-.067-.067l-.4-1.8a1.37,1.37,0,0,0-1.4-1.067H16.4A1.5,1.5,0,0,0,15,3.167l-.333,1.8a.065.065,0,0,1-.067.067,15.212,15.212,0,0,0-3.4,1.4l.333.6-.4-.533-1.6-1A1.415,1.415,0,0,0,7.8,5.7L5.6,7.9a1.415,1.415,0,0,0-.2,1.733l1,1.6V11.3A15.212,15.212,0,0,0,5,14.7a.065.065,0,0,1-.067.067l-1.8.4A1.427,1.427,0,0,0,2,16.567v3.067A1.411,1.411,0,0,0,3.133,20.967Zm.2-4.467c0-.067,0-.067.067-.067l1.8-.4a1.447,1.447,0,0,0,1.067-1.067,9.915,9.915,0,0,1,1.267-3,1.444,1.444,0,0,0,0-1.467l-1-1.6V8.767l2.2-2.2h.133l1.6,1a1.444,1.444,0,0,0,1.467,0,13.065,13.065,0,0,1,3-1.267A1.447,1.447,0,0,0,16,5.233l.4-1.8c0-.067,0-.067.067-.067H19.6c.067,0,.067,0,.067.067l.4,1.8a1.475,1.475,0,0,0,1,1.067,9.915,9.915,0,0,1,3,1.267,1.444,1.444,0,0,0,1.467,0l1.6-1H27.2l2.2,2.2V8.9l-1,1.6a1.444,1.444,0,0,0,0,1.467,11.936,11.936,0,0,1,1.267,3,1.275,1.275,0,0,0,1.067,1l1.8.4a.065.065,0,0,1,.067.067V19.5c0,.067,0,.067-.067.067l-1.8.4a1.475,1.475,0,0,0-1.067,1,9.915,9.915,0,0,1-1.267,3,1.444,1.444,0,0,0,0,1.467l1,1.6v.133l-2.2,2.2h-.133l-1.6-1a1.444,1.444,0,0,0-1.467,0,13.065,13.065,0,0,1-3,1.267A1.275,1.275,0,0,0,20,30.7l-.4,1.8a.065.065,0,0,1-.067.067H16.4a.065.065,0,0,1-.067-.067l-.4-1.8a1.447,1.447,0,0,0-1.067-1.067,9.915,9.915,0,0,1-3-1.267,1.444,1.444,0,0,0-1.467,0l-1.6,1H8.733l-2.2-2.2v-.133l1-1.6a1.444,1.444,0,0,0,0-1.467,11.936,11.936,0,0,1-1.267-3,1.275,1.275,0,0,0-1.067-1l-1.8-.4c-.067.067-.067.067-.067,0Z\",\n transform: \"translate(-2 -2.1)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.042,31.479A9.44,9.44,0,1,0,12.6,22.04,9.441,9.441,0,0,0,22.042,31.479Zm0-17.47a8.031,8.031,0,1,1-8.033,8.031A8.028,8.028,0,0,1,22.042,14.009Z\",\n transform: \"translate(-6.042 -6.104)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23.28,27.324a.614.614,0,0,0,.8-.309l2.6-5.939a.609.609,0,1,0-1.114-.495l-2.6,5.939A.614.614,0,0,0,23.28,27.324Z\",\n transform: \"translate(-8.827 -7.865)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M30.664,27.322l-1.3,1.052a.614.614,0,0,0,.8.928l1.918-1.547a.764.764,0,0,0,.247-.495.563.563,0,0,0-.247-.495l-1.918-1.547a.658.658,0,0,0-.866.062.745.745,0,0,0,.062.99Z\",\n transform: \"translate(-10.892 -9.571)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.965,24.063a.614.614,0,0,0,.8-.928l-1.3-1.052,1.3-1.052a.614.614,0,0,0-.8-.928L18.047,21.65a.764.764,0,0,0-.247.495.563.563,0,0,0,.247.495Z\",\n transform: \"translate(-7.175 -7.905)\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCodeSprocketIcon);\nexport default __webpack_public_path__ + \"static/media/code-sprocket-icon.b2c7c876.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\nimport { ReactComponent as LoadingHexagon } from 'assets/Loader.svg';\nimport styled from '@emotion/styled';\n\ntype RotaterProps = {\n degrees: number;\n};\n\nconst Rotater = styled.div`\n transform: rotate(${(props: RotaterProps) => props.degrees}deg);\n width: 141px;\n height: 141px;\n position: relative;\n\n svg {\n width: 141px;\n height: 141px;\n }\n`;\n\ninterface LoadingProps {\n message?: string;\n children?: React.ReactChild;\n loading?: boolean;\n offset?: boolean;\n center?: boolean;\n}\n\nexport const Loading = ({ message, children, center = false, loading = true, offset = false }: LoadingProps) => {\n const [degrees, setDegrees] = React.useState(0);\n\n React.useEffect(() => {\n const spinterval = setInterval(() => {\n setDegrees(oldDegree => (oldDegree + 60) % 360);\n }, 250);\n\n return () => clearInterval(spinterval);\n }, []);\n\n return (\n <>\n
\n \n \n \n
\n \n );\n};\n","import { CURRENT_USER_KEY, useGetCurrentUser, useGetCustomStyles, useGetPortalSummary } from 'api/hooks';\nimport { webAppAPI } from 'api/web-app';\nimport { ReactComponent as DefaultCompanyLogo } from 'assets/defaultImages/CompanyLogo.svg';\nimport DefaultBanner from 'assets/defaultImages/GenericBanner.png';\nimport { Loading } from 'Components/Loading';\nimport { Formik, FormikHelpers } from 'formik';\nimport * as React from 'react';\nimport { Link, useHistory } from 'react-router-dom';\nimport { colors } from 'styles/colors';\nimport { trigger } from 'swr';\nimport * as yup from 'yup';\nimport { FailureModal } from './FailureModal';\nimport './Login.css';\nimport { SoloButton } from './SoloButton';\nimport { SoloFormInput } from './SoloFormField';\nimport { SuccessModal } from './SuccessModal';\n\ntype LoginValues = {\n username: string;\n password: string;\n};\nconst smallNavLinkStyles = {\n color: colors.septemberGrey\n};\n\nconst initialValues: LoginValues = {\n username: '',\n password: ''\n};\nconst validationSchema = yup.object().shape({\n username: yup.string().required('A username is required'),\n password: yup.string().required('The password is required')\n});\n\nexport const Login = () => {\n const routerHistory = useHistory();\n const [loginResolved, setLoginResolved] = React.useState<{ wasSuccessful: boolean; errorMessage?: string } | null>(\n null\n );\n\n const { currentUser, currentUserError } = useGetCurrentUser();\n const { customStyles, customStylesError } = useGetCustomStyles();\n const { portalSummary, portalSummaryError, hasOIDCLoginEnabled } = useGetPortalSummary();\n const [showBasicAuthCredentials, setShowBasicAuthCredentials] = React.useState(!hasOIDCLoginEnabled);\n\n if (!!currentUser && !currentUserError) {\n routerHistory.push({ pathname: '/' });\n }\n\n React.useEffect(() => {\n document.title = 'Portal - Login';\n }, []);\n\n React.useEffect(() => {\n if (!!portalSummary) {\n setShowBasicAuthCredentials(!hasOIDCLoginEnabled);\n }\n }, [hasOIDCLoginEnabled]);\n\n const attemptLogin = (values: LoginValues, formikHelpers: FormikHelpers) => {\n webAppAPI\n .login({ basicAuth: values })\n .then(result => {\n if (!!result) {\n if (result.isFirstLogin) {\n routerHistory.push({ pathname: '/reset-password/' });\n } else {\n trigger(CURRENT_USER_KEY);\n }\n } else {\n formikHelpers?.resetForm();\n }\n setLoginResolved({ wasSuccessful: !!result, errorMessage: 'Problems logging in' });\n\n setTimeout(() => {\n setLoginResolved(null);\n }, 3100);\n })\n .catch(() => {\n setLoginResolved({ wasSuccessful: false, errorMessage: 'Problems logging in' });\n });\n };\n\n if (!portalSummary && !portalSummaryError) {\n return Loading...;\n }\n\n return (\n
\n
\n \n
\n
\n\n
\n
\n
\n {!!customStyles?.logoUrl ? {''} : }\n
\n

Log in to the Portal

\n\n \n initialValues={initialValues}\n onSubmit={attemptLogin}\n validationSchema={validationSchema}>\n {formik => (\n {\n if (e.key === 'Enter') {\n formik.handleSubmit();\n }\n }}\n role='main'>\n {showBasicAuthCredentials ? (\n <>\n
\n \n
\n
\n \n
\n\n \n {!!hasOIDCLoginEnabled && (\n \n setShowBasicAuthCredentials(false)}\n className=' login-page-form-row login-link-text'>\n Log in using OpenID Connect\n \n \n )}\n \n ) : (\n <>\n {!!hasOIDCLoginEnabled && (\n \n )}\n {!portalSummary?.basicAuthLoginEnabled ? (\n
Basic Auth is not enabled
\n ) : (\n setShowBasicAuthCredentials(true)}\n className=' login-page-form-row login-link-text'>\n Log in using credentials\n \n )}\n \n )}\n
\n )}\n \n
\n
\n\n \n Logged in successfully.{' '}\n
\n You will now be redirected to the{' '}\n \n home page\n \n .\n
\n
\n }\n />\n\n Trouble logging in.}\n minorMessage={loginResolved?.errorMessage}\n />\n \n );\n};\n","var _rect, _path;\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 SvgDropdownArrow(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n className: \"dropdown-arrow-svg\",\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n className: \"Rectangle_8447\",\n \"data-name\": \"Rectangle 8447\",\n width: 20,\n height: 20,\n fill: \"#fff\",\n opacity: 0\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n className: \"Path_38685\",\n \"data-name\": \"Path 38685\",\n d: \"M227.678,156.116l-7-7.229.746-.771,6.254,6.458,6.254-6.458.746.771Z\",\n transform: \"translate(-217.678 -142.115)\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDropdownArrow);\nexport default __webpack_public_path__ + \"static/media/dropdown-arrow.1eb12b42.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _rect, _path, _path2;\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 SvgTagIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 18,\n height: 18.001,\n viewBox: \"0 0 18 18.001\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \"\\n .tag-icon-a,\\n .tag-icon-b {\\n fill: #35393b;\\n }\\n\\n .tag-icon-a {\\n opacity: 0;\\n }\\n \"))), _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n className: \"tag-icon-a\",\n width: 18,\n height: 18\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n className: \"tag-icon-b\",\n d: \"M4.358,2.433A1.937,1.937,0,0,0,2.425,4.356h0A1.93,1.93,0,0,0,4.349,6.288h0a1.927,1.927,0,0,0,.006-3.855m0,2.837h0a.9.9,0,0,1-.9-.908l-.084-.006h.084a.908.908,0,0,1,.906-.9H4.36A.907.907,0,0,1,4.354,5.27\",\n transform: \"translate(-0.408 -0.41)\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"tag-icon-b\",\n d: \"M17.655,9.459,8.761.16A.512.512,0,0,0,8.394,0H.507A.508.508,0,0,0,0,.51V8.036a.506.506,0,0,0,.144.313l9.1,9.3A1.233,1.233,0,0,0,10.1,18a.08.08,0,0,1,.02,0,1.2,1.2,0,0,0,.853-.353l6.669-6.669A1.094,1.094,0,0,0,18,10.21a1.079,1.079,0,0,0-.345-.751M1.017,1.018H8.172l8.741,9.136.051.064c-.01.011-.022.025-.038.042l-6.665,6.668a.233.233,0,0,1-.149.057.191.191,0,0,1-.145-.052L1.017,7.784Z\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgTagIcon);\nexport default __webpack_public_path__ + \"static/media/tag-icon.42485e6c.svg\";\nexport { ForwardRef as ReactComponent };","import * as React from 'react';\nimport SwaggerUIConstructor from 'swagger-ui';\nimport { SwaggerConfigs, SwaggerRequest, SwaggerResponse } from 'swagger-ui-dist';\nimport 'swagger-ui-react/swagger-ui.css';\n\nexport type System = any;\nexport type Selector = any;\nexport type State = any;\n\nexport type RequestInterceptorType = (req: SwaggerRequest) => Promise;\nexport type ResponseInterceptorType = (req: SwaggerResponse) => Promise;\n\ninterface SwaggerComponentProps extends Omit {\n requestInterceptor: RequestInterceptorType;\n responseInterceptor: ResponseInterceptorType;\n isGrpc?: boolean;\n oauth2RedirectUrl: any;\n}\n\nexport function SwaggerComponent(props: SwaggerComponentProps) {\n // This ref is just a safeguard to make sure the dom is fully finished rendering\n // before we insert. It should *not* be necessary, but it also isn't really hurting\n // anything and we've had a bug that touches near this concept.\n let displayRef = React.useRef(null);\n\n // The sanitized dom_id, where all periods are replaced with dashes. This fixes issues where Swagger tries\n // doing a `querySelector` which fails, due to it treating the period as a class selector, and not part of the ID itself.\n const [sanitizedDomId, setSanitizedDomId] = React.useState('')\n React.useEffect(() => {\n setSanitizedDomId(props.dom_id?.split('.').join('-'))\n }, [props.dom_id])\n\n React.useEffect(() => {\n if (!!displayRef.current) {\n SwaggerUIConstructor({\n spec: props.spec,\n plugins: [props.plugins],\n dom_id: `#display-swagger-${sanitizedDomId}`, // This should be the std '#' + the id below\n withCredentials: true,\n deepLinking: true,\n showMutatedRequest: props.isGrpc,\n oauth2RedirectUrl: props.oauth2RedirectUrl,\n requestInterceptor: props.requestInterceptor,\n responseInterceptor: props.responseInterceptor,\n syntaxHighlight: { activated: false }\n });\n }\n }, [props.dom_id, displayRef.current]);\n\n return
;\n}\n","import { webAppAPI } from 'api/web-app';\nimport { ObjectRef } from 'proto/github.com/solo-io/dev-portal/api/dev-portal/v1beta1/common/common_pb';\nimport {\n APIProductDetails,\n APIProductVersionDetails,\n GRPCInvokeRequest,\n GRPCInvokeResponse\n} from 'proto/web_app_grpc_pb';\nimport * as React from 'react';\nimport { createSelector } from 'reselect';\nimport { Selector, State, SwaggerComponent, System } from './SwaggerComponent';\nimport { APIType } from 'proto/github.com/solo-io/dev-portal/api/dev-portal/v1beta1/apiproduct_pb';\n\ninterface SwaggerHolderProps {\n swaggerJSON: object;\n disableTryItOut: boolean;\n portalUrlPrefix: string;\n apiProduct: APIProductDetails.AsObject;\n environmentRef: ObjectRef.AsObject;\n versionDetails?: APIProductVersionDetails.AsObject;\n}\n\n// the arbitrarily chosen mapping from HTTP verbs to gRPC method types:\n// unary -> get\n// client streaming -> post\n// server streaming -> put\n// bidirectional steaming -> patch\nenum MethodMapping {\n CLIENT_STREAM = 'post',\n UNARY = 'get',\n SERVER_STREAM = 'put',\n BIDIRECTIONAL_STREAM = 'patch'\n}\n\nenum Status {\n 'OK',\n 'CANCELLED',\n 'UNKNOWN',\n 'INVALID_ARGUMENT',\n 'DEADLINE_EXCEEDED',\n 'NOT_FOUND',\n 'ALREADY_EXISTS',\n 'PERMISSION_DENIED',\n 'RESOURCE_EXHAUSTED',\n 'FAILED_PRECONDITION',\n 'ABORTED',\n 'OUT_OF_RANGE',\n 'UNIMPLEMENTED',\n 'INTERNAL',\n 'UNAVAILABLE',\n 'DATA_LOSS',\n 'UNAUTHENTICATED'\n}\n\nexport const SwaggerHolder = ({\n swaggerJSON,\n disableTryItOut,\n portalUrlPrefix,\n versionDetails,\n apiProduct,\n environmentRef\n}: SwaggerHolderProps) => {\n const [grpcResponse, setGrpcResponse] = React.useState();\n const [grpcRequest, setGrpcRequest] = React.useState({\n apiProductRef: { name: apiProduct?.metadata?.name!, namespace: apiProduct?.metadata?.namespace! },\n environmentRef,\n apiKey: '',\n argumentJson: '',\n methodName: '',\n // TODO: handle OAuth\n oauthAccessToken: '',\n serviceDomain: '',\n serviceName: '',\n version: versionDetails?.name!\n });\n\n React.useEffect(() => {\n if (!grpcRequest.methodName) {\n setGrpcResponse(undefined);\n return;\n }\n const getResponse = async () => {\n let res = await webAppAPI.invokeGrpcMethod(grpcRequest);\n setGrpcResponse(res);\n };\n getResponse();\n }, [grpcRequest.methodName]);\n\n // Plugins to extend SwaggerUI to be used with gRPC:\n // These are kept at the component scope because they use state variables\n function SwaggerPlugins(system: System) {\n const SET_GRPC_RESPONSE = 'set_grpc_response'; // strings just need to be uniuqe... see below\n // Tools\n const fromJS = system.Im.fromJS; // needed below\n\n return {\n statePlugins: {\n // has to be called `spec` in order to override the `spec` namespace\n spec: {\n wrapSelectors: {\n // This overrides the component that shows responses from the Try It Out feature\n // TODO: modify to support showing grpcurl in curl request component\n allowTryItOutFor: (originalSelector: Selector, system: System) => (\n state: State,\n path: string,\n method: string\n ) => {\n // args are [path,method] so we check that the only method we allow is get (unary)\n if (disableTryItOut) return false;\n if (method !== 'get' && versionDetails?.apiType === APIType.GRPC) return false;\n return true;\n }\n },\n actions: {\n setGrpcResponse: (args: any) => ({ type: SET_GRPC_RESPONSE, payload: args }) // Synchronous action must return an object for the reducer to handle\n },\n reducers: {\n [SET_GRPC_RESPONSE]: (state: State, action: any) => {\n // Take a state (which is immutable) and an action (see synchronous actions) and return a new state\n return state.set('grpcResponse', fromJS(action.payload)); // we're updating the Immutable state object... we need to convert vanilla objects into an immutable type (fromJS)\n // See immutable about how to modify the state\n // PS: you're only working with the state under the namespace, in this case \"someNamespace\". So you can do what you want, without worrying about /other/ namespaces\n }\n },\n selectors: {\n getGrpcResponse: createSelector(\n // see [reselect#createSelector](https://github.com/reactjs/reselect#createselectorinputselectors--inputselectors-resultfunc)\n state => state, // This is a requirement... because we `bind` selectors, we don't want to bind to any particular state (which is an immutable value) so we bind to a function, which returns the current state\n (state: State) => state.get('grpcResponse') // return the whatever \"something\" points to\n )\n },\n wrapActions: {\n setRequest: (oriAction: any, system: any) => async (...args: any) => {\n if (versionDetails?.apiType === APIType.GRPC) {\n if (args) {\n let [path, verb, req] = args;\n let { body, url, headers } = req;\n let [scheme, _, domain, packageService, methodName] = url.split('/');\n setGrpcRequest({\n ...grpcRequest,\n apiKey: !!headers ? headers['api-key'] ?? '' : '',\n argumentJson: JSON.stringify(body),\n methodName,\n serviceDomain: `${domain}`,\n serviceName: packageService\n });\n let res = await webAppAPI.invokeGrpcMethod({\n ...grpcRequest,\n apiKey: !!headers ? headers['api-key'] ?? '' : '',\n argumentJson: JSON.stringify(body),\n methodName,\n serviceDomain: `${domain}`,\n serviceName: packageService\n });\n\n system.specActions.setGrpcResponse(res);\n setGrpcResponse(res);\n }\n }\n return oriAction(...args);\n }\n }\n }\n },\n wrapComponents: {\n VersionStamp: (Original: React.FC, system: System) => (props: any) => {\n if (versionDetails?.apiType === APIType.GRPC) {\n return null;\n }\n return ;\n },\n curl: (Original: React.FC, system: System) => (props: any) => {\n if (versionDetails?.apiType === APIType.GRPC) {\n return null;\n }\n return ;\n },\n OperationSummaryMethod: (Original: React.FC, system: System) => (props: any) => {\n if (versionDetails?.apiType === APIType.GRPC) {\n if (props.method === MethodMapping.CLIENT_STREAM) {\n return (\n
\n Client Stream\n
\n );\n } else if (props.method === MethodMapping.UNARY) {\n return (\n
\n Unary\n
\n );\n } else if (props.method === MethodMapping.SERVER_STREAM) {\n return (\n
\n Server Stream\n
\n );\n } else if (props.method === MethodMapping.BIDIRECTIONAL_STREAM) {\n return (\n
\n Bidirectional Stream\n
\n );\n }\n }\n return ;\n },\n liveResponse: (Original: React.FC, system: System) => (props: any) => {\n if (versionDetails?.apiType === APIType.GRPC) {\n system.specActions.updateLoadingStatus('success');\n\n const { response, getComponent, getConfigs, displayRequestDuration, specSelectors, path, method } = props;\n\n const { showMutatedRequest } = getConfigs();\n\n const curlRequest = showMutatedRequest\n ? specSelectors.mutatedRequestFor(path, method)\n : specSelectors.requestFor(path, method);\n const status = Status[system.specSelectors.getGrpcResponse().toJS()?.statusCode ?? Status.UNKNOWN];\n const url = curlRequest?.get('url') || '';\n\n const headers = response.get('headers').toJS();\n const ResponseBody = getComponent('responseBody');\n\n return (\n
\n
\n {url && (\n
\n

Request URL

\n
\n
{url}
\n
\n
\n )}\n

Server response

\n \n \n \n \n \n \n \n \n \n \n \n \n \n
CodeDetails
{status}\n \n
\n
\n
\n );\n }\n return ;\n }\n }\n };\n }\n\n return (\n
\n {\n let { body, url, headers } = request;\n let [scheme, _, domain, packageService, methodName] = url.split('/');\n if (request && versionDetails?.apiType === APIType.GRPC) {\n setGrpcRequest({\n ...grpcRequest,\n apiKey: !!headers ? headers['api-key'] ?? '' : '',\n argumentJson: body,\n methodName,\n serviceDomain: `${domain}`,\n serviceName: packageService\n });\n let res = await webAppAPI.invokeGrpcMethod({\n ...grpcRequest,\n apiKey: !!headers ? headers['api-key'] ?? '' : '',\n argumentJson: body,\n methodName,\n serviceDomain: `${domain}`,\n serviceName: packageService\n });\n setGrpcResponse(res);\n }\n\n return new Promise((resolve, reject) => {\n resolve(request);\n });\n }}\n responseInterceptor={async res => {\n return new Promise((resolve, reject) => {\n // set to the startup value again\n setGrpcRequest({\n apiProductRef: { name: apiProduct?.metadata?.name!, namespace: apiProduct?.metadata?.namespace! },\n environmentRef,\n apiKey: '',\n argumentJson: '',\n methodName: '',\n // TODO: handle OAuth\n oauthAccessToken: '',\n serviceDomain: '',\n serviceName: '',\n version: versionDetails?.name!\n });\n setGrpcResponse(undefined);\n\n resolve(res);\n });\n }}\n />\n
\n );\n};\n","var _g;\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 SvgDocument(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 17.635,\n height: 20.21,\n viewBox: \"0 0 17.635 20.21\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(-1065 379)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(1065 -379)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.076,24.35a.9.9,0,0,0,.9-.9V21.443h2.007a.9.9,0,0,0,.9-.9V8.258c0-.009,0-.017-.005-.026a.414.414,0,0,0-.022-.108.4.4,0,0,0-.014-.04.416.416,0,0,0-.082-.123l-3.7-3.7a.418.418,0,0,0-.124-.083c-.012-.006-.024-.009-.037-.013a.412.412,0,0,0-.112-.022c-.008,0-.016,0-.024,0H10.059a.9.9,0,0,0-.9.9V7.048H7.151a.9.9,0,0,0-.9.9v15.5a.9.9,0,0,0,.9.9Zm.112-18.772,1.13,1.129,1.13,1.129h-2.2a.059.059,0,0,1-.059-.059ZM10,7.469V5.041a.059.059,0,0,1,.059-.059h9.287v2.8a.9.9,0,0,0,.9.9h2.8V20.542a.059.059,0,0,1-.059.059H10.059A.059.059,0,0,1,10,20.542ZM7.092,23.449V7.949a.059.059,0,0,1,.059-.059H9.158V20.542a.9.9,0,0,0,.9.9H20.135v2.007a.059.059,0,0,1-.059.059H7.151A.059.059,0,0,1,7.092,23.449Z\",\n transform: \"translate(-6.25 -4.14)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.89,15.012H24.56a.421.421,0,1,0,0-.842H14.89a.421.421,0,1,0,0,.842Z\",\n transform: \"translate(-9.454 -8.05)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.89,19.419H24.56a.421.421,0,1,0,0-.842H14.89a.421.421,0,1,0,0,.842Z\",\n transform: \"translate(-9.454 -9.768)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.89,23.827H24.56a.421.421,0,1,0,0-.842H14.89a.421.421,0,1,0,0,.842Z\",\n transform: \"translate(-9.454 -11.486)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.89,28.234H24.56a.421.421,0,1,0,0-.842H14.89a.421.421,0,1,0,0,.842Z\",\n transform: \"translate(-9.454 -13.204)\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDocument);\nexport default __webpack_public_path__ + \"static/media/document.6686be5f.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _g;\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 SvgEnvironmentIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 23.001 23\",\n \"aria-hidden\": \"true\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"environment-icon\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 0h23v22.237H0z\"\n })))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#environment-icon)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.917 10.434a.468.468 0 00-.1-.105l-3.087-2.2 3.021-1.966a.46.46 0 00.191-.3.467.467 0 00-.075-.348.454.454 0 00-.1-.106L15.366.073a.379.379 0 00-.431-.011L11.5 2.3 8.065.062a.38.38 0 00-.432.011L.235 5.4a.469.469 0 00-.089.652.472.472 0 00.105.1l3.02 1.965-3.088 2.2a.461.461 0 00-.184.38.456.456 0 00.2.374l3.855 2.531V17.1a.455.455 0 00.195.38l7.044 4.7.066.032a.338.338 0 00.142.031.333.333 0 00.141-.031.191.191 0 00.033-.016.254.254 0 00.038-.018l7.041-4.693a.454.454 0 00.195-.38v-3.492l3.856-2.53a.462.462 0 00.19-.3.469.469 0 00-.076-.348M12.319 2.8L15.132.971l6.642 4.786-2.813 1.83zm6.767 5.927l2.741 1.958-6.819 4.475-2.741-1.96zm-7.179 5.281l2.869 2.049a.379.379 0 00.432.009l2.925-1.92v2.7L11.907 21zm6.414-5.818L11.5 12.668 4.679 8.191 11.5 3.277zM1.227 5.756L7.868.971 10.681 2.8 4.039 7.586zm9.506 7.444l-2.741 1.96-6.82-4.475 2.743-1.957zm-5.866.944l2.925 1.92a.379.379 0 00.431-.009l2.869-2.049V21l-6.225-4.151z\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgEnvironmentIcon);\nexport default __webpack_public_path__ + \"static/media/environment-icon.2b5e71ad.svg\";\nexport { ForwardRef as ReactComponent };","import { ObjectRef } from 'proto/github.com/solo-io/dev-portal/api/dev-portal/v1beta1/common/common_pb';\nimport { APIProductDetails } from 'proto/web_app_grpc_pb';\nimport * as React from 'react';\nimport { useGetAPIProductVersionDetails, useGetCurrentUser } from '../api/hooks';\nimport { host } from '../api/web-app';\nimport DefaultBanner from '../assets/defaultImages/GenericBanner.png';\nimport { ReactComponent as TagIcon } from '../assets/tag-icon.svg';\nimport { Loading } from './Loading';\nimport { SwaggerHolder } from './SwaggerUI/SwaggerHolder';\nimport { ReactComponent as StacksIcon } from 'assets/document.svg';\nimport { APIType } from 'proto/github.com/solo-io/dev-portal/api/dev-portal/v1beta1/apiproduct_pb';\n\nconst stringToContent = (spec: string | undefined): object | null => {\n if (spec === undefined) {\n return null;\n }\n try {\n return JSON.parse(spec);\n } catch {\n return null;\n }\n};\n\nexport const APIDetailsCard = ({\n apiProduct,\n environmentRef,\n version\n}: {\n apiProduct: APIProductDetails.AsObject;\n environmentRef: ObjectRef.AsObject;\n version: string;\n}) => {\n const { currentUser, currentUserError } = useGetCurrentUser();\n const { apiVersionDetails, apiVersionDetailsError, apiVersionDetailsLoading } = useGetAPIProductVersionDetails({\n apiProductRef: {\n name: apiProduct?.metadata?.name! ?? '',\n namespace: apiProduct?.metadata?.namespace! ?? ''\n },\n environmentRef,\n version,\n currentUser: currentUser ?? ''\n });\n\n // Fall back to the default image if we cannot find the selected image for any reason.\n let [cardImage, setCardImage] = React.useState(\n setCardImage()}\n />\n );\n\n if (apiVersionDetailsLoading || !stringToContent(apiVersionDetails?.operationsSpec)) {\n return ;\n }\n\n const download = () => {\n if (apiVersionDetails?.apiType === APIType.OPEN_API) {\n const templElement = document.createElement('a');\n const file = new Blob([apiVersionDetails?.operationsSpec ?? 'No content for this openApi spec.'], {\n type: 'text/plain'\n });\n templElement.href = URL.createObjectURL(file);\n templElement.download =\n apiProduct.metadata?.namespace + '_' + apiProduct.metadata?.name + '_' + apiVersionDetails?.name + '.json';\n document.body.appendChild(templElement); // Required for this to work in FireFox\n templElement.click();\n }\n };\n\n return (\n <>\n
\n
{cardImage}
\n\n
\n
\n

\n \n {apiProduct.displayname}\n \n \n {version}\n \n

\n
{apiProduct.description}
\n
\n
\n {!!apiVersionDetails?.tagsList?.length && }\n \n {!!apiVersionDetails?.tagsList?.length &&\n apiVersionDetails?.tagsList.sort().map(tag => (\n \n {tag}\n \n ))}\n \n
\n
\n
\n {apiVersionDetails?.apiType === APIType.OPEN_API && (\n \n )}\n
\n
\n
\n \n
\n \n );\n};\n","var _path;\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 SvgVersionIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 12 12\",\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 d: \"M11.938 0H5.01a.062.062 0 00-.062.062V.99H2.289a.062.062 0 00-.062.062v.928H.062A.062.062 0 000 2.041v7.918a.062.062 0 00.062.062h2.165v.928a.062.062 0 00.062.062h2.66v.928A.062.062 0 005.01 12h6.928a.062.062 0 00.062-.062V.062A.062.062 0 0011.938 0M.619 2.6h1.608v6.8H.619zm2.227-.99h2.1v8.784h-2.1zM5.567.619h5.814v10.762H5.567z\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgVersionIcon);\nexport default __webpack_public_path__ + \"static/media/version-icon.671ecc82.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _g;\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 SvgApiKeyPlaceholder(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 1303 166\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"filter\", {\n className: \"apiKeyA\",\n x: 0,\n y: 0,\n width: 1303,\n height: 166,\n filterUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"feOffset\", null), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 7.5,\n result: \"b\"\n }), /*#__PURE__*/React.createElement(\"feFlood\", {\n floodOpacity: 0.063\n }), /*#__PURE__*/React.createElement(\"feComposite\", {\n operator: \"in\",\n in2: \"b\"\n }), /*#__PURE__*/React.createElement(\"feComposite\", {\n in: \"SourceGraphic\"\n })), /*#__PURE__*/React.createElement(\"style\", null, \"\\n .e,\\n .g {\\n fill: #fff\\n }\\n\\n .f {\\n fill: #2196c9\\n }\\n\\n .g {\\n opacity: 0\\n }\\n\\n .j {\\n fill: #d4d8de\\n }\\n \"))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n opacity: 0.498\n }, /*#__PURE__*/React.createElement(\"g\", {\n filter: \"url(.apiKeyA)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(22.5 22.5)\",\n stroke: \"#d4d8de\",\n fill: \"#fff\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 1258,\n height: 121,\n rx: 10,\n stroke: \"none\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.5,\n y: 0.5,\n width: 1257,\n height: 120,\n rx: 9.5,\n fill: \"none\"\n }))), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1247.834 82.061l5.482 5.482 5.483-5.482\",\n stroke: \"#adb3bc\",\n fill: \"none\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 41.5,\n cy: 41.5,\n r: 41.5,\n transform: \"translate(42.5 41.5)\",\n fill: \"#f2f2f2\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"e\",\n d: \"M865.421 85.887l1.525.339a.055.055 0 01.056.056 12.885 12.885 0 001.186 2.88v.056l-.847 1.356a1.19 1.19 0 00.169 1.468l1.864 1.864a1.2 1.2 0 001.468.169l1.355-.847h.056a12.885 12.885 0 002.88 1.186.055.055 0 01.056.056l.339 1.525a1.209 1.209 0 001.186.96h2.654a1.257 1.257 0 001.186-.96l.339-1.525.056-.056a12.885 12.885 0 002.88-1.186l-.282-.508.339.508 1.355.847a1.19 1.19 0 001.468-.169l1.864-1.864a1.2 1.2 0 00.169-1.468l-.847-1.355v-.056a12.885 12.885 0 001.186-2.88.055.055 0 01.056-.056l1.525-.339a1.16 1.16 0 00.9-1.186v-2.596a1.219 1.219 0 00-.9-1.186l-1.581-.339-.056-.056a12.885 12.885 0 00-1.186-2.88v-.059l.847-1.355a1.2 1.2 0 00-.169-1.468l-1.863-1.864a1.2 1.2 0 00-1.468-.169l-1.355.847h-.056a12.885 12.885 0 00-2.88-1.186.055.055 0 01-.056-.056l-.34-1.529a1.16 1.16 0 00-1.186-.9h-2.652a1.271 1.271 0 00-1.186.9l-.282 1.525a.055.055 0 01-.056.056 12.885 12.885 0 00-2.88 1.186l.282.508-.339-.452-1.358-.843a1.2 1.2 0 00-1.468.169l-1.864 1.864a1.2 1.2 0 00-.169 1.468l.847 1.355v.056a12.885 12.885 0 00-1.186 2.88.055.055 0 01-.056.056l-1.525.339a1.209 1.209 0 00-.96 1.187v2.6a1.2 1.2 0 00.96 1.127zm.169-3.781c0-.056 0-.056.056-.056l1.526-.344a1.226 1.226 0 00.9-.9 8.4 8.4 0 011.073-2.541 1.224 1.224 0 000-1.242l-.844-1.357v-.113l1.86-1.863h.113l1.355.847a1.224 1.224 0 001.242 0 11.067 11.067 0 012.541-1.073 1.226 1.226 0 00.9-.9l.349-1.529c0-.056 0-.056.056-.056h2.654c.056 0 .056 0 .056.056l.334 1.525a1.249 1.249 0 00.847.9 8.4 8.4 0 012.541 1.073 1.224 1.224 0 001.242 0l1.355-.847h.056l1.864 1.864v.116l-.847 1.355a1.224 1.224 0 000 1.242 10.111 10.111 0 011.077 2.543 1.08 1.08 0 00.9.847l1.525.339a.055.055 0 01.056.056v2.6c0 .056 0 .056-.056.056l-1.525.339a1.249 1.249 0 00-.9.847 8.4 8.4 0 01-1.073 2.541 1.224 1.224 0 000 1.242l.847 1.355v.113l-1.863 1.865h-.113l-1.355-.847a1.224 1.224 0 00-1.242 0 11.067 11.067 0 01-2.541 1.073 1.08 1.08 0 00-.847.9l-.339 1.525a.055.055 0 01-.056.056h-2.653a.055.055 0 01-.056-.056l-.344-1.525a1.226 1.226 0 00-.9-.9 8.4 8.4 0 01-2.541-1.073 1.224 1.224 0 00-1.242 0l-1.357.847h-.06l-1.86-1.867v-.113l.847-1.355a1.224 1.224 0 000-1.242 10.111 10.111 0 01-1.073-2.541 1.08 1.08 0 00-.9-.847l-1.528-.335c-.056.056-.056.056-.056 0z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"e\",\n d: \"M878.014 90.969a7.567 7.567 0 10-7.567-7.567 7.568 7.568 0 007.567 7.567zm0-14a6.438 6.438 0 11-6.438 6.438 6.435 6.435 0 016.438-6.443z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"e\",\n d: \"M876.602 86.617a.56.56 0 00.734-.282l2.372-5.418a.556.556 0 10-1.016-.452l-2.372 5.422a.56.56 0 00.282.73zM881.177 84.927l-1.186.96a.56.56 0 10.734.847l1.751-1.412a.7.7 0 00.226-.452.514.514 0 00-.226-.452l-1.751-1.411a.6.6 0 00-.791.056.68.68 0 00.056.9zM875.359 83.738a.56.56 0 10.734-.847l-1.186-.96 1.186-.96a.56.56 0 10-.734-.847l-1.75 1.414a.7.7 0 00-.226.452.514.514 0 00.226.452z\"\n }), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(645.739 62.5)\"\n }, /*#__PURE__*/React.createElement(\"circle\", {\n className: \"f\",\n cx: 21,\n cy: 21,\n r: 21,\n transform: \"translate(-.239)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"g\",\n d: \"M8.761 9h24v24h-24z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"e\",\n d: \"M19.244 27.515a1.815 1.815 0 01-1.293-.522l-5.317-5.3a2.035 2.035 0 01.162-2.869l4.132-4.115a2.1 2.1 0 012.88-.159l5.318 5.294a2.039 2.039 0 01-.16 2.87l-4.132 4.114a2.277 2.277 0 01-1.59.687zm-.731-12.122a.919.919 0 00-.622.282l-4.132 4.118a.71.71 0 00-.161.949l5.317 5.295a.459.459 0 00.329.121.909.909 0 00.625-.282l4.132-4.115a.708.708 0 00.158-.95l-5.318-5.293a.456.456 0 00-.328-.125z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"e\",\n d: \"M16.442 19.844c-.134 0-.263 0-.371-.014a5.242 5.242 0 115.59-4.9 3.541 3.541 0 01-.521 1.827.681.681 0 01-1.122-.771 2.322 2.322 0 00.282-1.095 3.9 3.9 0 10-4.131 3.587 5.328 5.328 0 00.774-.011.679.679 0 11.138 1.351 8.603 8.603 0 01-.639.026zM28.471 32.355a1.946 1.946 0 01-1.392-.649l-.713-.715a.679.679 0 01-.2-.43l-.034-.462-1.719-.008a.682.682 0 01-.68-.694l.04-1.76-1.231-.3a.687.687 0 01-.3-.157l-1.3-1.167a.681.681 0 11.915-1.008l1.168 1.051 1.6.384a.681.681 0 01.522.675l-.037 1.616 1.662.007a.681.681 0 01.677.631l.061.839.535.536a.874.874 0 00.438.248.475.475 0 00.243-.115l.005-1.542-5.534-5.564a.679.679 0 010-.961.686.686 0 01.965 0l5.738 5.767a.677.677 0 01.2.481l-.003 2.096a.687.687 0 01-.124.389 2.007 2.007 0 01-1.364.807 2.147 2.147 0 01-.138.005z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"e\",\n d: \"M17.492 20.569a1.213 1.213 0 01-.861-2.069 1.254 1.254 0 011.729 0 1.21 1.21 0 01-.006 1.714 1.225 1.225 0 01-.862.355zm0-1.358a.139.139 0 00-.095.038.145.145 0 10.2.208.14.14 0 000-.2.15.15 0 00-.105-.047zM19.173 24.067a.679.679 0 01-.482-1.16l2.314-2.3a.68.68 0 01.964.961l-2.314 2.3a.683.683 0 01-.482.199z\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#dfdfe0\",\n fill: \"none\",\n d: \"M605 40v87\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#6e7477\",\n d: \"M148.951 49.811h175.231v12.317H148.951z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"j\",\n d: \"M148.951 76.38h380.231v12.317H148.951zM148.951 104.858h175.522v12.317H148.951zM698.951 76.379h110v12.317h-110z\"\n }), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"g\",\n d: \"M55.5 54.5h57v57h-57z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"f\",\n d: \"M57.519 88.107l3.206.712a.116.116 0 01.119.119 27.1 27.1 0 002.494 6.056v.119l-1.781 2.85a2.5 2.5 0 00.356 3.087l3.919 3.919a2.521 2.521 0 003.088.356l2.85-1.781h.119a27.1 27.1 0 006.056 2.494.116.116 0 01.119.119l.713 3.206a2.542 2.542 0 002.494 2.019h5.579a2.643 2.643 0 002.494-2.019l.712-3.206.119-.119a27.1 27.1 0 006.056-2.494l-.594-1.069.713 1.069 2.85 1.781a2.5 2.5 0 003.087-.356l3.919-3.919a2.521 2.521 0 00.356-3.087l-1.781-2.85v-.119a27.1 27.1 0 002.494-6.056.116.116 0 01.119-.119l3.206-.712a2.44 2.44 0 001.9-2.493v-5.463a2.564 2.564 0 00-1.9-2.494l-3.325-.712-.119-.119a27.1 27.1 0 00-2.494-6.056v-.119l1.781-2.85a2.521 2.521 0 00-.356-3.088l-3.918-3.918a2.521 2.521 0 00-3.087-.356l-2.85 1.781h-.119a27.1 27.1 0 00-6.056-2.494.116.116 0 01-.119-.119l-.713-3.206a2.44 2.44 0 00-2.494-1.9H81.15a2.674 2.674 0 00-2.494 1.9l-.594 3.206a.116.116 0 01-.119.119 27.1 27.1 0 00-6.056 2.494l.594 1.069-.713-.95-2.85-1.781a2.521 2.521 0 00-3.088.356l-3.918 3.918a2.521 2.521 0 00-.356 3.087l1.781 2.85v.119a27.1 27.1 0 00-2.494 6.056.116.116 0 01-.119.119l-3.206.712A2.542 2.542 0 0055.5 80.27v5.462a2.513 2.513 0 002.019 2.375zm.356-7.956c0-.119 0-.119.119-.119l3.206-.712a2.577 2.577 0 001.9-1.9 17.661 17.661 0 012.256-5.344 2.573 2.573 0 000-2.613l-1.781-2.85v-.237l3.919-3.919h.238l2.85 1.781a2.573 2.573 0 002.613 0 23.271 23.271 0 015.344-2.256 2.577 2.577 0 001.9-1.9l.712-3.206c0-.119 0-.119.119-.119h5.58c.119 0 .119 0 .119.119l.713 3.206a2.627 2.627 0 001.781 1.9 17.661 17.661 0 015.344 2.256 2.573 2.573 0 002.613 0l2.85-1.781h.119l3.919 3.919v.237l-1.781 2.85a2.573 2.573 0 000 2.613 21.261 21.261 0 012.256 5.344 2.272 2.272 0 001.9 1.781l3.206.712a.116.116 0 01.119.119v5.463c0 .119 0 .119-.119.119l-3.206.712a2.627 2.627 0 00-1.9 1.781 17.661 17.661 0 01-2.256 5.344 2.573 2.573 0 000 2.612l1.781 2.85v.238l-3.919 3.919h-.239l-2.85-1.782a2.573 2.573 0 00-2.613 0 23.271 23.271 0 01-5.344 2.256 2.272 2.272 0 00-1.781 1.9l-.712 3.207a.116.116 0 01-.119.119H81.15a.116.116 0 01-.119-.119l-.713-3.206a2.577 2.577 0 00-1.9-1.9 17.661 17.661 0 01-5.344-2.256 2.573 2.573 0 00-2.613 0l-2.85 1.781h-.119l-3.917-3.919v-.238l1.781-2.85a2.573 2.573 0 000-2.612 21.261 21.261 0 01-2.256-5.344 2.272 2.272 0 00-1.9-1.781l-3.206-.712c-.119.119-.119.119-.119 0z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"f\",\n d: \"M84 99.7a16.814 16.814 0 10-16.818-16.814A16.817 16.817 0 0084 99.7zm0-31.119a14.3 14.3 0 11-14.308 14.3A14.3 14.3 0 0184 68.582z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"f\",\n d: \"M81.245 89.162a1.094 1.094 0 001.433-.551l4.628-10.58a1.086 1.086 0 10-1.984-.882l-4.629 10.58a1.094 1.094 0 00.552 1.433zM90.719 86.12l-2.314 1.873a1.096 1.096 0 001.433 1.658l3.416-2.755a1.36 1.36 0 00.441-.882 1 1 0 00-.441-.882l-3.416-2.755a1.171 1.171 0 00-1.543.11 1.328 1.328 0 00.11 1.763zM78.282 83.281a1.094 1.094 0 001.433-1.653l-2.314-1.873 2.314-1.873a1.094 1.094 0 10-1.433-1.653l-3.416 2.755a1.36 1.36 0 00-.441.882 1 1 0 00.441.882z\"\n })), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"f\",\n d: \"M870.5 62.5a21 21 0 11-21 21 21 21 0 0121-21z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"e\",\n d: \"M859.847 82.659l5.57-3.719a.529.529 0 00-.587-.879l-5.57 3.719a1.707 1.707 0 000 2.839l5.57 3.719a.529.529 0 10.587-.879l-5.57-3.72a.649.649 0 010-1.08zM880.707 81.779l-5.57-3.719a.529.529 0 10-.587.879l5.574 3.719a.649.649 0 010 1.08l-5.574 3.72a.529.529 0 10.587.879l5.57-3.719a1.707 1.707 0 000-2.839zM872.552 75.241a.529.529 0 00-.664.343l-4.817 15.093a.528.528 0 101.007.321l4.817-15.094a.529.529 0 00-.343-.663z\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n className: \"j\",\n d: \"M902.951 76.379h110v12.317h-110z\"\n }), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"f\",\n d: \"M1074.5 62.5a21 21 0 11-21 21 21 21 0 0121-21z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"g\",\n d: \"M1063.5 71.5h22v22h-22z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"e\",\n d: \"M1082.269 76.201a11 11 0 10-15.537 15.569.588.588 0 00.788-.006l1.832-1.834a.553.553 0 000-.781.565.565 0 00-.781 0l-1.448 1.448-.131-.152a9.974 9.974 0 01-2.37-5.73l-.015-.2h2.041a.533.533 0 000-1.066h-2.047l.016-.2a9.979 9.979 0 012.365-5.734l.131-.154 1.422 1.423a.542.542 0 00.753-.779l-1.425-1.423.152-.131a9.775 9.775 0 015.734-2.361l.2-.013v2.038a.532.532 0 101.065 0v-2.041l.2.016a9.988 9.988 0 015.734 2.364l.154.131-1.45 1.448a.542.542 0 10.753.779l1.445-1.445.131.151a9.781 9.781 0 012.365 5.737l.013.2h-1.99a.53.53 0 00-.373.154.522.522 0 00-.157.375.557.557 0 00.539.564h2.038l-.015.2a9.908 9.908 0 01-2.364 5.733l-.131.154-1.45-1.448a.552.552 0 00-.781.781l1.84 1.84a.54.54 0 00.748 0 11.031 11.031 0 00.006-15.6z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"e\",\n d: \"M1074.484 81.925a1.876 1.876 0 00-.881.216l-.119.063-2.138-2.112a.543.543 0 00-.769.767l2.14 2.138-.065.12a1.843 1.843 0 00-.214.881 2.041 2.041 0 002.042 2.046 2.043 2.043 0 002.043-2.042 2.071 2.071 0 00-2.039-2.077zm.186 3.017v.021h-.183a.969.969 0 11.969-.969.989.989 0 01-.786.948z\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n className: \"j\",\n d: \"M1108.951 76.379h110v12.317h-110z\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgApiKeyPlaceholder);\nexport default __webpack_public_path__ + \"static/media/api-key-placeholder.3a4f10bd.svg\";\nexport { ForwardRef as ReactComponent };","import * as React from 'react';\nimport { ReactComponent as ApiSproketIcon } from 'assets/code-sprocket-icon.svg';\nimport { ReactComponent as CaretIcon } from 'assets/dropdown-arrow.svg';\nimport { NavLink, useParams, useLocation, useHistory } from 'react-router-dom';\nimport { Loading } from './Loading';\nimport './ApiDetailsPage.css';\nimport { useGetAPIProductDetails, useGetPortalSummary } from '../api/hooks';\nimport { APIDetailsCard } from './APIDetailsCard';\nimport { ReactComponent as EnvironmentIcon } from 'assets/environment-icon.svg';\nimport { ReactComponent as VersionIcon } from 'assets/version-icon.svg';\n\nexport const versionParam = 'v';\n\nexport const ApiDetailsPage = () => {\n const { apiproductnamespace, apiproductname } = useParams<{ apiproductnamespace: string; apiproductname: string }>();\n\n const history = useHistory();\n const { apiProductDetails, apiProductDetailsError } = useGetAPIProductDetails({\n name: apiproductname!,\n namespace: apiproductnamespace!\n });\n\n let urlSearch = new URLSearchParams(useLocation().search);\n\n let initialVersionName = urlSearch.get(versionParam);\n // Fall back to an arbitrary environment + version if this page is visited without a version parameter\n if (!initialVersionName && !!apiProductDetails) {\n initialVersionName =\n apiProductDetails.environmentsList.find(env => !!env.versionsList.length)?.versionsList[0] ?? '';\n }\n\n const [currentEnvironment, setCurrentEnvironment] = React.useState(\n apiProductDetails?.environmentsList.find(env => !!env.versionsList.find(v => v === initialVersionName))\n );\n const [currentVersion, setCurrentVersion] = React.useState(\n currentEnvironment?.versionsList?.find(v => v === initialVersionName)\n );\n const [showDropdown, setShowDropdown] = React.useState(false);\n\n React.useEffect(() => {\n if (!currentEnvironment) {\n setCurrentEnvironment(\n apiProductDetails?.environmentsList.find(env => !!env.versionsList.find(v => v === initialVersionName)) ??\n apiProductDetails?.environmentsList[0]\n );\n setCurrentVersion(\n apiProductDetails?.environmentsList\n .find(env => !!env.versionsList.find(v => v === initialVersionName))\n ?.versionsList?.find(v => v === initialVersionName)\n );\n }\n }, [initialVersionName, apiproductname, apiproductnamespace, !!apiProductDetails]);\n\n const { portalSummary } = useGetPortalSummary();\n React.useEffect(() => {\n document.title = `${portalSummary?.displayName ?? 'Portal'} - ${apiproductname} ${currentVersion}`;\n }, [portalSummary?.displayName, currentVersion]);\n\n if (!apiProductDetails && !apiProductDetailsError) {\n return ;\n }\n\n if (!apiProductDetails) {\n return null;\n }\n\n return (\n
\n
\n

\n \n \n APIs\n \n
\n \n
\n {apiProductDetails?.displayname}\n

\n
\n
\n setShowDropdown(!showDropdown)}\n aria-haspopup='true'\n aria-expanded='true'>\n \n\n {currentEnvironment?.displayname} \n \n {currentVersion}\n
\n\n {showDropdown && (\n
\n \n {apiProductDetails?.environmentsList\n .sort((a, b) => (a.displayname === b.displayname ? 0 : a.displayname > b.displayname ? 1 : -1))\n .map(env => (\n \n
\n \n

{env.displayname}

\n
\n\n {env.versionsList.map(version => (\n {\n history.replace(`/apis/${apiproductnamespace}/${apiproductname}?v=${version}`);\n setCurrentVersion(version);\n setCurrentEnvironment(\n apiProductDetails?.environmentsList?.find(e => e.metadata?.uid === env?.metadata?.uid)\n );\n setShowDropdown(false);\n }}\n className='block px-4 py-2 text-sm text-gray-700 cursor-pointer hover:bg-gray-100 hover:text-gray-900'>\n {version}\n \n ))}\n
\n ))}\n
\n
\n )}\n
\n
\n \n
\n );\n};\n","var _defs, _g;\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 SvgUserIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 26.047,\n height: 26.028,\n viewBox: \"0 0 26.047 26.028\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \"\\n .userIconA {\\n fill: #fff;\\n }\\n\\n .userIconB {\\n fill: #35393b;\\n }\\n \"))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(-1011.499 -9.19)\"\n }, /*#__PURE__*/React.createElement(\"circle\", {\n className: \"userIconA\",\n cx: 13,\n cy: 13,\n r: 13,\n transform: \"translate(1011.499 9.218)\"\n }), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(998.206 -5.15)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(13.34 14.34)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n className: \"userIconB\",\n d: \"M26.34,14.34a13,13,0,1,0,13,13A13.015,13.015,0,0,0,26.34,14.34Zm0,24.906a11.851,11.851,0,0,1-7.581-2.732,5.949,5.949,0,0,1,5.563-3.924h4A5.958,5.958,0,0,1,33.9,36.533,11.851,11.851,0,0,1,26.34,39.246Zm8.422-3.5A7.059,7.059,0,0,0,28.32,31.5h-4a7.049,7.049,0,0,0-6.424,4.23,11.906,11.906,0,1,1,16.864.02Z\",\n transform: \"translate(-13.34 -14.34)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"userIconB\",\n d: \"M39.963,31.7a5.184,5.184,0,1,0,5.184,5.184A5.19,5.19,0,0,0,39.963,31.7Zm0,9.275a4.091,4.091,0,1,1,4.091-4.091A4.1,4.1,0,0,1,39.963,40.972Z\",\n transform: \"translate(-26.963 -25.369)\"\n }))))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgUserIcon);\nexport default __webpack_public_path__ + \"static/media/user-icon.7bd6ab89.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\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 SvgCalendarIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 20.408,\n height: 18,\n viewBox: \"0 0 20.408 18\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(-10 -15.9)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n className: \"calendarA\",\n d: \"M25.014,46.1h-3.1a.614.614,0,0,0-.612.612.6.6,0,0,0,.612.612h3.1a.612.612,0,0,0,0-1.224Z\",\n transform: \"translate(-8.994 -24.037)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"calendarA\",\n d: \"M53.114,46.1h-3.1a.614.614,0,0,0-.612.612.6.6,0,0,0,.612.612h3.1a.612.612,0,0,0,0-1.224Z\",\n transform: \"translate(-31.359 -24.037)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"calendarA\",\n d: \"M81.214,46.1h-3.1a.614.614,0,0,0-.612.612.6.6,0,0,0,.612.612h3.1a.612.612,0,0,0,0-1.224Z\",\n transform: \"translate(-53.724 -24.037)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"calendarA\",\n d: \"M25.014,59.5h-3.1a.614.614,0,0,0-.612.612.6.6,0,0,0,.612.612h3.1a.612.612,0,0,0,0-1.224Z\",\n transform: \"translate(-8.994 -34.702)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"calendarA\",\n d: \"M53.114,59.5h-3.1a.614.614,0,0,0-.612.612.6.6,0,0,0,.612.612h3.1a.612.612,0,0,0,0-1.224Z\",\n transform: \"translate(-31.359 -34.702)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"calendarA\",\n d: \"M81.214,59.5h-3.1a.614.614,0,0,0-.612.612.6.6,0,0,0,.612.612h3.1a.612.612,0,0,0,0-1.224Z\",\n transform: \"translate(-53.724 -34.702)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"calendarA\",\n d: \"M25.014,72.9h-3.1a.614.614,0,0,0-.612.612.6.6,0,0,0,.612.612h3.1a.612.612,0,1,0,0-1.224Z\",\n transform: \"translate(-8.994 -45.367)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"calendarA\",\n d: \"M53.114,72.9h-3.1a.614.614,0,0,0-.612.612.6.6,0,0,0,.612.612h3.1a.612.612,0,0,0,0-1.224Z\",\n transform: \"translate(-31.359 -45.367)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"calendarA\",\n d: \"M81.214,72.9h-3.1a.614.614,0,0,0-.612.612.6.6,0,0,0,.612.612h3.1a.612.612,0,0,0,0-1.224Z\",\n transform: \"translate(-53.724 -45.367)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"calendarA\",\n d: \"M25.014,86.3h-3.1a.612.612,0,1,0,0,1.224h3.1a.612.612,0,1,0,0-1.224Z\",\n transform: \"translate(-8.994 -56.033)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"calendarA\",\n d: \"M53.114,86.3h-3.1a.612.612,0,1,0,0,1.224h3.1a.612.612,0,0,0,0-1.224Z\",\n transform: \"translate(-31.359 -56.033)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"calendarA\",\n d: \"M81.214,86.3h-3.1a.612.612,0,1,0,0,1.224h3.1a.612.612,0,0,0,0-1.224Z\",\n transform: \"translate(-53.724 -56.033)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"calendarA\",\n d: \"M29.8,16.818H24.878v-.306a.612.612,0,1,0-1.224,0v.306H16.735v-.306a.612.612,0,1,0-1.224,0v.306h-4.9a.614.614,0,0,0-.612.612V33.288a.614.614,0,0,0,.612.612H29.8a.614.614,0,0,0,.612-.612V17.431A.614.614,0,0,0,29.8,16.818ZM16.143,19.39a.614.614,0,0,0,.612-.612v-.755h6.918v.755a.612.612,0,1,0,1.224,0v-.755h4.327v1.714H11.2V18.022h4.327v.755A.6.6,0,0,0,16.143,19.39ZM11.2,32.676V20.941h18V32.676Z\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCalendarIcon);\nexport default __webpack_public_path__ + \"static/media/calendar-icon.d56b315d.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4, _path5;\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 SvgGroupPolicyIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(2.39 0.355)\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 24,\n height: 24,\n transform: \"translate(-2.39 -0.355)\",\n style: {\n opacity: 0\n }\n }), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.253,32.422A1.815,1.815,0,0,1,20.96,31.9l-5.317-5.3a2.035,2.035,0,0,1,.162-2.869l4.132-4.115a2.1,2.1,0,0,1,2.88-.159l5.318,5.294a2.039,2.039,0,0,1-.16,2.87l-4.132,4.114A2.277,2.277,0,0,1,22.253,32.422ZM21.522,20.3a.919.919,0,0,0-.622.282L16.768,24.7a.71.71,0,0,0-.161.949l5.317,5.295a.459.459,0,0,0,.329.121.909.909,0,0,0,.625-.282l4.132-4.115a.708.708,0,0,0,.158-.95L21.85,20.425A.456.456,0,0,0,21.522,20.3Z\",\n transform: \"translate(-14.16 -14.262)\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.219,18.7c-.134,0-.263,0-.371-.014a5.242,5.242,0,1,1,5.59-4.9,3.541,3.541,0,0,1-.521,1.827.681.681,0,0,1-1.122-.771,2.322,2.322,0,0,0,.282-1.095,3.9,3.9,0,1,0-4.131,3.587,5.328,5.328,0,0,0,.774-.011.679.679,0,1,1,.138,1.351C18.695,18.687,18.45,18.7,18.219,18.7Z\",\n transform: \"translate(-12.928 -8.211)\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M42.474,48.264a1.946,1.946,0,0,1-1.392-.649l-.713-.715a.679.679,0,0,1-.2-.43l-.034-.462L38.416,46a.682.682,0,0,1-.68-.694l.04-1.76-1.231-.3a.687.687,0,0,1-.3-.157l-1.3-1.167a.681.681,0,1,1,.915-1.008l1.168,1.051,1.6.384a.681.681,0,0,1,.522.675l-.037,1.616,1.662.007a.681.681,0,0,1,.677.631l.061.839.535.536a.874.874,0,0,0,.438.248.475.475,0,0,0,.243-.115l.005-1.542L37.2,39.68a.679.679,0,0,1,0-.961.686.686,0,0,1,.965,0l5.738,5.767a.677.677,0,0,1,.2.481L44.1,47.063a.687.687,0,0,1-.124.389,2.007,2.007,0,0,1-1.364.807C42.565,48.262,42.52,48.264,42.474,48.264Z\",\n transform: \"translate(-25.154 -25.264)\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25.817,30.743a1.213,1.213,0,0,1-.861-2.069,1.254,1.254,0,0,1,1.729,0,1.21,1.21,0,0,1-.006,1.714A1.225,1.225,0,0,1,25.817,30.743Zm0-1.358a.139.139,0,0,0-.095.038.145.145,0,1,0,.2.208.14.14,0,0,0,0-.2A.15.15,0,0,0,25.817,29.384Z\",\n transform: \"translate(-19.476 -19.529)\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M30.323,37.133a.679.679,0,0,1-.482-1.16l2.314-2.3a.68.68,0,0,1,.964.961l-2.314,2.3A.683.683,0,0,1,30.323,37.133Z\",\n transform: \"translate(-22.301 -22.421)\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgGroupPolicyIcon);\nexport default __webpack_public_path__ + \"static/media/group-policy-icon.e080f39a.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4;\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 SvgNoApiKeyIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 70 70\",\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 d: \"M35 5.492a29.416 29.416 0 1011.485 2.319A29.326 29.326 0 0035 5.492M35 4A31 31 0 114 35 31 31 0 0135 4z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M33.414 44.46a2.5 2.5 0 01-1.779-.714l-7.311-7.281a2.8 2.8 0 01.222-3.945l5.681-5.658a2.891 2.891 0 013.96-.218l7.312 7.279a2.8 2.8 0 01-.22 3.946l-5.681 5.656a3.131 3.131 0 01-2.184.935zm-1.005-16.668a1.264 1.264 0 00-.856.388l-5.681 5.658a.977.977 0 00-.221 1.305l7.311 7.28a.631.631 0 00.452.166 1.249 1.249 0 00.859-.388l5.681-5.658a.974.974 0 00.217-1.306l-7.311-7.279a.627.627 0 00-.451-.166z\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29.558 33.91c-.184 0-.361-.007-.51-.019a7.208 7.208 0 117.686-6.742 4.869 4.869 0 01-.717 2.512.936.936 0 01-1.543-1.06 3.193 3.193 0 00.387-1.505 5.369 5.369 0 10-5.68 4.932 7.326 7.326 0 001.064-.016.934.934 0 11.19 1.858 9.27 9.27 0 01-.877.04zM46.101 51.114a2.676 2.676 0 01-1.914-.892l-.98-.984a.934.934 0 01-.27-.591l-.046-.636-2.369-.014a.937.937 0 01-.935-.955l.055-2.419-1.692-.406a.944.944 0 01-.408-.215l-1.782-1.6a.936.936 0 111.257-1.386l1.605 1.443 2.195.528a.936.936 0 01.718.928l-.051 2.222 2.285.01a.936.936 0 01.931.867l.084 1.153.735.738a1.2 1.2 0 00.6.34.653.653 0 00.335-.158l.007-2.121-7.618-7.655a.934.934 0 01.007-1.322.944.944 0 011.327.006l7.889 7.93a.931.931 0 01.27.662l-.009 2.875a.944.944 0 01-.171.535 2.759 2.759 0 01-1.876 1.109 1.71 1.71 0 01-.179.008z\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.004 34.908a1.667 1.667 0 01-1.185-2.848 1.725 1.725 0 012.378 0 1.664 1.664 0 01-.008 2.357 1.684 1.684 0 01-1.185.491zm0-1.868a.191.191 0 00-.13.052.2.2 0 10.277.286.193.193 0 000-.275.206.206 0 00-.147-.063zM33.316 39.718a.934.934 0 01-.663-1.595l3.184-3.169a.936.936 0 011.326 1.321l-3.182 3.168a.939.939 0 01-.665.275z\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgNoApiKeyIcon);\nexport default __webpack_public_path__ + \"static/media/no-api-key-icon.9d8aa0b6.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _rect, _g;\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 SvgPlanIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 22.001,\n height: 22,\n viewBox: \"0 0 22.001 22\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \"\\n .a-usage-plan,\\n .b-usage-plan {\\n fill: #fff;\\n }\\n\\n .a-usage-plan {\\n opacity: 0;\\n }\\n \"))), _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n className: \"a-usage-plan\",\n width: 22,\n height: 22,\n transform: \"translate(0.001)\"\n })), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0 1.467)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n className: \"b-usage-plan\",\n d: \"M88.537,373.366A11,11,0,1,0,73,388.935a.588.588,0,0,0,.788-.006l1.832-1.834a.553.553,0,0,0,0-.781.565.565,0,0,0-.781,0l-1.448,1.448-.131-.152a9.974,9.974,0,0,1-2.37-5.73l-.015-.2h2.041a.533.533,0,0,0,0-1.066H70.869l.016-.2a9.979,9.979,0,0,1,2.365-5.734l.131-.154,1.422,1.423a.542.542,0,0,0,.753-.779l-1.425-1.423.152-.131a9.775,9.775,0,0,1,5.734-2.361l.2-.013v2.038a.532.532,0,1,0,1.065,0v-2.041l.2.016a9.988,9.988,0,0,1,5.734,2.364l.154.131-1.45,1.448a.542.542,0,1,0,.753.779l1.445-1.445.131.151a9.781,9.781,0,0,1,2.365,5.737l.013.2H88.637a.53.53,0,0,0-.373.154.522.522,0,0,0-.157.375.557.557,0,0,0,.539.564h2.038l-.015.2a9.908,9.908,0,0,1-2.364,5.733l-.131.154-1.45-1.448a.552.552,0,0,0-.781.781l1.84,1.84a.54.54,0,0,0,.748,0,11.031,11.031,0,0,0,.006-15.6Z\",\n transform: \"translate(-69.767 -370.132)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"b-usage-plan\",\n d: \"M78.434,376.749a1.876,1.876,0,0,0-.881.216l-.119.063-2.138-2.112a.543.543,0,0,0-.769.767l2.14,2.138-.065.12a1.843,1.843,0,0,0-.214.881,2.041,2.041,0,0,0,2.042,2.046h0a2.043,2.043,0,0,0,2.043-2.042A2.071,2.071,0,0,0,78.434,376.749Zm.186,3.017v.021l-.183,0a.969.969,0,1,1,.969-.969A.989.989,0,0,1,78.62,379.766Z\",\n transform: \"translate(-67.449 -367.791)\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPlanIcon);\nexport default __webpack_public_path__ + \"static/media/plan-icon.dfaf9066.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _circle;\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 SvgSmallGreyX(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 16,\n height: 16,\n \"aria-hidden\": \"true\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"a\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n fill: \"none\",\n d: \"M0 0h16v16H0z\"\n })))), /*#__PURE__*/React.createElement(\"g\", {\n fill: \"#9f9f9f\",\n clipPath: \"url(#a)\"\n }, _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n className: \"greyX-c\",\n cx: 8,\n cy: 8,\n r: 8\n })), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.183 5.09l5.571 5.571M10.754 5.09l-5.571 5.571\",\n style: {\n fill: \"none\",\n stroke: \"#fff\"\n }\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSmallGreyX);\nexport default __webpack_public_path__ + \"static/media/small-grey-x.5cfcc958.svg\";\nexport { ForwardRef as ReactComponent };","import { ObjectMeta, Time } from 'proto/github.com/solo-io/dev-portal/api/grpc/common/common_pb';\nimport {APIType, APITypeMap} from \"proto/github.com/solo-io/dev-portal/api/dev-portal/v1beta1/apiproduct_pb\";\n\nexport function copyTextToClipboard(copyText: string): boolean {\n let textArea = document.createElement('textarea');\n\n textArea.style.position = 'fixed';\n textArea.style.top = '-999px';\n textArea.style.left = '-999px';\n\n // Ensure it has a small width and height. Setting to 1px / 1em\n // doesn't work as this gives a negative w/h on some browsers.\n textArea.style.width = '2em';\n textArea.style.height = '2em';\n\n // Avoid flash of white box if rendered for any reason.\n textArea.style.background = 'rgba(255, 255, 255, 0)';\n\n textArea.value = copyText;\n\n document.body.appendChild(textArea);\n textArea.focus();\n textArea.select();\n\n let success = false;\n try {\n success = document.execCommand('copy');\n } catch (err) {}\n\n document.body.removeChild(textArea);\n\n return success;\n}\n\nexport const formatUnit = (usagePlanUnit: string) => {\n switch (usagePlanUnit) {\n case 'MINUTES':\n return 'minute';\n case 'HOURS':\n return 'hour';\n case 'DAYS':\n return 'day';\n case 'SECONDS':\n return 'second';\n default:\n return '';\n }\n};\n\nexport const formatDate = (date: Time.AsObject): string => {\n if (!date) {\n return 'Unknown';\n } else {\n const d = new Date(1000*date.seconds);\n return d.toUTCString();\n }\n};\n\nexport const getAPITypeName = (apiType: APITypeMap[keyof APITypeMap]) => {\n switch (apiType) {\n case APIType.OPEN_API: {\n return 'OpenAPI';\n }\n case APIType.GRPC: {\n return 'gRPC';\n }\n case APIType.HYBRID: {\n return 'HYBRID';\n }\n case APIType.EMPTY:\n default: {\n return 'EMPTY';\n }\n }\n};\n\nexport const getRefFromId = (id: string) => {\n let [namespace, name] = id.split('_');\n return { name, namespace };\n};\n\nexport const getIdFromMetadata = (metadata: ObjectMeta.AsObject) => {\n let { namespace, name } = metadata;\n return `${namespace}_${name}`;\n};\n\nexport const sortByName = (a: T, b: T) =>\n a.name === b.name ? 0 : a.name > b.name ? 1 : -1;\n\nexport const sortByDisplayName = (a: { displayName: string }, b: { displayName: string }) =>\n a.displayName === b.displayName ? 0 : a.displayName > b.displayName ? 1 : -1;\n\nexport const sortByMetaName = (a: { metadata?: { name: string } }, b: { metadata?: { name: string } }) => {\n if (!a.metadata) {\n return -1;\n }\n\n if (!b.metadata) {\n return 1;\n }\n\n return a.metadata.name === b.metadata.name ? 0 : a.metadata.name > b.metadata.name ? 1 : -1;\n};\n","var _defs, _path;\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 SvgBigWarningExclamation(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 3.312,\n height: 69.543,\n viewBox: \"0 0 3.312 69.543\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \"\\n .exclamationA {\\n fill: #ffb831;\\n }\\n \"))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n className: \"exclamationA\",\n d: \"M40.4,29.757a1.652,1.652,0,0,0-1.656,1.656V77.775a1.656,1.656,0,0,0,3.312,0V31.413A1.652,1.652,0,0,0,40.4,29.757Zm0,62.92a1.652,1.652,0,0,0-1.656,1.656v3.312a1.656,1.656,0,0,0,3.312,0V94.333A1.652,1.652,0,0,0,40.4,92.677Z\",\n transform: \"translate(-38.742 -29.757)\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgBigWarningExclamation);\nexport default __webpack_public_path__ + \"static/media/big-warning-exclamation.2fe0560e.svg\";\nexport { ForwardRef as ReactComponent };","import * as React from 'react';\nimport styled from '@emotion/styled';\nimport { colors } from 'styles/colors';\nimport './Card.css';\n\ninterface CardProps {\n children: React.ReactChild;\n lightShadow?: boolean;\n onClick?: () => any;\n rest?: any;\n}\n\nexport const Card = ({ children, lightShadow, onClick, ...rest }: CardProps) => {\n return (\n \n {children}\n \n );\n};\n","var _defs, _g, _g2;\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 SvgDeveloperPortalIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 181.039,\n height: 79.489,\n viewBox: \"0 0 181.039 79.489\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \"\\n .developerPortalA {\\n fill: #54b7e3;\\n }\\n \"))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(71.146)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n className: \"developerPortalA\",\n d: \"M20,60.676,32.221,48.408,20,36.142,18.655,37.5,29.526,48.408,18.655,59.322Z\",\n transform: \"translate(-0.991 -11.524)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"developerPortalA\",\n width: 10.364,\n height: 1.913,\n transform: \"translate(37.218 30.032)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"developerPortalA\",\n width: 15.433,\n height: 1.913,\n transform: \"translate(54.032 30.032)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"developerPortalA\",\n width: 2.717,\n height: 1.913,\n transform: \"translate(77.793 30.032)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"developerPortalA\",\n width: 3.362,\n height: 1.913,\n transform: \"translate(88.193 30.032)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"developerPortalA\",\n width: 10.364,\n height: 1.913,\n transform: \"translate(81.189 35.927)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"developerPortalA\",\n width: 15.431,\n height: 1.913,\n transform: \"translate(59.307 35.927)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"developerPortalA\",\n width: 2.719,\n height: 1.913,\n transform: \"translate(48.262 35.927)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"developerPortalA\",\n width: 3.362,\n height: 1.913,\n transform: \"translate(37.218 35.927)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"developerPortalA\",\n width: 10.364,\n height: 1.913,\n transform: \"translate(37.218 41.824)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"developerPortalA\",\n width: 15.433,\n height: 1.913,\n transform: \"translate(54.032 41.824)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"developerPortalA\",\n width: 2.717,\n height: 1.913,\n transform: \"translate(77.793 41.824)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"developerPortalA\",\n width: 3.362,\n height: 1.913,\n transform: \"translate(88.193 41.824)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"developerPortalA\",\n width: 13.965,\n height: 1.913,\n transform: \"translate(18.339 53.837)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"developerPortalA\",\n width: 20.796,\n height: 1.913,\n transform: \"translate(40.996 53.837)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"developerPortalA\",\n width: 3.663,\n height: 1.913,\n transform: \"translate(73.01 53.837)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"developerPortalA\",\n width: 4.529,\n height: 1.913,\n transform: \"translate(87.024 53.837)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"developerPortalA\",\n width: 13.965,\n height: 1.913,\n transform: \"translate(77.588 61.781)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"developerPortalA\",\n width: 20.795,\n height: 1.913,\n transform: \"translate(48.1 61.781)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"developerPortalA\",\n width: 3.663,\n height: 1.913,\n transform: \"translate(33.218 61.781)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"developerPortalA\",\n width: 4.528,\n height: 1.913,\n transform: \"translate(18.339 61.781)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"developerPortalA\",\n width: 13.965,\n height: 1.913,\n transform: \"translate(18.339 69.726)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"developerPortalA\",\n width: 10.635,\n height: 1.913,\n transform: \"translate(40.996 69.726)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"developerPortalA\",\n width: 3.663,\n height: 1.913,\n transform: \"translate(73.01 69.726)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n className: \"developerPortalA\",\n width: 4.529,\n height: 1.913,\n transform: \"translate(87.024 69.726)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"developerPortalA\",\n d: \"M107.691,16.843H11.7a6.974,6.974,0,0,0-6.952,6.98V89.352a6.974,6.974,0,0,0,6.952,6.98h95.989a6.974,6.974,0,0,0,6.952-6.98V23.823A6.975,6.975,0,0,0,107.691,16.843Zm5.046,72.509a5.062,5.062,0,0,1-5.046,5.067H11.7a5.062,5.062,0,0,1-5.046-5.067V36.376H112.738V89.352Zm0-54.89H6.655V23.823A5.062,5.062,0,0,1,11.7,18.756h95.989a5.062,5.062,0,0,1,5.046,5.067Z\",\n transform: \"translate(-4.751 -16.843)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"developerPortalA\",\n d: \"M10.974,27.311h22V22.687h-22ZM12.88,24.6H31.071v.8H12.88Z\",\n transform: \"translate(-3.068 -15.232)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"developerPortalA\",\n d: \"M82.88,21.559a3.75,3.75,0,1,0,3.735,3.75A3.746,3.746,0,0,0,82.88,21.559Zm0,5.587a1.837,1.837,0,1,1,1.829-1.837A1.835,1.835,0,0,1,82.88,27.146Z\",\n transform: \"translate(15.368 -15.543)\"\n }))), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0 8.929)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n className: \"developerPortalA\",\n d: \"M4.16,38.2l3.43.765a.125.125,0,0,1,.127.128A29.173,29.173,0,0,0,10.385,45.6v.128L8.479,48.787A2.7,2.7,0,0,0,8.86,52.1l4.192,4.209a2.688,2.688,0,0,0,3.3.383l3.049-1.913h.127a28.923,28.923,0,0,0,6.479,2.679.125.125,0,0,1,.127.128l.762,3.444A2.722,2.722,0,0,0,29.569,63.2H35.54a2.83,2.83,0,0,0,2.668-2.169l.762-3.444.127-.128a28.923,28.923,0,0,0,6.479-2.679l-.635-1.148.762,1.148L48.752,56.7a2.668,2.668,0,0,0,3.3-.383L56.248,52.1a2.716,2.716,0,0,0,.381-3.317l-1.906-3.061V45.6a29.173,29.173,0,0,0,2.668-6.506.125.125,0,0,1,.127-.128l3.43-.765a2.619,2.619,0,0,0,2.033-2.679V29.653a2.752,2.752,0,0,0-2.033-2.679l-3.557-.765-.127-.128A29.172,29.172,0,0,0,54.6,19.576v-.128L56.5,16.387a2.716,2.716,0,0,0-.381-3.317L51.928,8.861a2.688,2.688,0,0,0-3.3-.383l-3.049,1.913h-.127A28.923,28.923,0,0,0,38.97,7.713a.125.125,0,0,1-.127-.128l-.762-3.444A2.612,2.612,0,0,0,35.413,2.1H29.442a2.862,2.862,0,0,0-2.668,2.041l-.635,3.444a.125.125,0,0,1-.127.128,28.923,28.923,0,0,0-6.479,2.679l.635,1.148-.762-1.02L16.356,8.606a2.688,2.688,0,0,0-3.3.383L8.86,13.2a2.716,2.716,0,0,0-.381,3.317l1.906,3.061V19.7a29.172,29.172,0,0,0-2.668,6.506.125.125,0,0,1-.127.128L4.16,27.1A2.728,2.728,0,0,0,2,29.781v5.868A2.7,2.7,0,0,0,4.16,38.2Zm.381-8.547c0-.128,0-.128.127-.128L8.1,28.76a2.763,2.763,0,0,0,2.033-2.041,19.013,19.013,0,0,1,2.414-5.74,2.773,2.773,0,0,0,0-2.806l-1.906-3.061v-.255l4.192-4.209h.254l3.049,1.913a2.743,2.743,0,0,0,2.795,0,24.842,24.842,0,0,1,5.717-2.424A2.763,2.763,0,0,0,28.679,8.1l.762-3.444c0-.128,0-.128.127-.128H35.54c.127,0,.127,0,.127.128L36.429,8.1a2.817,2.817,0,0,0,1.906,2.041,18.854,18.854,0,0,1,5.717,2.424,2.743,2.743,0,0,0,2.795,0L49.9,10.647h.127l4.192,4.209v.255l-1.906,3.061a2.773,2.773,0,0,0,0,2.806,22.889,22.889,0,0,1,2.414,5.74,2.435,2.435,0,0,0,2.033,1.913l3.43.765a.125.125,0,0,1,.127.128v5.868c0,.128,0,.128-.127.128l-3.43.765A2.815,2.815,0,0,0,54.723,38.2a19.013,19.013,0,0,1-2.414,5.74,2.773,2.773,0,0,0,0,2.806l1.906,3.061v.255l-4.192,4.209h-.254L46.72,52.359a2.743,2.743,0,0,0-2.795,0,24.842,24.842,0,0,1-5.717,2.424A2.436,2.436,0,0,0,36.3,56.823l-.762,3.444a.125.125,0,0,1-.127.128H29.442a.125.125,0,0,1-.127-.128l-.762-3.444a2.763,2.763,0,0,0-2.033-2.041A18.854,18.854,0,0,1,20.8,52.359a2.743,2.743,0,0,0-2.795,0l-3.049,1.913h-.127l-4.192-4.209v-.255l1.906-3.061a2.773,2.773,0,0,0,0-2.806,22.889,22.889,0,0,1-2.414-5.74A2.435,2.435,0,0,0,8.1,36.286l-3.43-.765c-.127.128-.127.128-.127,0Z\",\n transform: \"translate(-2 -2.1)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"developerPortalA\",\n d: \"M29.624,46.786A17.093,17.093,0,1,0,12.6,29.693,17.06,17.06,0,0,0,29.624,46.786Zm0-31.635A14.542,14.542,0,1,1,15.141,29.693,14.506,14.506,0,0,1,29.624,15.151Z\",\n transform: \"translate(0.867 0.794)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"developerPortalA\",\n d: \"M23.656,34.863a1.259,1.259,0,0,0,1.652-.638l5.336-12.246a1.252,1.252,0,1,0-2.287-1.02L23.021,33.2A1.268,1.268,0,0,0,23.656,34.863Z\",\n transform: \"translate(3.659 2.895)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"developerPortalA\",\n d: \"M32.264,29.7,29.6,31.865a1.264,1.264,0,0,0,1.652,1.913l3.938-3.189a1.577,1.577,0,0,0,.508-1.02,1.162,1.162,0,0,0-.508-1.02l-3.938-3.189a1.346,1.346,0,0,0-1.779.128,1.541,1.541,0,0,0,.127,2.041Z\",\n transform: \"translate(5.341 4.235)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"developerPortalA\",\n d: \"M22.247,28.434a1.346,1.346,0,0,0,1.779-.128,1.36,1.36,0,0,0-.127-1.786L21.23,24.352,23.9,22.184a1.264,1.264,0,0,0-1.652-1.913l-3.938,3.189a1.577,1.577,0,0,0-.508,1.02,1.162,1.162,0,0,0,.508,1.02Z\",\n transform: \"translate(2.273 2.818)\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDeveloperPortalIcon);\nexport default __webpack_public_path__ + \"static/media/developer-portal-icon.02bd6e56.svg\";\nexport { ForwardRef as ReactComponent };","import * as React from 'react';\n\nimport { Modal } from 'antd';\nimport { ModalProps } from 'antd/lib/modal';\nimport { ReactComponent as WarningExclamation } from 'assets/big-warning-exclamation.svg';\nimport styled from '@emotion/styled';\nimport { colors } from 'styles/colors';\nimport { SoloButton } from './SoloButton';\nimport './ConfirmationModal.css';\n\nconst maskStyle = {\n background: 'rgba(255, 255, 255, 0)'\n};\nconst floatingStyle = {\n borderRadius: '10px'\n};\nconst bodyStyle = {\n borderRadius: '10px'\n};\n\ninterface Props extends ModalProps {\n confirmationTopic?: string;\n confirmText?: string;\n goForIt: () => any;\n cancel: () => any;\n visible?: boolean;\n isNegative?: boolean;\n}\n\nexport const ConfirmationModal = (props: Props) => {\n const closeModal = (): void => {\n props.cancel();\n };\n\n const { confirmationTopic, confirmText, goForIt, isNegative } = props;\n\n return (\n <>\n \n
\n
\n \n
\n
\n Are you sure you want to {!!confirmationTopic ? confirmationTopic : 'remove this'}?\n
\n\n
\n \n
\n
\n \n \n );\n};\n","import * as React from 'react';\n\nimport { Modal } from 'antd';\nimport { ModalProps } from 'antd/lib/modal';\nimport { ReactComponent as WarningExclamation } from 'assets/big-warning-exclamation.svg';\nimport styled from '@emotion/styled';\nimport { colors } from 'styles/colors';\nimport { SoloButton } from './SoloButton';\nimport './ConfirmationModal.css';\nimport { useState } from 'react';\nimport { SoloFormMetadata } from './SoloFormField';\nimport { Formik, useFormikContext } from 'formik';\n\nconst maskStyle = {\n background: 'rgba(255, 255, 255, 0)'\n};\nconst floatingStyle = {\n borderRadius: '10px'\n};\nconst bodyStyle = {\n borderRadius: '10px'\n};\n\ninterface UnderlineButtonProps {\n text: string;\n onClick: (e: React.MouseEvent) => void;\n}\nconst UnderlineButton = (props: UnderlineButtonProps) => {\n const { text, onClick } = props;\n return (\n \n );\n};\n\ninterface Props extends ModalProps {\n goForIt: (metadata: [string, string][]) => any;\n cancel: () => any;\n visible?: boolean;\n isNegative?: boolean;\n}\n\nexport interface CreateAPIKeyValues {\n apiKeyMetadata?: [string, string][];\n newAPIKeyMetadataKey?: string;\n newAPIKeyMetadataValue?: string;\n}\n\nexport const CreateAPIKeyModal = (props: Props) => {\n const closeModal = (): void => {\n props.cancel();\n };\n const [isConfigVisible, setIsConfigVisible] = useState(false);\n const toggleConfigVisible = () => {\n setIsConfigVisible(!isConfigVisible);\n };\n\n const { goForIt, isNegative } = props;\n\n const initialValues: CreateAPIKeyValues = {\n apiKeyMetadata: [],\n newAPIKeyMetadataKey: '',\n newAPIKeyMetadataValue: ''\n };\n\n return (\n <>\n \n
\n
\n \n
\n
Are you sure you want to generate a new key?
\n\n \n initialValues={initialValues}\n onSubmit={values => goForIt(values.apiKeyMetadata ?? [])}>\n {({ isSubmitting, handleSubmit, errors, dirty, values, touched, setFieldValue, resetForm }) => (\n <>\n
\n \n
\n\n
\n \n {isConfigVisible && (\n
\n \n name='apiKeyMetadata'\n newMetadataKey='newAPIKeyMetadataKey'\n newMetadataValue='newAPIKeyMetadataValue'\n />\n
\n )}\n
\n \n )}\n \n
\n \n \n );\n};\n","import { Popover } from 'antd';\nimport { useGetAPIProductDetails, useGetEnvironmentUsagePlans, useListAPIProductPlanDetails } from 'api/hooks';\nimport { webAppAPI } from 'api/web-app';\nimport { ReactComponent as CalendarIcon } from 'assets/calendar-icon.svg';\nimport { ReactComponent as CodeGearIcon } from 'assets/code-sprocket-icon.svg';\nimport { ReactComponent as EnvironmentIcon } from 'assets/environment-icon.svg';\nimport { ReactComponent as KeyIcon } from 'assets/group-policy-icon.svg';\nimport { ReactComponent as NoApiKeyIcon } from 'assets/no-api-key-icon.svg';\nimport { ReactComponent as PlanIcon } from 'assets/plan-icon.svg';\nimport { ReactComponent as DeleteIconX } from 'assets/small-grey-x.svg';\nimport { ReactComponent as EyeIcon } from 'assets/view-icon.svg';\nimport { copyTextToClipboard, formatDate, formatUnit, sortByName } from 'helper-utils';\nimport { ObjectRef } from 'proto/github.com/solo-io/dev-portal/api/dev-portal/v1beta1/common/common_pb';\nimport { PlanKey, PlanSummary } from 'proto/web_app_grpc_pb';\nimport { WebAppApi } from 'proto/web_app_grpc_pb_service';\nimport * as React from 'react';\nimport { trigger } from 'swr';\nimport { Card } from './Card';\nimport { ConfirmationModal } from './ConfirmationModal';\nimport { CreateAPIKeyModal } from './CreateAPIKeyModal';\nimport './KeyCard.css';\n\ninterface APIProductCardProps {\n apiProductName: string;\n apiProductNamespace: string;\n displayName?: string;\n description?: string;\n onClick?: () => any;\n}\n\nexport const APIProductCard = ({\n displayName,\n description,\n apiProductName,\n apiProductNamespace\n}: APIProductCardProps) => {\n const [addKeyModalOpen, setAddKeyModalOpen] = React.useState(false);\n const [confirmingKeyDeletionRef, setConfirmingKeyDeletionRef] = React.useState(null);\n const [keysBeingShown, setKeysBeingShown] = React.useState<{ [key: string]: boolean }>({});\n const [attemptedCopy, setAttemptedCopy] = React.useState(null);\n const [usagePlanToAdd, setUsagePlanToAdd] = React.useState('');\n const [environmentForAPIKey, setEnvironmentForAPIKey] = React.useState();\n const [keyCount, setKeyCount] = React.useState(0);\n const [planCount, setPlanCount] = React.useState(0);\n const [isExpanded, setIsExpanded] = React.useState(false);\n const { apiProductPlans, apiProductPlansLoading, apiProductPlansError } = useListAPIProductPlanDetails();\n\n const { apiProductDetails, apiProductDetailsLoading, apiProductDetailsError } = useGetAPIProductDetails({\n name: apiProductName,\n namespace: apiProductNamespace\n });\n\n const {\n environmentUsagePlans,\n environmentUsagePlansError,\n environmentUsagePlansMutate\n } = useGetEnvironmentUsagePlans({\n name: apiProductName,\n namespace: apiProductNamespace\n });\n\n React.useEffect(() => {\n if (!!apiProductPlans) {\n let keys = 0;\n let plans = 0;\n apiProductPlans?.forEach(plan => {\n if (apiProductName === plan.metadata?.name && apiProductNamespace === plan?.metadata?.namespace) {\n keys += plan.apiKeyCount;\n plans += plan.planCount;\n }\n });\n setKeyCount(keys);\n setPlanCount(plans);\n }\n }, [apiProductPlansLoading, apiProductDetailsLoading, addKeyModalOpen]);\n\n const copyKey = (key: string) => {\n setAttemptedCopy(copyTextToClipboard(key) ? key : '');\n\n setTimeout(() => {\n setAttemptedCopy(null);\n }, 1000);\n };\n\n const openAddKeyModal = (envRef: ObjectRef.AsObject, usagePlan: string) => {\n setAddKeyModalOpen(true);\n setUsagePlanToAdd(usagePlan);\n setEnvironmentForAPIKey(envRef);\n };\n const cancelAddition = () => {\n setAddKeyModalOpen(false);\n };\n\n const generateKey = (apiProductId: string, metadata: [string, string][]) => {\n if (!apiProductId) {\n return;\n }\n webAppAPI\n .addAPIKey({\n apiProductRef: { name: apiProductName, namespace: apiProductNamespace },\n environmentRef: environmentForAPIKey,\n usagePlanName: usagePlanToAdd,\n customStringDataMap: metadata\n })\n .then(() => {\n // Wait a bit before reloading api keys to give time for writes to propagate\n setTimeout(() => {\n trigger(`${WebAppApi.ListAPIProductPlanDetails.methodName}/${apiProductId}`);\n }, 1000);\n environmentUsagePlansMutate();\n })\n .catch(err => console.error(err));\n\n setAddKeyModalOpen(false);\n setUsagePlanToAdd('');\n setEnvironmentForAPIKey(undefined);\n };\n\n const toggleKeyShowing = (evt: React.MouseEvent, keyInfo: PlanKey.AsObject) => {\n evt.stopPropagation();\n setKeysBeingShown({ ...keysBeingShown, ...{ [keyInfo.key]: !keysBeingShown[keyInfo.key] } });\n };\n\n const attemptDeleteKey = (evt: React.MouseEvent, ref: ObjectRef.AsObject) => {\n evt.stopPropagation();\n\n setConfirmingKeyDeletionRef(ref);\n };\n\n const deleteKey = (ref: ObjectRef.AsObject | null) => {\n if (!ref) {\n return;\n }\n webAppAPI\n .deleteAPIKey(ref)\n .then(() => {\n // Wait a bit before reloading api keys to give time for writes to propagate\n setTimeout(() => {\n trigger(`${WebAppApi.ListAPIProductPlanDetails.methodName}/${ref.namespace}/${ref.name}`);\n environmentUsagePlansMutate();\n }, 500);\n })\n .catch(err => console.error(err));\n\n setConfirmingKeyDeletionRef(null);\n };\n\n const cancelDeletion = () => {\n setConfirmingKeyDeletionRef(null);\n };\n\n const handleExpand = () => {\n setIsExpanded(!isExpanded);\n };\n\n return (\n <>\n
\n \n <>\n
\n
\n
\n \n
\n
\n
{apiProductDetails?.displayname}
\n
{apiProductDetails?.description || ''}
\n
\n
\n
\n
\n
\n
\n \n
\n {keyCount} API Keys\n
\n\n
\n
\n \n
\n {planCount} Plans\n
\n
\n
\n
\n <>\n {environmentUsagePlans?.map(env => (\n \n
\n \n \n \n {env.displayName}\n
\n
\n {env.plansList?.length === 0 && (\n
\n
Plans
\n
\n
\n
\n )}\n {env.plansList\n ?.filter(usagePlan => usagePlan.authPolicyType === PlanSummary.AuthPolicyType.API_KEY)\n ?.sort(sortByName)\n .map(usagePlan => (\n
\n \n openAddKeyModal(\n { name: env.metadata?.name!, namespace: env?.metadata?.namespace! },\n usagePlan.name\n )\n }>\n
\n
+
\n
\n Add API Key\n \n
\n <>\n
\n {usagePlan.displayName}{' '}\n \n {formatUnit(usagePlan.unit) !== ''\n ? `(${usagePlan.requestsPerUnit} per ${formatUnit(usagePlan.unit)})`\n : ''}\n \n
\n {usagePlan.apiKeysList.length === 0 ? (\n
\n \n \n \n
\n There are no API Keys to display.\n
\n Please generate a key to access this API Product using this usage plan.\n
\n
\n
\n ) : (\n usagePlan.apiKeysList\n .sort((a, b) => (a.key === b.key ? 0 : a.key > b.key ? 1 : -1))\n .map(apiKey => (\n \n copyKey(apiKey.key)}>\n
\n \n
\n Copied!
\n ) : (\n
\n Click to copy\n
\n )\n }>\n
\n {keysBeingShown[apiKey.key]\n ? apiKey.key\n : '******************************************************************************'}\n
\n \n toggleKeyShowing(evt, apiKey)}>\n \n {keysBeingShown[apiKey.key] ? 'hide' : 'show'}\n \n
\n
\n \n
\n {formatDate(apiKey.metadata?.creationTimestamp!)}\n
\n
\n {\n attemptDeleteKey(evt, {\n name:\n (apiKey.metadata?.name ?? '') === ''\n ? apiKey.key\n : apiKey.metadata?.name ?? '',\n namespace: apiKey.metadata?.namespace ?? ''\n });\n }}>\n \n \n
\n \n \n ))\n )}\n \n
\n
\n ))}\n
\n \n ))}\n \n
\n \n
\n
\n\n generateKey(`${apiProductNamespace}_${apiProductName}`, metadata)}\n cancel={cancelAddition}\n />\n deleteKey(confirmingKeyDeletionRef)}\n cancel={cancelDeletion}\n isNegative={true}\n />\n \n );\n};\n","import { useGetPortalSummary, useListAPIProducts } from 'api/hooks';\nimport { ReactComponent as APIKeyPlaceholder } from 'assets/api-key-placeholder.svg';\nimport { ReactComponent as CodeGearIcon } from 'assets/code-sprocket-icon.svg';\nimport { ReactComponent as UserIcon } from 'assets/user-icon.svg';\nimport * as React from 'react';\nimport { APIProductCard } from './APIKeyDetails';\nimport './ApiKeysCatalogPage.css';\nimport { Card } from './Card';\nimport { Loading } from './Loading';\n\nexport const ApiKeysCatalogPage = () => {\n const { apiCatalogInfo, apiCatalogInfoError } = useListAPIProducts();\n\n const { portalSummary } = useGetPortalSummary();\n React.useEffect(() => {\n document.title = `${portalSummary?.displayName ?? 'Portal'} - API Keys`;\n }, [portalSummary?.displayName]);\n\n if (!apiCatalogInfo && !apiCatalogInfoError) {\n return ;\n }\n\n return (\n
\n

\n My API Product Authentication\n

\n\n
\n {apiCatalogInfo?.apiProductsList?.length === 0 && (\n <>\n \n
\n
\n \n
\n
\n
There are no API Products to display.
\n
Contact your portal admin if you feel this is in error.
\n
\n
\n
\n\n
\n \n
\n
\n \n
\n
\n \n )}\n {apiCatalogInfo?.apiProductsList?.map(apiProduct => (\n \n ))}\n
\n
\n );\n};\n","var _defs, _g;\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 SvgCodeCloseTag(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 22.966,\n height: 16.151,\n viewBox: \"0 0 22.966 16.151\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \"\\n .closeTagA {\\n fill: #2196c9;\\n }\\n \"))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(-6.053 -17.739)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n className: \"closeTagA\",\n d: \"M7.4,32.85l5.57-3.719a.529.529,0,0,0-.587-.879l-5.57,3.719a1.707,1.707,0,0,0,0,2.839l5.57,3.719a.529.529,0,1,0,.587-.879L7.4,33.93a.649.649,0,0,1,0-1.08Z\",\n transform: \"translate(0 -7.668)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"closeTagA\",\n d: \"M72.283,31.971l-5.57-3.719a.529.529,0,1,0-.587.879L71.7,32.85a.649.649,0,0,1,0,1.08L66.126,37.65a.529.529,0,1,0,.587.879l5.57-3.719a1.707,1.707,0,0,0,0-2.839Z\",\n transform: \"translate(-44.023 -7.669)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"closeTagA\",\n d: \"M43.892,17.764a.529.529,0,0,0-.664.343L38.411,33.2a.528.528,0,1,0,1.007.321l4.817-15.094A.529.529,0,0,0,43.892,17.764Z\",\n transform: \"translate(-23.787 0)\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCodeCloseTag);\nexport default __webpack_public_path__ + \"static/media/code-close-tag.e10a4dec.svg\";\nexport { ForwardRef as ReactComponent };","import * as React from 'react';\nimport { ReactComponent as ApiSproketIcon } from 'assets/code-sprocket-icon.svg';\nimport { ReactComponent as TagIcon } from 'assets/tag-icon.svg';\nimport { ReactComponent as EnvironmentIcon } from 'assets/environment-icon.svg';\nimport styled from '@emotion/styled';\nimport { getAPITypeName } from '../helper-utils';\nimport { APITypeMap } from 'proto/github.com/solo-io/dev-portal/api/dev-portal/v1beta1/apiproduct_pb';\n\nexport interface APIFilter {\n textFilter: string;\n apiSpecFilter: Set;\n environmentFilter: Set;\n tagFilter: Set;\n}\n\nexport interface APICatalogSearchProps {\n updateFilter: (filter: APIFilter) => void;\n environments: string[];\n tags: string[];\n apiTypes: APITypeMap[keyof APITypeMap][];\n currentFilter: APIFilter;\n}\nconst CheckboxContainer = styled.div`\n input:checked + svg {\n display: block;\n }\n`;\n\nexport const APICatalogSearch = (props: APICatalogSearchProps) => {\n let changeTextFilter = (e: React.ChangeEvent) => {\n props.updateFilter({\n textFilter: e.target.value,\n apiSpecFilter: props.currentFilter.apiSpecFilter,\n environmentFilter: props.currentFilter.environmentFilter,\n tagFilter: props.currentFilter.tagFilter\n });\n };\n\n let changeApiSpecFilter = (apiSpec: string) => (e: React.ChangeEvent) => {\n let newFilterSet = new Set(props.currentFilter.apiSpecFilter);\n if (e.target.checked) {\n newFilterSet.add(apiSpec);\n } else {\n newFilterSet.delete(apiSpec);\n }\n\n props.updateFilter({\n textFilter: props.currentFilter.textFilter,\n apiSpecFilter: newFilterSet,\n environmentFilter: props.currentFilter.environmentFilter,\n tagFilter: props.currentFilter.tagFilter\n });\n };\n\n let changeEnvironmentFilter = (env: string) => (e: React.ChangeEvent) => {\n let newFilterSet = new Set(props.currentFilter.environmentFilter);\n if (e.target.checked) {\n newFilterSet.add(env);\n } else {\n newFilterSet.delete(env);\n }\n\n props.updateFilter({\n textFilter: props.currentFilter.textFilter,\n apiSpecFilter: props.currentFilter.apiSpecFilter,\n environmentFilter: newFilterSet,\n tagFilter: props.currentFilter.tagFilter\n });\n };\n\n let changeTagFilter = (tag: string) => (e: React.ChangeEvent) => {\n let newFilterSet = new Set(props.currentFilter.tagFilter);\n if (e.target.checked) {\n newFilterSet.add(tag);\n } else {\n newFilterSet.delete(tag);\n }\n\n props.updateFilter({\n textFilter: props.currentFilter.textFilter,\n apiSpecFilter: props.currentFilter.apiSpecFilter,\n environmentFilter: props.currentFilter.environmentFilter,\n tagFilter: newFilterSet\n });\n };\n\n return (\n
\n \n \n \n \n
\n {!!props.apiTypes.length && (\n
\n \n API Spec\n
\n )}\n
\n {props.apiTypes.map(apiSpec => (\n \n {getAPITypeName(apiSpec)}\n \n \n \n \n
\n \n \n ))}\n
\n
\n
\n
\n \n Environment\n
\n
\n {props.environments.map(environment => (\n \n {environment}\n \n \n \n \n
\n \n \n ))}\n
\n
\n\n
\n
\n {!!props.tags.length && (\n
\n \n Tags\n
\n )}\n
\n
\n {props.tags.map(tag => (\n \n {tag}\n \n \n \n \n
\n \n \n ))}\n
\n \n \n );\n};\n","var _defs, _path, _g, _g2, _path2;\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 SvgGrpcIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"-3.78 101.47 365.56 156.81\",\n \"aria-hidden\": \"true\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip-path\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.448 115.797h34.468v34.468H10.448z\",\n className: \"cls-1\",\n transform: \"rotate(-45.213 27.682 133.032)\"\n })), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip-path-2\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M84.176 122.635h20.218v20.218H84.176z\",\n className: \"cls-1\",\n transform: \"rotate(-45.213 94.285 132.743)\"\n })), /*#__PURE__*/React.createElement(\"style\", null, \"\\n .cls-1 {\\n fill: none\\n }\\n\\n .cls-2 {\\n fill: #244b5a\\n }\\n\\n .cls-4 {\\n fill: #75caca\\n }\\n\\n .cls-5 {\\n fill: #74cbca\\n }\\n\\n .cls-6 {\\n fill: #73cbca\\n }\\n\\n .cls-7 {\\n fill: #72c9c9\\n }\\n\\n .cls-8 {\\n fill: #70caca\\n }\\n\\n .cls-9 {\\n fill: #6fcac8\\n }\\n\\n .cls-10 {\\n fill: #6ec8c8\\n }\\n\\n .cls-11 {\\n fill: #6cc9c9\\n }\\n\\n .cls-12 {\\n fill: #6dc9c8\\n }\\n\\n .cls-13 {\\n fill: #69c7c8\\n }\\n\\n .cls-14 {\\n fill: #69c8c7\\n }\\n\\n .cls-15 {\\n fill: #68c8c7\\n }\\n\\n .cls-16 {\\n fill: #67c7c7\\n }\\n\\n .cls-17 {\\n fill: #65c7c7\\n }\\n\\n .cls-18 {\\n fill: #64c7c7\\n }\\n\\n .cls-19 {\\n fill: #63c6c6\\n }\\n\\n .cls-20 {\\n fill: #60c6c6\\n }\\n\\n .cls-21 {\\n fill: #60c6c5\\n }\\n\\n .cls-22 {\\n fill: #5fc6c5\\n }\\n\\n .cls-23 {\\n fill: #5cc5c4\\n }\\n\\n .cls-24 {\\n fill: #5ac5c4\\n }\\n\\n .cls-25 {\\n fill: #57c4c4\\n }\\n\\n .cls-26 {\\n fill: #58c4c3\\n }\\n\\n .cls-27 {\\n fill: #55c4c3\\n }\\n\\n .cls-28 {\\n fill: #53c3c2\\n }\\n\\n .cls-29 {\\n fill: #52c3c2\\n }\\n\\n .cls-30 {\\n fill: #50c3c2\\n }\\n\\n .cls-31 {\\n fill: #50c1c0\\n }\\n\\n .cls-34 {\\n fill: #47c1be\\n }\\n\\n .cls-35 {\\n fill: #46c0be\\n }\\n\\n .cls-36 {\\n fill: #43c0be\\n }\\n\\n .cls-37 {\\n fill: #40bfbd\\n }\\n\\n .cls-38 {\\n fill: #3bbfbd\\n }\\n\\n .cls-39 {\\n fill: #39bfbc\\n }\\n\\n .cls-40 {\\n fill: #34bebd\\n }\\n\\n .cls-41 {\\n fill: #32bebb\\n }\\n\\n .cls-42 {\\n fill: #2dbdbb\\n }\\n\\n .cls-43 {\\n fill: #24bcbb\\n }\\n\\n .cls-44 {\\n fill: #21bcb9\\n }\\n\\n .cls-45 {\\n fill: #18bbb9\\n }\\n\\n .cls-47 {\\n fill: #03bbb8\\n }\\n\\n .cls-48 {\\n fill: #06b8b6\\n }\\n\\n .cls-49 {\\n fill: #03b7b5\\n }\\n\\n .cls-50 {\\n fill: #04b7b4\\n }\\n\\n .cls-51 {\\n fill: #00b6b5\\n }\\n\\n .cls-52 {\\n fill: #03b6b4\\n }\\n\\n .cls-53 {\\n fill: #05b6b2\\n }\\n\\n .cls-54 {\\n fill: #01b5b1\\n }\\n\\n .cls-55 {\\n fill: #00b4b1\\n }\\n\\n .cls-56 {\\n fill: #00b3b0\\n }\\n\\n .cls-62 {\\n fill: #00afac\\n }\\n \"))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M42.241 232.21a27.645 27.645 0 009.905 8.2 29.688 29.688 0 0013.579 3.082 29.168 29.168 0 0011.151-1.902 19.357 19.357 0 007.412-5.181 19.987 19.987 0 004.068-7.676 34.278 34.278 0 001.246-9.379v-11.02h-.262a23.66 23.66 0 01-10.234 8.92 31.568 31.568 0 01-12.725 2.624 33.097 33.097 0 01-12.529-2.361 31.868 31.868 0 01-10.168-6.494 29.88 29.88 0 01-6.822-9.905 31.084 31.084 0 01-2.493-12.463 32.602 32.602 0 012.362-12.464 32.038 32.038 0 016.494-10.102 29.29 29.29 0 019.84-6.756 31.698 31.698 0 0112.529-2.428 35.035 35.035 0 015.837.525 27.644 27.644 0 016.166 1.837 28.405 28.405 0 0111.743 9.446h.262V158.48h8.659v60.874a49.392 49.392 0 01-1.247 10.626 26.247 26.247 0 01-4.854 10.364 27.642 27.642 0 01-10.036 7.872q-6.43 3.147-16.793 3.148a42.18 42.18 0 01-16.399-3.017 38.112 38.112 0 01-13.12-9.315zm1.574-43.818a23.507 23.507 0 001.772 9.117 23.952 23.952 0 004.853 7.479 23.472 23.472 0 007.216 5.117 21.233 21.233 0 008.987 1.902 24.066 24.066 0 0016.53-6.494 20.9 20.9 0 005.051-7.413 23.878 23.878 0 001.64-9.708 26.12 26.12 0 00-1.574-9.118 21.9 21.9 0 00-4.592-7.478 22.19 22.19 0 00-7.347-5.116 23.914 23.914 0 00-9.708-1.902 21.253 21.253 0 00-8.987 1.902 23.537 23.537 0 00-7.216 5.116 24.006 24.006 0 00-4.853 7.478 23.526 23.526 0 00-1.772 9.118zm89.735 31.486h-9.445v-92.885h28.6q14.168 0 22.368 6.166 8.198 6.17 8.2 18.63a23.21 23.21 0 01-6.1 16.334q-6.102 6.626-17.646 7.674l26.763 44.081h-11.545l-25.452-43.162H133.55zm0-51.821h16.793a37.748 37.748 0 0010.692-1.312 19.857 19.857 0 007.019-3.476 12.696 12.696 0 003.805-5.117 16.977 16.977 0 001.18-6.363 16.63 16.63 0 00-1.18-6.231 13.202 13.202 0 00-3.805-5.183 18.556 18.556 0 00-7.02-3.476 39.7 39.7 0 00-10.691-1.247H133.55zm69.006-41.064h27.027q14.167 0 22.367 6.166 8.198 6.17 8.2 18.63 0 12.465-8.2 18.695-8.2 6.232-22.367 6.232h-17.58v43.162h-9.447zm9.447 41.064h15.218a37.758 37.758 0 0010.692-1.312 19.868 19.868 0 007.02-3.476 12.7 12.7 0 003.803-5.117 16.964 16.964 0 001.181-6.363 16.618 16.618 0 00-1.18-6.231 13.207 13.207 0 00-3.805-5.183 18.565 18.565 0 00-7.019-3.476 39.71 39.71 0 00-10.692-1.247h-15.218zM355 205.185a36.025 36.025 0 01-5.837 6.69 36.897 36.897 0 01-7.938 5.445 45.27 45.27 0 01-9.642 3.608 44.556 44.556 0 01-10.955 1.312 49.688 49.688 0 01-19.22-3.673 46.107 46.107 0 01-25.517-25.583 53.854 53.854 0 010-39.096 46.101 46.101 0 0125.518-25.582 49.676 49.676 0 0119.219-3.674 46.957 46.957 0 0117.317 3.411 34.933 34.933 0 0114.825 11.283l-8.265 6.166a22.616 22.616 0 00-3.936-4.46 28.736 28.736 0 00-5.706-3.936 35.626 35.626 0 00-6.888-2.755 26.65 26.65 0 00-7.347-1.05 37.68 37.68 0 00-16.005 3.28 36.35 36.35 0 00-12.004 8.79 38.667 38.667 0 00-7.545 12.791 45.832 45.832 0 000 30.568 38.65 38.65 0 007.545 12.79 36.304 36.304 0 0012.004 8.79 37.64 37.64 0 0016.005 3.28 40.558 40.558 0 007.28-.654 30.242 30.242 0 007.086-2.23 26.807 26.807 0 006.56-4.265 31.615 31.615 0 005.706-6.756z\",\n className: \"cls-2\"\n })), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip-path)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.74 108.66l-.431 3.816v-3.816h.431z\",\n className: \"cls-4\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.311 108.66l-1.002 8.86v-5.044l.431-3.816h.571z\",\n className: \"cls-5\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.88 108.66l-1.571 13.902v-5.042l1.002-8.86h.569z\",\n className: \"cls-5\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.45 108.66l-2.141 18.945v-5.043L4.88 108.66h.57z\",\n className: \"cls-6\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.02 108.66l-2.711 23.988v-5.043L5.45 108.66h.57z\",\n className: \"cls-6\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.59 108.66l-3.281 29.032v-5.044L6.02 108.66h.57z\",\n className: \"cls-7\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.16 108.66l-3.851 34.075v-5.043L6.59 108.66h.57z\",\n className: \"cls-7\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.729 108.66l-4.42 39.118v-5.043L7.16 108.66h.569z\",\n className: \"cls-8\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.299 108.66l-4.99 44.161v-5.043l4.42-39.118h.57z\",\n className: \"cls-8\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.87 108.66l-5.505 48.714-.056-.006v-4.547l4.99-44.161h.571z\",\n className: \"cls-9\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.439 108.66l-5.508 48.744h-.302l-.264-.03L8.87 108.66h.569z\",\n className: \"cls-10\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.008 108.66l-5.507 48.744h-.57l5.508-48.744h.569z\",\n className: \"cls-10\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.579 108.66l-5.508 48.744h-.57l5.507-48.744h.571z\",\n className: \"cls-11\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.149 108.66l-5.508 48.744h-.57l5.508-48.744h.57z\",\n className: \"cls-12\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.718 108.66l-5.507 48.744h-.57l5.508-48.744h.569z\",\n className: \"cls-13\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.288 108.66L6.78 157.404h-.569l5.507-48.744h.57z\",\n className: \"cls-13\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.858 108.66L7.35 157.404h-.57l5.508-48.744h.57z\",\n className: \"cls-14\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.428 108.66L7.92 157.404h-.57l5.508-48.744h.57z\",\n className: \"cls-15\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.997 108.66L8.49 157.404h-.57l5.508-48.744h.569z\",\n className: \"cls-16\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.567 108.66L9.06 157.404h-.57l5.507-48.744h.57z\",\n className: \"cls-17\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.138 108.66l-5.509 48.744H9.06l5.507-48.744h.571z\",\n className: \"cls-18\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.707 108.66l-5.508 48.744h-.57l5.509-48.744h.569z\",\n className: \"cls-19\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.277 108.66l-5.507 48.744h-.571l5.508-48.744h.57z\",\n className: \"cls-20\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.846 108.66l-5.507 48.744h-.569l5.507-48.744h.569z\",\n className: \"cls-21\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.417 108.66l-5.508 48.744h-.57l5.507-48.744h.571z\",\n className: \"cls-22\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.987 108.66l-5.508 48.744h-.57l5.508-48.744h.57z\",\n className: \"cls-23\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.556 108.66l-5.507 48.744h-.57l5.508-48.744h.569zm.57 0l-5.508 48.744h-.569l5.507-48.744h.57z\",\n className: \"cls-24\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.696 108.66l-5.508 48.744h-.57l5.508-48.744h.57z\",\n className: \"cls-25\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.266 108.66l-5.508 48.744h-.57l5.508-48.744h.57z\",\n className: \"cls-26\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.835 108.66l-5.507 48.744h-.57l5.508-48.744h.569z\",\n className: \"cls-27\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21.405 108.66l-5.508 48.744h-.569l5.507-48.744h.57z\",\n className: \"cls-28\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21.975 108.66l-5.508 48.744h-.57l5.508-48.744h.57z\",\n className: \"cls-29\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.545 108.66l-5.508 48.744h-.57l5.508-48.744h.57z\",\n className: \"cls-30\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23.114 108.66l-5.507 48.744h-.57l5.508-48.744h.569z\",\n className: \"cls-31\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#4bc2c0\",\n d: \"M23.685 108.66l-5.508 48.744h-.57l5.507-48.744h.571z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#4cc1c0\",\n d: \"M24.255 108.66l-5.508 48.744h-.57l5.508-48.744h.57z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24.824 108.66l-5.508 48.744h-.569l5.508-48.744h.569z\",\n className: \"cls-34\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25.394 108.66l-5.507 48.744h-.571l5.508-48.744h.57z\",\n className: \"cls-35\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25.964 108.66l-5.508 48.744h-.569l5.507-48.744h.57z\",\n className: \"cls-36\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26.534 108.66l-5.508 48.744h-.57l5.508-48.744h.57z\",\n className: \"cls-37\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M27.104 108.66l-5.508 48.744h-.57l5.508-48.744h.57z\",\n className: \"cls-38\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M27.673 108.66l-5.507 48.744h-.57l5.508-48.744h.569z\",\n className: \"cls-39\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28.243 108.66l-5.508 48.744h-.569l5.507-48.744h.57z\",\n className: \"cls-40\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28.813 108.66l-5.508 48.744h-.57l5.508-48.744h.57z\",\n className: \"cls-41\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29.383 108.66l-5.507 48.744h-.571l5.508-48.744h.57z\",\n className: \"cls-42\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29.952 108.66l-5.507 48.744h-.569l5.507-48.744h.569z\",\n className: \"cls-43\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M30.523 108.66l-5.509 48.744h-.569l5.507-48.744h.571z\",\n className: \"cls-44\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.093 108.66l-5.509 48.744h-.57l5.509-48.744h.57z\",\n className: \"cls-45\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#0fbab9\",\n d: \"M31.662 108.66l-5.507 48.744h-.571l5.509-48.744h.569z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M32.231 108.66l-5.507 48.744h-.569l5.507-48.744h.569z\",\n className: \"cls-47\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M32.802 108.66l-5.508 48.744h-.57l5.507-48.744h.571z\",\n className: \"cls-48\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M33.372 108.66l-5.508 48.744h-.57l5.508-48.744h.57z\",\n className: \"cls-48\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M33.941 108.66l-5.507 48.744h-.57l5.508-48.744h.569z\",\n className: \"cls-49\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M34.511 108.66l-5.507 48.744h-.57l5.507-48.744h.57z\",\n className: \"cls-50\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M35.081 108.66l-5.508 48.744h-.569l5.507-48.744h.57z\",\n className: \"cls-51\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M35.651 108.66l-5.508 48.744h-.57l5.508-48.744h.57z\",\n className: \"cls-52\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M36.221 108.66l-5.508 48.744h-.57l5.508-48.744h.57z\",\n className: \"cls-53\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M36.79 108.66l-5.507 48.744h-.57l5.508-48.744h.569z\",\n className: \"cls-54\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M37.361 108.66l-5.509 48.744h-.569l5.507-48.744h.571z\",\n className: \"cls-54\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M37.93 108.66l-5.508 48.744h-.57l5.509-48.744h.569z\",\n className: \"cls-55\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M38.5 108.66l-5.507 48.744h-.571l5.508-48.744h.57z\",\n className: \"cls-56\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M39.07 108.66l-5.508 48.744h-.569L38.5 108.66h.57z\",\n className: \"cls-56\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#00b2af\",\n d: \"M39.64 108.66l-5.508 48.744h-.57l5.508-48.744h.57z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#00b2ae\",\n d: \"M40.21 108.66l-5.509 48.744h-.569l5.508-48.744h.57z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#00b1ae\",\n d: \"M40.779 108.66l-5.507 48.744h-.571l5.509-48.744h.569z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#00b1ad\",\n d: \"M41.349 108.66l-5.508 48.744h-.569l5.507-48.744h.57z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#00b0ac\",\n d: \"M41.919 108.66l-5.508 48.744h-.57l5.508-48.744h.57z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M42.489 108.66l-5.507 48.744h-.571l5.508-48.744h.57z\",\n className: \"cls-62\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M51.735 108.66l.319.035v48.709H36.982l5.507-48.744h9.246z\",\n className: \"cls-62\"\n }))), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip-path-2)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M108.581 126.799l-.389-8.352h.389v8.352z\",\n className: \"cls-4\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M108.581 135.574l-.797-17.127h.408l.389 8.352v8.775z\",\n className: \"cls-5\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M108.581 144.349l-1.207-25.902h.41l.797 17.127v8.775z\",\n className: \"cls-5\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M108.298 147.04l-1.332-28.593h.408l1.207 25.902v2.691h-.283z\",\n className: \"cls-6\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M107.888 147.04l-1.331-28.593h.409l1.332 28.593h-.41z\",\n className: \"cls-7\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M107.48 147.04l-1.331-28.593h.408l1.331 28.593h-.408z\",\n className: \"cls-7\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M107.071 147.04l-1.331-28.593h.409l1.331 28.593h-.409z\",\n className: \"cls-8\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M106.663 147.04l-1.332-28.593h.409l1.331 28.593h-.408z\",\n className: \"cls-9\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M106.254 147.04l-1.332-28.593h.409l1.332 28.593h-.409zm-.409 0l-1.331-28.593h.408l1.332 28.593h-.409z\",\n className: \"cls-10\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M105.437 147.04l-1.333-28.593h.41l1.331 28.593h-.408z\",\n className: \"cls-11\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M105.028 147.04l-1.332-28.593h.408l1.333 28.593h-.409z\",\n className: \"cls-12\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M104.62 147.04l-1.333-28.593h.409l1.332 28.593h-.408zm-.41 0l-1.331-28.593h.408l1.333 28.593h-.41z\",\n className: \"cls-13\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M103.802 147.04l-1.332-28.593h.409l1.331 28.593h-.408z\",\n className: \"cls-14\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M103.393 147.04l-1.332-28.593h.409l1.332 28.593h-.409z\",\n className: \"cls-15\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M102.985 147.04l-1.333-28.593h.409l1.332 28.593h-.408z\",\n className: \"cls-16\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M102.576 147.04l-1.332-28.593h.408l1.333 28.593h-.409z\",\n className: \"cls-17\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M102.167 147.04l-1.331-28.593h.408l1.332 28.593h-.409z\",\n className: \"cls-18\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M101.758 147.04l-1.331-28.593h.409l1.331 28.593h-.409z\",\n className: \"cls-19\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M101.349 147.04l-1.331-28.593h.409l1.331 28.593h-.409z\",\n className: \"cls-20\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M100.94 147.04l-1.331-28.593h.409l1.331 28.593h-.409z\",\n className: \"cls-21\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M100.532 147.04L99.2 118.447h.409l1.331 28.593h-.408z\",\n className: \"cls-22\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M100.123 147.04l-1.332-28.593h.409l1.332 28.593h-.409z\",\n className: \"cls-22\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M99.715 147.04l-1.332-28.593h.408l1.332 28.593h-.408z\",\n className: \"cls-23\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M99.305 147.04l-1.331-28.593h.409l1.332 28.593h-.41z\",\n className: \"cls-24\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M98.897 147.04l-1.331-28.593h.408l1.331 28.593h-.408z\",\n className: \"cls-24\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M98.489 147.04l-1.333-28.593h.41l1.331 28.593h-.408z\",\n className: \"cls-25\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M98.08 147.04l-1.332-28.593h.408l1.333 28.593h-.409z\",\n className: \"cls-26\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M97.672 147.04l-1.333-28.593h.409l1.332 28.593h-.408z\",\n className: \"cls-27\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M97.262 147.04l-1.331-28.593h.408l1.333 28.593h-.41z\",\n className: \"cls-28\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M96.854 147.04l-1.332-28.593h.409l1.331 28.593h-.408z\",\n className: \"cls-28\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M96.444 147.04l-1.331-28.593h.409l1.332 28.593h-.41z\",\n className: \"cls-29\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M96.036 147.04l-1.332-28.593h.409l1.331 28.593h-.408z\",\n className: \"cls-30\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M95.627 147.04l-1.331-28.593h.408l1.332 28.593h-.409z\",\n className: \"cls-31\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#4dc2c1\",\n d: \"M95.219 147.04l-1.332-28.593h.409l1.331 28.593h-.408z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#4cc2c0\",\n d: \"M94.81 147.04l-1.332-28.593h.409l1.332 28.593h-.409z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#4bc0bf\",\n d: \"M94.401 147.04l-1.331-28.593h.408l1.332 28.593h-.409z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M93.992 147.04l-1.331-28.593h.409l1.331 28.593h-.409z\",\n className: \"cls-34\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M93.584 147.04l-1.332-28.593h.409l1.331 28.593h-.408z\",\n className: \"cls-35\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M93.175 147.04l-1.332-28.593h.409l1.332 28.593h-.409z\",\n className: \"cls-36\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#41c0be\",\n d: \"M92.767 147.04l-1.332-28.593h.408l1.332 28.593h-.408z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M92.357 147.04l-1.331-28.593h.409l1.332 28.593h-.41z\",\n className: \"cls-37\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M91.949 147.04l-1.331-28.593h.408l1.331 28.593h-.408z\",\n className: \"cls-38\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#3cbfbc\",\n d: \"M91.54 147.04l-1.332-28.593h.41l1.331 28.593h-.409z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M91.132 147.04L89.8 118.447h.408l1.332 28.593h-.408z\",\n className: \"cls-39\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M90.722 147.04l-1.331-28.593h.409l1.332 28.593h-.41z\",\n className: \"cls-40\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M90.314 147.04l-1.331-28.593h.408l1.331 28.593h-.408z\",\n className: \"cls-41\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#2fbebc\",\n d: \"M89.906 147.04l-1.332-28.593h.409l1.331 28.593h-.408z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M89.497 147.04l-1.332-28.593h.409l1.332 28.593h-.409z\",\n className: \"cls-42\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#2bbdba\",\n d: \"M89.088 147.04l-1.332-28.593h.409l1.332 28.593h-.409z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M88.679 147.04l-1.331-28.593h.408l1.332 28.593h-.409z\",\n className: \"cls-43\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M88.271 147.04l-1.333-28.593h.41l1.331 28.593h-.408z\",\n className: \"cls-44\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M87.862 147.04l-1.332-28.593h.408l1.333 28.593h-.409z\",\n className: \"cls-45\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#16bab9\",\n d: \"M87.453 147.04l-1.332-28.593h.409l1.332 28.593h-.409z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#11bab7\",\n d: \"M87.044 147.04l-1.331-28.593h.408l1.332 28.593h-.409z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M86.636 147.04l-1.332-28.593h.409l1.331 28.593h-.408z\",\n className: \"cls-47\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M86.227 147.04l-1.332-28.593h.409l1.332 28.593h-.409z\",\n className: \"cls-48\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M85.819 147.04l-1.332-28.593h.408l1.332 28.593h-.408z\",\n className: \"cls-48\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M85.409 147.04l-1.331-28.593h.409l1.332 28.593h-.41z\",\n className: \"cls-48\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#00b7b6\",\n d: \"M85.001 147.04l-1.331-28.593h.408l1.331 28.593h-.408z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M84.592 147.04l-1.331-28.593h.409l1.331 28.593h-.409z\",\n className: \"cls-49\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M84.183 147.04l-1.331-28.593h.409l1.331 28.593h-.409z\",\n className: \"cls-50\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M83.774 147.04l-1.331-28.593h.409l1.331 28.593h-.409z\",\n className: \"cls-51\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M83.366 147.04l-1.332-28.593h.409l1.331 28.593h-.408z\",\n className: \"cls-51\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M82.957 147.04l-1.332-28.593h.409l1.332 28.593h-.409z\",\n className: \"cls-51\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M82.549 147.04l-1.332-28.593h.408l1.332 28.593h-.408z\",\n className: \"cls-52\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M82.14 147.04l-1.332-28.593h.409l1.332 28.593h-.409z\",\n className: \"cls-52\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M81.731 147.04L80.4 118.447h.408l1.332 28.593h-.409z\",\n className: \"cls-53\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M81.323 147.04l-1.333-28.593h.41l1.331 28.593h-.408z\",\n className: \"cls-54\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M80.914 147.04l-.925-19.852v-8.741h.001l1.333 28.593h-.409z\",\n className: \"cls-54\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M80.506 147.04l-.517-11.077v-8.775l.925 19.852h-.408z\",\n className: \"cls-54\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M80.096 147.04l-.107-2.302v-8.775l.517 11.077h-.41z\",\n className: \"cls-55\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M79.989 144.738l.107 2.302h-.107v-2.302z\",\n className: \"cls-55\"\n }))), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28.663 118.295L13.959 133.11l14.813 14.704 12.533-.046-13.142-13.037 64.895-.24-5.688 5.726 6.267-.023 7.353-7.408-7.408-7.351-6.266.022 5.73 5.685-64.895.241 13.044-13.135-12.532.047z\",\n className: \"cls-2\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgGrpcIcon);\nexport default __webpack_public_path__ + \"static/media/grpc-icon.894f626a.svg\";\nexport { ForwardRef as ReactComponent };","var _style, _g;\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 SvgOpenapiIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n className: \"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 viewBox: \"0 0 421.373 118.014\",\n style: {\n enableBackground: \"new 0 0 421.373 118.014\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _style || (_style = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n }, \"\\n\\t.st0{fill:#93D500;}\\n\\t.st1{fill:#4D5A31;}\\n\\t.st2{fill:#6BA43A;}\\n\\t.st3{fill:#424143;}\\n\")), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M32.601,67.409h-0.113H3.044c0.005,0.144,0.009,0.289,0.017,0.433c0.012,0.278,0.032,0.555,0.049,0.833 c0.008,0.119,0.013,0.238,0.022,0.356c0.023,0.322,0.051,0.642,0.08,0.962c0.007,0.073,0.013,0.145,0.02,0.215 c0.034,0.356,0.073,0.712,0.115,1.065c0.002,0.035,0.006,0.069,0.011,0.103c0.046,0.382,0.095,0.764,0.151,1.144 c0,0.004,0.001,0.01,0.003,0.014c0.339,2.356,0.848,4.69,1.527,6.984c0.003,0.01,0.007,0.019,0.009,0.029 c0.106,0.361,0.218,0.72,0.333,1.077c0.007,0.021,0.014,0.042,0.02,0.063s0.013,0.042,0.02,0.063 c0.105,0.323,0.215,0.645,0.325,0.968c0.029,0.081,0.056,0.163,0.086,0.244c0.099,0.279,0.2,0.558,0.304,0.837 c0.048,0.126,0.096,0.251,0.143,0.378c0.09,0.231,0.179,0.46,0.27,0.691c0.069,0.173,0.141,0.346,0.213,0.519 c0.074,0.18,0.15,0.359,0.226,0.54c0.094,0.22,0.192,0.439,0.289,0.658c0.058,0.131,0.117,0.261,0.175,0.391 c0.12,0.263,0.244,0.526,0.368,0.787c0.041,0.084,0.08,0.168,0.122,0.252c0.145,0.301,0.293,0.599,0.443,0.895 c0.025,0.046,0.047,0.091,0.07,0.137c0.169,0.328,0.341,0.656,0.518,0.981c0.008,0.014,0.016,0.028,0.023,0.044 c0.037,0.068,0.078,0.133,0.115,0.2l25.243-15.207l0.093-0.056C33.451,71.909,32.831,69.677,32.601,67.409z\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st0\",\n points: \"4.44,80.962 4.448,80.989 5.402,80.689 \"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M39.865,80.977l-0.071,0.071l-20.819,20.82c0.107,0.1,0.213,0.201,0.323,0.298 c0.194,0.176,0.392,0.351,0.589,0.523c0.102,0.091,0.202,0.181,0.304,0.269c0.236,0.204,0.474,0.403,0.711,0.602 c0.065,0.054,0.128,0.107,0.192,0.16c0.267,0.221,0.539,0.438,0.812,0.654c0.035,0.027,0.07,0.055,0.105,0.083 c0.295,0.232,0.593,0.458,0.894,0.686c0.013,0.008,0.024,0.016,0.034,0.025c1.254,0.937,2.554,1.815,3.895,2.633 c0.046,0.029,0.092,0.056,0.139,0.085c0.255,0.153,0.51,0.304,0.767,0.453c0.157,0.09,0.314,0.179,0.471,0.268 c0.148,0.086,0.296,0.168,0.446,0.251c0.27,0.148,0.542,0.295,0.814,0.439c0.037,0.02,0.075,0.04,0.113,0.06 c0.757,0.396,1.527,0.764,2.303,1.118l0,0l0.739-1.794L43.095,83.25l0.039-0.094C41.992,82.547,40.896,81.822,39.865,80.977z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M37.697,78.904c-0.225-0.25-0.439-0.506-0.649-0.765c-0.186-0.23-0.366-0.462-0.54-0.697 c-0.199-0.27-0.394-0.541-0.578-0.818c-0.186-0.278-0.368-0.558-0.54-0.843L10.114,91.006c0.388,0.645,0.793,1.273,1.206,1.894 c0.014,0.021,0.027,0.044,0.041,0.065l0,0c0.005,0.008,0.01,0.015,0.015,0.023c0.014,0.02,0.026,0.042,0.04,0.063 c0.001,0.002,0.003,0.004,0.004,0.006c0.033,0.05,0.067,0.098,0.101,0.148c0.002,0.003,0.004,0.006,0.006,0.009l0,0 c0.001,0.001,0.002,0.003,0.003,0.004c0.439,0.649,0.89,1.288,1.355,1.91c0.01,0.013,0.021,0.027,0.031,0.04 s0.02,0.026,0.03,0.039c0.202,0.268,0.405,0.535,0.614,0.8c0.027,0.035,0.054,0.069,0.083,0.103 c0.214,0.274,0.432,0.544,0.654,0.812c0.052,0.063,0.106,0.127,0.158,0.191c0.2,0.239,0.4,0.477,0.604,0.713 c0.087,0.101,0.178,0.202,0.266,0.302c0.174,0.198,0.346,0.395,0.524,0.59c0.097,0.107,0.198,0.215,0.297,0.322 c0.045,0.049,0.089,0.097,0.135,0.146c0.13,0.14,0.259,0.28,0.39,0.419c0.052,0.055,0.107,0.109,0.16,0.164 c0.23,0.24,0.462,0.48,0.699,0.716l20.85-20.85C38.142,79.396,37.918,79.151,37.697,78.904z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M65.334,80.966c-0.229,0.185-0.461,0.366-0.697,0.54l0.052,0.087l15.202,25.235 c0.704-0.46,1.4-0.934,2.08-1.432c1.471-1.085,2.895-2.261,4.267-3.527L65.416,81.048L65.334,80.966z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M77.97,108.03c0.011-0.006,0.023-0.013,0.034-0.019l-0.001-0.001 C77.992,108.017,77.981,108.023,77.97,108.03L77.97,108.03z\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st0\",\n points: \"77.956,108.039 77.956,108.039 77.956,108.038 77.955,108.039 \"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M78.003,108.01L78.003,108.01c0.067-0.036,0.134-0.071,0.2-0.11l-0.004-0.007 C78.133,107.932,78.068,107.971,78.003,108.01z\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st0\",\n points: \"77.961,108.035 77.97,108.03 77.97,108.03 \"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st0\",\n points: \"77.955,108.039 77.956,108.038 77.919,107.976 \"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M77.97,108.03L77.97,108.03c0.012-0.006,0.023-0.012,0.034-0.018l0,0 C77.993,108.017,77.981,108.024,77.97,108.03z\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st0\",\n points: \"77.942,108.046 77.942,108.046 77.951,108.042 77.951,108.041 \"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st0\",\n points: \"77.955,108.039 77.951,108.041 77.951,108.042 77.956,108.039 \"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M77.961,108.035c-0.002,0.001-0.004,0.002-0.006,0.003l0,0c0.005-0.003,0.01-0.005,0.015-0.008v-0.001 C77.967,108.032,77.964,108.033,77.961,108.035z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M78.004,108.012c0.066-0.039,0.133-0.072,0.198-0.112C78.137,107.94,78.07,107.974,78.004,108.012 L78.004,108.012z\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st0\",\n points: \"78.202,107.9 78.198,107.893 78.198,107.893 \"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st0\",\n points: \"77.934,108.051 77.935,108.051 77.936,108.05 \"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st0\",\n points: \"77.942,108.047 77.936,108.05 77.936,108.05 77.942,108.047 77.942,108.046 \"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M77.682,107.036l-0.516-0.856l-14.19-23.555c-0.287,0.173-0.581,0.329-0.874,0.487 c-0.296,0.159-0.594,0.308-0.896,0.451c-2.726,1.293-5.677,1.953-8.632,1.953c-1.936,0-3.871-0.28-5.742-0.838 c-0.319-0.095-0.63-0.22-0.945-0.332c-0.315-0.111-0.634-0.207-0.944-0.335L34.48,109.423l-0.41,0.996l-0.351,0.853l-0.002,0.004 c0.027,0.011,0.055,0.02,0.082,0.031c0.029,0.012,0.057,0.021,0.086,0.033h0.001c0.001,0,0.002,0.001,0.002,0.001 c0.007,0.003,0.014,0.005,0.02,0.008c0.247,0.101,0.496,0.188,0.744,0.285c0.311,0.121,0.622,0.244,0.934,0.358 c0.159,0.058,0.317,0.126,0.476,0.182h0.001l0,0c3.278,1.158,6.67,1.968,10.119,2.422c0.135,0.016,0.269,0.035,0.404,0.054 c0.141,0.016,0.283,0.03,0.424,0.046c0.266,0.03,0.531,0.061,0.798,0.087c0.066,0.005,0.132,0.011,0.198,0.017 c0.327,0.031,0.654,0.059,0.979,0.082c0.111,0.008,0.223,0.013,0.333,0.021c0.287,0.019,0.572,0.037,0.858,0.05 c0.175,0.01,0.35,0.015,0.526,0.021c0.227,0.008,0.453,0.017,0.682,0.024c0.327,0.008,0.657,0.011,0.986,0.012 c0.078,0,0.155,0.002,0.232,0.003c2.755,0,5.509-0.229,8.233-0.686l0,0c0.046-0.007,0.091-0.015,0.138-0.021 c0.288-0.05,0.576-0.104,0.864-0.157c0.164-0.032,0.329-0.063,0.491-0.095c0.168-0.035,0.337-0.07,0.505-0.106 c0.281-0.059,0.561-0.12,0.842-0.185c0.05-0.011,0.101-0.021,0.152-0.035c4.141-0.965,8.14-2.459,11.897-4.436l0.001-0.001l0,0 c0.246-0.13,0.486-0.278,0.731-0.411c0.292-0.16,0.582-0.325,0.872-0.491c0.201-0.115,0.404-0.221,0.603-0.34l0.001-0.001 c0.002-0.001,0.004-0.003,0.006-0.004c0,0,0,0,0.001,0l0,0c0.003-0.002,0.006-0.003,0.009-0.005 c0.002-0.001,0.003-0.002,0.004-0.003l-0.037-0.063l0.037,0.063c0.002-0.001,0.004-0.002,0.006-0.003 c0.003-0.002,0.006-0.003,0.009-0.005c0.011-0.007,0.022-0.013,0.033-0.02c0.065-0.039,0.13-0.078,0.195-0.117l0,0 L77.682,107.036z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M39.876,49.852c0.23-0.186,0.462-0.366,0.697-0.54l-0.052-0.087L25.32,23.99 c-0.706,0.461-1.404,0.936-2.085,1.436c-1.47,1.082-2.893,2.257-4.262,3.522L39.795,49.77L39.876,49.852z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M17.53,30.334c-0.237,0.237-0.461,0.482-0.692,0.722c-0.231,0.24-0.466,0.479-0.692,0.723 c-1.538,1.665-2.944,3.409-4.212,5.22c-0.061,0.085-0.122,0.174-0.182,0.261c-0.143,0.208-0.284,0.416-0.423,0.625 c-0.145,0.217-0.289,0.437-0.429,0.656c-0.053,0.08-0.105,0.161-0.156,0.241c-4.789,7.513-7.355,16.034-7.7,24.627 c-0.013,0.333-0.02,0.667-0.027,1C3.011,64.742,3,65.076,3,65.409h29.488c0-0.334,0.031-0.666,0.048-1 c0.017-0.334,0.022-0.668,0.055-1c0.381-3.84,1.863-7.589,4.447-10.739c0.21-0.256,0.447-0.496,0.672-0.743 c0.224-0.247,0.432-0.504,0.671-0.742L17.53,30.334z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M78.373,23.014c-0.04-0.025-0.082-0.049-0.122-0.073c-0.259-0.159-0.521-0.312-0.783-0.465 c-0.152-0.088-0.304-0.173-0.457-0.26c-0.154-0.086-0.306-0.172-0.461-0.256c-0.266-0.146-0.533-0.29-0.801-0.432 c-0.042-0.021-0.083-0.044-0.126-0.066c-1.729-0.904-3.505-1.7-5.318-2.391c-0.046-0.019-0.094-0.037-0.141-0.054 c-0.395-0.148-0.791-0.295-1.19-0.433c-3.221-1.125-6.552-1.914-9.936-2.358c-0.138-0.019-0.277-0.038-0.415-0.056 c-0.139-0.017-0.277-0.031-0.415-0.046c-0.267-0.031-0.533-0.061-0.801-0.087c-0.074-0.007-0.149-0.012-0.224-0.02 c-0.317-0.029-0.636-0.057-0.953-0.08c-0.123-0.009-0.248-0.016-0.371-0.023c-0.272-0.018-0.547-0.037-0.819-0.049 c-0.146-0.008-0.29-0.012-0.434-0.017l-0.001,29.444v0.115c1.517,0.157,3.02,0.48,4.478,0.975l21.754-21.754 C80.03,24.069,79.213,23.525,78.373,23.014z\"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st2\",\n points: \"27.529,23.781 27.013,22.924 27.013,22.924 \"\n }), /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st2\",\n points: \"27.01,22.919 27.013,22.924 27.013,22.924 \"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M51.606,15.825c-0.333,0.007-0.667,0.008-1,0.021c-2.086,0.084-4.168,0.297-6.233,0.643 c-0.045,0.008-0.09,0.015-0.136,0.023c-0.29,0.05-0.577,0.103-0.865,0.157c-0.163,0.031-0.327,0.061-0.49,0.094 c-0.17,0.034-0.339,0.069-0.508,0.106c-0.28,0.058-0.56,0.119-0.84,0.184l0,0c-0.051,0.011-0.101,0.023-0.153,0.034 c-4.141,0.966-8.142,2.461-11.898,4.438l0,0h-0.001c-0.245,0.13-0.484,0.277-0.728,0.411c-0.292,0.16-0.582,0.325-0.872,0.491 c-0.215,0.124-0.434,0.238-0.648,0.366c-0.002,0.001-0.005,0.003-0.007,0.004h-0.001c-0.015,0.009-0.03,0.017-0.045,0.026 c-0.056,0.034-0.114,0.062-0.17,0.096l0.003,0.005l0.516,0.857l0,0l14.705,24.412c0.287-0.173,0.581-0.33,0.874-0.487 c0.295-0.159,0.594-0.308,0.895-0.451c2.1-1,4.332-1.62,6.601-1.85c0.333-0.034,0.666-0.062,1-0.079 c0.333-0.017,0.666-0.034,1-0.034l0.001-29.487C52.272,15.804,51.939,15.818,51.606,15.825z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st1\",\n d: \"M102.15,62.971c-0.014-0.265-0.03-0.529-0.048-0.795c-0.008-0.132-0.015-0.263-0.026-0.397 c-0.022-0.311-0.048-0.623-0.077-0.934c-0.006-0.081-0.014-0.161-0.021-0.242c-0.034-0.348-0.071-0.696-0.111-1.043 c-0.004-0.028-0.007-0.056-0.01-0.084c-0.002-0.013-0.003-0.027-0.005-0.04c-0.046-0.375-0.096-0.75-0.149-1.124 c-0.001-0.011-0.002-0.025-0.005-0.035c-0.339-2.351-0.847-4.681-1.524-6.972c-0.005-0.016-0.009-0.03-0.014-0.044 c-0.107-0.356-0.216-0.71-0.328-1.063c-0.015-0.046-0.031-0.093-0.045-0.14c-0.105-0.319-0.211-0.636-0.321-0.954 c-0.031-0.085-0.061-0.171-0.091-0.258c-0.097-0.275-0.197-0.549-0.299-0.823c-0.049-0.131-0.099-0.261-0.15-0.391 c-0.086-0.227-0.175-0.454-0.265-0.678c-0.072-0.18-0.144-0.357-0.218-0.534c-0.072-0.176-0.146-0.35-0.22-0.526 c-0.097-0.224-0.195-0.448-0.294-0.671c-0.056-0.125-0.112-0.252-0.17-0.378c-0.122-0.266-0.247-0.532-0.373-0.797 c-0.039-0.08-0.077-0.162-0.116-0.242c-0.147-0.303-0.296-0.606-0.448-0.906c-0.022-0.041-0.043-0.083-0.065-0.125 c-0.17-0.331-0.344-0.663-0.521-0.99c-0.007-0.011-0.012-0.024-0.019-0.035c-0.859-1.58-1.802-3.108-2.822-4.578L71.632,58.931 c0.495,1.459,0.817,2.961,0.974,4.477h0.116h29.444C102.161,63.262,102.157,63.116,102.15,62.971z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M72.722,65.408c0,0.334-0.031,0.666-0.048,1c-0.016,0.334-0.022,0.668-0.055,1 c-0.381,3.84-1.863,7.59-4.446,10.74c-0.21,0.256-0.447,0.496-0.672,0.743c-0.224,0.247-0.432,0.504-0.671,0.742l20.851,20.85 c0.237-0.237,0.46-0.482,0.691-0.723s0.466-0.479,0.691-0.723c1.543-1.671,2.953-3.419,4.224-5.236 c0.051-0.072,0.099-0.143,0.148-0.214c0.155-0.223,0.306-0.448,0.458-0.673c0.133-0.201,0.266-0.402,0.395-0.605 c0.064-0.097,0.128-0.198,0.19-0.295c4.782-7.509,7.341-16.021,7.685-24.607c0.013-0.333,0.02-0.667,0.027-1s0.017-0.666,0.017-1 H72.722V65.408z\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st3\",\n d: \"M110.967,7.046c-5.395-5.395-14.142-5.395-19.536,0c-4.304,4.303-5.164,10.736-2.601,15.902L58.739,53.04 c-5.166-2.562-11.599-1.703-15.903,2.6c-5.395,5.395-5.394,14.142,0,19.537c5.396,5.395,14.143,5.393,19.538-0.001 c4.303-4.303,5.162-10.736,2.599-15.903l30.091-30.091c5.167,2.562,11.599,1.703,15.902-2.601 C116.362,21.188,116.362,12.441,110.967,7.046z\"\n })), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st3\",\n d: \"M117.381,54.729c0-14.783,10.811-25.374,25.668-25.374c14.782,0,25.594,10.591,25.594,25.374 c0,14.782-10.811,25.375-25.594,25.375C128.193,80.103,117.381,69.511,117.381,54.729z M157.906,54.729 c0-9.194-5.81-16.107-14.856-16.107c-9.121,0-14.931,6.913-14.931,16.107c0,9.119,5.81,16.107,14.931,16.107 C152.095,70.836,157.906,63.848,157.906,54.729z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st3\",\n d: \"M174.154,79.22V30.164h22.948c10.663,0,16.474,7.207,16.474,15.812c0,8.531-5.885,15.74-16.474,15.74h-12.504 V79.22H174.154z M202.912,45.976c0-4.119-3.162-6.619-7.282-6.619h-11.031v13.165h11.031 C199.75,52.522,202.912,50.022,202.912,45.976z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st3\",\n d: \"M218.279,79.22V30.164h34.715v9.193h-24.27v10.297h23.756v9.194h-23.756v11.179h24.27v9.194L218.279,79.22 L218.279,79.22z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st3\",\n d: \"M293.146,79.22L269.76,47.227V79.22h-10.446V30.164h10.739l22.726,30.817V30.164h10.444V79.22H293.146z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st3\",\n d: \"M347.424,79.22l-3.09-8.311H323.3l-3.089,8.311H308.37l18.902-49.056h13.094l18.899,49.056H347.424z M333.817,40.608l-7.648,21.108h15.299L333.817,40.608z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st3\",\n d: \"M361.981,79.22V30.164h22.947c10.663,0,16.474,7.207,16.474,15.812c0,8.531-5.886,15.74-16.474,15.74h-12.504 V79.22H361.981z M390.739,45.976c0-4.119-3.162-6.619-7.282-6.619h-11.032v13.165h11.032 C387.576,52.522,390.739,50.022,390.739,45.976z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st3\",\n d: \"M406.106,79.22V30.164h10.445V79.22H406.106z\"\n })), /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M240.558,110.779V94.427h2.869v16.352H240.558z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M265.293,110.779l-8.532-11.695v11.695h-2.869V94.427h2.942l8.361,11.326V94.427h2.867v16.352H265.293z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M278.529,110.779V94.427h2.869v16.352H278.529z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M295.762,110.779V96.951h-4.953v-2.525h12.773v2.525h-4.951v13.827L295.762,110.779L295.762,110.779z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M312.994,110.779V94.427h2.869v16.352H312.994z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M337.804,110.779l-1.203-3.163H329.1l-1.202,3.163h-3.261l6.424-16.352h3.578l6.423,16.352H337.804z M332.851,97.294l-2.943,7.796h5.884L332.851,97.294z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M352.118,110.779V96.951h-4.953v-2.525h12.774v2.525h-4.952v13.827L352.118,110.779L352.118,110.779z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M369.351,110.779V94.427h2.869v16.352H369.351z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M387.419,110.779l-6.425-16.352h3.261l4.953,13.214l4.953-13.214h3.259l-6.422,16.352H387.419z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st2\",\n d: \"M406.169,110.779V94.427h11.203v2.525h-8.335v4.216h8.163v2.525h-8.163v4.56h8.335v2.526 C417.372,110.779,406.169,110.779,406.169,110.779z\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgOpenapiIcon);\nexport default __webpack_public_path__ + \"static/media/openapi-icon.21ef3d3a.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _g;\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 SvgDoorIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 14.28,\n height: 17.381,\n viewBox: \"0 0 14.28 17.381\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \"\\n .doorA {\\n fill: #253e58;\\n stroke: #253e58;\\n stroke-width: 0.5px;\\n }\\n \"))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(0.25 0.25)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n className: \"doorA\",\n d: \"M21.232,29.881H30.86a1.146,1.146,0,0,0,1.152-1.141V26.916a.23.23,0,0,0-.461,0v1.825a.688.688,0,0,1-.691.684H21.232a.688.688,0,0,1-.691-.684v-14.6a.688.688,0,0,1,.691-.684H30.86a.688.688,0,0,1,.691.684v1.825a.23.23,0,0,0,.461,0V14.141A1.146,1.146,0,0,0,30.86,13H21.232a1.146,1.146,0,0,0-1.152,1.141v14.6A1.146,1.146,0,0,0,21.232,29.881Z\",\n transform: \"translate(-20.08 -13)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"doorA\",\n d: \"M44.118,33.008a.232.232,0,0,0-.313.014.227.227,0,0,0-.01.31l3.361,3.283H38.61a.228.228,0,1,0,0,.456h8.545l-3.363,3.283a.227.227,0,0,0-.076.226.229.229,0,0,0,.169.17.232.232,0,0,0,.229-.072L47.877,37a.227.227,0,0,0,0-.324Z\",\n transform: \"translate(-34.165 -28.402)\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDoorIcon);\nexport default __webpack_public_path__ + \"static/media/door-icon.e8b27615.svg\";\nexport { ForwardRef as ReactComponent };","import { host } from 'api/web-app';\nimport { ReactComponent as CloseTagIcon } from 'assets/code-close-tag.svg';\nimport { ReactComponent as GRPCIcon } from 'assets/grpc-icon.svg';\nimport { ReactComponent as OpenAPIIcon } from 'assets/openapi-icon.svg';\nimport DefaultBanner from 'assets/defaultImages/GenericBanner.png';\nimport { ReactComponent as EnvironmentIcon } from 'assets/environment-icon.svg';\nimport { ReactComponent as TagIcon } from 'assets/tag-icon.svg';\nimport { ReactComponent as VersionIcon } from 'assets/version-icon.svg';\nimport { APIProductVersionSummary } from 'proto/web_app_grpc_pb';\nimport * as React from 'react';\nimport { useHistory } from 'react-router-dom';\nimport { APIFilter } from './APICatalogSearch';\nimport { versionParam } from './ApiDetailsPage';\nimport { getAPITypeName } from '../helper-utils';\nimport { APIType } from 'proto/github.com/solo-io/dev-portal/api/dev-portal/v1beta1/apiproduct_pb';\n// import './APISummaryCard.css';\n\ninterface APICardProps {\n content?: {\n name: string;\n namespace: string;\n modifiedDateTime: string;\n displayName: string;\n description: string;\n imageUrl: string;\n versions: APIProductVersionSummary.AsObject[];\n };\n searchFilter?: APIFilter;\n}\n\nexport const APISummaryCard = ({ content, searchFilter }: APICardProps) => {\n const history = useHistory();\n\n // Fall back to the default image if we cannot find the selected image for any reason.\n let [cardImage, setCardImage] = React.useState(\n setCardImage()}\n />\n );\n\n const goToVersionDetails = (versionName: string) => () => {\n if (!!content) {\n history.push({\n pathname: `/apis/${content.namespace}/${content.name}`,\n search: `?${versionParam}=${versionName}`\n });\n }\n };\n\n const filterVersions = (versionInfo: APIProductVersionSummary.AsObject) => {\n if (!searchFilter) {\n return true;\n }\n let apiSpecSatisfied =\n !searchFilter.apiSpecFilter.size ||\n Array.from(searchFilter.apiSpecFilter).includes(getAPITypeName(versionInfo.apiType));\n if (!apiSpecSatisfied) {\n return false;\n }\n let envSatisfied =\n !searchFilter.environmentFilter.size ||\n versionInfo.environmentsList.find(env => searchFilter.environmentFilter.has(env)) !== undefined;\n if (!envSatisfied) {\n return false;\n }\n\n let versionSatisfied =\n !searchFilter.tagFilter.size || versionInfo.tagsList.find(tag => searchFilter.tagFilter.has(tag)) !== undefined;\n if (!versionSatisfied) {\n return false;\n }\n\n return true;\n };\n if (!content?.versions || content?.versions.length === 0 || content?.versions?.filter(filterVersions).length === 0) {\n return null;\n }\n\n return (\n
\n
\n
{cardImage}
\n
\n
{content?.displayName}
\n \n
\n {content?.description}\n
\n\n
\n Modified: {content?.modifiedDateTime}\n
\n
\n
\n
\n
\n {content?.versions\n ?.filter(filterVersions)\n .sort((a, b) => (a.name === b.name ? 0 : a.name > b.name ? 1 : -1))\n .map(versionInfo => (\n \n
\n \n {versionInfo.apiType === APIType.GRPC ? (\n \n ) : (\n \n )}\n \n \n \n {versionInfo.name} \n \n \n \n {versionInfo.operationsCount}\n Operations{' '}\n \n
\n
\n
\n \n \n \n \n {!!versionInfo?.environmentsList?.length &&\n versionInfo?.environmentsList.sort().map(environment => (\n \n {environment}\n \n ))}\n \n
\n
\n {!!versionInfo?.tagsList?.length && (\n \n \n \n )}\n \n {!!versionInfo?.tagsList?.length &&\n versionInfo?.tagsList.sort().map(tag => (\n \n {tag}\n \n ))}\n \n
\n
\n
\n ))}\n
\n \n );\n};\n","import { ReactComponent as ApiSproketIcon } from 'assets/code-sprocket-icon.svg';\nimport { ReactComponent as DeveloperPortalIcon } from 'assets/developer-portal-icon.svg';\nimport { sortByDisplayName } from 'helper-utils';\nimport { APIProductListSummary } from 'proto/web_app_grpc_pb';\nimport * as React from 'react';\nimport { NavLink, useHistory, useLocation } from 'react-router-dom';\nimport { useGetCurrentUser, useGetPortalSummary, useListAPIProducts } from '../api/hooks';\nimport { APICatalogSearch } from './APICatalogSearch';\nimport { APISummaryCard } from './APISummaryCard';\nimport { Card } from './Card';\nimport { Loading } from './Loading';\n\nexport const secondsToString = (seconds: number | undefined): string => {\n if (!seconds) {\n return '';\n }\n const d = new Date(1970, 0, 1);\n d.setSeconds(seconds);\n return d.toLocaleString();\n};\n\n// The URL search param for the search filter object.\nconst searchFilterUrlSearchParam = 's';\n\ninterface SearchFilter {\n textFilter: string;\n apiSpecFilter: Set;\n environmentFilter: Set;\n tagFilter: Set;\n}\n\nexport const ApisCatalogPage = () => {\n const { apiCatalogInfo, apiCatalogInfoError } = useListAPIProducts();\n const { currentUser } = useGetCurrentUser();\n\n // This gets the search filter in the URL for browser based searching.\n const history = useHistory();\n const location = useLocation();\n const getUrlSearchFilter = (): SearchFilter => {\n // Try to get the search filters from the URL.\n // Using window.location.search since react-router's location.search isn't always the latest.\n const searchParams = new URLSearchParams(window.location.search);\n const searchFilterString = searchParams.get(searchFilterUrlSearchParam);\n if (searchFilterString) {\n // If the search filter was in the URL, then try to get the filter.\n try {\n return JSON.parse(decodeURIComponent(searchFilterString), (_key, value) =>\n Array.isArray(value) ? new Set(value) : value\n );\n } catch (e) {\n console.warn('Could not parse search filter from URL.');\n }\n }\n // Otherwise return the empty/default filter\n return {\n textFilter: '',\n apiSpecFilter: new Set(),\n environmentFilter: new Set(),\n tagFilter: new Set()\n };\n };\n\n const [searchFilter, setSearchFilter] = React.useState(getUrlSearchFilter());\n const [shouldPushNextFilterChangeToHistory, setShouldPushNextFilterChangeToHistory] = React.useState(false);\n\n // Update the URL after a delay, when the searchFilter changes.\n const [searchParamsTimeout, setSearchParamsTimeout] = React.useState(null);\n React.useEffect(() => {\n const newSearchParamsTimeout = setTimeout(() => {\n // Update the search filter in the URL for browser based searching.\n const newSearchParams = new URLSearchParams(window.location.search);\n const newSearchFilterString = JSON.stringify(searchFilter, (_key, value) =>\n value instanceof Set ? Array.from(value) : value\n );\n newSearchParams.set(searchFilterUrlSearchParam, encodeURIComponent(newSearchFilterString));\n const newSearchParamsString = `?${newSearchParams.toString()}`;\n if (window.location.search === newSearchParamsString) {\n // Stop here if there were no changes to the search params.\n return;\n }\n // Otherwise update the URL.\n const newHistoryState = {\n pathname: location.pathname,\n search: newSearchParamsString\n };\n if (shouldPushNextFilterChangeToHistory) {\n // Push this URL on to the history stack, so it is saved in browser history.\n history.push(newHistoryState);\n } else {\n // Keep the URL updated by replacing it, but don't push to it.\n history.replace(newHistoryState);\n }\n }, 300);\n setSearchParamsTimeout(newSearchParamsTimeout);\n return () => {\n clearTimeout(newSearchParamsTimeout);\n };\n }, [\n searchFilter.apiSpecFilter,\n searchFilter.environmentFilter,\n searchFilter.tagFilter,\n searchFilter.textFilter,\n shouldPushNextFilterChangeToHistory\n ]);\n\n // When navigating, update the searchFilter object accordingly.\n React.useEffect(() => {\n const onNavigate = () => {\n if (searchParamsTimeout !== null) {\n clearTimeout(searchParamsTimeout);\n }\n const newSearchFilter = getUrlSearchFilter();\n setSearchFilter(newSearchFilter);\n // Do not push this next filter change to history.\n setShouldPushNextFilterChangeToHistory(false);\n };\n window.addEventListener('popstate', onNavigate);\n return () => {\n window.removeEventListener('popstate', onNavigate);\n };\n }, [searchParamsTimeout]);\n\n const { portalSummary } = useGetPortalSummary();\n React.useEffect(() => {\n document.title = (portalSummary?.displayName ?? 'Portal') + ' - APIs';\n }, [portalSummary?.displayName]);\n\n const filterApiProducts = (apiInfo: APIProductListSummary.AsObject) =>\n !searchFilter.textFilter.length ||\n apiInfo.displayName?.toLowerCase().includes(searchFilter.textFilter.toLowerCase()) ||\n apiInfo.description?.toLowerCase().includes(searchFilter.textFilter.toLowerCase());\n\n if (!apiCatalogInfo && !apiCatalogInfoError) {\n return ;\n }\n\n return (\n
\n
\n {''}\n
\n
\n
\n

APIs

\n \n
\n
\n
\n Browse the list of APIs and documentation in this portal. From here you can get the information you need to\n make API calls.\n
\n
\n
\n
\n {!!apiCatalogInfo?.apiProductsList?.length && (\n
\n {\n // Do push this next filter change to history.\n setShouldPushNextFilterChangeToHistory(true);\n setSearchFilter(newSearchFilter);\n }}\n apiTypes={apiCatalogInfo?.searchInfo?.apiTypesList ?? []}\n environments={apiCatalogInfo?.searchInfo?.environmentsList ?? []}\n tags={apiCatalogInfo?.searchInfo?.tagsList ?? []}\n />\n
\n )}\n
\n {!!apiCatalogInfo?.apiProductsList?.length ? (\n apiCatalogInfo?.apiProductsList\n ?.filter(filterApiProducts)\n .sort(sortByDisplayName)\n .map(apiInfo => (\n \n ))\n .filter(card => card !== null)\n ) : (\n <>\n \n
\n
\n \n
\n
\n
There are no APIs to display.
\n {!!currentUser || !!apiCatalogInfo?.portalAllowAll ? (\n
If you were expecting APIs here check with your admin.
\n ) : (\n
\n You need to log in to see the APIs here. Log in now.\n
\n )}\n
\n
\n
\n
\n \n )}\n
\n
\n
\n );\n};\n","import { useGetCurrentUser, useGetPortalSummary, useListAPIProducts } from 'api/hooks';\nimport { webAppAPI } from 'api/web-app';\nimport { DynamicPage as DynamicPagePB } from 'proto/web_app_grpc_pb';\nimport React from 'react';\nimport useSWR from 'swr';\nimport { Loading } from './Loading';\n\nexport type DynamicPageProps = { page?: DynamicPagePB.AsObject };\n\nexport const DynamicPageComponent: React.FC = props => {\n const { currentUser, currentUserError } = useGetCurrentUser();\n const { apiCatalogInfo, apiCatalogInfoError } = useListAPIProducts();\n const { portalSummary, portalSummaryError } = useGetPortalSummary();\n\n React.useEffect(() => {\n document.title = `${portalSummary?.displayName ?? 'Portal'} - ${props.page?.name}`;\n }, [portalSummary?.displayName, props.page?.name]);\n\n React.useEffect(() => {\n let iframeEl = document.getElementById('dynamic-page');\n let iframeWindow = (iframeEl as HTMLIFrameElement)?.contentWindow;\n\n iframeEl?.addEventListener('load', () => {\n iframeWindow?.postMessage(\n {\n currentUser,\n portalSummary,\n apiProductsList: apiCatalogInfo?.apiProductsList\n },\n '*'\n );\n });\n iframeEl?.setAttribute('src', props.page?.url!);\n iframeEl?.setAttribute('height', '100%');\n iframeEl?.setAttribute('width', '100%');\n }, [props.page?.url!, !!apiCatalogInfo, !!currentUser, !!portalSummary]);\n\n if (\n (!currentUser && !currentUserError) ||\n (!apiCatalogInfo && !apiCatalogInfoError) ||\n (!portalSummary && !portalSummaryError)\n ) {\n return ;\n }\n\n return (\n \n \n \n );\n};\n","import { useGetCustomStyles } from 'api/hooks';\nimport * as React from 'react';\nimport './Footer.css';\n\nexport const Footer = () => {\n const { customStyles, customStylesError, customStylesLoading } = useGetCustomStyles();\n // Fall back to the default image if we cannot find the selected image for any reason.\n let [cardImage, setCardImage] = React.useState(\n setCardImage(
)}\n />\n );\n React.useEffect(() => {\n setCardImage(\n setCardImage(
)}\n />\n );\n }, [customStylesLoading]);\n return (\n \n
{cardImage}
\n \n );\n};\n","export default __webpack_public_path__ + \"static/media/CompanyLogo.b627b24d.svg\";","var _defs, _g;\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 SvgHomeIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 20.781,\n height: 18.388,\n viewBox: \"0 0 20.781 18.388\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \"\\n .homeA {\\n fill: #253e58;\\n }\\n \"))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(-12.437 -16.52)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n className: \"homeA\",\n d: \"M23.553,45.49a.555.555,0,0,0-.553.553v9.269a.555.555,0,0,0,.553.553h4.7a.555.555,0,0,0,.553-.553V50.057h3.319v5.255a.555.555,0,0,0,.553.553H37.66a.555.555,0,0,0,.553-.553V46.043a.553.553,0,1,0-1.106,0v8.716H33.234V49.5a.555.555,0,0,0-.553-.553H28.255a.555.555,0,0,0-.553.553v5.255h-3.6V46.043A.553.553,0,0,0,23.553,45.49Z\",\n transform: \"translate(-7.641 -20.957)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"homeA\",\n d: \"M33.034,25.5,23.2,16.661a.554.554,0,0,0-.739,0L12.62,25.5a.552.552,0,1,0,.739.822l9.468-8.511,9.468,8.511a.552.552,0,1,0,.739-.822Z\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgHomeIcon);\nexport default __webpack_public_path__ + \"static/media/home-icon.33135d4c.svg\";\nexport { ForwardRef as ReactComponent };","var _defs, _rect, _g;\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 SvgGetStartedIcon(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 32,\n height: 32.001,\n viewBox: \"0 0 32 32.001\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \"\\n .getStartedA,\\n .getStartedB {\\n fill: #2196c9;\\n }\\n\\n .getStartedA {\\n opacity: 0;\\n }\\n \"))), _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n className: \"getStartedA\",\n width: 32,\n height: 32,\n transform: \"translate(0 0.001)\"\n })), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(2.908)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n className: \"getStartedB\",\n d: \"M34.637,25.445a.8.8,0,0,0-1,.521.762.762,0,0,0,.481,1,11.546,11.546,0,1,1-7.537,0,.762.762,0,0,0,.481-1,.8.8,0,0,0-1-.521,13.149,13.149,0,1,0,8.579,0Z\",\n transform: \"translate(-17.197 -19.552)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n className: \"getStartedB\",\n d: \"M49.6,25.432V11.6a.8.8,0,0,0-1.6,0V25.432a.8.8,0,1,0,1.6,0Z\",\n transform: \"translate(-35.651 -10.8)\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgGetStartedIcon);\nexport default __webpack_public_path__ + \"static/media/get-started-icon.ee01f0c7.svg\";\nexport { ForwardRef as ReactComponent };","import styled from '@emotion/styled';\nimport {\n API_CATALOG_INFO_KEY,\n CURRENT_USER_KEY,\n PORTAL_SUMMARY_KEY,\n useGetCurrentUser,\n useGetCustomStyles,\n useGetDynamicPages,\n useGetStaticPages\n} from 'api/hooks';\nimport { webAppAPI } from 'api/web-app';\nimport PlaceholderLogo from 'assets/defaultImages/CompanyLogo.svg';\nimport { ReactComponent as LogoutIcon } from 'assets/door-icon.svg';\nimport { ReactComponent as DropdownArrowIcon } from 'assets/dropdown-arrow.svg';\nimport { ReactComponent as APIKeysIcon } from 'assets/home-icon.svg';\nimport { ReactComponent as UserIcon } from 'assets/user-icon.svg';\nimport * as React from 'react';\nimport { NavLink, useHistory } from 'react-router-dom';\nimport { mutate, trigger } from 'swr';\nimport { colors } from '../styles/colors';\nimport './Header.css';\nimport { SoloButton } from './SoloButton';\n\ntype UserControlsProps = {\n open: boolean;\n linkColorOverride?: string;\n defaultTextColor?: string;\n primaryColor?: string;\n};\n\nconst UserControlsModal = styled.div`\n position: absolute;\n top: 47px;\n left: calc(50% - 78px);\n border-radius: 10px;\n background: white;\n width: 156px;\n font-size: 16px;\n line-height: 19px;\n z-index: 2;\n transition: max-height 0.2s;\n max-height: ${(props: UserControlsProps) => (props.open ? `175px;` : '0px')};\n overflow: hidden;\n ${(props: UserControlsProps) =>\n !!props.defaultTextColor &&\n `\n color: ${props.defaultTextColor};\n \n svg {\n * {\n fill: ${props.defaultTextColor};\n\n &.doorA {\n stroke: ${props.defaultTextColor};\n }\n }\n }`}\n\n > div {\n border-top: 12px solid ${(props: UserControlsProps) => props.primaryColor || colors.seaBlue};\n padding: 14px 14px 11px;\n\n > div,\n > button {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n width: 100%;\n margin-bottom: 10px;\n cursor: pointer;\n outline: none !important;\n }\n }\n`;\n\nexport const Header = () => {\n const history = useHistory();\n const { currentUser, currentUserError } = useGetCurrentUser();\n const { customStyles, customStylesError, customStylesLoading } = useGetCustomStyles();\n const { staticPages, staticPagesError } = useGetStaticPages();\n const { dynamicPages, dynamicPagesError } = useGetDynamicPages();\n\n let [cardImage, setCardImage] = React.useState(\n setCardImage()}\n />\n );\n\n React.useEffect(() => {\n setCardImage(\n setCardImage()}\n />\n );\n }, [customStylesLoading]);\n\n const [dropdownOut, setDropdownOut] = React.useState(false);\n\n React.useEffect(() => {\n if (location.pathname !== '/' && currentUserError) {\n history.push('/');\n }\n }, [currentUserError]);\n\n const isApisSection = (pathname: string) => {\n return pathname.includes('/apis/');\n };\n\n const goToLogin = () => {\n history.push({\n pathname: '/login/'\n });\n };\n\n const goToAPIKeys = () => {\n history.push({\n pathname: '/keys/'\n });\n };\n\n const attemptLogout = () => {\n webAppAPI\n .logout()\n .then(result => {\n mutate(CURRENT_USER_KEY, '');\n mutate(API_CATALOG_INFO_KEY, undefined);\n mutate(PORTAL_SUMMARY_KEY, undefined);\n history.push('/');\n })\n .catch(err => console.error(err));\n };\n\n return (\n \n
{cardImage}
\n\n \n \n );\n};\n","import * as React from 'react';\nimport styled from '@emotion/styled';\nimport { colors } from 'styles/colors';\nimport { Card } from './Card';\nimport { SoloButton } from './SoloButton';\nimport { Loading } from './Loading';\nimport './CTACard.css';\n\ninterface CTACardProps {\n title: string;\n icon?: React.ReactNode;\n content: React.ReactNode;\n ctaText: string;\n onCTAClick: () => any;\n notReady?: boolean;\n 'data-testid'?: string;\n}\n\nexport const CTACard = ({ title, icon, content, ctaText, onCTAClick, notReady, 'data-testid': testId }: CTACardProps) => {\n return (\n \n <>\n
\n
{title}
\n
{icon}
\n
\n {notReady ? (\n
\n \n
\n ) : (\n <>\n
{content}
\n
\n \n
\n \n )}\n \n
\n );\n};\n","import { useGetCustomStyles, useGetDynamicPages, useGetPortalSummary, useGetStaticPages } from 'api/hooks';\nimport DefaultBanner from 'assets/defaultImages/GenericBanner.png';\nimport { ReactComponent as GetStartedIcon } from 'assets/get-started-icon.svg';\nimport { PageSpec } from 'proto/github.com/solo-io/dev-portal/api/dev-portal/v1beta1/portal_pb';\nimport * as React from 'react';\nimport { useHistory } from 'react-router-dom';\nimport { CTACard } from './CTACard';\nimport './HomePage.css';\n\nconst CodeIcon: React.FC<{ fillColor?: string }> = ({ fillColor = '#2196c9' }) => {\n return (\n \n );\n};\n\nexport const HomePage = () => {\n const history = useHistory();\n const { customStyles, customStylesError } = useGetCustomStyles();\n const { staticPages, staticPagesError } = useGetStaticPages();\n const { portalSummary, portalSummaryError } = useGetPortalSummary();\n const { dynamicPages, dynamicPagesError } = useGetDynamicPages();\n const [displayedPage, setDisplayedPage] = React.useState();\n\n React.useEffect(() => {\n document.title = portalSummary?.displayName ?? 'Portal';\n }, [portalSummary?.displayName]);\n\n React.useEffect(() => {\n if (!!staticPages || !!dynamicPages) {\n setDisplayedPage([...(staticPages ?? []), ...(dynamicPages ?? [])].find(page => !!page.displayOnHomepage));\n }\n }, [staticPages?.length, dynamicPages?.length]);\n\n const goToFirstPage = () => {\n history.push({\n pathname: displayedPage?.path || '/apis/'\n });\n };\n\n const goToApis = () => {\n history.push({\n pathname: '/apis/'\n });\n };\n\n return (\n
\n <>\n {!!customStyles?.bannerUrl ? (\n {''}\n ) : (\n {''}\n )}\n
\n \n
\n

\n {portalSummary?.displayName || 'Gloo Portal'}\n

\n
{portalSummary?.description || ''}
\n
\n {/* TODO: (ascampos) apply in css sheet */}\n
\n }\n content='Browse the list of APIs and documentation in this portal. From here you can get the information you need to make API calls.'\n ctaText='View APIs'\n onCTAClick={goToApis}\n />\n {!!displayedPage && (\n }\n content={displayedPage.description}\n ctaText='Read More'\n onCTAClick={goToFirstPage}\n notReady={!staticPages && !dynamicPages}\n />\n )}\n
\n
\n );\n};\n","import styled from '@emotion/styled';\nimport { useGetCustomStyles, useGetPortalSummary, useGetStaticPages } from 'api/hooks';\nimport DefaultBanner from 'assets/defaultImages/GenericBanner.png';\nimport * as React from 'react';\nimport ReactMarkdown from 'react-markdown';\nimport { useLocation } from 'react-router-dom';\nimport { colors, hslToHSLA } from 'styles/colors';\nimport { Loading } from './Loading';\n\nconst GettingStartedContainer = styled.div`\n padding-bottom: 50px;\n padding: 0 95px;\n`;\n\nconst BackgroundImageHolder = styled.div`\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n height: 235px;\n overflow: hidden;\n z-index: -1;\n\n svg,\n img {\n width: 100%;\n min-height: 550px;\n transform: translate(0px, -15vw);\n }\n`;\nconst BackgroundImageHolderScreen = styled.div`\n position: absolute;\n left: -95px;\n right: -95px;\n top: 0;\n height: 550px;\n\n background: ${hslToHSLA(colors.neptuneBlue, 0.6)};\n`;\n\nconst GetStartedHeadings = styled.div`\n color: white;\n padding-bottom: 40px;\n`;\nconst GetStartedTitle = styled.h1`\n font-size: 48px;\n line-height: 58px;\n margin-top: 40px;\n\n svg * {\n fill: white;\n }\n`;\nconst GetStartedDescription = styled.div`\n font-size: 24px;\n line-height: 34px;\n margin-top: 27px;\n`;\n\nconst CustomMarkdownHolder = styled.div`\n padding: 80px 0;\n`;\n\nexport const MarkdownDisplayPage = () => {\n let routerLoocation = useLocation();\n const { staticPages, staticPagesError } = useGetStaticPages();\n const { customStyles, customStylesError } = useGetCustomStyles();\n\n const pageOfInterest = staticPages?.find(staticPage => staticPage.path === routerLoocation.pathname);\n\n const { portalSummary } = useGetPortalSummary();\n React.useEffect(() => {\n document.title = `${portalSummary?.displayName ?? 'Portal'} - ${pageOfInterest?.name}`;\n }, [portalSummary?.displayName, pageOfInterest?.name]);\n\n if (!pageOfInterest) {\n return ;\n }\n\n return (\n \n \n {''}\n \n \n\n \n {pageOfInterest?.navigationLinkName}\n {pageOfInterest?.description}\n \n\n {!!pageOfInterest?.content?.inlineString && (\n \n \n \n )}\n \n );\n};\n","import { useGetDynamicPages, useGetStaticPages } from 'api/hooks';\nimport { DynamicPage } from 'proto/web_app_grpc_pb';\nimport * as React from 'react';\nimport { Route, Switch } from 'react-router-dom';\nimport { ApiDetailsPage } from './ApiDetailsPage';\nimport { ApiKeysCatalogPage } from './ApiKeysCatalogPage';\nimport { ApisCatalogPage } from './ApisCatalogPage';\nimport { DynamicPageComponent } from './DynamicPage';\nimport { ErrorBoundary } from './ErrorBoundary';\nimport { Footer } from './Footer';\nimport { Header } from './Header';\nimport { HomePage } from './HomePage';\nimport './MainContent.css';\nimport { MarkdownDisplayPage } from './MarkdownDisplayPage';\n\nexport const MainContent = () => {\n const { staticPages } = useGetStaticPages();\n const { dynamicPages } = useGetDynamicPages();\n\n return (\n
\n
\n
\n \n \n There was an error trying to get to the api pages.
}>\n \n \n \n \n There was an error trying to get to the api pages.
}>\n \n \n \n \n There was an error trying to get to the user controls.}>\n
User Controls
\n
\n
\n \n There was an error retrieving API key information.}>\n \n \n \n\n {staticPages?.map(page => (\n \n There was an error trying to reach the markdown page \"{page.navigationLinkName}\".}>\n \n \n \n ))}\n {dynamicPages?.map((page: DynamicPage.AsObject) => (\n \n There was an error trying to reach the page \"{page?.navigationLinkName}\".}>\n \n \n \n ))}\n\n \n There was an error trying to get to the home page.}>\n \n \n \n \n \n\n