{"version":3,"file":"main.js","mappings":"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","sources":["webpack:///./src/apollo/apollo-links/getAuthLink.ts","webpack:///./src/apollo/apollo-links/getErrorLink.ts","webpack:///./src/apollo/apollo-links/getHttpLink.ts","webpack:///./src/apollo/apollo-links/getTelemetryLink.ts","webpack:///./src/apollo/apollo-links/index.ts","webpack:///./src/apollo/regional-apollo-provider/RegionalApolloProvider.tsx","webpack:///./src/apollo/regional-apollo-provider/index.ts","webpack:///./src/apollo/regional-apollo-provider/utils/getRegionalEndpoint.ts","webpack:///./src/apollo/useGetApolloClient.ts","webpack:///./src/app/App.styles.ts","webpack:///./src/app/App.tsx","webpack:///./src/app/RouteSwitcher.tsx","webpack:///./src/components/app-loader/AppLoader.tsx","webpack:///./src/components/app-loader/index.ts","webpack:///./src/components/auth/AuthContext.ts","webpack:///./src/components/auth/AuthProvider.tsx","webpack:///./src/components/auth/index.ts","webpack:///./src/components/auth/useAuth.ts","webpack:///./src/components/errors/app-launch-error-boundary/AppLaunchErrorBoundary.tsx","webpack:///./src/components/errors/app-launch-error-boundary/index.ts","webpack:///./src/components/errors/app-launch-error-boundary/utils/getLaunchErrorMessage.ts","webpack:///./src/components/errors/error-boundary/ErrorBoundry.tsx","webpack:///./src/components/errors/error-boundary/index.ts","webpack:///./src/components/telemetry/InstrumentationKeyProvider.tsx","webpack:///./src/environments/environment.canary.ts","webpack:///./src/graphql/graphql.ts","webpack:///./src/main.tsx","webpack:///./src/utils/constants/appLaunchError.ts","webpack:///./src/utils/createServiceBaseUrl.ts","webpack:///./src/utils/getEnvironment.ts","webpack:///./src/utils/getServiceBaseUrl.ts","webpack:///./src/utils/routes/paths.ts","webpack:///./src/utils/telemetry/constants.ts","webpack:///./src/utils/telemetry/getTelemetrySession.ts","webpack:///./src/utils/telemetry/trackComponentErrorTrace.ts","webpack:///./src/utils/telemetry/trackNonUIEvent.ts","webpack:///./src/utils/telemetry/updateLoggerContext.ts","webpack:///./src/utils/validators/isInIframe.ts","webpack:///./src/utils/validators/isInPoweChart.ts","webpack:///../../libs/ui-error-panel/src/index.ts","webpack:///../../libs/ui-error-panel/src/lib/ErrorPanel.tsx","webpack:///../../libs/ui-error-panel/src/lib/ErrorPanel.types.ts","webpack:///../../libs/ui-error-panel/src/lib/useErrorPanelStyles.ts","webpack:///../../libs/ui-error-panel/src/utils/getColorSchemeImg.ts","webpack:///../../libs/ui-error-panel/src/utils/titleCaseWord.ts","webpack:///../../libs/web-telemetry/src/index.ts","webpack:///../../libs/web-telemetry/src/page-load-telemetry/usePageLoadTelemetryTracker.tsx","webpack:///../../libs/web-telemetry/src/page-load-telemetry/usePageLoadTimeTracker.tsx","webpack:///../../libs/web-telemetry/src/session-context/SessionContext.ts","webpack:///../../libs/web-telemetry/src/session-context/SessionProvider.tsx","webpack:///../../libs/web-telemetry/src/telemetry-context/TelemetryContext.ts","webpack:///../../libs/web-telemetry/src/telemetry-context/TelemetryProvider.tsx","webpack:///../../libs/web-telemetry/src/telemetry-logger/logger.ts","webpack:///../../libs/web-telemetry/src/types.ts","webpack:///../../libs/web-telemetry/src/utils/constants.ts","webpack:///../../libs/web-telemetry/src/utils/getBrowserLocale.ts","webpack:///../../libs/web-telemetry/src/utils/languageMapper.ts","webpack:///./src/styles.css"],"sourcesContent":["import { ApolloLink, Operation } from \"@apollo/client\";\r\n\r\nimport { environment } from \"../../environments/environment\";\r\nimport { getServiceBaseUrl } from \"../../utils/getServiceBaseUrl\";\r\n\r\nexport const getAuthLink = () =>\r\n new ApolloLink((operation: Operation, forward) => {\r\n operation.setContext(({ headers = {} }) => {\r\n const serviceBaseUrl = getServiceBaseUrl(operation);\r\n\r\n // return the headers to the context so httpLink can read them\r\n return {\r\n headers: {\r\n ...headers,\r\n },\r\n uri: `${serviceBaseUrl}${environment.basePath}`,\r\n };\r\n });\r\n\r\n return forward(operation);\r\n });\r\n","import { onError } from \"@apollo/client/link/error\";\r\nimport dayjs from \"dayjs\";\r\n\r\nimport { trackNonUIEvent } from \"../../utils/telemetry/trackNonUIEvent\";\r\nimport { RequestResult } from \"../../utils/telemetry/constants\";\r\nimport { AppLaunchError } from \"../../utils/constants/appLaunchError\";\r\nimport { paths } from \"../../utils/routes/paths\";\r\nimport { ApolloErrorExtension, ErrorExtensionData } from \"../apollo.types\";\r\n\r\nexport const getErrorLink = () =>\r\n onError(({ operation, graphQLErrors, networkError }) => {\r\n const { operationName } = operation;\r\n const context = operation.getContext();\r\n const { eventStartTime } = context;\r\n const endTime = dayjs();\r\n\r\n const durationInMs = eventStartTime ? endTime.diff(eventStartTime) : 0;\r\n const requestHeaders = context?.headers;\r\n const correlationId = requestHeaders?.[\"x-ms-correlationid\"];\r\n const responseObject = context?.response;\r\n const resultCode = responseObject?.statusCode;\r\n const contentLength = responseObject?.headers?.get(\"content-length\");\r\n const url = responseObject?.url ?? \"\";\r\n\r\n if (graphQLErrors) {\r\n for (const graphqlError of graphQLErrors) {\r\n const errorType: string | undefined = (\r\n graphqlError.extensions as ApolloErrorExtension\r\n )?.data?.errorType;\r\n const errorSubType: string | undefined = (\r\n graphqlError.extensions as ApolloErrorExtension\r\n )?.data?.errorSubType;\r\n\r\n trackNonUIEvent({\r\n durationInMs,\r\n correlationId,\r\n operationName,\r\n error: graphqlError,\r\n requestResult: RequestResult.Error,\r\n eventStartTime,\r\n resultCode,\r\n contentLength,\r\n url,\r\n errorType,\r\n errorSubType,\r\n });\r\n }\r\n }\r\n\r\n if (networkError) {\r\n trackNonUIEvent({\r\n durationInMs,\r\n correlationId,\r\n operationName,\r\n error: networkError,\r\n requestResult: RequestResult.NetworkError,\r\n eventStartTime,\r\n resultCode,\r\n contentLength,\r\n url,\r\n });\r\n }\r\n\r\n // Redirect to global error page if error is found.\r\n graphQLErrors?.find(({ extensions }) => handleError(extensions?.data));\r\n });\r\n\r\nconst handleError: (data?: ErrorExtensionData) => void = (data) => {\r\n if (\r\n data?.errorSubType?.toLowerCase() === AppLaunchError.AuthStateInvalid ||\r\n data?.errorSubType?.toLowerCase() === AppLaunchError.UnAuthorized ||\r\n data?.errorSubType?.toLowerCase() === AppLaunchError.UnAuthenticated ||\r\n data?.errorSubType?.toLowerCase() === AppLaunchError.AccessTokenInvalid ||\r\n data?.errorSubType?.toLowerCase() === AppLaunchError.AadStateInvalid ||\r\n data?.errorSubType?.toLowerCase() ===\r\n AppLaunchError.CannotStampEhrExtension ||\r\n data?.errorSubType?.toLowerCase() ===\r\n AppLaunchError.CannotAcquireAccessToken ||\r\n data?.errorSubType?.toLowerCase() === AppLaunchError.SessionExpired ||\r\n data?.errorSubType?.toLowerCase() === AppLaunchError.TenantConfigNotFound ||\r\n data?.errorSubType?.toLowerCase() ===\r\n AppLaunchError.NoTenantConfigsConfigured ||\r\n data?.errorSubType?.toLowerCase() ===\r\n AppLaunchError.EncounterHasMultipleAppointmentReferences ||\r\n data?.errorSubType?.toLowerCase() ===\r\n AppLaunchError.EncounterHasNoAppointmentReference ||\r\n data?.errorSubType?.toLowerCase() === AppLaunchError.SubjectNotPatient ||\r\n data?.errorSubType?.toLowerCase() === AppLaunchError.TenantSuspended ||\r\n data?.errorSubType?.toLowerCase() === AppLaunchError.Licensenotfound ||\r\n data?.errorSubType?.toLowerCase() === AppLaunchError.UserConfigNotFound ||\r\n data?.errorSubType?.toLowerCase() === AppLaunchError.CannotCreateMeeting ||\r\n data?.errorSubType?.toLowerCase() === AppLaunchError.NotVirtualVisit ||\r\n data?.errorSubType?.toLowerCase() === AppLaunchError.PatientInactive ||\r\n data?.errorSubType?.toLowerCase() === AppLaunchError.AppointmentNotFound\r\n ) {\r\n window.location.replace(\r\n `${paths.error}?type=${data.errorSubType?.toLowerCase()}`\r\n );\r\n }\r\n};\r\n","import { HttpLink } from \"@apollo/client\";\r\n\r\nimport { environment } from \"../../environments/environment\";\r\nimport { createServiceBaseUrl } from \"../../utils/createServiceBaseUrl\";\r\n\r\nexport const getHttpLink = (): HttpLink => {\r\n return new HttpLink({\r\n uri: `${createServiceBaseUrl()}${environment.basePath}`, // default value\r\n credentials: \"same-origin\",\r\n });\r\n};\r\n","import { ApolloLink } from \"@apollo/client\";\r\nimport { logger, HttpColumns } from \"@mwt/web-js-telemetry\";\r\nimport dayjs from \"dayjs\";\r\nimport utc from \"dayjs/plugin/utc\";\r\n\r\nimport { DataBagHttpColumns, EventType } from \"../../utils/telemetry/constants\";\r\nimport { getTelemetrySessionId } from \"../../utils/telemetry/getTelemetrySession\";\r\n\r\ndayjs.extend(utc);\r\n\r\nlet correlationId = 0;\r\n\r\n/**\r\n * Logs query response time telemetry.\r\n */\r\nexport const getTelemetryLink = () =>\r\n new ApolloLink((operation, forward) => {\r\n const { operationName } = operation;\r\n const eventStartTime = dayjs();\r\n const context = operation.getContext();\r\n\r\n operation.setContext({ eventStartTime });\r\n operation.setContext({\r\n headers: {\r\n ...context?.headers,\r\n \"x-ms-correlationid\": `${getTelemetrySessionId()}.${++correlationId}`,\r\n },\r\n });\r\n\r\n if (!forward) {\r\n return null;\r\n }\r\n\r\n return forward(operation).map((response) => {\r\n const endTime = dayjs();\r\n const context = operation.getContext();\r\n\r\n const requestEventStartTime = context?.eventStartTime;\r\n const elasedTime = endTime.diff(requestEventStartTime);\r\n\r\n const responseObject = context?.response;\r\n const requestHeaders = context?.headers;\r\n const correlationId = requestHeaders?.[\"x-ms-correlationid\"];\r\n const contentLength = responseObject?.headers?.get(\"content-length\");\r\n const resultCode = responseObject?.status;\r\n const isSuccessful = resultCode >= 100 && resultCode < 400 ? true : false;\r\n const url = responseObject?.url || \"\";\r\n\r\n logger.logHttpRequestEvent(\r\n {\r\n [HttpColumns.Hostname]: window.location.hostname,\r\n [HttpColumns.Duration]: elasedTime,\r\n [HttpColumns.ResultCode]: resultCode,\r\n [HttpColumns.ContentLength]: contentLength,\r\n [HttpColumns.RequestCreatedTime]: requestEventStartTime\r\n ?.utc()\r\n .format(),\r\n databag: {\r\n [DataBagHttpColumns.DataBagIsSuccessful]: isSuccessful,\r\n [DataBagHttpColumns.DataBagCorrelationId]: correlationId,\r\n [DataBagHttpColumns.DataBagUrl]: operationName,\r\n [DataBagHttpColumns.DataBagServiceUrl]: url,\r\n },\r\n },\r\n EventType.NonUiEvent\r\n );\r\n\r\n return response;\r\n });\r\n });\r\n","export * from \"./getAuthLink\";\r\nexport * from \"./getHttpLink\";\r\n","import { ApolloProvider } from \"@apollo/client\";\r\n\r\nimport { useGetApolloClient } from \"../useGetApolloClient\";\r\n\r\nexport const RegionalApolloProvider: React.FC> = ({\r\n children,\r\n}) => {\r\n const client = useGetApolloClient();\r\n\r\n return {children};\r\n};\r\n","export * from './RegionalApolloProvider';\r\nexport * from './utils/getRegionalEndpoint'\r\n","export interface RegionalUrl {\r\n serviceBaseUrl: string | null;\r\n region: string | null;\r\n setRegionByBaseUrl: (region: string) => void;\r\n setServiceBaseUrl: (serviceBaseUrl: string) => void;\r\n}\r\n\r\n/**\r\n * This function gets and sets the service URL for querying\r\n * via the ApolloClient. It stores the value for the base\r\n * url in the sessionStorage property called `user.serviceBaseUrl`\r\n * for it to be retrievable on refresh.\r\n * @returns object\r\n */\r\nexport const getRegionalEndpoint = (): RegionalUrl => {\r\n const setRegionByBaseUrl = (region: string) => {\r\n if (!sessionStorage.getItem(\"user.region\")) {\r\n sessionStorage.setItem(\"user.region\", region);\r\n }\r\n }\r\n\r\n const setServiceBaseUrl = (url: string) => {\r\n if (!sessionStorage.getItem(\"user.serviceBaseUrl\")) {\r\n sessionStorage.setItem(\"user.serviceBaseUrl\", url);\r\n }\r\n };\r\n\r\n return {\r\n serviceBaseUrl: sessionStorage.getItem(\"user.serviceBaseUrl\"),\r\n region: sessionStorage.getItem(\"user.region\"),\r\n setRegionByBaseUrl,\r\n setServiceBaseUrl,\r\n };\r\n};\r\n","import { ApolloClient, InMemoryCache, from } from \"@apollo/client\";\r\nimport { useRef } from \"react\";\r\n\r\nimport { getAuthLink, getHttpLink } from \"./apollo-links\";\r\nimport { getErrorLink } from \"./apollo-links/getErrorLink\";\r\nimport { getTelemetryLink } from \"./apollo-links/getTelemetryLink\";\r\n\r\nconst cache = new InMemoryCache();\r\nexport const useGetApolloClient = () => {\r\n // Singleton apollo client\r\n const clientRef = useRef(\r\n new ApolloClient({\r\n cache: cache,\r\n link: from([\r\n getTelemetryLink(),\r\n getErrorLink(),\r\n getAuthLink(),\r\n getHttpLink(),\r\n ]),\r\n name: \"cerner-web-client\",\r\n queryDeduplication: true,\r\n defaultOptions: {\r\n watchQuery: {\r\n fetchPolicy: \"network-only\",\r\n },\r\n },\r\n })\r\n );\r\n\r\n return clientRef.current;\r\n};\r\n","export const appStyles = {\r\n width: \"100%\",\r\n};\r\n","import {\r\n Provider as ThemeProvider,\r\n teamsV2Theme,\r\n} from \"@fluentui/react-northstar\";\r\nimport { BrowserRouter } from \"react-router-dom\";\r\nimport { Suspense, useEffect } from \"react\";\r\nimport {\r\n SessionContextProvider,\r\n TelemetryContextProvider,\r\n} from \"@smb/web-telemetry\";\r\n\r\nimport { AppLaunchErrorBoundary } from \"../components/errors/app-launch-error-boundary\";\r\nimport { AuthProvider } from \"../components/auth\";\r\nimport { RegionalApolloProvider } from \"../apollo/regional-apollo-provider\";\r\nimport { AppLoader } from \"../components/app-loader\";\r\nimport { isInIframe } from \"../utils/validators/isInIframe\";\r\nimport { isInPowerChart } from \"../utils/validators/isInPoweChart\";\r\nimport { InstrumentationKeyProvider } from \"../components/telemetry/InstrumentationKeyProvider\";\r\nimport { updateLoggerContext } from \"../utils/telemetry/updateLoggerContext\";\r\nimport { isProdEnv } from \"../utils/getEnvironment\";\r\n\r\nimport { appStyles } from \"./App.styles\";\r\nimport { RouteSwitcher } from \"./RouteSwitcher\";\r\n\r\nexport function App() {\r\n useEffect(() => {\r\n updateLoggerContext();\r\n }, []);\r\n\r\n // Render the app only when it's loaded in the Iframe and inside PowerChart context.\r\n if (isProdEnv() && !isInIframe() && !isInPowerChart()) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import { lazy } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { Route, Routes } from \"react-router-dom\";\r\n\r\nimport { paths } from \"../utils/routes/paths\";\r\n\r\nexport const AppLaunch = lazy(\r\n () => import(\"../components/launch/app-launch/AppLaunch\")\r\n);\r\n\r\nexport const AppLaunchContinue = lazy(\r\n () => import(\"../components/launch/app-launch-continue/AppLaunchContinue\")\r\n);\r\n\r\nexport const AppLaunchAadContinue = lazy(\r\n () =>\r\n import(\"../components/launch/app-launch-aad-continue/AppLaunchAadContinue\")\r\n);\r\n\r\nexport const ConnectedAppointmentView = lazy(\r\n () =>\r\n import(\r\n \"../components/appointment/appointment-view/ConnectedAppointmentView\"\r\n )\r\n);\r\n\r\nexport const GlobalError = lazy(\r\n () => import(\"../components/errors/global-error/GlobalError\")\r\n);\r\n\r\nexport const RouteSwitcher = (): JSX.Element => {\r\n const { t } = useTranslation();\r\n const Launch = () => {\r\n document.title = t(\"Connect to Microsoft Teams\");\r\n return ;\r\n };\r\n const LaunchAppContinue = () => {\r\n document.title = t(\"Connect to Microsoft Teams\");\r\n return ;\r\n };\r\n const LaunchAppContinueAAD = () => {\r\n document.title = t(\"Connect to Microsoft Teams\");\r\n return ;\r\n };\r\n const Error = () => {\r\n document.title = t(\"Connect to Microsoft Teams\");\r\n return ;\r\n };\r\n const Root = () => {\r\n document.title = t(\"Connect to Microsoft Teams\");\r\n return ;\r\n };\r\n return (\r\n \r\n } />\r\n } />\r\n }\r\n />\r\n } />\r\n } />\r\n \r\n );\r\n};\r\n","import { Flex, Loader } from \"@fluentui/react-northstar\";\r\n\r\nexport const AppLoader: React.FC = () => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n","export * from \"./AppLoader\";\r\n","import React from \"react\";\r\n\r\nimport { UserAuth } from \"./useAuth\";\r\n\r\nexport const AuthContext = React.createContext({\r\n authSession: null,\r\n isUserLoggedIn: false,\r\n setAuthSession: () => ({}),\r\n});\r\n","import React from \"react\";\r\n\r\nimport { useAuth } from \"./useAuth\";\r\nimport { AuthContext } from \"./AuthContext\";\r\n\r\nexport const AuthProvider: React.FC> = ({ children }) => {\r\n const auth = useAuth();\r\n return {children};\r\n};\r\n\r\nexport const useAuthContext = () => React.useContext(AuthContext);\r\n","export * from \"./AuthProvider\";\r\n","import { useCallback, useState } from \"react\";\r\n\r\nexport interface User {\r\n auth: UserAuth;\r\n serviceBaseUrl: string | null;\r\n}\r\n\r\nexport interface UserAuth {\r\n authSession: string | null;\r\n isUserLoggedIn: boolean;\r\n setAuthSession: (sessionId: string) => void;\r\n}\r\n\r\n/**\r\n * This hook gets the sessionId if present from the sessionStorage.\r\n * It also exposes a callback `setAuthSessionToStorage` which can be used to\r\n * set the authSession and loggedIn states of the user. It can take a string as an argument,\r\n * which can be empty if sessionId is undefined.\r\n * @returns auth session object.\r\n */\r\nexport const useAuth: () => UserAuth = () => {\r\n // Retain the logged in sessionId for the user session on refresh.\r\n const sessionId = sessionStorage.getItem(\"user.sessionId\") ?? null;\r\n\r\n const [{ authSession, isUserLoggedIn }, setAuthSession] = useState({\r\n authSession: sessionId,\r\n isUserLoggedIn: !!sessionId,\r\n });\r\n\r\n const setAuthSessionToStorage = useCallback((userSessionId: string) => {\r\n sessionStorage.setItem(\"user.sessionId\", userSessionId);\r\n setAuthSession({\r\n authSession: userSessionId,\r\n isUserLoggedIn: !!userSessionId,\r\n });\r\n }, []);\r\n\r\n return {\r\n authSession,\r\n isUserLoggedIn,\r\n setAuthSession: setAuthSessionToStorage,\r\n };\r\n};\r\n","import React from \"react\";\r\nimport { ErrorPanel } from \"@smb/ui-error-panel\";\r\n\r\nimport { trackComponentErrorTrace } from \"../../../utils/telemetry/trackComponentErrorTrace\";\r\nimport { ErrorBoundary, FallbackProps } from \"../error-boundary\";\r\n\r\nimport { getLaunchErrorMessage } from \"./utils/getLaunchErrorMessage\";\r\n\r\nexport const AppLaunchErrorBoundary: React.FC> = ({\r\n children,\r\n}) => {\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nconst AppLaunchNotFound: React.FC = ({ error }) => {\r\n const { description, title, altMessage } = getLaunchErrorMessage(error);\r\n\r\n return (\r\n \r\n );\r\n};\r\n","export * from \"./AppLaunchErrorBoundary\";\r\n","import { AppLaunchError } from \"../../../../utils/constants/appLaunchError\";\r\n\r\nexport const getLaunchErrorMessage = (\r\n error: Error\r\n): { description?: string; title?: string; altMessage?: string } => {\r\n let description;\r\n let title;\r\n const altMessage = \"Exclamation bubble with gear icons\";\r\n\r\n switch (error.message) {\r\n case AppLaunchError.PageNotFound:\r\n title = \"Page not found\";\r\n description = \"404\";\r\n break;\r\n case AppLaunchError.EncounterHasNoAppointmentReference:\r\n title = \"There are no scheduled appointments.\";\r\n break;\r\n case AppLaunchError.InvalidUrlParams:\r\n case AppLaunchError.TenantConfigNotFound:\r\n title = \"The tenant setup isn't done quite yet\";\r\n description = \"If you need more info, contact your organization's admin.\";\r\n break;\r\n case AppLaunchError.NoTenantConfigsConfigured:\r\n title = \"The tenant setup isn't done quite yet\";\r\n description = \"If you need more info, contact your organization's admin.\";\r\n break;\r\n case AppLaunchError.UnAuthenticated:\r\n case AppLaunchError.UnAuthorized:\r\n title = \"Something went wrong\";\r\n description = \"Wait a bit, then try to start the app again.\";\r\n break;\r\n default:\r\n title = \"Please try again.\";\r\n description = \"If the error persists, please contact your local IT administrator.\";\r\n }\r\n\r\n return { description, title, altMessage };\r\n};\r\n","import React from \"react\";\r\n\r\nexport interface FallbackProps {\r\n error: Error;\r\n resetError?: (...args: Array) => void;\r\n}\r\n\r\ninterface ErrorBoundaryProps {\r\n FallBackComponent: React.ComponentType;\r\n onError?: (error: Error, info: React.ErrorInfo) => void;\r\n onReset?: (...args: Array) => void;\r\n}\r\n\r\ninterface ErrorBoundaryState {\r\n error: Error | null;\r\n}\r\n\r\nconst initialState: ErrorBoundaryState = { error: null };\r\n\r\nexport class ErrorBoundary extends React.Component<\r\n React.PropsWithChildren,\r\n ErrorBoundaryState\r\n> {\r\n constructor(props: ErrorBoundaryProps) {\r\n super(props);\r\n\r\n this.state = initialState;\r\n }\r\n\r\n static getDerivedStateFromError(error: T) {\r\n // returns object that's passed to the updated state.\r\n return { error };\r\n }\r\n\r\n resetError(...args: Array) {\r\n this.props.onReset?.(...args);\r\n this.reset();\r\n }\r\n\r\n reset() {\r\n this.setState(initialState);\r\n }\r\n\r\n componentDidCatch(error: Error, info: React.ErrorInfo) {\r\n this.props.onError?.(error, info);\r\n }\r\n\r\n render() {\r\n const { error } = this.state;\r\n const { FallBackComponent } = this.props;\r\n\r\n if (error !== null) {\r\n const props = {\r\n error,\r\n resetError: () => this.resetError(),\r\n };\r\n\r\n return ;\r\n }\r\n\r\n return this.props.children;\r\n }\r\n}\r\n","export * from \"./ErrorBoundry\";\r\n","import { useTelemetryContext } from \"@smb/web-telemetry\";\r\nimport React, { useEffect, useMemo } from \"react\";\r\n\r\nimport { useGetAriaIngestionKeyQuery } from \"../../graphql/graphql\";\r\n\r\nexport const InstrumentationKeyProvider: React.FC> = ({\r\n children,\r\n}) => {\r\n const { data } = useGetAriaIngestionKeyQuery();\r\n const { setTelementryIngestionKey } = useTelemetryContext();\r\n\r\n const instrumentationKey = useMemo(\r\n () => data?.getAriaIngestionKey ?? undefined,\r\n [data]\r\n );\r\n useEffect(() => {\r\n setTelementryIngestionKey(instrumentationKey);\r\n }, [instrumentationKey, setTelementryIngestionKey]);\r\n\r\n // eslint-disable-next-line react/jsx-no-useless-fragment\r\n return <>{children};\r\n};\r\n","export const environment = {\r\n domainName: \"ehrconnectorsvc-canary.teams.microsoft\",\r\n basePath: \"/api/cerner/graphql/v1\",\r\n cernerEnv: [\"test\", \"prod\"],\r\n appName: \"CernerEHRConnector\",\r\n appEnv: \"canary\",\r\n isRegionalServiceDisabled: true,\r\n};\r\n","/* eslint-disable */\r\nimport { gql } from '@apollo/client';\r\nimport * as ApolloReactCommon from '@apollo/client';\r\nimport * as ApolloReactHooks from '@apollo/client';\r\nexport type Maybe = T | null;\r\nexport type Exact = { [K in keyof T]: T[K] };\r\nexport type MakeOptional = Omit & { [SubKey in K]?: Maybe };\r\nexport type MakeMaybe = Omit & { [SubKey in K]: Maybe };\r\n/** All built-in and custom scalars, mapped to their actual values */\r\nexport type Scalars = {\r\n ID: string;\r\n String: string;\r\n Boolean: boolean;\r\n Int: number;\r\n Float: number;\r\n Date: string;\r\n DateTime: string;\r\n DateTimeOffset: string;\r\n Decimal: string;\r\n Milliseconds: string;\r\n Seconds: string;\r\n};\r\n\r\nexport type AppointmentDetailType = {\r\n readonly __typename?: 'AppointmentDetailType';\r\n readonly id: Scalars['String'];\r\n readonly startTime: Scalars['String'];\r\n};\r\n\r\nexport type AppointmentInfoType = {\r\n readonly __typename?: 'AppointmentInfoType';\r\n readonly durationInMinutes: Scalars['Int'];\r\n readonly id: Scalars['String'];\r\n readonly patientWaitTimeInSeconds: Scalars['Int'];\r\n readonly serviceType: Scalars['String'];\r\n readonly startTime: Scalars['String'];\r\n readonly status?: Maybe;\r\n};\r\n\r\nexport enum AppointmentStatus {\r\n Unknown = 'UNKNOWN',\r\n Proposed = 'PROPOSED',\r\n Pending = 'PENDING',\r\n Booked = 'BOOKED',\r\n Arrived = 'ARRIVED',\r\n Fulfilled = 'FULFILLED',\r\n Cancelled = 'CANCELLED',\r\n NoShow = 'NO_SHOW',\r\n EnteredInError = 'ENTERED_IN_ERROR',\r\n CheckedIn = 'CHECKED_IN',\r\n Waitlist = 'WAITLIST'\r\n}\r\n\r\n\r\n\r\n\r\n\r\nexport type LaunchAppContinueAadType = {\r\n readonly __typename?: 'LaunchAppContinueAadType';\r\n readonly sessionId: Scalars['String'];\r\n};\r\n\r\nexport type LaunchAppContinueLoginType = {\r\n readonly __typename?: 'LaunchAppContinueLoginType';\r\n readonly m365LoginUrl: Scalars['String'];\r\n};\r\n\r\nexport type LaunchAppContinueType = {\r\n readonly __typename?: 'LaunchAppContinueType';\r\n readonly sessionId: Scalars['String'];\r\n};\r\n\r\nexport type LaunchAppContinueTypeUnionResult = LaunchAppContinueType | LaunchAppContinueLoginType;\r\n\r\nexport type LaunchAppType = {\r\n readonly __typename?: 'LaunchAppType';\r\n readonly authorizeUrl: Scalars['String'];\r\n};\r\n\r\nexport type MeetingDirectJoinLinkType = {\r\n readonly __typename?: 'MeetingDirectJoinLinkType';\r\n readonly meetingDirectJoinLink: Scalars['String'];\r\n};\r\n\r\n\r\nexport type Mutation = {\r\n readonly __typename?: 'Mutation';\r\n readonly getMeetingDirectJoinLink?: Maybe;\r\n readonly getTeamsMeetingJoinLink?: Maybe;\r\n readonly sendSMSDirectJoinLinkToPatient?: Maybe;\r\n};\r\n\r\n\r\nexport type MutationGetMeetingDirectJoinLinkArgs = {\r\n sessionId: Scalars['String'];\r\n appointmentId: Scalars['String'];\r\n};\r\n\r\n\r\nexport type MutationGetTeamsMeetingJoinLinkArgs = {\r\n sessionId: Scalars['String'];\r\n timeZoneOffset: Scalars['String'];\r\n appointmentId: Scalars['String'];\r\n};\r\n\r\n\r\nexport type MutationSendSmsDirectJoinLinkToPatientArgs = {\r\n phoneNumber: Scalars['String'];\r\n sessionId: Scalars['String'];\r\n appointmentId: Scalars['String'];\r\n};\r\n\r\nexport enum NotificationDeliveryStatus {\r\n Unknown = 'UNKNOWN',\r\n Pending = 'PENDING',\r\n Sent = 'SENT',\r\n Failed = 'FAILED',\r\n Delivered = 'DELIVERED',\r\n UnDelivered = 'UN_DELIVERED'\r\n}\r\n\r\nexport type PatientInfoType = {\r\n readonly __typename?: 'PatientInfoType';\r\n readonly id: Scalars['String'];\r\n readonly name: Scalars['String'];\r\n readonly appointmentDetailsList: ReadonlyArray;\r\n};\r\n\r\nexport type PatientsSmsNotificationStatusLimitReachedType = {\r\n readonly __typename?: 'PatientsSMSNotificationStatusLimitReachedType';\r\n readonly id: Scalars['String'];\r\n readonly limit: Scalars['String'];\r\n};\r\n\r\nexport type PatientsSmsNotificationStatusType = {\r\n readonly __typename?: 'PatientsSMSNotificationStatusType';\r\n readonly deliveryStatus?: Maybe;\r\n readonly error?: Maybe;\r\n readonly id: Scalars['String'];\r\n readonly lastActionTime?: Maybe;\r\n readonly name: Scalars['String'];\r\n readonly phoneNumber?: Maybe;\r\n};\r\n\r\nexport type PatientsSmsNotificationStatusTypeUnionResult = PatientsSmsNotificationStatusType | PatientsSmsNotificationStatusLimitReachedType;\r\n\r\nexport type Query = {\r\n readonly __typename?: 'Query';\r\n readonly getAppointmentInfo?: Maybe;\r\n readonly getAriaIngestionKey?: Maybe;\r\n readonly getPatientInfo?: Maybe;\r\n readonly getPatientsSMSNotificationStatus?: Maybe;\r\n readonly launchApp?: Maybe;\r\n readonly launchAppContinue?: Maybe;\r\n readonly launchAppContinueAAD?: Maybe;\r\n};\r\n\r\n\r\nexport type QueryGetAppointmentInfoArgs = {\r\n sessionId: Scalars['String'];\r\n appointmentId: Scalars['String'];\r\n};\r\n\r\n\r\nexport type QueryGetPatientInfoArgs = {\r\n sessionId: Scalars['String'];\r\n};\r\n\r\n\r\nexport type QueryGetPatientsSmsNotificationStatusArgs = {\r\n sessionId: Scalars['String'];\r\n appointmentId: Scalars['String'];\r\n};\r\n\r\n\r\nexport type QueryLaunchAppArgs = {\r\n iss: Scalars['String'];\r\n launch: Scalars['String'];\r\n};\r\n\r\n\r\nexport type QueryLaunchAppContinueArgs = {\r\n code: Scalars['String'];\r\n state: Scalars['String'];\r\n};\r\n\r\n\r\nexport type QueryLaunchAppContinueAadArgs = {\r\n code: Scalars['String'];\r\n state: Scalars['String'];\r\n};\r\n\r\n\r\nexport type TeamsMeetingJoinLinkType = {\r\n readonly __typename?: 'TeamsMeetingJoinLinkType';\r\n readonly teamsMeetingJoinLink: Scalars['String'];\r\n};\r\n\r\nexport type PatientsSmsNotificationStatusFieldsFragment = (\r\n { readonly __typename?: 'PatientsSMSNotificationStatusType' }\r\n & Pick\r\n);\r\n\r\nexport type GetMeetingDirectJoinLinkMutationVariables = Exact<{\r\n sessionId: Scalars['String'];\r\n appointmentId: Scalars['String'];\r\n}>;\r\n\r\n\r\nexport type GetMeetingDirectJoinLinkMutation = (\r\n { readonly __typename?: 'Mutation' }\r\n & { readonly getMeetingDirectJoinLink?: Maybe<(\r\n { readonly __typename?: 'MeetingDirectJoinLinkType' }\r\n & Pick\r\n )> }\r\n);\r\n\r\nexport type GetTeamsMeetingJoinLinkMutationVariables = Exact<{\r\n sessionId: Scalars['String'];\r\n timeZoneOffset: Scalars['String'];\r\n appointmentId: Scalars['String'];\r\n}>;\r\n\r\n\r\nexport type GetTeamsMeetingJoinLinkMutation = (\r\n { readonly __typename?: 'Mutation' }\r\n & { readonly getTeamsMeetingJoinLink?: Maybe<(\r\n { readonly __typename?: 'TeamsMeetingJoinLinkType' }\r\n & Pick\r\n )> }\r\n);\r\n\r\nexport type SendSmsDirectJoinLinkToPatientMutationVariables = Exact<{\r\n sessionId: Scalars['String'];\r\n phoneNumber: Scalars['String'];\r\n appointmentId: Scalars['String'];\r\n}>;\r\n\r\n\r\nexport type SendSmsDirectJoinLinkToPatientMutation = (\r\n { readonly __typename?: 'Mutation' }\r\n & { readonly sendSMSDirectJoinLinkToPatient?: Maybe<(\r\n { readonly __typename: 'PatientsSMSNotificationStatusType' }\r\n & PatientsSmsNotificationStatusFieldsFragment\r\n ) | (\r\n { readonly __typename: 'PatientsSMSNotificationStatusLimitReachedType' }\r\n & Pick\r\n )> }\r\n);\r\n\r\nexport type GetAppointmentInfoQueryVariables = Exact<{\r\n sessionId: Scalars['String'];\r\n appointmentId: Scalars['String'];\r\n}>;\r\n\r\n\r\nexport type GetAppointmentInfoQuery = (\r\n { readonly __typename?: 'Query' }\r\n & { readonly getAppointmentInfo?: Maybe<(\r\n { readonly __typename?: 'AppointmentInfoType' }\r\n & Pick\r\n )> }\r\n);\r\n\r\nexport type GetAriaIngestionKeyQueryVariables = Exact<{ [key: string]: never; }>;\r\n\r\n\r\nexport type GetAriaIngestionKeyQuery = (\r\n { readonly __typename?: 'Query' }\r\n & Pick\r\n);\r\n\r\nexport type GetPatientInfoQueryVariables = Exact<{\r\n sessionId: Scalars['String'];\r\n}>;\r\n\r\n\r\nexport type GetPatientInfoQuery = (\r\n { readonly __typename?: 'Query' }\r\n & { readonly getPatientInfo?: Maybe<(\r\n { readonly __typename?: 'PatientInfoType' }\r\n & Pick\r\n & { readonly appointmentDetailsList: ReadonlyArray<(\r\n { readonly __typename?: 'AppointmentDetailType' }\r\n & Pick\r\n )> }\r\n )> }\r\n);\r\n\r\nexport type GetPatientsSmsNotificationStatusQueryVariables = Exact<{\r\n sessionId: Scalars['String'];\r\n appointmentId: Scalars['String'];\r\n}>;\r\n\r\n\r\nexport type GetPatientsSmsNotificationStatusQuery = (\r\n { readonly __typename?: 'Query' }\r\n & { readonly getPatientsSMSNotificationStatus?: Maybe<(\r\n { readonly __typename?: 'PatientsSMSNotificationStatusType' }\r\n & PatientsSmsNotificationStatusFieldsFragment\r\n )> }\r\n);\r\n\r\nexport type LaunchAppQueryVariables = Exact<{\r\n iss: Scalars['String'];\r\n launch: Scalars['String'];\r\n}>;\r\n\r\n\r\nexport type LaunchAppQuery = (\r\n { readonly __typename?: 'Query' }\r\n & { readonly launchApp?: Maybe<(\r\n { readonly __typename?: 'LaunchAppType' }\r\n & Pick\r\n )> }\r\n);\r\n\r\nexport type LaunchAppContinueQueryVariables = Exact<{\r\n code: Scalars['String'];\r\n state: Scalars['String'];\r\n}>;\r\n\r\n\r\nexport type LaunchAppContinueQuery = (\r\n { readonly __typename?: 'Query' }\r\n & { readonly launchAppContinue?: Maybe<(\r\n { readonly __typename?: 'LaunchAppContinueType' }\r\n & Pick\r\n ) | (\r\n { readonly __typename?: 'LaunchAppContinueLoginType' }\r\n & Pick\r\n )> }\r\n);\r\n\r\nexport type LaunchAppContinueAadQueryVariables = Exact<{\r\n state: Scalars['String'];\r\n code: Scalars['String'];\r\n}>;\r\n\r\n\r\nexport type LaunchAppContinueAadQuery = (\r\n { readonly __typename?: 'Query' }\r\n & { readonly launchAppContinueAAD?: Maybe<(\r\n { readonly __typename?: 'LaunchAppContinueAadType' }\r\n & Pick\r\n )> }\r\n);\r\n\r\nexport const PatientsSmsNotificationStatusFieldsFragmentDoc = gql`\r\n fragment PatientsSMSNotificationStatusFields on PatientsSMSNotificationStatusType {\r\n id\r\n name\r\n phoneNumber\r\n deliveryStatus\r\n lastActionTime\r\n error\r\n}\r\n `;\r\nexport const GetMeetingDirectJoinLinkDocument = gql`\r\n mutation GetMeetingDirectJoinLink($sessionId: String!, $appointmentId: String!) {\r\n getMeetingDirectJoinLink(sessionId: $sessionId, appointmentId: $appointmentId) {\r\n meetingDirectJoinLink\r\n }\r\n}\r\n `;\r\nexport type GetMeetingDirectJoinLinkMutationFn = ApolloReactCommon.MutationFunction;\r\n\r\n/**\r\n * __useGetMeetingDirectJoinLinkMutation__\r\n *\r\n * To run a mutation, you first call `useGetMeetingDirectJoinLinkMutation` within a React component and pass it any options that fit your needs.\r\n * When your component renders, `useGetMeetingDirectJoinLinkMutation` returns a tuple that includes:\r\n * - A mutate function that you can call at any time to execute the mutation\r\n * - An object with fields that represent the current status of the mutation's execution\r\n *\r\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\r\n *\r\n * @example\r\n * const [getMeetingDirectJoinLinkMutation, { data, loading, error }] = useGetMeetingDirectJoinLinkMutation({\r\n * variables: {\r\n * sessionId: // value for 'sessionId'\r\n * appointmentId: // value for 'appointmentId'\r\n * },\r\n * });\r\n */\r\nexport function useGetMeetingDirectJoinLinkMutation(baseOptions?: ApolloReactHooks.MutationHookOptions) {\r\n return ApolloReactHooks.useMutation(GetMeetingDirectJoinLinkDocument, baseOptions);\r\n }\r\nexport type GetMeetingDirectJoinLinkMutationHookResult = ReturnType;\r\nexport type GetMeetingDirectJoinLinkMutationResult = ApolloReactCommon.MutationResult;\r\nexport type GetMeetingDirectJoinLinkMutationOptions = ApolloReactCommon.BaseMutationOptions;\r\nexport const GetTeamsMeetingJoinLinkDocument = gql`\r\n mutation GetTeamsMeetingJoinLink($sessionId: String!, $timeZoneOffset: String!, $appointmentId: String!) {\r\n getTeamsMeetingJoinLink(\r\n sessionId: $sessionId\r\n timeZoneOffset: $timeZoneOffset\r\n appointmentId: $appointmentId\r\n ) {\r\n teamsMeetingJoinLink\r\n }\r\n}\r\n `;\r\nexport type GetTeamsMeetingJoinLinkMutationFn = ApolloReactCommon.MutationFunction;\r\n\r\n/**\r\n * __useGetTeamsMeetingJoinLinkMutation__\r\n *\r\n * To run a mutation, you first call `useGetTeamsMeetingJoinLinkMutation` within a React component and pass it any options that fit your needs.\r\n * When your component renders, `useGetTeamsMeetingJoinLinkMutation` returns a tuple that includes:\r\n * - A mutate function that you can call at any time to execute the mutation\r\n * - An object with fields that represent the current status of the mutation's execution\r\n *\r\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\r\n *\r\n * @example\r\n * const [getTeamsMeetingJoinLinkMutation, { data, loading, error }] = useGetTeamsMeetingJoinLinkMutation({\r\n * variables: {\r\n * sessionId: // value for 'sessionId'\r\n * timeZoneOffset: // value for 'timeZoneOffset'\r\n * appointmentId: // value for 'appointmentId'\r\n * },\r\n * });\r\n */\r\nexport function useGetTeamsMeetingJoinLinkMutation(baseOptions?: ApolloReactHooks.MutationHookOptions) {\r\n return ApolloReactHooks.useMutation(GetTeamsMeetingJoinLinkDocument, baseOptions);\r\n }\r\nexport type GetTeamsMeetingJoinLinkMutationHookResult = ReturnType;\r\nexport type GetTeamsMeetingJoinLinkMutationResult = ApolloReactCommon.MutationResult;\r\nexport type GetTeamsMeetingJoinLinkMutationOptions = ApolloReactCommon.BaseMutationOptions;\r\nexport const SendSmsDirectJoinLinkToPatientDocument = gql`\r\n mutation SendSMSDirectJoinLinkToPatient($sessionId: String!, $phoneNumber: String!, $appointmentId: String!) {\r\n sendSMSDirectJoinLinkToPatient(\r\n sessionId: $sessionId\r\n phoneNumber: $phoneNumber\r\n appointmentId: $appointmentId\r\n ) {\r\n __typename\r\n ... on PatientsSMSNotificationStatusType {\r\n ...PatientsSMSNotificationStatusFields\r\n }\r\n ... on PatientsSMSNotificationStatusLimitReachedType {\r\n id\r\n limit\r\n }\r\n }\r\n}\r\n ${PatientsSmsNotificationStatusFieldsFragmentDoc}`;\r\nexport type SendSmsDirectJoinLinkToPatientMutationFn = ApolloReactCommon.MutationFunction;\r\n\r\n/**\r\n * __useSendSmsDirectJoinLinkToPatientMutation__\r\n *\r\n * To run a mutation, you first call `useSendSmsDirectJoinLinkToPatientMutation` within a React component and pass it any options that fit your needs.\r\n * When your component renders, `useSendSmsDirectJoinLinkToPatientMutation` returns a tuple that includes:\r\n * - A mutate function that you can call at any time to execute the mutation\r\n * - An object with fields that represent the current status of the mutation's execution\r\n *\r\n * @param baseOptions options that will be passed into the mutation, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options-2;\r\n *\r\n * @example\r\n * const [sendSmsDirectJoinLinkToPatientMutation, { data, loading, error }] = useSendSmsDirectJoinLinkToPatientMutation({\r\n * variables: {\r\n * sessionId: // value for 'sessionId'\r\n * phoneNumber: // value for 'phoneNumber'\r\n * appointmentId: // value for 'appointmentId'\r\n * },\r\n * });\r\n */\r\nexport function useSendSmsDirectJoinLinkToPatientMutation(baseOptions?: ApolloReactHooks.MutationHookOptions) {\r\n return ApolloReactHooks.useMutation(SendSmsDirectJoinLinkToPatientDocument, baseOptions);\r\n }\r\nexport type SendSmsDirectJoinLinkToPatientMutationHookResult = ReturnType;\r\nexport type SendSmsDirectJoinLinkToPatientMutationResult = ApolloReactCommon.MutationResult;\r\nexport type SendSmsDirectJoinLinkToPatientMutationOptions = ApolloReactCommon.BaseMutationOptions;\r\nexport const GetAppointmentInfoDocument = gql`\r\n query GetAppointmentInfo($sessionId: String!, $appointmentId: String!) {\r\n getAppointmentInfo(sessionId: $sessionId, appointmentId: $appointmentId) {\r\n serviceType\r\n status\r\n startTime\r\n durationInMinutes\r\n patientWaitTimeInSeconds\r\n }\r\n}\r\n `;\r\n\r\n/**\r\n * __useGetAppointmentInfoQuery__\r\n *\r\n * To run a query within a React component, call `useGetAppointmentInfoQuery` and pass it any options that fit your needs.\r\n * When your component renders, `useGetAppointmentInfoQuery` returns an object from Apollo Client that contains loading, error, and data properties\r\n * you can use to render your UI.\r\n *\r\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\r\n *\r\n * @example\r\n * const { data, loading, error } = useGetAppointmentInfoQuery({\r\n * variables: {\r\n * sessionId: // value for 'sessionId'\r\n * appointmentId: // value for 'appointmentId'\r\n * },\r\n * });\r\n */\r\nexport function useGetAppointmentInfoQuery(baseOptions: ApolloReactHooks.QueryHookOptions) {\r\n return ApolloReactHooks.useQuery(GetAppointmentInfoDocument, baseOptions);\r\n }\r\nexport function useGetAppointmentInfoLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions) {\r\n return ApolloReactHooks.useLazyQuery(GetAppointmentInfoDocument, baseOptions);\r\n }\r\nexport type GetAppointmentInfoQueryHookResult = ReturnType;\r\nexport type GetAppointmentInfoLazyQueryHookResult = ReturnType;\r\nexport type GetAppointmentInfoQueryResult = ApolloReactCommon.QueryResult;\r\nexport const GetAriaIngestionKeyDocument = gql`\r\n query GetAriaIngestionKey {\r\n getAriaIngestionKey\r\n}\r\n `;\r\n\r\n/**\r\n * __useGetAriaIngestionKeyQuery__\r\n *\r\n * To run a query within a React component, call `useGetAriaIngestionKeyQuery` and pass it any options that fit your needs.\r\n * When your component renders, `useGetAriaIngestionKeyQuery` returns an object from Apollo Client that contains loading, error, and data properties\r\n * you can use to render your UI.\r\n *\r\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\r\n *\r\n * @example\r\n * const { data, loading, error } = useGetAriaIngestionKeyQuery({\r\n * variables: {\r\n * },\r\n * });\r\n */\r\nexport function useGetAriaIngestionKeyQuery(baseOptions?: ApolloReactHooks.QueryHookOptions) {\r\n return ApolloReactHooks.useQuery(GetAriaIngestionKeyDocument, baseOptions);\r\n }\r\nexport function useGetAriaIngestionKeyLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions) {\r\n return ApolloReactHooks.useLazyQuery(GetAriaIngestionKeyDocument, baseOptions);\r\n }\r\nexport type GetAriaIngestionKeyQueryHookResult = ReturnType;\r\nexport type GetAriaIngestionKeyLazyQueryHookResult = ReturnType;\r\nexport type GetAriaIngestionKeyQueryResult = ApolloReactCommon.QueryResult;\r\nexport const GetPatientInfoDocument = gql`\r\n query GetPatientInfo($sessionId: String!) {\r\n getPatientInfo(sessionId: $sessionId) {\r\n name\r\n appointmentDetailsList {\r\n id\r\n startTime\r\n }\r\n }\r\n}\r\n `;\r\n\r\n/**\r\n * __useGetPatientInfoQuery__\r\n *\r\n * To run a query within a React component, call `useGetPatientInfoQuery` and pass it any options that fit your needs.\r\n * When your component renders, `useGetPatientInfoQuery` returns an object from Apollo Client that contains loading, error, and data properties\r\n * you can use to render your UI.\r\n *\r\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\r\n *\r\n * @example\r\n * const { data, loading, error } = useGetPatientInfoQuery({\r\n * variables: {\r\n * sessionId: // value for 'sessionId'\r\n * },\r\n * });\r\n */\r\nexport function useGetPatientInfoQuery(baseOptions: ApolloReactHooks.QueryHookOptions) {\r\n return ApolloReactHooks.useQuery(GetPatientInfoDocument, baseOptions);\r\n }\r\nexport function useGetPatientInfoLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions) {\r\n return ApolloReactHooks.useLazyQuery(GetPatientInfoDocument, baseOptions);\r\n }\r\nexport type GetPatientInfoQueryHookResult = ReturnType;\r\nexport type GetPatientInfoLazyQueryHookResult = ReturnType;\r\nexport type GetPatientInfoQueryResult = ApolloReactCommon.QueryResult;\r\nexport const GetPatientsSmsNotificationStatusDocument = gql`\r\n query GetPatientsSMSNotificationStatus($sessionId: String!, $appointmentId: String!) {\r\n getPatientsSMSNotificationStatus(\r\n sessionId: $sessionId\r\n appointmentId: $appointmentId\r\n ) {\r\n ...PatientsSMSNotificationStatusFields\r\n }\r\n}\r\n ${PatientsSmsNotificationStatusFieldsFragmentDoc}`;\r\n\r\n/**\r\n * __useGetPatientsSmsNotificationStatusQuery__\r\n *\r\n * To run a query within a React component, call `useGetPatientsSmsNotificationStatusQuery` and pass it any options that fit your needs.\r\n * When your component renders, `useGetPatientsSmsNotificationStatusQuery` returns an object from Apollo Client that contains loading, error, and data properties\r\n * you can use to render your UI.\r\n *\r\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\r\n *\r\n * @example\r\n * const { data, loading, error } = useGetPatientsSmsNotificationStatusQuery({\r\n * variables: {\r\n * sessionId: // value for 'sessionId'\r\n * appointmentId: // value for 'appointmentId'\r\n * },\r\n * });\r\n */\r\nexport function useGetPatientsSmsNotificationStatusQuery(baseOptions: ApolloReactHooks.QueryHookOptions) {\r\n return ApolloReactHooks.useQuery(GetPatientsSmsNotificationStatusDocument, baseOptions);\r\n }\r\nexport function useGetPatientsSmsNotificationStatusLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions) {\r\n return ApolloReactHooks.useLazyQuery(GetPatientsSmsNotificationStatusDocument, baseOptions);\r\n }\r\nexport type GetPatientsSmsNotificationStatusQueryHookResult = ReturnType;\r\nexport type GetPatientsSmsNotificationStatusLazyQueryHookResult = ReturnType;\r\nexport type GetPatientsSmsNotificationStatusQueryResult = ApolloReactCommon.QueryResult;\r\nexport const LaunchAppDocument = gql`\r\n query LaunchApp($iss: String!, $launch: String!) {\r\n launchApp(iss: $iss, launch: $launch) {\r\n authorizeUrl\r\n }\r\n}\r\n `;\r\n\r\n/**\r\n * __useLaunchAppQuery__\r\n *\r\n * To run a query within a React component, call `useLaunchAppQuery` and pass it any options that fit your needs.\r\n * When your component renders, `useLaunchAppQuery` returns an object from Apollo Client that contains loading, error, and data properties\r\n * you can use to render your UI.\r\n *\r\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\r\n *\r\n * @example\r\n * const { data, loading, error } = useLaunchAppQuery({\r\n * variables: {\r\n * iss: // value for 'iss'\r\n * launch: // value for 'launch'\r\n * },\r\n * });\r\n */\r\nexport function useLaunchAppQuery(baseOptions: ApolloReactHooks.QueryHookOptions) {\r\n return ApolloReactHooks.useQuery(LaunchAppDocument, baseOptions);\r\n }\r\nexport function useLaunchAppLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions) {\r\n return ApolloReactHooks.useLazyQuery(LaunchAppDocument, baseOptions);\r\n }\r\nexport type LaunchAppQueryHookResult = ReturnType;\r\nexport type LaunchAppLazyQueryHookResult = ReturnType;\r\nexport type LaunchAppQueryResult = ApolloReactCommon.QueryResult;\r\nexport const LaunchAppContinueDocument = gql`\r\n query LaunchAppContinue($code: String!, $state: String!) {\r\n launchAppContinue(code: $code, state: $state) {\r\n ... on LaunchAppContinueType {\r\n sessionId\r\n }\r\n ... on LaunchAppContinueLoginType {\r\n m365LoginUrl\r\n }\r\n }\r\n}\r\n `;\r\n\r\n/**\r\n * __useLaunchAppContinueQuery__\r\n *\r\n * To run a query within a React component, call `useLaunchAppContinueQuery` and pass it any options that fit your needs.\r\n * When your component renders, `useLaunchAppContinueQuery` returns an object from Apollo Client that contains loading, error, and data properties\r\n * you can use to render your UI.\r\n *\r\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\r\n *\r\n * @example\r\n * const { data, loading, error } = useLaunchAppContinueQuery({\r\n * variables: {\r\n * code: // value for 'code'\r\n * state: // value for 'state'\r\n * },\r\n * });\r\n */\r\nexport function useLaunchAppContinueQuery(baseOptions: ApolloReactHooks.QueryHookOptions) {\r\n return ApolloReactHooks.useQuery(LaunchAppContinueDocument, baseOptions);\r\n }\r\nexport function useLaunchAppContinueLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions) {\r\n return ApolloReactHooks.useLazyQuery(LaunchAppContinueDocument, baseOptions);\r\n }\r\nexport type LaunchAppContinueQueryHookResult = ReturnType;\r\nexport type LaunchAppContinueLazyQueryHookResult = ReturnType;\r\nexport type LaunchAppContinueQueryResult = ApolloReactCommon.QueryResult;\r\nexport const LaunchAppContinueAadDocument = gql`\r\n query LaunchAppContinueAAD($state: String!, $code: String!) {\r\n launchAppContinueAAD(state: $state, code: $code) {\r\n sessionId\r\n }\r\n}\r\n `;\r\n\r\n/**\r\n * __useLaunchAppContinueAadQuery__\r\n *\r\n * To run a query within a React component, call `useLaunchAppContinueAadQuery` and pass it any options that fit your needs.\r\n * When your component renders, `useLaunchAppContinueAadQuery` returns an object from Apollo Client that contains loading, error, and data properties\r\n * you can use to render your UI.\r\n *\r\n * @param baseOptions options that will be passed into the query, supported options are listed on: https://www.apollographql.com/docs/react/api/react-hooks/#options;\r\n *\r\n * @example\r\n * const { data, loading, error } = useLaunchAppContinueAadQuery({\r\n * variables: {\r\n * state: // value for 'state'\r\n * code: // value for 'code'\r\n * },\r\n * });\r\n */\r\nexport function useLaunchAppContinueAadQuery(baseOptions: ApolloReactHooks.QueryHookOptions) {\r\n return ApolloReactHooks.useQuery(LaunchAppContinueAadDocument, baseOptions);\r\n }\r\nexport function useLaunchAppContinueAadLazyQuery(baseOptions?: ApolloReactHooks.LazyQueryHookOptions) {\r\n return ApolloReactHooks.useLazyQuery(LaunchAppContinueAadDocument, baseOptions);\r\n }\r\nexport type LaunchAppContinueAadQueryHookResult = ReturnType;\r\nexport type LaunchAppContinueAadLazyQueryHookResult = ReturnType;\r\nexport type LaunchAppContinueAadQueryResult = ApolloReactCommon.QueryResult;","import React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\n\r\nimport { App } from \"./app/App\";\r\nimport \"./styles.css\";\r\n\r\nReactDOM.render(, document.getElementById(\"root\"));\r\n","export enum AppLaunchError {\r\n AadStateInvalid = \"aadstateinvalid\",\r\n AccessTokenInvalid = \"accesstokeninvalid\",\r\n AppointmentNotFound = \"appointmentnotfound\",\r\n AuthStateInvalid = \"authstateinvalid\",\r\n CannotAcquireAccessToken = \"cannotacquireaccesstoken\",\r\n CannotCreateMeeting = \"cannotcreatemeeting\",\r\n CannotStampEhrExtension = \"aannotstampehrextension\",\r\n EncounterHasMultipleAppointmentReferences = \"encounterhasmultipleappointmentreferences\",\r\n EncounterHasNoAppointmentReference = \"encounterhasnoappointmentreference\",\r\n InvalidUrlParams = \"invalidurlparams\",\r\n IssuerUrlInvalid = \"issuerurlinvalid\",\r\n Licensenotfound = \"licensenotfound\",\r\n NoTenantConfigsConfigured = \"notenantconfigsconfigured\",\r\n NotVirtualVisit = \"notvirtualvisit\",\r\n PageNotFound = \"pagenotfound\",\r\n PatientInactive = \"patientinactive\",\r\n SessionExpired = \"sessionexpired\",\r\n SubjectNotPatient = \"subjectnotpatient\",\r\n TenantConfigNotFound = \"tenantconfignotfound\",\r\n TenantSuspended = \"tenantsuspended\",\r\n UnAuthenticated = \"unauthenticated\",\r\n UnAuthorized = \"unauthorized\",\r\n UserConfigNotFound = \"userconfignotfound\",\r\n}\r\n","import { environment } from \"../environments/environment\";\r\n\r\nimport { isDevEnv, isCanaryTestEnv } from \"./getEnvironment\";\r\n\r\nexport const createServiceBaseUrl = (region?: string | null) => {\r\n if (!region && (isDevEnv() || isCanaryTestEnv())) {\r\n return `https://${environment.domainName}`;\r\n } else if (!region) {\r\n return `https://${environment.domainName}.com`;\r\n } else {\r\n return `https://${region.trim()}-${environment.domainName}.com`;\r\n }\r\n};\r\n","import { environment } from \"../environments/environment\";\r\n\r\nexport const isDevEnv = () => {\r\n return environment.appEnv === \"development\";\r\n};\r\n\r\nexport const isCanaryTestEnv = () => {\r\n return environment.appEnv === \"canaryTest\";\r\n};\r\n\r\nexport const isProdEnv = () => {\r\n return environment.appEnv === \"production\";\r\n};\r\n","import { Operation } from \"@apollo/client\";\r\n\r\nimport { createServiceBaseUrl } from \"./createServiceBaseUrl\";\r\n\r\nexport const getServiceBaseUrl = (operation: Operation) => {\r\n // Always query from non-regional endpoint.\r\n if (operation.operationName === \"GetAriaIngestionKey\") {\r\n return createServiceBaseUrl();\r\n }\r\n\r\n return (\r\n sessionStorage.getItem(\"user.serviceBaseUrl\") || createServiceBaseUrl()\r\n );\r\n};\r\n","export const paths = {\r\n root: \"/\",\r\n launch: \"/launchApp\",\r\n launchAppContinue: \"/launchAppContinue\",\r\n launchAppContinueAAD: \"/launchAppContinueAAD\",\r\n error: \"/error\",\r\n};\r\n","export enum ScenarioName {\r\n AppLaunch = \"applaunch\",\r\n StartVirtualVisit = \"startvirtualvisit\",\r\n SendVisitLink = \"sendvisitlink\",\r\n CopyVisitLink = \"cpoyvisitlink\",\r\n}\r\n\r\nexport enum ScenarioType {\r\n VirtualVisitAppointment = \"virtualvisitappointment\",\r\n}\r\n\r\nexport enum PanelType {\r\n ConnectedAppointmentView = \"connectedappointmentview\",\r\n GlobalError = \"globalerror\",\r\n AppLaunch = \"applaunch\",\r\n AppLaunchContinue = \"applaunchcontinue\",\r\n AppLaunchAadContinue = \"applaunchaadcontinue\",\r\n}\r\n\r\nexport enum ModuleName {\r\n StartVirtualVisitButton = \"Start Virtual Visit button\",\r\n SendVisitLink = \"Send Visit Link\",\r\n CopyVisitLink = \"Copy Visit Link\",\r\n}\r\n\r\nexport enum ModuleSummary {\r\n StartVirtualVisitButton = \"Start Virtual Visit button click event.\",\r\n SendVisitLink = \"Send Visit Link click event.\",\r\n CopyVisitLink = \"Copy Visit Link click event\",\r\n}\r\n\r\nexport enum RequestResult {\r\n Error = \"error\",\r\n NetworkError = \"networkError\",\r\n}\r\n\r\nexport enum DataBagHttpColumns {\r\n // PascalCase to match Virtual Visits column name.\r\n DataBagCorrelationId = \"DataBag.CorrelationId\",\r\n DataBagErrorType = \"DataBag.errorType\",\r\n DataBagIsRetry = \"DataBag.isRetry\",\r\n DataBagIsSuccessful = \"DataBag.isSuccessful\",\r\n DataBagReason = \"DataBag.reason\",\r\n DataBagServiceUrl = \"DataBag.serviceUrl\",\r\n DataBagUrl = \"DataBag.url\",\r\n DatabBagErrorSubType = \"DataBag.errorSubType\",\r\n}\r\n\r\nexport enum EventType {\r\n NonUiEvent = \"nonuievent\",\r\n}\r\n","import { TELEMETRY_SESSION_KEY } from \"@smb/web-telemetry\";\r\n\r\nexport const getTelemetrySessionId = () => {\r\n return sessionStorage.getItem(TELEMETRY_SESSION_KEY);\r\n};\r\n","import { logger, SeverityLevel } from \"@mwt/web-js-telemetry\";\r\n\r\nexport const trackComponentErrorTrace = (\r\n { message, stack }: ErrorTraceType,\r\n info: React.ErrorInfo\r\n): void => {\r\n // Log error trace\r\n logger.error(message, SeverityLevel.Error, {\r\n componentStack: info.componentStack,\r\n stack: stack ?? \"\",\r\n });\r\n};\r\n","import { logger, NetworkState } from \"@mwt/web-js-telemetry\";\r\nimport dayjs from \"dayjs\";\r\nimport { GraphQLError } from \"graphql\";\r\nimport utc from \"dayjs/plugin/utc\";\r\n\r\nimport { DataBagHttpColumns, EventType } from \"./constants\";\r\n\r\ndayjs.extend(utc);\r\n\r\nexport type trackNonUIEventParams = {\r\n durationInMs: number;\r\n correlationId: string;\r\n operationName: string;\r\n error: GraphQLError | Error;\r\n requestResult: string;\r\n eventStartTime: dayjs.Dayjs;\r\n resultCode: number;\r\n contentLength: string;\r\n url: string;\r\n errorType?: string;\r\n errorSubType?: string;\r\n};\r\n\r\nexport const trackNonUIEvent = ({\r\n durationInMs,\r\n correlationId,\r\n operationName,\r\n error,\r\n requestResult,\r\n eventStartTime,\r\n resultCode,\r\n contentLength,\r\n url,\r\n errorType = \"\",\r\n errorSubType = \"\",\r\n}: trackNonUIEventParams) => {\r\n logger.logHttpRequestEvent(\r\n {\r\n hostname: window.location.hostname,\r\n duration: durationInMs,\r\n requestResult,\r\n resultCode,\r\n contentLength,\r\n requestCreatedTime: dayjs(eventStartTime).utc().format(),\r\n networkState: window.navigator?.onLine\r\n ? NetworkState.Online\r\n : NetworkState.Offline,\r\n databag: {\r\n [DataBagHttpColumns.DataBagIsSuccessful]: false,\r\n [DataBagHttpColumns.DataBagCorrelationId]: correlationId,\r\n [DataBagHttpColumns.DataBagUrl]: operationName,\r\n [DataBagHttpColumns.DataBagReason]: error.message,\r\n [DataBagHttpColumns.DataBagServiceUrl]: url,\r\n [DataBagHttpColumns.DataBagErrorType]: errorType,\r\n [DataBagHttpColumns.DatabBagErrorSubType]: errorSubType,\r\n },\r\n },\r\n EventType.NonUiEvent\r\n );\r\n};\r\n","import { ContextColumnsBase } from \"@mwt/web-js-telemetry\";\r\nimport {\r\n updateLoggingContext,\r\n getBrowserLocale,\r\n CustomContextColumns,\r\n} from \"@smb/web-telemetry\";\r\n\r\nimport { environment } from \"../../environments/environment\";\r\n\r\nexport const updateLoggerContext = () => {\r\n updateLoggingContext(\r\n { [ContextColumnsBase.UserInfoLanguage]: getBrowserLocale() },\r\n {\r\n [CustomContextColumns.AppName]: environment.appName,\r\n [ContextColumnsBase.AppInfoEnvironment]: environment.appEnv,\r\n }\r\n );\r\n};\r\n","export const isInIframe = () => {\r\n try {\r\n return window.self !== window.top;\r\n } catch (e) {\r\n console.error(\"[isInIframe]: \", e);\r\n return true;\r\n }\r\n};\r\n","export interface CernerExternal extends External {\r\n DiscernObjectFactory?: unknown;\r\n}\r\n\r\n/**\r\n * Determine if application is rendered in PowerChart.\r\n * `DiscernObjectFactory` propery is provided by the\r\n * external environment and not controlled by us.\r\n * Reference: https://fhir.cerner.com/smart/#embedded-in-powerchart\r\n * @return null or true/false\r\n */\r\nexport const isInPowerChart = () => {\r\n const windowExternal = window && window.external;\r\n const cernerExternal = (windowExternal as CernerExternal)\r\n ?.DiscernObjectFactory;\r\n return windowExternal && typeof cernerExternal !== \"undefined\";\r\n};\r\n","export * from \"./lib/ErrorPanel\";\r\nexport { ErrorPanelType } from \"./lib/ErrorPanel.types\";\r\n","import { Flex, Image, Text } from \"@fluentui/react-northstar\";\r\n\r\nimport { getColorSchemeImg } from \"../utils/getColorSchemeImg\";\r\nimport { useErrorPanelStyles } from \"./useErrorPanelStyles\";\r\nimport { ErrorPanelProps, ErrorPanelType } from \"./ErrorPanel.types\";\r\n\r\nexport function ErrorPanel({\r\n title,\r\n imgProps,\r\n description,\r\n truncateDescription,\r\n imgColorScheme = \"light\",\r\n type = ErrorPanelType.GenericError,\r\n}: ErrorPanelProps) {\r\n const { container, imgStyles, descriptionStyles, titleStyles } =\r\n useErrorPanelStyles();\r\n\r\n const image = getColorSchemeImg(type, imgColorScheme);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {title && (\r\n {title}}\r\n styles={titleStyles}\r\n weight=\"bold\"\r\n size=\"large\"\r\n data-testid=\"errorPanelTitle\"\r\n />\r\n )}\r\n {description && (\r\n {description}}\r\n data-testid=\"errorPanelDescription\"\r\n />\r\n )}\r\n \r\n );\r\n}\r\n\r\nexport default ErrorPanel;\r\n","import { ImageProps } from \"@fluentui/react-northstar\";\r\n\r\nexport interface ErrorPanelProps {\r\n description?: string;\r\n title?: string;\r\n type?: ErrorPanelType;\r\n truncateDescription?: boolean;\r\n imgColorScheme?: ErrorImgColorScheme;\r\n imgProps?: Omit;\r\n}\r\n\r\nexport enum ErrorPanelType {\r\n // Any user or tenant has access related errors.\r\n AccessError = \"accessError\",\r\n // Any user or tenant is blocked from viewing a screen.\r\n BlockedError = \"blockedError\",\r\n // Any external system or service error.\r\n ExternalError = \"externalError\",\r\n // Any other errors or internal service errors.\r\n GenericError = \"genericError\",\r\n}\r\n\r\nexport type ErrorImgColorScheme = \"dark\" | \"light\";\r\n","import { useFluentContext } from \"@fluentui/react-northstar\";\r\nimport { ICSSInJSStyle } from \"@fluentui/react-northstar\";\r\n\r\ninterface ErrorPanelStyles {\r\n imgStyles: ICSSInJSStyle;\r\n container: ICSSInJSStyle;\r\n descriptionStyles: ICSSInJSStyle;\r\n titleStyles: ICSSInJSStyle;\r\n}\r\n\r\nexport const useErrorPanelStyles = (): ErrorPanelStyles => {\r\n const { theme } = useFluentContext();\r\n return {\r\n imgStyles: {\r\n width: \"120px\",\r\n },\r\n container: {\r\n width: \"100vw\",\r\n height: \"100vh\",\r\n backgroundColor: theme.siteVariables.colorScheme.default.background4,\r\n },\r\n descriptionStyles: {\r\n maxWidth: \"462px\",\r\n textAlign: \"center\",\r\n },\r\n titleStyles: {\r\n textAlign: \"center\",\r\n },\r\n };\r\n};\r\n","import { ErrorPanelType } from \"../lib/ErrorPanel.types\";\r\nimport { titleCaseWord } from \"./titleCaseWord\";\r\n\r\nexport function getColorSchemeImg(\r\n errorType: ErrorPanelType,\r\n imgColorScheme: string\r\n): string {\r\n switch (errorType) {\r\n case ErrorPanelType.GenericError:\r\n return `${errorType}${titleCaseWord(imgColorScheme)}`;\r\n default:\r\n return errorType;\r\n }\r\n}\r\n","export function titleCaseWord(word: string): string {\r\n if (!word) return word;\r\n return word[0].toUpperCase() + word.substr(1).toLowerCase();\r\n}\r\n","export * from \"./telemetry-context/TelemetryContext\";\r\nexport * from \"./telemetry-context/TelemetryProvider\";\r\nexport * from \"./telemetry-logger/logger\";\r\nexport * from \"./page-load-telemetry/usePageLoadTelemetryTracker\";\r\nexport * from \"./page-load-telemetry/usePageLoadTimeTracker\";\r\nexport * from \"./session-context/SessionProvider\";\r\nexport * from \"./utils/languageMapper\";\r\nexport * from \"./utils/getBrowserLocale\";\r\nexport * from \"./utils/constants\";\r\nexport * from \"./types\";\r\n","import { logger } from \"@mwt/web-js-telemetry\";\r\nimport { useEffect, useRef } from \"react\";\r\n\r\nimport { PerformanceDataBagColumns } from \"..\";\r\n\r\ninterface LargestContentfulPaint extends PerformanceEntry {\r\n /**\r\n * The element that is the current largest contentful paint.\r\n */\r\n element?: HTMLElement;\r\n /**\r\n * The time the element was rendered to the screen.\r\n * May not be available if the element is a cross-origin image\r\n * loaded without the Timing-Allow-Origin header.\r\n */\r\n renderTime?: number;\r\n // The id of the element. This property returns an empty string when there is no id.\r\n id?: string;\r\n}\r\n\r\n// IE 11. Reference: https://developer.mozilla.org/en-US/docs/Web/API/PerformanceNavigation/type\r\nconst entryType = {\r\n 0: \"TYPE_NAVIGATE\",\r\n 1: \"TYPE_RELOAD\",\r\n 2: \"TYPE_BACK_FORWARD\",\r\n 255: \"TYPE_RESERVED\",\r\n};\r\n\r\nexport const usePageLoadTelemetryTracker = (eventType?: string): void => {\r\n const componentFirstRender = useRef(true);\r\n\r\n useEffect(() => {\r\n if (componentFirstRender.current) {\r\n if (window.performance) {\r\n const performance = window.performance;\r\n const fcpEntry = performance?.getEntriesByName(\r\n \"first-contentful-paint\"\r\n )?.[0];\r\n const fpEntry = performance?.getEntriesByName(\"first-paint\")?.[0];\r\n\r\n // Get Navigation Timing entry.\r\n const navigationEntry = performance?.getEntriesByType(\r\n \"navigation\"\r\n )?.[0] as unknown as PerformanceNavigationTiming;\r\n\r\n const navigationType =\r\n typeof navigationEntry?.type === \"number\"\r\n ? entryType[navigationEntry?.type]\r\n : navigationEntry?.type;\r\n\r\n /**\r\n * A number that is the size (in octets) received from the fetch (HTTP or cache)\r\n * of the message body, after removing any applied content-codings.\r\n */\r\n const contentLength = navigationEntry?.decodedBodySize ?? 0;\r\n\r\n /**\r\n * Time it took to render the page.\r\n * This is obtained by starting with the time at which loading of\r\n * the DOM and its dependencies is complete (domComplete)\r\n */\r\n const renderTime = navigationEntry?.domComplete;\r\n\r\n /**\r\n * Returns a timestamp that is the difference between the\r\n * `PerformanceNavigationTiming.loadEventEnd`\r\n * and PerformanceEntry.startTime properties.\r\n */\r\n const duration = navigationEntry?.duration;\r\n\r\n // Returns the timestamp when the first contentful paint occurred.\r\n const fcp = fcpEntry?.startTime;\r\n // Returns the timestamp when the first paint occurred.\r\n const fp = fpEntry?.startTime;\r\n const hostname = window.location.hostname;\r\n const uri = window.location.href;\r\n const name = window.location.pathname;\r\n const refUri = document.referrer;\r\n\r\n try {\r\n new PerformanceObserver((entryList, observer) => {\r\n const lcpEntry = entryList?.getEntriesByType(\r\n \"largest-contentful-paint\"\r\n )?.[0] as LargestContentfulPaint;\r\n\r\n logger.logPageView(\r\n {\r\n name,\r\n uri,\r\n refUri,\r\n contentLength,\r\n hostname,\r\n duration,\r\n fcp,\r\n databag: {\r\n [PerformanceDataBagColumns.DataBagFP]: fp,\r\n [PerformanceDataBagColumns.DataBagRenderTime]: renderTime,\r\n [PerformanceDataBagColumns.DataBagNavigationType]:\r\n navigationType,\r\n [PerformanceDataBagColumns.DataBagLCPStartTime]:\r\n lcpEntry?.startTime,\r\n [PerformanceDataBagColumns.DataBagElement]:\r\n lcpEntry?.element?.className ?? \"\",\r\n [PerformanceDataBagColumns.DataBagLCPRenderTime]:\r\n lcpEntry?.renderTime ?? \"\",\r\n },\r\n },\r\n eventType\r\n );\r\n\r\n // Stop observing on receiving the entryList once.\r\n observer.disconnect();\r\n }).observe({ type: \"largest-contentful-paint\", buffered: true });\r\n } catch (_) {\r\n // IE 11\r\n logger.logPageView(\r\n {\r\n name,\r\n uri,\r\n refUri,\r\n contentLength,\r\n hostname,\r\n duration,\r\n fcp,\r\n databag: {\r\n [PerformanceDataBagColumns.DataBagFP]: fp,\r\n [PerformanceDataBagColumns.DataBagRenderTime]: renderTime,\r\n [PerformanceDataBagColumns.DataBagNavigationType]:\r\n navigationType,\r\n },\r\n },\r\n eventType\r\n );\r\n }\r\n } else {\r\n //no-op\r\n }\r\n componentFirstRender.current = false;\r\n }\r\n }, [eventType]);\r\n};\r\n","import { useEffect, useRef } from \"react\";\r\nimport { logger } from \"@mwt/web-js-telemetry\";\r\n\r\nimport { EventType, PageName } from \"../types\";\r\n\r\n/**\r\n * This hook takes in two args namely `name` of the loading page and `isLoading`\r\n * which is a boolean flag for checking if the component has loaded.\r\n * By default the loading starts when the component starts rendering for the first time\r\n * and occurs only for once for component lifetime.\r\n * The page loading ends when the `isLoading` flag turns false and calculates the metric such\r\n * as duration, first-contentful-paint and other navigation information of the page using Performance\r\n * timing API and sends data to telemetry.\r\n *\r\n * @param {string} [name] Name of page for which the metrics is being logged.\r\n * @param {boolean} [isLoading] Flag for toggling isLoading of the pages.\r\n */\r\nexport const usePageLoadTimeTracker = (\r\n name: PageName,\r\n isLoading?: boolean\r\n): void => {\r\n const componentFirstRender = useRef(true);\r\n\r\n useEffect(() => {\r\n if (componentFirstRender.current && isLoading === false) {\r\n // nothing to test if performance isnt supported\r\n /* istanbul ignore else */\r\n if (window.performance) {\r\n const performance = window.performance;\r\n const performanceEntry = performance?.getEntriesByName(\r\n \"first-contentful-paint\"\r\n )?.[0];\r\n const fcp = performanceEntry?.startTime;\r\n const duration = performance.now();\r\n\r\n // Get Navigation Timing entry.\r\n const navigationEntry = performance?.getEntriesByType(\r\n \"navigation\"\r\n )?.[0] as unknown as PerformanceNavigationTiming;\r\n const contentLength = navigationEntry?.decodedBodySize;\r\n const hostname = window.location.hostname;\r\n const uri = window.location.pathname;\r\n const refUri = document.referrer;\r\n logger.logPageView(\r\n {\r\n name,\r\n uri,\r\n refUri,\r\n contentLength,\r\n hostname,\r\n duration,\r\n fcp,\r\n },\r\n // co-locate data with Virtual Visits. Logs all events to nonuievents.\r\n EventType.NonUiEvent\r\n );\r\n } else {\r\n logger.log(\"Performance timing isn't supported.\");\r\n }\r\n componentFirstRender.current = false;\r\n }\r\n });\r\n};\r\n","import { createContext } from \"react\";\r\n\r\nimport { SessionContextProviderProps } from \"./SessionContext.types\";\r\n\r\nexport const SessionContext = createContext({});\r\n","import { ContextColumnsBase } from \"@mwt/web-js-telemetry\";\r\nimport { useCallback, useContext, useEffect, useMemo, useState } from \"react\";\r\nimport { v4 as uuid } from \"uuid\";\r\n\r\nimport { updateLoggingContext } from \"../telemetry-logger/logger\";\r\nimport { TELEMETRY_SESSION_KEY } from \"../utils/constants\";\r\n\r\nimport { SessionContext } from \"./SessionContext\";\r\nimport { SessionContextProviderProps } from \"./SessionContext.types\";\r\n\r\nexport const SessionContextProvider: React.FC<\r\n React.PropsWithChildren\r\n> = ({ children }) => {\r\n /**\r\n * Session ID is a constant that we read from the sessionStorage.\r\n * This allows us to correlate a user's session in our logs.\r\n * This is used to form the correlation-id string, and add it as a property\r\n * to all telemetry logs inside of logger.\r\n * We also persist this within a session per origin per tab of the browser.\r\n */\r\n const [sesId, setSesId] = useState(\r\n sessionStorage.getItem(TELEMETRY_SESSION_KEY)\r\n );\r\n\r\n const setSessionId = useCallback((sessionId: any) => {\r\n setSesId(sessionId);\r\n sessionStorage.setItem(TELEMETRY_SESSION_KEY, sessionId);\r\n }, []);\r\n\r\n // `useMemo` is used for preventing the value reference to update on subsequent re-renders.\r\n const value = useMemo(\r\n () => ({ sessionId: sesId, setSessionId }),\r\n [sesId, setSessionId]\r\n );\r\n\r\n /**\r\n * Sets a new `sesId` if it doesn't exist on mount.\r\n */\r\n useEffect(() => {\r\n if (!sesId) {\r\n const initSessionId = uuid();\r\n setSessionId(initSessionId);\r\n }\r\n }, []);\r\n\r\n // This effect updates the sessionId logging context.\r\n useEffect(() => {\r\n if (sesId) {\r\n updateLoggingContext({ [ContextColumnsBase.SessionId]: sesId });\r\n }\r\n }, [sesId]);\r\n\r\n return (\r\n {children}\r\n );\r\n};\r\n\r\nexport const useSessionContext = () => useContext(SessionContext);\r\n","import { createContext } from \"react\";\r\nimport { AriaTelemetryClient } from \"@mwt/web-js-telemetry\";\r\n\r\nexport const TelemetryContext = createContext<\r\n AriaTelemetryClient | undefined\r\n>(undefined);\r\n","import { Configuration } from \"@mwt/web-js-telemetry\";\r\n\r\nexport const telemetryClientConfig: Configuration = {\r\n instrumentationKey: undefined,\r\n channelConfiguration: {\r\n // Post channel configuration\r\n eventsLimitInMem: 50,\r\n enableCompoundKey: true,\r\n },\r\n webAnalyticsConfiguration: {\r\n // Web Analytics Plugin configuration\r\n autoCapture: {\r\n scroll: false,\r\n pageView: false,\r\n onLoad: false,\r\n onUnload: false,\r\n click: false,\r\n resize: false,\r\n jsError: false,\r\n },\r\n },\r\n};\r\n\r\n// Its recommended to use a new object when doing a update\r\nexport const telemetryClientForReConfig: Configuration = {\r\n instrumentationKey: undefined,\r\n channelConfiguration: {\r\n // Post channel configuration\r\n eventsLimitInMem: 50,\r\n enableCompoundKey: true,\r\n },\r\n webAnalyticsConfiguration: {\r\n // Web Analytics Plugin configuration\r\n autoCapture: {\r\n scroll: false,\r\n pageView: false,\r\n onLoad: false,\r\n onUnload: false,\r\n click: false,\r\n resize: false,\r\n jsError: false,\r\n },\r\n },\r\n};\r\n","import {\r\n AriaTelemetryClient,\r\n AriaTo1DSContextUsed,\r\n CustomContext,\r\n initializeTelemetryClient,\r\n logger,\r\n LoggingContext,\r\n updateToCompliantAriaClient,\r\n} from \"@mwt/web-js-telemetry\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { createContainer, useContainer } from \"unstated-next\";\r\nimport {\r\n ApplicationInsights,\r\n IExtendedConfiguration,\r\n} from \"@microsoft/1ds-analytics-web-js\";\r\nimport { DataContexts } from \"@microsoft/1ds-privacy-guard-js\";\r\n\r\nimport { CustomContextProperties } from \"../types\";\r\nimport {\r\n telemetryClientConfig,\r\n telemetryClientForReConfig,\r\n} from \"../telemetry-context/TelemetryProvider\";\r\n\r\nexport const loggingContext: LoggingContext = {};\r\nlogger.initialize(loggingContext);\r\n\r\nexport const updateLoggingContext = (\r\n commonProperties?: Partial,\r\n customProperties?: Partial\r\n) => {\r\n // Nothing else to do when this param not provided\r\n /* istanbul ignore else */\r\n if (commonProperties) {\r\n loggingContext.commonProperties = {\r\n ...loggingContext.commonProperties,\r\n ...commonProperties,\r\n };\r\n }\r\n\r\n // Nothing else to do when this param not provided\r\n /* istanbul ignore else */\r\n if (customProperties) {\r\n loggingContext.customProperties = {\r\n ...loggingContext.customProperties,\r\n ...customProperties,\r\n } as CustomContext;\r\n }\r\n\r\n logger.updateContext(loggingContext);\r\n};\r\n\r\nconst useTelemetryContextHook = () => {\r\n const [isCompliant, setIsCompliant] = useState(false);\r\n const [ariaTelemetryClient, setAriaTelemetryClient] = useState<\r\n AriaTelemetryClient | undefined\r\n >();\r\n const [ingestionKey, setIngestionKey] = useState();\r\n const [tenantId, setTenantId] = useState();\r\n const [logToConsole, setLogToConsole] = useState(false);\r\n const privacyGuardUsername = \"EHR Client\";\r\n const privacyGuardUserAlias = \"EHR\";\r\n\r\n const dataCtx: DataContexts = {\r\n UserName: privacyGuardUsername,\r\n UserAlias: privacyGuardUserAlias,\r\n MachineIds: [],\r\n OutOfScopeIdentifiers: [],\r\n };\r\n\r\n const coreConfig: IExtendedConfiguration = {\r\n instrumentationKey: ingestionKey,\r\n extensionConfig: {\r\n context: dataCtx,\r\n notificationEventName: \"EHREventInfoName.PrivacyConcern\",\r\n summaryEventName: \"ehr-client-privacy-guard-summary\",\r\n useEventFieldPrefix: true,\r\n },\r\n };\r\n\r\n const appInsights: ApplicationInsights = new ApplicationInsights();\r\n appInsights.initialize(coreConfig, []);\r\n\r\n useEffect(() => {\r\n if (ingestionKey && !ariaTelemetryClient) {\r\n const ariaClient = new AriaTelemetryClient({\r\n ...telemetryClientConfig,\r\n instrumentationKey: ingestionKey,\r\n });\r\n initializeTelemetryClient(ariaClient, logToConsole);\r\n setAriaTelemetryClient(ariaClient);\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [ingestionKey]);\r\n\r\n useEffect(() => {\r\n if (ariaTelemetryClient && tenantId && !isCompliant) {\r\n ariaTelemetryClient\r\n .getCompliantAriaClient(tenantId, {\r\n ...telemetryClientForReConfig,\r\n instrumentationKey: ingestionKey,\r\n })\r\n .then(\r\n (client: AriaTelemetryClient) => {\r\n updateToCompliantAriaClient(client);\r\n setAriaTelemetryClient(client);\r\n setIsCompliant(true);\r\n },\r\n (reason: string) => {\r\n // rejection\r\n if (logToConsole) {\r\n console.log(\r\n `There has been problems when trying to update to compliant aria client. Failure reason: ${reason}`\r\n );\r\n }\r\n setIsCompliant(false);\r\n }\r\n );\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [tenantId]);\r\n\r\n return {\r\n ariaTelemetryClient,\r\n setTelementryIngestionKey: setIngestionKey,\r\n setTelemetryTenantId: setTenantId,\r\n setLogTelemetryToConsole: setLogToConsole,\r\n };\r\n};\r\n\r\nconst TelemetryContext = createContainer(useTelemetryContextHook);\r\n\r\nexport const TelemetryContextProvider = TelemetryContext.Provider;\r\n\r\nexport const useTelemetryContext = () => useContainer(TelemetryContext);\r\n","// Note: Keep the enums Alphabetically Sorted\r\nimport {\r\n CommonAriaTo1DSPropertiesAvailable,\r\n CommonNorthStarUserBiProperties,\r\n ContextColumnsBase,\r\n PanelActionOutcome,\r\n} from \"@mwt/web-js-telemetry\";\r\n/**\r\n * The user action logged for BI purpose.\r\n */\r\nexport enum ActionScenario {\r\n ApproveIssueUrl = \"approveIssueUrl\",\r\n BannerAlert = \"bannerAlert\",\r\n CheckSmsPrivacyConsent = \"checkSmsPrivacyConsent\",\r\n CopyIntegrationRecord = \"copyIntegrationRecord\",\r\n CopyPatientJoinLink = \"copyPatientJoinLink\",\r\n CopyProviderJoinLink = \"copyProviderJoinLink\",\r\n StartInLobbyChatButtonClicked = \"startInLobbyChatButtonClicked\",\r\n DownloadHL7Certificate = \"downloadHL7Certificate\",\r\n EpicLogin = \"epicLogin\",\r\n FHIRUrlSelected = \"appointmentsFHIRSelected\",\r\n GeneratePhoneNumber = \"generatePhoneNumber\",\r\n IntegrationRecordMenu = \"integrationRecordMenu\",\r\n JoinButtonClicked = \"joinButtonClicked\",\r\n LinkPhoneNumber = \"linkPhoneNumber\",\r\n RedirectToMeetingLaunchUrl = \"redirectToMeetingLaunchUrl\",\r\n RedirectToTeamsUserSignIn = \"redirectToTeamsUserSignIn\",\r\n RemoveHL7Certificate = \"removeHL7Certificate\",\r\n RemoveIntegrationRecord = \"removeIntegrationRecord\",\r\n RemovePhoneNumber = \"removePhoneNumber\",\r\n RetryTeamsMeetingLaunch = \"retryTeamsMeetingLaunch\",\r\n SaveSmsNotificationSettings = \"saveSmsNotificationSettings\",\r\n SelectVendor = \"selectVendor\",\r\n SignOut = \"signOut\",\r\n SubmitIssuerUrl = \"submitIssuerUrl\",\r\n Test = \"test\",\r\n UncheckSmsPrivacyConsent = \"uncheckSmsPrivacyConsent\",\r\n UnlinkPhoneNumber = \"unlinkPhoneNumber\",\r\n UpdateIssuerUrl = \"updateIssuerUrl\",\r\n UploadHL7Certificate = \"uploadHL7Certificate\",\r\n}\r\n\r\nexport enum ActionScenarioType {\r\n ConfigurationWizard = \"ehrConfigurationWizard\",\r\n EHRQueue = \"ehrQueue\",\r\n PatientLobby = \"ehrPatientLobby\",\r\n PractitionerSignIn = \"ehrPractionerSignIn\",\r\n Test = \"ehrTest\",\r\n}\r\n\r\nexport enum PageName {\r\n AppointmentView = \"appointmentView\",\r\n ConfigWizard = \"configWizard\",\r\n DirectJoin = \"directJoin\",\r\n PatientLobby = \"patientLobby\",\r\n PractitionerSignIn = \"practitionerSignIn\",\r\n}\r\n\r\nexport enum PanelType {\r\n ConfigurationWizard = \"configurationWizard\",\r\n ConfigurationWizardError = \"configurationWizardError\",\r\n EHRQueue = \"ehrQueue\",\r\n Login = \"login\",\r\n PageHeader = \"pageHeader\",\r\n PatientLobby = \"patientLobby\",\r\n PatientLobbyError = \"patientLobbyError\",\r\n PractitionerSignIn = \"practitionerSignIn\",\r\n SilentLogin = \"silentLogin\",\r\n Test = \"test\",\r\n}\r\n\r\nexport enum DataBagStatus {\r\n Failure = \"failure\",\r\n Success = \"success\",\r\n}\r\n\r\nexport enum EventType {\r\n NonUiEvent = \"nonuievent\",\r\n Scenario = \"scenario\",\r\n Trace = \"trace\",\r\n UserBI = \"userbi\",\r\n performance = \"performance\",\r\n}\r\n\r\nexport enum CustomContextColumns {\r\n AppId = \"App.Id\",\r\n AppName = \"App.Name\",\r\n TenantId = \"Tenant.Id\",\r\n}\r\n\r\nexport const ContextColumns = {\r\n ...ContextColumnsBase,\r\n ...CustomContextColumns,\r\n};\r\n\r\nenum ExtendedPanelActionOutcome {\r\n OpenModal = \"openModal\",\r\n}\r\n\r\nexport const ExtendedPanelActionOutcomeType = {\r\n ...PanelActionOutcome,\r\n ...ExtendedPanelActionOutcome,\r\n};\r\n\r\n/**\r\n * Name of module clicked.\r\n * Note: Keep the enums Alphabetically Sorted\r\n */\r\nexport enum ModuleName {\r\n AppointmentViewFHIRUrlSelected = \"appointmentsFHIRSelected\",\r\n ApproveIssueUrlButton = \"approveIssueUrlButton\",\r\n CancelSmsNotificationSettingsButton = \"cancelSmsNotificationSettingsButton\",\r\n CloseGeneratePhoneNumberButton = \"closeGeneratePhoneNumberButton\",\r\n CloseSelectVendorButton = \"closeSelectVendorButton\",\r\n CopyIntegrationRecordButton = \"copyIntegrationRecordButton\",\r\n CopyPatientJoinLinkButton = \"copyPatientJoinLinkButton\",\r\n CopyProviderJoinLinkButton = \"copyProviderJoinLinkButton\",\r\n DismissBannerAlertButton = \"dismissBannerAlertButton\",\r\n DownloadHL7CertificateButton = \"downloadHL7CertificateButton\",\r\n EpicLoginButton = \"epicLoginButton\",\r\n GeneratePhoneNumberButton = \"generatePhoneNumberButton\",\r\n IntegrationRecordMenuItem = \"integrationRecordMenuItem\",\r\n JoinAppointmentButton = \"joinAppointmentButton\",\r\n LinkPhoneNumberButton = \"linkPhoneNumberButton\",\r\n LobbyChatButton = \"LobbyChatButton\",\r\n OpenGeneratePhoneNumberButton = \"openGeneratePhoneNumberButton\",\r\n OpenSelectVendorButton = \"openSelectVendorButton\",\r\n OpenSmsNotificationSettingsButton = \"openSmsNotificationSettingsButton\",\r\n PatientLobbyRetryButton = \"patientLobbyRetryButton\",\r\n PractitionerSignInButton = \"practitionerSignInButton\",\r\n RemoveHL7CertificateButton = \"removeHL7CertificateButton\",\r\n RemoveIntegrationRecordButton = \"removeIntegrationRecordButton\",\r\n RemovePhoneNumberButton = \"removePhoneNumberButton\",\r\n SaveSmsNotificationSettingsButton = \"saveSmsNotificationSettingsButton\",\r\n SelectVendorButton = \"selectVendorButton\",\r\n SelectVendorDropdown = \"selectVendorDropdown\",\r\n SignOutButton = \"signOutButton\",\r\n SmsPrivacyConsentCheckbox = \"smsPrivacyConsentCheckbox\",\r\n SubmitIssuerUrlButton = \"submitIssuerUrlButton\",\r\n Test = \"test\",\r\n UnlinkPhoneNumberButton = \"unlinkPhoneNumberButton\",\r\n UploadHL7CertificateButton = \"uploadHL7CertificateButton\",\r\n}\r\n\r\n/**\r\n * Summary of the module's content. Should not include any channel name or team name.\r\n * Note: Keep the enums Alphabetically Sorted\r\n */\r\nexport enum ModuleSummary {\r\n AppointmentViewFHIRUrlSelected = \"Appointment View loaded for a FHIR URL.\",\r\n ApproveIssueUrlButton = \"Button to approve issuer URL and updating it in the tenant mapping.\",\r\n CancelSmsNotificationSettingsButton = \"Button to cancel changes to SMS notification settings\",\r\n CloseGeneratePhoneNumberButton = \"Button to close the generate phone number dialog\",\r\n CloseSelectVendorButton = \"Button to close the select vendor dialog\",\r\n CopyIntegrationRecordButton = \"Button to copy integration record context fields.\",\r\n CopyPatientJoinLinkButton = \"Button to copy the join link for a patient, and create if none exists.\",\r\n CopyProviderJoinLinkButton = \"Button to copy the join link for a provider, and create if none exists.\",\r\n DismissBannerAlertButton = \"Button to dismiss the alert.\",\r\n DownloadHL7CertificateButton = \"Button to download epic HL7 certificate.\",\r\n EpicLoginButton = \"Button to sign in as Epic user.\",\r\n GeneratePhoneNumberButton = \"Button to generate SMS number for a tenant to link to an integration record.\",\r\n IntegrationRecordMenuItem = \"Menu item to view integration record.\",\r\n JoinAppointmentButton = \"Button for provider to join meeting from appointment view.\",\r\n LinkPhoneNumberButton = \"Button to link a phone number from an integration record\",\r\n LobbyChatButton = \"Button to open a lobby chat, creating one if none yet exists.\",\r\n OpenGeneratePhoneNumberButton = \"Button to open the generate phone number dialog\",\r\n OpenSelectVendorButton = \"Button to open the select vendor dialog\",\r\n OpenSmsNotificationSettingsButton = \"Button to open the SMS notification settings panel\",\r\n PatientLobbyRetryButton = \"Retry button for polling launch meeting URL in patient lobby.\",\r\n PractitionerSignInButton = \"Sign button on the practioner sign in lobby page.\",\r\n RemoveHL7CertificateButton = \"Button to remove epic HL7 certificate.\",\r\n RemoveIntegrationRecordButton = \"Remove integration record button.\",\r\n RemovePhoneNumberButton = \"Button to remove SMS number for an integration record.\",\r\n SaveSmsNotificationSettingsButton = \"Button to save SMS notification settings\",\r\n SelectVendorButton = \"Button to confirm changing which vendor configuration is selected\",\r\n SelectVendorDropdown = \"Dropdown that initializes the configuration process for the selected vendor\",\r\n SignOutButton = \"Button to sign out from EHR connector app.\",\r\n SmsPrivacyConsentCheckbox = \"Checkbox for giving privacy consent for the SMS feature\",\r\n SubmitIssuerUrlButton = \"Button to submit issuer URL for creating tenant mapping.\",\r\n UnlinkPhoneNumberButton = \"Button to unlink a phone number from an integration record\",\r\n UploadHL7CertificateButton = \"Button to upload epic HL7 certificate.\",\r\n}\r\n\r\nexport enum TelemetryScenarioName {\r\n PageLoad = \"pageLoad\",\r\n Test = \"test\",\r\n}\r\n\r\nexport enum TelemetryErrorStatus {\r\n Error = \"error\",\r\n NetworkError = \"networkError\",\r\n}\r\n\r\nexport enum DataBagHttpColumns {\r\n // PascalCase to match Virtual Visits column name.\r\n DataBagCorrelationId = \"DataBag.CorrelationId\",\r\n DataBagErrorType = \"DataBag.errorType\",\r\n DataBagIsRetry = \"DataBag.isRetry\",\r\n DataBagIsSuccessful = \"DataBag.isSuccessful\",\r\n DataBagReason = \"DataBag.reason\",\r\n DataBagServiceUrl = \"DataBag.serviceUrl\",\r\n DataBagUrl = \"DataBag.url\",\r\n DatabBagErrorSubType = \"DataBag.errorSubType\",\r\n}\r\n\r\nexport enum DataBagPageViewColumns {\r\n DataBagFCP = \"DataBag.fcp\",\r\n DataBagRefUri = \"DataBag.refUri\",\r\n DataBagUrl = \"DataBag.url\",\r\n}\r\n\r\nexport interface CustomContextProperties\r\n extends Omit<\r\n CommonNorthStarUserBiProperties,\r\n CommonAriaTo1DSPropertiesAvailable\r\n > {\r\n [CustomContextColumns.AppId]: string;\r\n [CustomContextColumns.AppName]: string;\r\n [CustomContextColumns.TenantId]: string;\r\n}\r\nexport enum PerformanceDataBagColumns {\r\n DataBagFP = \"DataBag.fp\",\r\n DataBagRenderTime = \"DataBag.renderTime\",\r\n DataBagNavigationType = \"DataBag.navigationType\",\r\n DataBagLCPStartTime = \"DataBag.lcpStartTime\",\r\n DataBagLCPRenderTime = \"DataBag.lcpRenderTime\",\r\n DataBagElement = \"DataBag.element\",\r\n}\r\n","export const TELEMETRY_SESSION_KEY = \"telemetry.sessionId\";\r\n","import { languageMapper } from \"./languageMapper\";\r\nexport const getBrowserLocale = (): string => {\r\n const language = window.navigator.languages\r\n ? window.navigator.languages[0]\r\n : window.navigator.language;\r\n return languageMapper(language);\r\n};\r\n","export const languageMapper = (language: string | undefined): string => {\r\n const fallbackLanguage = \"en-US\";\r\n let formattedLanguage: string = fallbackLanguage;\r\n language = language ?? fallbackLanguage;\r\n\r\n // Mapper to default languages detected with no regions\r\n const mapper: {\r\n [key: string]: string;\r\n } = {\r\n da: \"da-DK\",\r\n de: \"de-DE\",\r\n en: \"en-US\",\r\n es: \"es-ES\",\r\n fi: \"fi-FI\",\r\n fr: \"fr-FR\",\r\n it: \"it-IT\",\r\n ja: \"ja-JP\",\r\n ko: \"ko-KR\",\r\n no: \"nb-NO\", // Norwegian ISO 639-1 is \"no\" which differs from the first two characters of its country-specific codes\r\n nl: \"nl-NL\",\r\n pt: \"pt-PT\",\r\n ru: \"ru-RU\",\r\n sv: \"sv-SE\",\r\n tr: \"tr-TR\",\r\n zh: \"zh-TW\",\r\n };\r\n\r\n // List of supported languages\r\n const supportedLangs: string[] = [\r\n \"da-DK\",\r\n \"de-DE\",\r\n \"en-GB\",\r\n \"en-US\",\r\n \"es-ES\",\r\n \"fi-FI\",\r\n \"fr-CA\",\r\n \"fr-FR\",\r\n \"it-IT\",\r\n \"ja-JP\",\r\n \"ko-KR\",\r\n \"nb-NO\",\r\n \"nl-NL\",\r\n \"pt-BR\",\r\n \"pt-PT\",\r\n \"ru-RU\",\r\n \"sv-SE\",\r\n \"tr-TR\",\r\n \"zh-CN\",\r\n \"zh-TW\",\r\n ];\r\n\r\n if (!language.includes(\"-\")) {\r\n formattedLanguage = mapper[language];\r\n } else {\r\n if (!supportedLangs.includes(language)) {\r\n const twoCharacterFormat = language.substring(0, 2);\r\n\r\n if (mapper[twoCharacterFormat]) {\r\n formattedLanguage = mapper[twoCharacterFormat];\r\n }\r\n } else {\r\n formattedLanguage = language;\r\n }\r\n }\r\n\r\n return formattedLanguage;\r\n};\r\n","// extracted by mini-css-extract-plugin\nexport {};"],"names":["ApolloLink","environment","getServiceBaseUrl","getAuthLink","operation","forward","setContext","_ref","_ref$headers","headers","serviceBaseUrl","Object","assign","uri","basePath","onError","dayjs","trackNonUIEvent","RequestResult","AppLaunchError","paths","getErrorLink","_responseObject$heade","_responseObject$url","graphQLErrors","networkError","operationName","context","getContext","eventStartTime","endTime","durationInMs","diff","requestHeaders","correlationId","responseObject","response","resultCode","statusCode","contentLength","get","url","_iterator","_createForOfIteratorHelperLoose","_step","done","_graphqlError$extensi","_graphqlError$extensi2","graphqlError","value","errorType","extensions","data","errorSubType","error","requestResult","Error","NetworkError","find","_ref2","handleError","_data$errorSubType","_data$errorSubType2","_data$errorSubType3","_data$errorSubType4","_data$errorSubType5","_data$errorSubType6","_data$errorSubType7","_data$errorSubType8","_data$errorSubType9","_data$errorSubType10","_data$errorSubType11","_data$errorSubType12","_data$errorSubType13","_data$errorSubType14","_data$errorSubType15","_data$errorSubType16","_data$errorSubType17","_data$errorSubType18","_data$errorSubType19","_data$errorSubType20","toLowerCase","AuthStateInvalid","UnAuthorized","UnAuthenticated","AccessTokenInvalid","AadStateInvalid","CannotStampEhrExtension","CannotAcquireAccessToken","SessionExpired","TenantConfigNotFound","NoTenantConfigsConfigured","EncounterHasMultipleAppointmentReferences","EncounterHasNoAppointmentReference","SubjectNotPatient","TenantSuspended","Licensenotfound","UserConfigNotFound","CannotCreateMeeting","NotVirtualVisit","PatientInactive","AppointmentNotFound","_data$errorSubType21","window","location","replace","HttpLink","createServiceBaseUrl","getHttpLink","credentials","logger","HttpColumns","utc","DataBagHttpColumns","EventType","getTelemetrySessionId","extend","getTelemetryLink","map","_databag","_logger$logHttpReques","requestEventStartTime","elasedTime","status","isSuccessful","logHttpRequestEvent","Hostname","hostname","Duration","ResultCode","ContentLength","RequestCreatedTime","format","databag","DataBagIsSuccessful","DataBagCorrelationId","DataBagUrl","DataBagServiceUrl","NonUiEvent","ApolloProvider","useGetApolloClient","jsx","_jsx","RegionalApolloProvider","children","client","getRegionalEndpoint","setRegionByBaseUrl","region","sessionStorage","getItem","setItem","setServiceBaseUrl","ApolloClient","InMemoryCache","from","useRef","cache","clientRef","link","name","queryDeduplication","defaultOptions","watchQuery","fetchPolicy","current","appStyles","width","Provider","ThemeProvider","teamsV2Theme","BrowserRouter","Suspense","useEffect","SessionContextProvider","TelemetryContextProvider","AppLaunchErrorBoundary","AuthProvider","AppLoader","isInIframe","isInPowerChart","InstrumentationKeyProvider","updateLoggerContext","isProdEnv","RouteSwitcher","App","theme","styles","as","fallback","lazy","useTranslation","Route","Routes","jsxs","_jsxs","AppLaunch","AppLaunchContinue","AppLaunchAadContinue","ConnectedAppointmentView","GlobalError","_useTranslation","t","Launch","document","title","LaunchAppContinue","LaunchAppContinueAAD","Root","path","launch","element","launchAppContinue","launchAppContinueAAD","Flex","Loader","fill","vAlign","hAlign","React","AuthContext","createContext","authSession","isUserLoggedIn","setAuthSession","useAuth","auth","useAuthContext","useContext","useCallback","useState","_sessionStorage$getIt","sessionId","_useState","_useState$","setAuthSessionToStorage","userSessionId","ErrorPanel","trackComponentErrorTrace","ErrorBoundary","getLaunchErrorMessage","FallBackComponent","AppLaunchNotFound","_getLaunchErrorMessag","description","altMessage","truncateDescription","imgProps","alt","message","PageNotFound","InvalidUrlParams","initialState","_React$Component","_inheritsLoose","props","_this","call","state","getDerivedStateFromError","_proto","prototype","resetError","_this$props$onReset","_this$props","_len","arguments","length","args","Array","_key","onReset","apply","concat","reset","setState","componentDidCatch","info","_this$props$onError","_this$props2","render","_this2","Component","useTelemetryContext","useMemo","useGetAriaIngestionKeyQuery","Fragment","_Fragment","_useGetAriaIngestionK","_useTelemetryContext","setTelementryIngestionKey","instrumentationKey","_data$getAriaIngestio","getAriaIngestionKey","undefined","domainName","cernerEnv","appName","appEnv","isRegionalServiceDisabled","gql","ApolloReactHooks","AppointmentStatus","NotificationDeliveryStatus","PatientsSmsNotificationStatusFieldsFragmentDoc","_templateObject","_taggedTemplateLiteralLoose","GetMeetingDirectJoinLinkDocument","_templateObject2","useGetMeetingDirectJoinLinkMutation","baseOptions","useMutation","GetTeamsMeetingJoinLinkDocument","_templateObject3","useGetTeamsMeetingJoinLinkMutation","SendSmsDirectJoinLinkToPatientDocument","_templateObject4","useSendSmsDirectJoinLinkToPatientMutation","GetAppointmentInfoDocument","_templateObject5","useGetAppointmentInfoQuery","useQuery","useGetAppointmentInfoLazyQuery","useLazyQuery","GetAriaIngestionKeyDocument","_templateObject6","useGetAriaIngestionKeyLazyQuery","GetPatientInfoDocument","_templateObject7","useGetPatientInfoQuery","useGetPatientInfoLazyQuery","GetPatientsSmsNotificationStatusDocument","_templateObject8","useGetPatientsSmsNotificationStatusQuery","useGetPatientsSmsNotificationStatusLazyQuery","LaunchAppDocument","_templateObject9","useLaunchAppQuery","useLaunchAppLazyQuery","LaunchAppContinueDocument","_templateObject10","useLaunchAppContinueQuery","useLaunchAppContinueLazyQuery","LaunchAppContinueAadDocument","_templateObject11","useLaunchAppContinueAadQuery","useLaunchAppContinueAadLazyQuery","ReactDOM","getElementById","isDevEnv","isCanaryTestEnv","trim","root","ScenarioName","ScenarioType","PanelType","ModuleName","ModuleSummary","TELEMETRY_SESSION_KEY","SeverityLevel","stack","componentStack","NetworkState","_window$navigator","_ref$errorType","_ref$errorSubType","duration","requestCreatedTime","networkState","navigator","onLine","Online","Offline","DataBagReason","DataBagErrorType","DatabBagErrorSubType","ContextColumnsBase","updateLoggingContext","getBrowserLocale","CustomContextColumns","_updateLoggingContext","_updateLoggingContext2","UserInfoLanguage","AppName","AppInfoEnvironment","self","top","e","console","windowExternal","external","cernerExternal","DiscernObjectFactory","ErrorPanelType","Image","Text","getColorSchemeImg","useErrorPanelStyles","_ref$imgColorScheme","imgColorScheme","_ref$type","type","GenericError","_useErrorPanelStyles","container","imgStyles","descriptionStyles","titleStyles","image","column","gap","fluid","src","content","weight","size","truncated","useFluentContext","_useFluentContext","height","backgroundColor","siteVariables","colorScheme","default","background4","maxWidth","textAlign","titleCaseWord","word","toUpperCase","substr","PerformanceDataBagColumns","entryType","usePageLoadTelemetryTracker","eventType","componentFirstRender","performance","_performance$getEntri","_performance$getEntri2","_performance$getEntri3","_navigationEntry$deco","fcpEntry","getEntriesByName","fpEntry","navigationEntry","getEntriesByType","navigationType","decodedBodySize","renderTime","domComplete","fcp","startTime","fp","href","pathname","refUri","referrer","PerformanceObserver","entryList","observer","_entryList$getEntries","_lcpEntry$element$cla","_lcpEntry$element","_lcpEntry$renderTime","lcpEntry","logPageView","DataBagFP","DataBagRenderTime","DataBagNavigationType","DataBagLCPStartTime","DataBagElement","className","DataBagLCPRenderTime","disconnect","observe","buffered","_","_databag2","usePageLoadTimeTracker","isLoading","performanceEntry","now","log","SessionContext","v4","uuid","sesId","setSesId","setSessionId","initSessionId","SessionId","useSessionContext","TelemetryContext","telemetryClientConfig","channelConfiguration","eventsLimitInMem","enableCompoundKey","webAnalyticsConfiguration","autoCapture","scroll","pageView","onLoad","onUnload","click","resize","jsError","telemetryClientForReConfig","AriaTelemetryClient","initializeTelemetryClient","updateToCompliantAriaClient","createContainer","useContainer","ApplicationInsights","loggingContext","initialize","commonProperties","customProperties","updateContext","useTelemetryContextHook","isCompliant","setIsCompliant","_useState2","ariaTelemetryClient","setAriaTelemetryClient","_useState3","ingestionKey","setIngestionKey","_useState4","tenantId","setTenantId","_useState5","logToConsole","setLogToConsole","privacyGuardUsername","privacyGuardUserAlias","dataCtx","UserName","UserAlias","MachineIds","OutOfScopeIdentifiers","coreConfig","extensionConfig","notificationEventName","summaryEventName","useEventFieldPrefix","appInsights","ariaClient","getCompliantAriaClient","then","reason","setTelemetryTenantId","setLogTelemetryToConsole","PanelActionOutcome","ActionScenario","ActionScenarioType","PageName","DataBagStatus","ContextColumns","ExtendedPanelActionOutcome","ExtendedPanelActionOutcomeType","TelemetryScenarioName","TelemetryErrorStatus","DataBagPageViewColumns","languageMapper","language","languages","_language","fallbackLanguage","formattedLanguage","mapper","da","de","en","es","fi","fr","it","ja","ko","no","nl","pt","ru","sv","tr","zh","supportedLangs","includes","twoCharacterFormat","substring"],"sourceRoot":""}