{"version":3,"file":"static/js/app-bbd3087a_659571696642966d4cad.js","mappings":"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","sources":["file:////home/runner/work/platform/platform/apps/front-end/src/components/IntegrationsList/IntegrationsCard/IntegrationConnectedButton/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/IntegrationsList/IntegrationsCard/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/IntegrationsList/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/LandingPage/LandingPageFaqs/FaqHeaderImage/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/LandingPage/LandingPageFaqs/FaqHeader/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/LandingPage/LandingPageFaqs/FaqQuestionGrid/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/LandingPage/LandingPageFaqs/FaqQuestionColumn/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/LandingPage/LandingPageFaqs/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/LandingPage/LandingPageHowItWorks/HowItWorksButtons/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/LandingPage/LandingPageHowItWorks/HowItWorksHeader/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/LandingPage/LandingPageHowItWorks/HowItWorksSteps/HowItWorksStep/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/LandingPage/LandingPageHowItWorks/HowItWorksSteps/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/LandingPage/LandingPageHowItWorks/HowItWorksDescription/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/LandingPage/LandingPageHowItWorks/HowItWorksMedia/HowItWorksVideo/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/LandingPage/LandingPageHowItWorks/HowItWorksMedia/HowItWorksImage/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/LandingPage/LandingPageHowItWorks/HowItWorksMedia/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/LandingPage/LandingPageHowItWorks/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/LandingPage/LandingPageContent/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/LandingPage/LandingPageSingleQuote/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/LandingPage/LandingPageTextWithImage/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/LandingPage/LandingPageBenefits/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/LandingPage/LandingPageCallToAction/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/LandingPage/LandingPageTestimonials/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/LandingPage/LandingPageTextColumns/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/LandingPage/LandingPageLogos/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/LandingPage/OrganizationLandingPageHeroMedia/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/LandingPage/OrganizationLandingPageHero/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/LandingPage/ProgramLandingPageHero/NavigationToProgramButton/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/LandingPage/ProgramLandingPageHero/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/LanguageButton/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/LanguageMenu/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/LanguageNested/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/LearningHub/Callout/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/LearningHub/Tile/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/LearningHub/TileGroup/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/LearningHubItemPage/Header/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/LearningHubItemPage/Article/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/LearningHubItemPage/Audio/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/LearningHubItemPage/PDF/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/Loading/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/MaintenanceView/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/MaintenanceWrapper/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/Markdown/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/Menu/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/MenuItem/index.tsx","file:////home/runner/work/platform/platform/apps/front-end/src/components/MenuItems/index.tsx"],"sourcesContent":["import { useBaseLanguage } from '@guider-global/sanity-hooks';\nimport { useLocalization, useMobileMediaQuery } from 'hooks';\nimport { FC } from 'react';\nimport { MdLink, MdLinkOff } from 'react-icons/md';\n\nimport { getSubDomain } from '@guider-global/front-end-utils';\nimport { LoadingButton, LoadingButtonProps } from '@mui/lab';\n\nexport interface IntegrationConnectedButtonProps {\n loading: boolean;\n connected: boolean;\n onClickDisconnect: () => Promise;\n onClickConnect: () => Promise;\n}\n\nconst IntegrationConnectedButton: FC = ({\n loading,\n connected,\n onClickConnect,\n onClickDisconnect,\n}) => {\n // Hooks\n const organizationSlug = getSubDomain();\n const { localeCode } = useLocalization(organizationSlug);\n const { baseLanguage } = useBaseLanguage({ localeCode });\n const integrations = baseLanguage?.settings?.integrations;\n const disconnect = integrations?.disconnect_button_label;\n const connect = integrations?.connect_button_label;\n if (connected) {\n return (\n }\n loading={loading}\n >\n {disconnect}\n \n );\n }\n\n return (\n }\n loading={loading}\n >\n {connect}\n \n );\n};\n\nexport default IntegrationConnectedButton;\n\nconst IntegrationBaseButton: FC = ({\n children,\n sx,\n ...rest\n}) => {\n // Styles\n const isMobile = useMobileMediaQuery();\n\n return (\n \n {children}\n \n );\n};\n","import { Box, BoxProps, Skeleton, Typography } from '@mui/material';\nimport { FC } from 'react';\nimport IntegrationConnectedButton, {\n IntegrationConnectedButtonProps,\n} from './IntegrationConnectedButton';\n\nexport interface IntegrationsCardProps extends IntegrationConnectedButtonProps {\n iconSource: string | undefined;\n header: string | undefined;\n subheader: string | undefined;\n enabled: boolean;\n}\n\nexport const IntegrationsCard: FC = ({\n iconSource,\n header,\n subheader,\n connected,\n onClickConnect,\n onClickDisconnect,\n enabled,\n loading,\n}) => {\n if (!enabled) return <>;\n return (\n \n \n \n \n \n \n \n {header}\n \n {loading ? (\n \n ) : (\n \n {subheader}\n \n )}\n \n \n \n \n );\n};\n\nconst CardRootContainer: FC = ({ children, ...rest }) => (\n \n {children}\n \n);\n\nconst CardIconAndDetailsContainer: FC = ({ children, ...rest }) => (\n \n {children}\n \n);\n\nconst CardDetailsContainer: FC = ({ children, ...rest }) => (\n \n {children}\n \n);\n\nconst CardIconContainer: FC = ({ children, ...rest }) => (\n \n {children}\n \n);\n","import React, { useMemo, useState } from 'react';\n// internal\nimport { UserIntegrationName } from '@guider-global/shared-types';\n\nimport { useLocalization, useUserIntegrations } from 'hooks';\n\n//store\n\n// components\nimport { useUsers } from '@guider-global/front-end-hooks';\nimport { getSubDomain } from '@guider-global/front-end-utils';\nimport {\n useBaseLanguage,\n useOrganization,\n useSettings,\n} from '@guider-global/sanity-hooks';\nimport { Box } from '@mui/material';\nimport { getImageSource } from 'utils/getImageSource';\nimport { IntegrationsCard, IntegrationsCardProps } from './IntegrationsCard';\n\ninterface IntegrationCardList extends IntegrationsCardProps {\n key: string;\n}\n\nexport const IntegrationsList: React.FC = () => {\n const [loadingStates, setLoadingStates] = useState>(\n {},\n );\n\n const toggleLoadingState = (integrationName: string, isLoading: boolean) => {\n setLoadingStates((prevStates) => ({\n ...prevStates,\n [integrationName]: isLoading,\n }));\n };\n\n const { settings } = useSettings({ localeCode: 'en_GB' });\n\n const msTeamImageSrc = getImageSource({\n source: settings?.static_media?.integrations?.active_directory_teams,\n });\n\n const outlookCalendarImageSrc = getImageSource({\n source:\n settings?.static_media?.integrations?.active_directory_outlook_calendar,\n });\n // Subdomain\n const organizationSlug = getSubDomain();\n const { localeCode } = useLocalization(organizationSlug);\n\n // - Users\n const { users } = useUsers({});\n const user = users?.at(0);\n\n // - Integrations\n const { userIntegrations, reqUserIntegrations } = useUserIntegrations({\n waitForAuthentication: true,\n });\n\n const ADOutlookIntegration = useMemo(\n () =>\n userIntegrations?.find(\n (userIntegration) =>\n userIntegration.integrationName ===\n 'active-directory-outlook-calendar',\n ),\n [userIntegrations],\n );\n\n const ADTeamsIntegration = useMemo(\n () =>\n userIntegrations?.find(\n (userIntegration) =>\n userIntegration.integrationName === 'active-directory-teams',\n ),\n [userIntegrations],\n );\n\n // - Base language\n const { baseLanguage } = useBaseLanguage({ localeCode });\n\n const integrations = baseLanguage?.settings?.integrations;\n const outlookCalendarLabel =\n integrations?.active_directory_outlook_calendar_label;\n const outlookCalendarDescription =\n integrations?.active_directory_outlook_calendar_description;\n const outlookTeamsLabel = integrations?.active_directory_outlook_teams_label;\n const outlookTeamsDescription =\n integrations?.active_directory_outlook_teams_description;\n\n // - Organization\n\n const { organization } = useOrganization({\n organizationSlug: organizationSlug,\n });\n const enabledIntegrations = organization?.white_label?.integrations;\n const calendar = enabledIntegrations?.calendar;\n const videoConferencing = enabledIntegrations?.video_conferencing;\n\n // Events\n const handleDisconnectIntegration = async (integrationName: string) => {\n toggleLoadingState(integrationName, true);\n\n const integrationIdToDisconnect = userIntegrations?.find(\n (userIntegration) => userIntegration.integrationName === integrationName,\n )?.integrationName;\n\n await reqUserIntegrations({\n method: 'DELETE',\n url: `/userIntegrations/${integrationIdToDisconnect}`,\n });\n\n await reqUserIntegrations({ url: '/userIntegrations' });\n toggleLoadingState(integrationName, false);\n };\n\n const handleConnectIntegration = async (\n integrationName: UserIntegrationName,\n ): Promise => {\n try {\n toggleLoadingState(integrationName, true);\n\n await reqUserIntegrations({\n method: 'PUT',\n url: `/userIntegrations/${integrationName}`,\n data: {\n integrationName,\n features:\n integrationName === 'active-directory-outlook-calendar'\n ? ['sessions:availabilities:retrieve']\n : integrationName === 'active-directory-teams'\n ? ['sessions:videoConferencing:create']\n : [],\n },\n });\n\n await reqUserIntegrations({ url: '/userIntegrations' });\n } catch (error) {\n console.error('Error connecting integration:', error);\n } finally {\n toggleLoadingState(integrationName, false);\n }\n };\n\n const cardTypes: IntegrationCardList[] = [\n {\n key: 'active-directory-outlook-calendar',\n iconSource: outlookCalendarImageSrc,\n header: outlookCalendarLabel,\n subheader: ADOutlookIntegration\n ? user?.email || ''\n : outlookCalendarDescription,\n connected: !!ADOutlookIntegration,\n onClickDisconnect: async () =>\n await handleDisconnectIntegration('active-directory-outlook-calendar'),\n onClickConnect: async () =>\n await handleConnectIntegration('active-directory-outlook-calendar'),\n enabled: calendar?.active_directory_outlook_calendar ?? false,\n loading: loadingStates['active-directory-outlook-calendar'] ?? false,\n },\n {\n key: 'active-directory-teams',\n iconSource: msTeamImageSrc,\n header: outlookTeamsLabel,\n subheader: ADTeamsIntegration\n ? user?.email || ''\n : outlookTeamsDescription,\n connected: !!ADTeamsIntegration,\n onClickDisconnect: async () =>\n await handleDisconnectIntegration('active-directory-teams'),\n onClickConnect: async () =>\n await handleConnectIntegration('active-directory-teams'),\n enabled: videoConferencing?.active_directory_teams ?? false,\n loading: loadingStates['active-directory-teams'] ?? false,\n },\n ];\n return (\n \n {cardTypes.map((card) => (\n \n ))}\n \n );\n};\nexport { IntegrationsCard } from './IntegrationsCard';\n","import { FC } from 'react';\n\nimport { Box, Theme } from '@mui/material';\nimport { BsQuestionSquareFill } from 'react-icons/bs';\n\nconst FaqHeaderImage: FC = () => {\n // Styling\n const innerStyling = (theme: Theme) => ({\n display: 'flex',\n flexFlow: 'column nowrap',\n justifyContent: 'center',\n alignItems: 'center',\n borderRadius: '50%',\n backgroundColor: theme.palette.info.main,\n position: 'relative',\n opacity: '100%',\n width: theme.spacing(8),\n height: theme.spacing(8),\n });\n const middleStyling = (theme: Theme) => ({\n borderRadius: '50%',\n backgroundColor: `${theme.palette.info.main}80`,\n position: 'relative',\n padding: theme.spacing(2),\n });\n const outerStyling = (theme: Theme) => ({\n borderRadius: '50%',\n backgroundColor: `${theme.palette.info.main}14`,\n padding: theme.spacing(2),\n });\n const containerStyling = () => ({\n display: 'flex',\n flexFlow: 'row nowrap',\n justifyContent: 'center',\n alignItems: 'center',\n width: 'minContent',\n height: 'minContent',\n });\n\n return (\n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default FaqHeaderImage;\n","import { FC, PropsWithChildren } from 'react';\n\nimport { useMobileMediaQuery } from 'hooks';\n\nimport { Divider, Typography } from '@mui/material';\n\nconst FaqHeader: FC = ({ children }) => {\n const isMobile = useMobileMediaQuery();\n const breakTitleOnMobile = isMobile ? { whiteSpace: 'break-spaces' } : {};\n\n return (\n \n \n {children}\n \n \n );\n};\n\nexport default FaqHeader;\n","import React from 'react';\n\nimport { Box, Typography } from '@mui/material';\n\nimport { SanityLandingPageFaqs } from '@guider-global/shared-types';\n\nimport { AnimationWrapper } from 'components/AnimationWrapper';\nimport { Masonry } from '@mui/lab';\nimport { Markdown } from 'components';\n\nexport interface FaqQuestionGridProps {\n questions: SanityLandingPageFaqs['faqQuestions'];\n}\n\nconst FaqQuestionGrid: React.FC = ({ questions }) => {\n return (\n \n \n {questions.map(({ question, answer }, index) => {\n return (\n \n ({\n maxWidth: theme.breakpoints.values.lg,\n })}\n >\n \n {question}\n \n p': {\n margin: 0,\n },\n 'ul, ol': {\n my: -2,\n },\n whiteSpace: 'pre-wrap',\n }}\n >\n {answer ?? ''}\n \n \n \n );\n })}\n \n \n );\n};\n\nexport default FaqQuestionGrid;\n","import React from 'react';\n\nimport {\n Accordion,\n AccordionDetails,\n AccordionSummary,\n Box,\n Typography,\n} from '@mui/material';\nimport { MdExpandMore } from 'react-icons/md';\n\nimport { SanityLandingPageFaqs } from '@guider-global/shared-types';\n\nimport { AnimationWrapper } from 'components/AnimationWrapper';\nimport { Markdown } from 'components';\n\nexport interface FaqQuestionColumnProps {\n questions: SanityLandingPageFaqs['faqQuestions'];\n}\n\nconst FaqQuestionColumn: React.FC = ({ questions }) => {\n return (\n ({\n display: 'flex',\n flexFlow: 'column nowrap',\n justifyContent: 'center',\n alignItems: 'center',\n gap: theme.spacing(2),\n textAlign: 'left',\n py: 8,\n })}\n >\n {questions.map(({ question, answer }, index) => {\n return (\n \n \n }\n aria-controls={`panel${index + 1}-content`}\n id={`panel${index + 1}-header`}\n sx={(theme) => ({\n '&.MuiAccordionSummary-root': {\n gap: theme.spacing(1),\n },\n })}\n >\n {question}\n \n \n \n {answer ?? ''}\n \n \n \n \n );\n })}\n \n );\n};\n\nexport default FaqQuestionColumn;\n","import React, { PropsWithChildren } from 'react';\n\nimport { SanityLandingPageFaqs } from '@guider-global/shared-types';\nimport { useMobileMediaQuery } from 'hooks';\n\nimport { Box } from '@mui/material';\nimport FaqHeaderImage from './FaqHeaderImage';\nimport FaqHeader from './FaqHeader';\nimport FaqQuestionGrid from './FaqQuestionGrid';\nimport { AnimationWrapper } from 'components/AnimationWrapper';\nimport FaqQuestionColumn from './FaqQuestionColumn';\n\nexport interface LandingPageFaqsProps {\n config: SanityLandingPageFaqs;\n}\n\nconst LandingPageFaqs: React.FC> = ({\n config,\n}) => {\n // Styles\n const isMobile = useMobileMediaQuery();\n\n // Get map of content\n const { faqQuestions, title } = config;\n\n return (\n ({\n marginTop: { xs: theme.spacing(8), md: theme.spacing(16) },\n marginBottom: { xs: theme.spacing(8), md: theme.spacing(16) },\n marginLeft: { xs: theme.spacing(2), md: '10%' },\n marginRight: { xs: theme.spacing(2), md: '10%' },\n display: 'flex',\n flexFlow: 'column nowrap',\n alignItems: 'center',\n })}\n >\n \n \n \n\n \n \n {title}\n \n \n {isMobile ? (\n \n ) : (\n \n )}\n \n );\n};\n\nexport default LandingPageFaqs;\n","import { FunctionComponent } from 'react';\nimport { useLocation } from 'react-router-dom';\n\nimport { Box, Button } from '@mui/material';\n\nimport { HowItWorksButtons as SanityHowItWorksButtons } from '@guider-global/shared-types';\nimport { ILoginRegisterButtonProps } from 'components/LandingPage/LandingPageContent';\nimport { useMixpanelEvents } from 'hooks';\n\nexport interface HowItWorksButtonsProps extends ILoginRegisterButtonProps {\n buttons: SanityHowItWorksButtons;\n}\n\nconst HowItWorksButtons: FunctionComponent = ({\n buttons,\n onClickProgramButtons,\n onClickRegisterButton,\n showLoginButtons,\n}) => {\n const { trackScreenTimeAndClick } = useMixpanelEvents();\n // Router\n const location = useLocation();\n const pathname = location.pathname;\n\n if (!buttons.showButtons) return null;\n\n if (\n (buttons.guideRegistrationButtonLabel ||\n buttons.traineeRegistrationButtonLabel) &&\n onClickProgramButtons\n )\n return (\n \n {\n trackScreenTimeAndClick(\n 'Program Landing page - How it works - Be a Guide',\n );\n onClickProgramButtons(true, pathname);\n }}\n sx={(theme) => ({\n padding: theme.spacing(1, 5),\n })}\n >\n {buttons.guideRegistrationButtonLabel}\n \n {\n trackScreenTimeAndClick(\n 'Program Landing page - How it works - Be a Trainee',\n );\n onClickProgramButtons(false, pathname);\n }}\n sx={(theme) => ({\n padding: theme.spacing(1, 5),\n })}\n >\n {buttons.traineeRegistrationButtonLabel}\n \n \n );\n\n if (!showLoginButtons) return null;\n\n return (\n \n {\n trackScreenTimeAndClick(\n 'Organization Landing page - How it works - Register Button',\n );\n onClickRegisterButton();\n }}\n sx={(theme) => ({\n padding: theme.spacing(1, 5),\n })}\n >\n {buttons.registrationButtonLabel}\n \n \n );\n};\n\nexport default HowItWorksButtons;\n","import { FC, PropsWithChildren } from 'react';\n\nimport { Typography } from '@mui/material';\n\nconst HowItWorksHeader: FC = ({ children }) => {\n return (\n <>\n \n {children}\n \n \n );\n};\n\nexport default HowItWorksHeader;\n","import { FunctionComponent } from 'react';\n\nimport { HowItWorksStep as SanityHowItWorksStep } from '@guider-global/shared-types';\nimport { useMobileMediaQuery } from 'hooks';\n\nimport { Typography, useTheme } from '@mui/material';\nimport { AnimationWrapper } from 'components/AnimationWrapper';\n\nexport interface HowItWorksStepProps {\n step: SanityHowItWorksStep;\n position: number;\n}\n\nconst HowItWorksStep: FunctionComponent = ({\n step,\n position,\n}) => {\n // Styles\n const theme = useTheme();\n const isMobile = useMobileMediaQuery();\n\n return (\n \n \n {position}. {step.title}\n \n ({ marginLeft: theme.spacing(2.25), color: 'white' })}\n >\n {step.description}\n \n \n );\n};\n\nexport default HowItWorksStep;\n","import { FunctionComponent } from 'react';\n\nimport { Box } from '@mui/material';\n\nimport { HowItWorksStep as SanityHowItWorksStep } from '@guider-global/shared-types';\n\nimport HowItWorksStep from './HowItWorksStep';\n\nexport interface HowItWorksStepsProps {\n steps: SanityHowItWorksStep[];\n}\n\nconst HowItWorksStepsRow: FunctionComponent = ({\n steps,\n}) => {\n return (\n <>\n ({\n width: '100%',\n display: 'grid',\n gridTemplateColumns: 'repeat(auto-fit, 1fr)',\n gridTemplateRows: '1fr',\n gridAutoFlow: 'column',\n padding: theme.spacing(0, 3),\n gap: theme.spacing(3),\n [theme.breakpoints.down('md')]: {\n gap: theme.spacing(2),\n padding: theme.spacing(0, 3),\n gridAutoFlow: 'row',\n },\n })}\n >\n {steps.map((step, index) => (\n \n ))}\n \n \n );\n};\n\nexport default HowItWorksStepsRow;\n","import { Typography } from '@mui/material';\nimport { Markdown } from 'components';\nimport { FunctionComponent } from 'react';\n\nexport interface HowItWorksDescriptionProps {\n description: string;\n}\n\nconst HowItWorksDescription: FunctionComponent = ({\n description,\n}) => {\n return (\n p': {\n margin: 0,\n },\n color: 'white',\n whiteSpace: 'pre-wrap',\n }}\n >\n {description}\n \n );\n};\n\nexport default HowItWorksDescription;\n","import { FunctionComponent } from 'react';\n\nimport { Box } from '@mui/material';\n\nexport interface HowItWorksVideoProps {\n videoUrl?: string;\n}\n\nconst HowItWorksVideo: FunctionComponent = ({\n videoUrl,\n}) => {\n if (!videoUrl) return <>;\n return (\n \n \n \n );\n};\n\nexport default HowItWorksVideo;\n","import { FunctionComponent } from 'react';\n\nimport { Box } from '@mui/material';\n\nimport { HowItWorksMedia as SanityHowItWorksMedia } from '@guider-global/shared-types';\n\nimport { buildSanityImageUrl } from '@guider-global/sanity-hooks';\n\nexport interface HowItWorksImageProps {\n image?: SanityHowItWorksMedia['image'];\n}\n\nconst HowItWorksImage: FunctionComponent = ({\n image,\n}) => {\n if (!image) return <>;\n return (\n <>\n \n \n );\n};\n\nexport default HowItWorksImage;\n","import { FunctionComponent } from 'react';\n\nimport { HowItWorksMedia as SanityHowItWorksMedia } from '@guider-global/shared-types';\nimport { useMobileMediaQuery } from 'hooks';\n\nimport HowItWorksVideo from './HowItWorksVideo';\nimport HowItWorksImage from './HowItWorksImage';\nimport { AnimationWrapper } from 'components/AnimationWrapper';\n\nexport interface HowItWorksMediaProps {\n media: SanityHowItWorksMedia;\n}\n\nconst HowItWorksMedia: FunctionComponent = ({\n media,\n}) => {\n // Prop Derivation\n const { media: mediaType, image, video: videoUrl } = media;\n // Styles\n const isMobile = useMobileMediaQuery();\n\n if (mediaType === 'video')\n return (\n \n \n \n );\n return (\n \n \n \n );\n};\n\nexport default HowItWorksMedia;\n","import { FunctionComponent } from 'react';\n\nimport { SanityLandingPageHowItWorks } from '@guider-global/shared-types';\nimport { useMobileMediaQuery } from 'hooks';\n\nimport { Box } from '@mui/material';\nimport { backgroundDots } from 'styles';\nimport HowItWorksButtons from './HowItWorksButtons';\nimport HowItWorksHeader from './HowItWorksHeader';\nimport HowItWorksStepsRow from './HowItWorksSteps';\nimport HowItWorksDescription from './HowItWorksDescription';\nimport HowItWorksMedia from './HowItWorksMedia';\nimport { AnimationWrapper } from 'components/AnimationWrapper';\n\nimport { ILoginRegisterButtonProps } from '../LandingPageContent';\n\nexport interface LandingPageHowItWorksProps extends ILoginRegisterButtonProps {\n config: SanityLandingPageHowItWorks;\n}\n\nconst LandingPageHowItWorks: FunctionComponent = ({\n config,\n onClickProgramButtons,\n onClickRegisterButton,\n showLoginButtons,\n}) => {\n // Prop Derivation\n const { title, howItWorks } = config;\n // Styling\n const isMobile = useMobileMediaQuery();\n\n return (\n \n ({\n display: 'grid',\n gridTemplateColumns: '1fr',\n gridAutoFlow: 'row',\n alignItems: 'center',\n justifyItems: 'center',\n gap: theme.spacing(6),\n maxWidth: theme.breakpoints.values.lg,\n width: '100%',\n [theme.breakpoints.down('md')]: {\n gap: theme.spacing(4),\n },\n })}\n >\n \n \n {title}\n \n \n\n \n ({\n width: '100%',\n padding: theme.spacing(1.5, 0),\n display: 'grid',\n gridTemplateColumns: '1fr 1fr',\n gridTemplateRows: '1fr',\n gap: theme.spacing(7.75),\n alignItems: 'flex-start',\n justifyItems: 'start',\n justifyContent: 'center',\n px: 3,\n [theme.breakpoints.down('md')]: {\n gridTemplateColumns: '100%',\n gridTemplateRows: 'auto auto',\n gap: theme.spacing(6),\n },\n })}\n >\n \n \n \n \n \n\n {!isMobile && (\n \n )}\n \n \n );\n};\n\nexport default LandingPageHowItWorks;\n","//external\nimport { Box } from '@mui/material';\nimport { forwardRef, useCallback } from 'react';\n// components\nimport {\n LandingPageBenefits,\n LandingPageCallToAction,\n LandingPageSingleQuote,\n LandingPageTestimonials,\n LandingPageTextWithImage,\n LandingPageTextColumns,\n LandingPageLogos,\n} from 'components/LandingPage';\nimport LandingPageFaqs from '../LandingPageFaqs';\nimport LandingPageHowItWorks from '../LandingPageHowItWorks';\n\n// store\nimport { useAppSelector } from 'store/hooks';\nimport { selectRegistrationType } from 'store/slices/appSlice';\n\n// Types\nimport { SanityLandingPageContent } from '@guider-global/shared-types';\n\nexport interface ILoginRegisterButtonProps {\n onClickRegisterButton: () => void;\n onClickProgramButtons?: (isGuide?: boolean, pathname?: string) => void;\n showLoginButtons?: boolean;\n}\ninterface ILandingPageContentProps\n extends Omit {\n config?: SanityLandingPageContent;\n}\n\nexport const LandingPageContent = forwardRef(\n ({ config = [], onClickProgramButtons, onClickRegisterButton }, ref) => {\n // Redux\n const registrationPageType = useAppSelector(selectRegistrationType);\n const isShowLoginButtons = registrationPageType !== 'none';\n\n const renderContent = useCallback(\n () =>\n config.map((section, index) => {\n switch (section._type) {\n case 'landingPageSingleQuote': {\n return (\n \n );\n }\n case 'landingPageTextWithImage': {\n return (\n \n );\n }\n case 'landingPageLogos': {\n return (\n \n );\n }\n case 'landingPageBenefits': {\n return (\n \n );\n }\n case 'landingPageCallToAction': {\n return (\n \n );\n }\n case 'landingPageTestimonials': {\n return (\n \n );\n }\n case 'landingPageTextColumns': {\n return (\n \n );\n }\n\n case 'landingPageFaqs': {\n return (\n \n );\n }\n\n case 'landingPageHowItWorks': {\n return (\n \n );\n }\n\n default:\n return <>;\n }\n }),\n [\n config,\n onClickProgramButtons,\n onClickRegisterButton,\n isShowLoginButtons,\n ],\n );\n\n return (\n \n {renderContent()}\n \n );\n },\n);\n","// external\nimport React from 'react';\nimport { Box, Typography, useTheme, SxProps, Theme } from '@mui/material';\n\n// internal\nimport { buildSanityImageUrl } from '@guider-global/sanity-hooks';\nimport { useMobileMediaQuery } from 'hooks';\n\n// types\nimport { SanityLandingPageSingleQuote } from '@guider-global/shared-types';\nimport { AnimationWrapper } from 'components/AnimationWrapper';\n\ninterface ILandingPageSingleQuoteProps {\n config: SanityLandingPageSingleQuote;\n}\n\nexport const LandingPageSingleQuote: React.FunctionComponent<\n ILandingPageSingleQuoteProps\n> = ({ config }) => {\n const theme = useTheme();\n const isMobile = useMobileMediaQuery();\n\n const isTransparent = config.transparent_image;\n\n const verticalPosition = isTransparent && config?.vertical_position;\n\n const nonTransparentStyles = { objectFit: 'cover', borderRadius: '8px' };\n\n let imagePosition: string;\n let mobileDirection: string;\n let imageMargin: { mt?: string; my?: string; mb?: string };\n\n switch (verticalPosition) {\n case 'top':\n imagePosition = 'flex-start';\n mobileDirection = 'column';\n imageMargin = { mb: '32px' };\n break;\n case 'bottom':\n imagePosition = 'flex-end';\n mobileDirection = 'column-reverse';\n imageMargin = isMobile ? { mt: '16px' } : { mt: '32px' };\n break;\n default:\n imagePosition = 'center';\n mobileDirection = 'column-reverse';\n imageMargin = isMobile ? { mb: '32px' } : { my: '32px' };\n break;\n }\n\n const quoteSourceMobileStyles: SxProps = {\n alignItems: 'center',\n py: 3,\n px: 4,\n pl: 4,\n '&::before': {\n left: 'auto',\n height: '4px',\n width: '90%',\n content: '\"\"',\n position: 'absolute',\n top: 3,\n backgroundColor: theme.palette.secondary.main,\n borderRadius: '12px',\n },\n };\n\n return (\n \n \n \n \n \n \n {config.quote}\n \n \n \n {config.source}\n \n \n {config.source_description}\n \n \n \n \n );\n};\n\nexport default LandingPageSingleQuote;\n","/* eslint-disable camelcase */\nimport React, { useCallback } from 'react';\n// external\nimport {\n Box,\n Button,\n Card,\n Divider,\n Typography,\n useTheme,\n} from '@mui/material';\nimport { useLocation } from 'react-router-dom';\n\n// Components\nimport { AnimationWrapper } from 'components/AnimationWrapper';\nimport { getImageSource } from 'utils/getImageSource';\n\n// types\nimport { SanityLandingPageTextWithImage } from '@guider-global/shared-types';\nimport { ILoginRegisterButtonProps } from '../LandingPageContent';\nimport { Markdown } from 'components';\n\nimport { useMixpanelEvents, useMobileMediaQuery } from 'hooks';\n\ninterface ILandingPageTextWithImageProps extends ILoginRegisterButtonProps {\n config: SanityLandingPageTextWithImage;\n}\n\nexport const LandingPageTextWithImage: React.FunctionComponent<\n ILandingPageTextWithImageProps\n> = ({\n config,\n onClickProgramButtons,\n onClickRegisterButton,\n showLoginButtons,\n}) => {\n const { trackScreenTimeAndClick } = useMixpanelEvents();\n // Styling\n const theme = useTheme();\n const isMobile = useMobileMediaQuery();\n\n // Router\n const location = useLocation();\n const pathname = location.pathname;\n\n const renderBlocks = useCallback(\n () =>\n config?.blocks &&\n config.blocks.map((block, index) => {\n const isEven = index % 2 === 0;\n\n const positionStylesDesktop = isEven ? { mr: -10 } : { ml: -10 };\n const positionStylesMobile = {\n mt: -2,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n textAlign: 'center',\n };\n const positionStyles = isMobile\n ? positionStylesMobile\n : positionStylesDesktop;\n\n const imageBorderRadius = isEven ? '8px 0 0 8px' : '0 8px 8px 0';\n\n const rowFlexDirectionDesktop = isEven ? 'row' : 'row-reverse';\n const rowFlexDirection = isMobile\n ? 'column-reverse'\n : rowFlexDirectionDesktop;\n\n return (\n \n \n \n \n \n {block.title}\n \n\n p': {\n margin: 0,\n },\n whiteSpace: 'pre-wrap',\n }}\n >\n {block?.description ?? ''}\n \n\n {!isMobile && showLoginButtons && block.show_buttons && (\n \n {block.button_1_label && (\n {\n trackScreenTimeAndClick(\n 'Organization Landing page - Text with Images - Register Button',\n );\n onClickRegisterButton();\n }}\n >\n {block.button_1_label}\n \n )}\n {block.button_2_label && onClickProgramButtons && (\n {\n trackScreenTimeAndClick(\n 'Program Landing page - Text with Images - Be a Guide',\n );\n onClickProgramButtons(true, pathname);\n }}\n >\n {block.button_2_label}\n \n )}\n {block.button_3_label && onClickProgramButtons && (\n {\n trackScreenTimeAndClick(\n 'Program Landing page - Text with Images - Be a Trainee',\n );\n onClickProgramButtons(false, pathname);\n }}\n >\n {block.button_3_label}\n \n )}\n \n )}\n \n \n \n \n );\n }),\n [\n config.blocks,\n isMobile,\n onClickProgramButtons,\n onClickRegisterButton,\n trackScreenTimeAndClick,\n pathname,\n showLoginButtons,\n theme.palette.secondary.main,\n ],\n );\n\n return (\n \n {renderBlocks()}\n \n );\n};\n\nexport default LandingPageTextWithImage;\n","/* eslint-disable camelcase */\n\n// external\nimport React, { useCallback } from 'react';\nimport { Box, Button, Typography, useTheme } from '@mui/material';\nimport { useLocation } from 'react-router-dom';\n\n// internal\nimport { buildSanityImageUrl } from '@guider-global/sanity-hooks';\nimport { useMixpanelEvents, useMobileMediaQuery } from 'hooks';\nimport { hexToRGB } from 'utils';\n\n// components\nimport { IconCircle } from 'components/Icon';\nimport { AnimationWrapper } from 'components/AnimationWrapper';\n\n// types\nimport { SanityLandingPageBenefits } from '@guider-global/shared-types';\nimport { SanityIcon } from '@guider-global/shared-types/lib/sanity/SanityIcon';\nimport { ILoginRegisterButtonProps } from '../LandingPageContent';\n\ninterface ILandingPageBenefitsProps extends ILoginRegisterButtonProps {\n config: SanityLandingPageBenefits;\n}\n\nexport const LandingPageBenefits: React.FunctionComponent<\n ILandingPageBenefitsProps\n> = ({\n config,\n onClickProgramButtons,\n onClickRegisterButton,\n showLoginButtons,\n}) => {\n const { trackScreenTimeAndClick } = useMixpanelEvents();\n // Styling\n const theme = useTheme();\n const isMobile = useMobileMediaQuery();\n\n // Router\n const location = useLocation();\n const pathname = location.pathname;\n\n const renderPoint = useCallback(\n (\n point: { title?: string; icon?: SanityIcon },\n index: number,\n side: 'left' | 'right',\n ) => {\n const isLeft = side === 'left';\n const color = isLeft\n ? theme.palette.success.main\n : theme.palette.info.main;\n\n const leftAfterStyles = {\n borderRight: '2px dotted',\n left: '100%',\n borderBottomRightRadius: '8px',\n };\n const rightAfterStyles = {\n borderLeft: '2px dotted',\n right: '100%',\n borderBottomLeftRadius: '8px',\n };\n const afterStyles = isLeft ? leftAfterStyles : rightAfterStyles;\n const isFirst = index === 0;\n const desktopStyles = {\n flexDirection: isLeft ? 'row' : 'row-reverse',\n '&::after': {\n content: '\"\"',\n display: 'block',\n position: 'absolute',\n width: '26px',\n borderBottom: '2px dotted',\n height: isFirst ? '73px' : '98px',\n bottom: '31px',\n ...afterStyles,\n borderColor: `rgba(${hexToRGB(color)}, 0.5)`,\n },\n ...(isFirst && {\n '&::before': {\n content: '\"\"',\n display: 'block',\n position: 'absolute',\n width: '35px',\n height: '5px',\n bottom: 'calc(100% + 36px)',\n borderRadius: '12px',\n backgroundColor: color,\n ...(isLeft\n ? { left: 'calc(100% + 9px)' }\n : { right: 'calc(100% + 9px)' }),\n },\n }),\n };\n\n return (\n \n {point.title}\n \n \n );\n },\n [isMobile, theme.palette.info.main, theme.palette.success.main],\n );\n\n const renderPoints = useCallback(\n (\n points: {\n title?: string;\n icon?: SanityIcon;\n }[],\n side: 'right' | 'left',\n ) => points.map((point, index) => renderPoint(point, index, side)),\n [renderPoint],\n );\n\n const renderSection = useCallback(\n (side: 'left' | 'right') => {\n const isLeft = side === 'left';\n const mobileStyles = {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n textAlign: 'center',\n maxWidth: '100%',\n mt: 5,\n };\n\n return (\n \n \n \n {config[side]?.title}\n \n \n {renderPoints(config[side]?.points ?? [], side)}\n \n );\n },\n [config, isMobile, renderPoints],\n );\n\n const renderImage = useCallback(\n () => (\n \n \n \n \n \n ),\n [config.image],\n );\n\n const renderDescription = useCallback(() => {\n const mobileStyles = {\n my: 4,\n px: 2,\n };\n\n return (\n \n {config.description}\n \n );\n }, [config.description, isMobile]);\n\n return (\n \n \n \n {config.title}\n \n \n {isMobile && renderDescription()}\n {isMobile && renderImage()}\n \n {renderSection('left')}\n {!isMobile && renderImage()}\n {renderSection('right')}\n \n {!isMobile && renderDescription()}\n {!isMobile && showLoginButtons && config.show_buttons && (\n \n {config.button_1_label && (\n {\n trackScreenTimeAndClick(\n 'Organization Landing page - Benefits - Register Button',\n );\n onClickRegisterButton();\n }}\n size=\"large\"\n sx={{ minWidth: '180px' }}\n >\n {config.button_1_label}\n \n )}\n {config.button_2_label && onClickProgramButtons && (\n {\n trackScreenTimeAndClick(\n 'Program Landing page - Benefits - Be a Guide',\n );\n onClickProgramButtons(true, pathname);\n }}\n >\n {config.button_2_label}\n \n )}\n {config.button_3_label && onClickProgramButtons && (\n {\n trackScreenTimeAndClick(\n 'Program Landing page - Benefits - Be a Trainee',\n );\n onClickProgramButtons(false, pathname);\n }}\n sx={{ minWidth: '180px' }}\n >\n {config.button_3_label}\n \n )}\n \n )}\n \n );\n};\n\nexport default LandingPageBenefits;\n","/* eslint-disable camelcase */\n\n// external\nimport React from 'react';\nimport { useLocation } from 'react-router-dom';\n\n// internal\nimport { buildSanityImageUrl } from '@guider-global/sanity-hooks';\nimport { useMixpanelEvents, useMobileMediaQuery } from 'hooks';\n\n// Components\nimport { Box, Button, Typography, lighten } from '@mui/material';\nimport { AnimationWrapper } from 'components/AnimationWrapper';\n\n// types\nimport { SanityLandingPageCallToAction } from '@guider-global/shared-types';\nimport { ILoginRegisterButtonProps } from '../LandingPageContent';\nimport { getContrastColor } from '@guider-global/ui';\n\ninterface ILandingPageCallToActionProps extends ILoginRegisterButtonProps {\n config: SanityLandingPageCallToAction;\n}\n\nexport const LandingPageCallToAction: React.FunctionComponent<\n ILandingPageCallToActionProps\n> = ({\n config,\n onClickProgramButtons,\n onClickRegisterButton,\n showLoginButtons,\n}) => {\n const { trackScreenTimeAndClick } = useMixpanelEvents();\n // Styling\n const isMobile = useMobileMediaQuery();\n\n const showButtons = config.show_buttons;\n const backgroundColor = config.background_color?.hex ?? '#333333';\n const textColor = getContrastColor(backgroundColor);\n const backgroundRgb = config.background_color?.rgb || {\n r: 51,\n g: 51,\n b: 51,\n };\n const backgroundGradient = `radial-gradient(\n ellipse at 50% 50%,\n rgba(${backgroundRgb.r}, ${backgroundRgb.g}, ${backgroundRgb.b}, 1) 0%,\n rgba(${backgroundRgb.r}, ${backgroundRgb.g}, ${backgroundRgb.b}, 0.5) 50%,\n rgba(${backgroundRgb.r}, ${backgroundRgb.g}, ${backgroundRgb.b}, 0) 85%\n )`;\n\n // Router\n const location = useLocation();\n const pathname = location.pathname;\n\n return (\n \n \n \n \n {config.logo && (\n \n \n \n )}\n \n \n {config.title}\n \n \n \n {!isMobile && showLoginButtons && showButtons && (\n \n {config.button_1_label && (\n {\n trackScreenTimeAndClick(\n 'Organization Landing page - CTA - Register Button',\n );\n onClickRegisterButton();\n }}\n size=\"large\"\n sx={{ minWidth: '180px' }}\n >\n {config.button_1_label}\n \n )}\n {config.button_2_label && onClickProgramButtons && (\n {\n trackScreenTimeAndClick(\n 'Program Landing page - CTA - Be a Guide',\n );\n onClickProgramButtons(true, pathname);\n }}\n sx={{ color: 'white', minWidth: '180px' }}\n >\n {config.button_2_label}\n \n )}\n {config.button_3_label && onClickProgramButtons && (\n {\n trackScreenTimeAndClick(\n 'Program Landing page - CTA - Be a Trainee',\n );\n onClickProgramButtons(false, pathname);\n }}\n sx={{ ml: 2, minWidth: '180px' }}\n >\n {config.button_3_label}\n \n )}\n \n )}\n \n \n \n );\n};\n\nexport default LandingPageCallToAction;\n","// external\nimport { Box, Typography, useTheme } from '@mui/material';\nimport React from 'react';\nimport 'swiper/css';\nimport 'swiper/css/effect-fade';\nimport 'swiper/css/pagination';\nimport { Autoplay, EffectFade, Pagination } from 'swiper/modules';\nimport { Swiper, SwiperSlide } from 'swiper/react';\n\n// types\nimport { SanityLandingPageTestimonials } from '@guider-global/shared-types';\n\nimport { useMobileMediaQuery } from 'hooks';\n\nimport { AnimationWrapper } from 'components/AnimationWrapper';\n\nimport { useSettings } from '@guider-global/sanity-hooks';\nimport { getImageSource } from 'utils/getImageSource';\n\ninterface ILandingPageTestimonialsProps {\n config: SanityLandingPageTestimonials;\n}\n\nexport const LandingPageTestimonials: React.FunctionComponent<\n ILandingPageTestimonialsProps\n> = ({ config }) => {\n const theme = useTheme();\n const isMobile = useMobileMediaQuery();\n const { settings } = useSettings({\n localeCode: 'en_GB',\n });\n\n const swiperStyles = {\n '.swiper-wrapper': {\n alignItems: 'center',\n },\n '.swiper-pagination': {\n position: 'relative',\n },\n '.swiper-pagination-bullet': {\n width: '13px',\n height: '13px',\n },\n '.swiper-pagination-bullet-active': {\n backgroundColor: '#757575',\n },\n };\n\n const renderTestimonials = () => {\n return (\n \n {config?.blocks?.map((testimonial, index) => {\n const renderSourceData = () => (\n \n \n {testimonial.source}\n \n {testimonial.source_description && (\n \n {testimonial.source_description}\n \n )}\n {testimonial.additional_source_description && (\n \n {testimonial.additional_source_description}\n \n )}\n \n );\n\n return (\n \n \n \n \n \n \n {testimonial.quote_title}\n \n {testimonial.quote_body && (\n \n {testimonial.quote_body}\n \n )}\n {!isMobile && renderSourceData()}\n \n \n \n \n {isMobile && renderSourceData()}\n \n \n \n );\n })}\n \n );\n };\n\n return (\n \n \n {renderTestimonials()}\n \n \n );\n};\n\nexport default LandingPageTestimonials;\n","// external\nimport React from 'react';\nimport { Box, Typography, useTheme } from '@mui/material';\n\n// components\nimport { IconCircle } from 'components/Icon';\nimport { AnimationWrapper } from 'components/AnimationWrapper';\n\n// types\nimport { SanityLandingPageTextColumns } from '@guider-global/shared-types';\n\nimport { useMobileMediaQuery } from 'hooks';\n\ninterface ILandingPageTextColumnsProps {\n config: SanityLandingPageTextColumns;\n}\n\nexport const LandingPageTextColumns: React.FunctionComponent<\n ILandingPageTextColumnsProps\n> = ({ config }) => {\n const theme = useTheme();\n const isMobile = useMobileMediaQuery();\n\n const renderBlocks = () =>\n config?.blocks?.map((block, index) => {\n return (\n \n \n \n \n \n \n {block.title}\n \n \n \n \n {block.description}\n \n \n \n );\n });\n\n return (\n \n \n {config.title}\n \n \n {config.subtitle}\n \n \n {renderBlocks()}\n \n \n );\n};\n\nexport default LandingPageTextColumns;\n","/* eslint-disable camelcase */\nimport React from 'react';\n// external\nimport { Box, Typography } from '@mui/material';\n\n// internal\nimport { buildSanityImageUrl } from '@guider-global/sanity-hooks';\n\n// types\nimport { SanityLandingPageLogos } from '@guider-global/shared-types';\n\ninterface ILandingPageLogosProps {\n config: SanityLandingPageLogos;\n}\n\nexport const LandingPageLogos: React.FunctionComponent<\n ILandingPageLogosProps\n> = ({ config }) => {\n const renderListLogos = () =>\n config &&\n config?.logos &&\n config?.logos?.length !== 0 && (\n \n {config?.logos?.map((logo, index) => (\n \n ))}\n \n );\n\n return (\n <>\n \n {config?.title && (\n \n {config?.title}\n \n )}\n {renderListLogos()}\n \n \n );\n};\n\nexport default LandingPageLogos;\n","import { buildSanityImageUrl, useSettings } from '@guider-global/sanity-hooks';\nimport { OrganizationHeroMedia } from '@guider-global/shared-types';\nimport { Box } from '@mui/material';\nimport { AnimationWrapper } from 'components/AnimationWrapper';\nimport { useMobileMediaQuery } from 'hooks';\n\nexport type IOrganizationLandingPageHeroProps = {\n media?: OrganizationHeroMedia;\n};\n\nexport function OrganizationLandingPageHeroMedia({\n media,\n}: IOrganizationLandingPageHeroProps) {\n const isMobile = useMobileMediaQuery();\n const { settings } = useSettings({\n localeCode: 'en_GB',\n });\n\n const defaultImage =\n settings?.static_media?.landing_page?.organization_hero_image;\n\n const displayImage =\n media &&\n media.media === 'image' &&\n media.image &&\n media.overrideDefaultHeroImage;\n const displayVideo =\n media &&\n media.media === 'video' &&\n media.video &&\n media.overrideDefaultHeroImage;\n const displayNone =\n media && media.media === 'none' && media.overrideDefaultHeroImage;\n\n if (displayImage && media.image) {\n return (\n \n \n \n );\n }\n\n if (displayVideo) {\n return (\n \n \n \n );\n }\n\n return (\n \n {defaultImage && (\n \n )}\n \n );\n}\n","/* eslint-disable camelcase */\nimport React, { useCallback, useEffect, useRef } from 'react';\n// external\nimport { Box, Button, Typography, useTheme } from '@mui/material';\nimport Typewriter from 'typewriter-effect';\n\n// types\nimport { SanityOrganizationLandingPageHero } from '@guider-global/shared-types';\nimport { hexToRGB } from 'utils';\n\n// components\nimport { AnimationWrapper } from 'components/AnimationWrapper';\nimport { useMixpanelEvents, useMobileMediaQuery } from 'hooks';\nimport { useNavigate } from 'react-router-dom';\nimport { useAppSelector } from 'store/hooks';\nimport { selectRegistrationType } from 'store/slices/appSlice';\nimport { OrganizationLandingPageHeroMedia } from '../OrganizationLandingPageHeroMedia';\n\ninterface IOrganizationLandingPageHeroProps {\n config: SanityOrganizationLandingPageHero;\n handleLearnMoreClick: () => void;\n setHeroHeight: React.Dispatch>;\n}\n\nexport const OrganizationLandingPageHero: React.FunctionComponent<\n IOrganizationLandingPageHeroProps\n> = ({ config, handleLearnMoreClick, setHeroHeight }) => {\n const navigate = useNavigate();\n const theme = useTheme();\n const registrationPageType = useAppSelector(selectRegistrationType);\n const media = config.organizationHeroMedia;\n const showLoginButtons = registrationPageType !== 'none';\n const { trackScreenTimeAndClick } = useMixpanelEvents();\n\n const displayNoMedia: boolean =\n media?.media === 'none' && media?.overrideDefaultHeroImage === true;\n\n const handleRegister = useCallback(() => {\n trackScreenTimeAndClick(\n 'Organization Landing page - Hero - Register Button',\n );\n navigate('/register/account');\n }, [navigate, trackScreenTimeAndClick]);\n\n const isMobile = useMobileMediaQuery();\n\n const heroRef = useRef(null);\n\n const headerStyles = {\n fontWeight: 600,\n fontSize: isMobile ? '24px' : '48px',\n lineHeight: isMobile ? '32px' : 'auto',\n };\n\n useEffect(() => {\n heroRef && heroRef.current && setHeroHeight(heroRef.current.clientHeight);\n }, [heroRef?.current?.clientHeight, setHeroHeight]);\n\n const renderTitle = () => (\n \n \n {config.dynamic_title ? (\n <>\n \n {config.title_prefix}\n \n
\n \n \n \n \n {config.title_suffix}{' '}\n \n \n ) : (\n config.title\n )}\n \n
\n );\n\n const renderSubtitle = () =>\n config.subtitle && (\n \n \n \n {config.subtitle}\n \n \n \n );\n\n const renderButtons = () => (\n \n \n {showLoginButtons && (\n \n {config.button_1_label}\n \n )}\n {config?.button_2_enable ? (\n \n {config?.button_2_label}\n \n ) : undefined}\n \n \n );\n\n return (\n <>\n \n \n \n {renderTitle()}\n {renderSubtitle()}\n {renderButtons()}\n \n \n \n \n \n );\n};\n\nexport default OrganizationLandingPageHero;\n","// external\nimport { FC } from 'react';\nimport { useLocation } from 'react-router-dom';\nimport { Button } from '@mui/material';\nimport { useAuth } from '@guider-global/auth-hooks';\n\n// store\nimport { useAppSelector } from 'store/hooks';\nimport { selectRegistrationType } from 'store/slices/appSlice';\n\n// types\nimport { ICallToActionConfig } from '..';\nimport { useMixpanelEvents } from 'hooks';\n\nexport interface NavigationToProgramButtonProps {\n ctaConfig?: ICallToActionConfig;\n buttonColor: 'secondary' | 'info';\n role: 'guide' | 'trainee';\n onClickProgramButtons: (isGuide?: boolean, pathname?: string) => void;\n}\n\nexport const NavigationToProgramButton: FC = ({\n ctaConfig,\n buttonColor,\n role,\n onClickProgramButtons,\n}) => {\n const { trackScreenTimeAndClick } = useMixpanelEvents();\n const location = useLocation();\n const pathname = location.pathname;\n\n const { isAuthenticated } = useAuth({});\n\n const registrationPageType = useAppSelector(selectRegistrationType);\n const showLoginButtons = registrationPageType !== 'none';\n const isGuide = role === 'guide';\n\n if (!isAuthenticated && !showLoginButtons) return <>;\n\n return (\n {\n if (isGuide) {\n trackScreenTimeAndClick('Program Landing page - Hero - Be a Guide');\n } else {\n trackScreenTimeAndClick('Program Landing page - Hero - Be a Trainee');\n }\n onClickProgramButtons(isGuide, pathname);\n }}\n >\n {ctaConfig?.cta_button_label}\n \n );\n};\n","// external\nimport { Box, Card, Divider, Typography, useTheme } from '@mui/material';\nimport React, { useCallback, useEffect, useRef } from 'react';\nimport { IconType } from 'react-icons';\nimport { MdFlag, MdSchool } from 'react-icons/md';\n\n// internal\nimport { hexToRGB } from 'utils';\n\n// components\nimport { AnimationWrapper } from 'components/AnimationWrapper';\nimport { NavigationToProgramButton } from './NavigationToProgramButton';\n\n// types\nimport {\n Program,\n SanityProgramLandingPageHero,\n} from '@guider-global/shared-types';\n\n// hooks\nimport { useAuth } from '@guider-global/auth-hooks';\nimport { useMobileMediaQuery } from 'hooks';\nimport { getImageSource } from 'utils/getImageSource';\n\nexport interface ICallToActionConfig {\n title?: string;\n subtitle?: string;\n cta_button_label?: string;\n}\n\ninterface IProgramLandingPageHeroProps {\n config: SanityProgramLandingPageHero;\n programDetails: Program['program_details'];\n setHeroHeight: React.Dispatch>;\n onClickProgramButtons: (isGuide?: boolean, pathname?: string) => void;\n disabledTraineeCTA?: boolean;\n}\n\nexport const ProgramLandingPageHero: React.FunctionComponent<\n IProgramLandingPageHeroProps\n> = ({\n config,\n programDetails,\n setHeroHeight,\n onClickProgramButtons,\n disabledTraineeCTA,\n}) => {\n useAuth({});\n const theme = useTheme();\n const isMobile = useMobileMediaQuery();\n\n const heroRef = useRef(null);\n\n useEffect(() => {\n heroRef && heroRef.current && setHeroHeight(heroRef.current.clientHeight);\n }, [heroRef?.current?.clientHeight, setHeroHeight]);\n\n const renderCTA = useCallback(\n ({\n ctaConfig,\n role,\n icon,\n iconColor,\n buttonColor,\n }: {\n ctaConfig?: ICallToActionConfig;\n role: 'guide' | 'trainee';\n icon: IconType;\n iconColor: string;\n buttonColor: 'secondary' | 'info';\n }) => (\n \n \n \n \n \n {ctaConfig?.title}\n \n \n {ctaConfig?.subtitle && (\n \n {ctaConfig?.subtitle}\n \n )}\n \n \n \n ),\n [\n isMobile,\n onClickProgramButtons,\n theme.palette.info.main,\n theme.palette.secondary.main,\n ],\n );\n\n const renderGuideCTA = () =>\n renderCTA({\n ctaConfig: config.guide_cta,\n role: 'guide',\n icon: MdFlag,\n iconColor: theme.palette.secondary.main,\n buttonColor: 'secondary',\n });\n\n const renderTraineeCTA = () =>\n renderCTA({\n ctaConfig: config.trainee_cta,\n role: 'trainee',\n icon: MdSchool,\n iconColor: theme.palette.info.main,\n buttonColor: 'info',\n });\n\n return (\n \n \n \n \n {config.title}\n \n \n \n {config?.subtitle && (\n \n \n {config.subtitle}\n \n \n )}\n\n \n {renderGuideCTA()}\n {!disabledTraineeCTA && renderTraineeCTA()}\n \n \n \n );\n};\n\nexport default ProgramLandingPageHero;\n","import { SanityEmoji } from '@guider-global/shared-types';\nimport { Button, ButtonProps, Typography } from '@mui/material';\nimport { Chip } from '@guider-global/ui';\n\nexport interface LanguageButtonProps extends ButtonProps {\n flag?: SanityEmoji;\n children?: React.ReactNode;\n selected?: boolean;\n}\n\nexport const LanguageButton = ({\n flag,\n children,\n selected,\n ...buttonProps\n}: LanguageButtonProps) => {\n return (\n \n \n {flag?.native} {children}\n \n {selected && }\n \n );\n};\n","import { Menu } from '@mui/material';\nimport { useState } from 'react';\nimport ArrowDropDown from '@mui/icons-material/ArrowDropDown';\nimport ArrowDropUp from '@mui/icons-material/ArrowDropUp';\nimport { LanguageButton } from 'components/LanguageButton';\nimport { IOrganizationLanguage } from '@guider-global/sanity-api';\n\nexport interface LanguageMenuProps {\n localeCode?: string;\n languageOptions: IOrganizationLanguage[];\n ariaLabel: string | undefined;\n onClickChange: (localeCode: string) => void;\n arrowColor?: string;\n}\n\nexport const LanguageMenu = ({\n languageOptions,\n localeCode,\n ariaLabel,\n onClickChange,\n arrowColor = 'primary.contrastText',\n}: LanguageMenuProps) => {\n const [languagesMenuAnchor, setLanguagesMenuAnchor] =\n useState(null);\n const handleLanguagesMenuClick = (\n event: React.MouseEvent,\n ) => {\n setLanguagesMenuAnchor(event.currentTarget);\n };\n const handleLanguagesMenuClose = () => {\n setLanguagesMenuAnchor(null);\n };\n const handleClickChange = (localeCode: string) => {\n onClickChange(localeCode);\n handleLanguagesMenuClose();\n };\n\n const languageOption = languageOptions?.find(\n (languageOption) => languageOption.locale_code === localeCode,\n )?.flag;\n\n if (!languageOptions || languageOptions.length <= 1) return null;\n\n return (\n <>\n \n ) : (\n \n )\n }\n />\n\n \n {languageOptions?.map(({ flag, display_name, locale_code }) => (\n handleClickChange(locale_code)}\n selected={locale_code === localeCode}\n disabled={locale_code === localeCode}\n fullWidth\n >\n {display_name}\n \n ))}\n \n \n );\n};\n","import { Collapse } from '@mui/material';\nimport { useState } from 'react';\nimport ArrowDropDown from '@mui/icons-material/ArrowDropDown';\nimport ArrowDropUp from '@mui/icons-material/ArrowDropUp';\nimport { Stack } from '@guider-global/ui';\nimport { LanguageButton } from 'components/LanguageButton';\nimport { IOrganizationLanguage } from '@guider-global/sanity-api';\n\nexport interface LanguageNestedProps {\n localeCode?: string;\n languageOptions: IOrganizationLanguage[];\n ariaLabel: string | undefined;\n onClickChange: (localeCode: string) => void;\n}\n\nexport const LanguageNested = ({\n languageOptions,\n localeCode,\n ariaLabel,\n onClickChange,\n}: LanguageNestedProps) => {\n const [open, setOpen] = useState(false);\n const handleLanguagesMenuClick = (\n event: React.MouseEvent,\n ) => {\n setOpen((c) => !c);\n };\n const handleLanguagesMenuClose = () => {\n setOpen(false);\n };\n const handleClickChange = (localeCode: string) => {\n onClickChange(localeCode);\n handleLanguagesMenuClose();\n };\n\n const languageOption = languageOptions?.find(\n (languageOption) => languageOption.locale_code === localeCode,\n )?.flag;\n\n if (!languageOptions || languageOptions.length === 1) return null;\n\n return (\n \n : }\n />\n \n {languageOptions?.map(({ flag, display_name, locale_code }) => (\n handleClickChange(locale_code)}\n selected={locale_code === localeCode}\n disabled={locale_code === localeCode}\n fullWidth\n >\n {display_name}\n \n ))}\n \n \n );\n};\n","/* eslint-disable camelcase */\n\nimport React from 'react';\nimport { Box, Grid, Typography } from '@mui/material';\n\nimport { SanityLearningHubCallout } from '@guider-global/shared-types';\n\nimport { buildSanityImageUrl } from '@guider-global/sanity-hooks';\nimport { useMobileMediaQuery } from 'hooks';\nimport { getContrastColor } from '@guider-global/ui';\n\ntype Props = SanityLearningHubCallout;\n\nconst Callout: React.FC = ({\n callout_title,\n callout_description,\n callout_image,\n callout_transparent_image,\n change_background_colour,\n background_colour,\n}) => {\n const isMobile = useMobileMediaQuery();\n\n const imageUrl = buildSanityImageUrl({\n source: callout_image,\n width: 1440,\n });\n\n const determineBackground = () => {\n if (change_background_colour && background_colour?.hex) {\n return background_colour.hex;\n } else {\n return isMobile\n ? `linear-gradient(155.49deg, #2729A5 35.32%, #2E84F5 91.68%)`\n : `linear-gradient(93.94deg, #2729A5 22.78%, #2E84F5 101.33%)`;\n }\n };\n return (\n \n \n \n \n \n {callout_title}\n \n \n {callout_description}\n \n \n \n \n \n \n \n );\n};\n\nexport default Callout;\n","import React from 'react';\nimport {\n Box,\n Card,\n CardActionArea,\n CardContent,\n CardMedia,\n Typography,\n} from '@mui/material';\nimport { Link } from 'react-router-dom';\n\nimport { SanityContentLibrary } from '@guider-global/shared-types';\n\nimport { buildSanityImageUrl } from '@guider-global/sanity-hooks';\nimport { getContentTypeIcon } from 'utils/getContentTypeIcon';\nimport { useMixpanelEvents, useMobileMediaQuery } from 'hooks';\n\ninterface Props extends SanityContentLibrary {\n variant: 'horizontal' | 'vertical';\n}\n\nconst getTypeLabel = ({ type }: { type: string }) => {\n if (type === 'pdf') {\n return 'PDF';\n } else {\n return type.charAt(0).toUpperCase() + type.slice(1);\n }\n};\n\nconst Tile: React.FC = ({ content, metadata, variant }) => {\n const { trackScreenTimeAndClick } = useMixpanelEvents();\n const { image } = content;\n const {\n type,\n slug: { current: contentSlug },\n } = metadata;\n\n const excerpt = content?.excerpt ? content?.excerpt : '';\n const title = content?.title || '';\n\n const isMobile = useMobileMediaQuery();\n\n const isVertical = variant === 'vertical';\n const isHorizontal = variant === 'horizontal';\n\n const isLink = type === 'link';\n\n const videoDuration = content?.video_duration;\n const isLongDuration = videoDuration && parseInt(videoDuration) > 5;\n\n return (\n \n trackScreenTimeAndClick('Content piece - Clicked', {\n 'Content type': type,\n })\n }\n sx={{\n margin: 1,\n height: '100%',\n }}\n >\n \n {image && (\n \n )}\n {image && videoDuration && (\n \n {videoDuration}\n \n )}\n \n \n {getContentTypeIcon({ type })}\n {getTypeLabel({ type })}\n \n \n {title}\n \n \n {excerpt}\n \n \n \n \n );\n};\n\nexport default Tile;\n","/* eslint-disable camelcase */\n\nimport {\n Box,\n Button,\n Grid,\n SxProps,\n Theme,\n Typography,\n useMediaQuery,\n useTheme,\n} from '@mui/material';\nimport React, { useState } from 'react';\nimport { MdArrowBack, MdArrowForward } from 'react-icons/md';\nimport { Pagination } from 'swiper/modules';\nimport { Swiper, SwiperSlide, useSwiper } from 'swiper/react';\n\nimport { SanityLearningHubTileGroup } from '@guider-global/shared-types';\nimport { useMobileMediaQuery } from 'hooks';\n\nimport Tile from '../Tile';\n\nimport 'swiper/css';\nimport 'swiper/css/pagination';\n\nimport './styles.css';\n\ntype Props = SanityLearningHubTileGroup;\n\nconst TileGroup: React.FC = ({\n tile_group_content_group,\n tile_group_length,\n tile_group_style,\n tile_group_subtitle,\n tile_group_title,\n}) => {\n const theme = useTheme();\n const isMobile = useMobileMediaQuery();\n const isSmallDesktop = useMediaQuery(theme.breakpoints.down('xl'));\n const [isBeginning, setIsBeginning] = useState(true);\n const [isEnd, setIsEnd] = useState(false);\n\n const buttonStyles: SxProps = {\n borderRadius: '18px',\n height: '36px',\n width: '36px',\n minWidth: 0,\n padding: 0,\n mr: 1,\n };\n\n const TileGroupNavigation = () => {\n const swiper = useSwiper();\n\n swiper.on('slideChange', function () {\n setIsEnd(swiper.isEnd);\n setIsBeginning(swiper.isBeginning);\n });\n\n return (\n \n \n \n swiper.slidePrev()}\n variant=\"outlined\"\n disabled={isBeginning ? true : false}\n sx={{\n ...buttonStyles,\n borderColor: 'info.dark',\n color: 'info.dark',\n transition:\n 'border-color linear 0.2s, background-color linear 0.2s',\n '&:hover': {\n backgroundColor: `${theme.palette.info.main}14`,\n borderColor: `${theme.palette.info.main}00`,\n transition:\n 'border-color linear 0.2s, background-color linear 0.2s',\n },\n }}\n >\n \n \n swiper.slideNext()}\n variant=\"contained\"\n disabled={isEnd}\n sx={{\n ...buttonStyles,\n backgroundColor: 'info.dark',\n transition: 'opacity linear 0.2s',\n '&:hover': {\n backgroundColor: 'info.main',\n opacity: '70%',\n transition:\n 'opacity linear 0.2s, background-color ease-in-out 0.1s',\n },\n }}\n disableElevation\n >\n \n \n \n \n );\n };\n\n return (\n \n \n \n {tile_group_title}\n \n \n {tile_group_subtitle}\n \n \n\n \n ``,\n }}\n modules={[Pagination]}\n style={{\n ['--swiper-theme-color' as string]: theme.palette.info.main,\n }}\n >\n {tile_group_content_group.content.content_references.map((content) => {\n return (\n \n = 4 && isSmallDesktop) || isMobile\n ? 'vertical'\n : tile_group_style\n }\n {...content}\n />\n \n );\n })}\n {!isMobile && }\n \n \n );\n};\n\nexport default TileGroup;\n","/* eslint-disable camelcase */\nimport React from 'react';\nimport { SanityContentLibrary } from '@guider-global/shared-types';\nimport { Box, Typography } from '@mui/material';\nimport { getContentTypeIcon } from 'utils/getContentTypeIcon';\nimport { useBaseLanguage } from '@guider-global/sanity-hooks';\nimport { getSubDomain } from '@guider-global/front-end-utils';\nimport { useLocalization } from 'hooks';\n\ninterface Props {\n heading: string | undefined;\n subheading?: string;\n type: SanityContentLibrary['metadata']['type'] | undefined;\n}\n\nexport const Header: React.FC = ({ type, heading, subheading }) => {\n const organizationSlug = getSubDomain();\n\n const { localeCode } = useLocalization(organizationSlug);\n const { baseLanguage } = useBaseLanguage({ localeCode });\n\n const content_types = baseLanguage?.learning_hub?.content_types;\n\n const getContentTypeLabel = ({\n type,\n }: {\n type: SanityContentLibrary['metadata']['type'] | undefined;\n }) => {\n if (!content_types || !type) return;\n switch (type) {\n case 'pdf':\n return content_types['embedded_pdf'];\n case 'link':\n return content_types['external_link'];\n default:\n return content_types[type];\n }\n };\n\n return (\n \n \n \n {heading}\n \n {subheading && {subheading}}\n \n {getContentTypeIcon({ type })}\n \n {getContentTypeLabel({ type })}\n \n \n \n );\n};\n","import { Box, Grid } from '@mui/material';\nimport { PortableText } from '@portabletext/react';\nimport { buildSanityImageUrl } from '@guider-global/sanity-hooks';\nimport { Header } from '../Header';\nimport { ContentItemBySlugResult } from '@guider-global/sanity-types';\n\ntype Props = ContentItemBySlugResult[0];\n\nexport const Article: React.FC = ({ content, metadata }) => {\n return (\n \n \n
\n \n \n );\n};\n","/* eslint-disable camelcase */\n\nimport { Box, Grid, Typography } from '@mui/material';\nimport { FC } from 'react';\n\nimport {\n SanityFileSource,\n buildSanityFileUrl,\n buildSanityImageUrl,\n} from '@guider-global/sanity-hooks';\nimport { ContentItemBySlugResult } from '@guider-global/sanity-types';\nimport { Header } from '../Header';\n\ntype Props = ContentItemBySlugResult[0];\n\nexport const Audio: FC = ({ content, metadata }) => {\n const fileUrl = content?.audio_file\n ? buildSanityFileUrl({\n source: content?.audio_file?.asset as SanityFileSource,\n })\n : '';\n\n return (\n <>\n \n \n
\n \n {content?.excerpt}\n \n \n \n \n );\n};\n","import { FC } from 'react';\n\nimport { Box, Grid, Typography } from '@mui/material';\n\nimport {\n SanityFileSource,\n buildSanityFileUrl,\n buildSanityImageUrl,\n} from '@guider-global/sanity-hooks';\nimport { Header } from '../Header';\nimport { ContentItemBySlugResult } from '@guider-global/sanity-types';\n\ntype Props = ContentItemBySlugResult[0];\n\nexport const PDF: FC = ({ content, metadata }) => {\n const fileUrl = content?.embedded_pdf\n ? buildSanityFileUrl({\n source: content?.embedded_pdf.asset as SanityFileSource,\n })\n : '';\n\n return (\n <>\n \n \n
\n \n {content?.excerpt}\n \n \n \n \n \n \n );\n};\n","// external\nimport React, { useEffect, useState } from 'react';\nimport { Backdrop, Box } from '@mui/material';\nimport { connect, ConnectedProps } from 'react-redux';\n\n// assets\nimport guiderWordMark from 'assets/guider-word-mark.svg';\n\n// store\nimport { RootState } from 'store';\nimport { useAuth0 } from '@auth0/auth0-react';\n\nconst mapState = (state: RootState) => {\n return {\n isAppLoading: state.app.loading,\n };\n};\n\nconst connector = connect(mapState);\ntype PropsFromRedux = ConnectedProps;\n\ntype LoadingElementProps = {\n timeout?: number;\n};\n\nexport const LoadingElement = ({ timeout = 0 }: LoadingElementProps) => {\n const [showLoading, setShowLoading] = useState(timeout === 0 ? true : false);\n\n useEffect(() => {\n if (timeout === 0) return;\n const timer = setTimeout(() => setShowLoading(true), timeout);\n return () => clearTimeout(timer);\n }, [timeout]);\n\n return (\n \n {showLoading && (\n \n )}\n \n );\n};\n\nexport const LoadingComponent: React.FunctionComponent = ({\n isAppLoading,\n}) => {\n const { isLoading } = useAuth0();\n\n return (\n \n \n \n );\n};\n\nexport const Loading = connector(LoadingComponent);\n","import Message from '@mui/icons-material/Message';\nimport { Alert, Box } from '@mui/material';\nimport { Button, Text, AvatarBox, UpdateIcon } from '@guider-global/ui';\n\nexport interface MaintenanceViewProps {\n heading: string;\n alertContent: string;\n supportButtonLabel: string;\n description: string;\n isMobile?: boolean;\n onClickSupport?: () => void;\n href?: string;\n}\n\nexport const MaintenanceView = ({\n heading,\n alertContent,\n supportButtonLabel,\n description,\n isMobile,\n onClickSupport,\n href,\n}: MaintenanceViewProps) => {\n return (\n \n }\n size={isMobile ? 'medium' : 'large'}\n heading={heading}\n />\n \n {alertContent}\n \n \n }\n color=\"info\"\n onClick={onClickSupport}\n href={href}\n />\n \n );\n};\n","import { MaintenanceView } from 'components/MaintenanceView';\nimport { useMobileMediaQuery } from 'hooks';\nimport { useIntercom } from 'react-use-intercom';\n\nexport interface MaintenanceWrapperProps {\n isIntercom?: boolean;\n}\n\nexport const MaintenanceWrapper = ({ isIntercom }: MaintenanceWrapperProps) => {\n const isMobile = useMobileMediaQuery();\n const {\n show: showIntercom,\n hide: hideIntercom,\n isOpen: isIntercomOpen,\n } = useIntercom();\n\n // TODO after SANITY V3 migration, link content to CMS\n // const { getBaseLanguage } = useSanityBaseLanguage({ getSilently: true });\n // const baseLanguage = getBaseLanguage();\n // const { title, description } = baseLanguage?.maintenancePage || {};\n const heading = 'Platform Updating...';\n const alertContent = 'Please refresh your browser in a few seconds.';\n const supportButtonLabel = 'Contact Support';\n const href = `mailto:${process.env.REACT_APP_GUIDER_SUPPORT_EMAIL}`;\n const description = isIntercom\n ? 'If this issue persists please contact support via intercom below.'\n : 'If this issue persists please contact support';\n\n const handleClickSupport = () => {\n if (isIntercomOpen) {\n return hideIntercom();\n }\n return showIntercom();\n };\n return (\n \n );\n};\n","import { Link } from 'react-router-dom';\nimport ReactMarkdown from 'react-markdown';\nimport remarkGfm from 'remark-gfm';\nimport { stripHostIfInternalUrl } from '@guider-global/front-end-utils';\n\nexport interface MarkdownProps {\n children?: string;\n}\nexport function Markdown({ children }: MarkdownProps) {\n return (\n (\n
\n
    \n
\n ),\n ol: ({ node, ...props }) => (\n
\n
    \n
\n ),\n a: ({ href, children }) =>\n href ? (\n {children}\n ) : null,\n }}\n >\n {children ?? ''}\n \n );\n}\n","import {\n Button,\n ButtonProps,\n Menu as MUIMenu,\n MenuProps as MUIMenuProps,\n PopoverVirtualElement,\n} from '@mui/material';\nimport { MenuItems, MenuItemProps } from 'components';\n\nexport interface MenuProps {\n items: MenuItemProps[];\n anchorEl:\n | Element\n | (() => Element)\n | PopoverVirtualElement\n | (() => PopoverVirtualElement)\n | null\n | undefined;\n onMenuClickOpen: (event: React.MouseEvent) => void;\n onMenuClickClosed: (\n event?: unknown,\n reason?: 'backdropClick' | 'escapeKeyDown',\n ) => void;\n hidden?: boolean;\n buttonProps?: ButtonProps;\n buttonDataCy?: string;\n children: React.ReactNode;\n menuProps?: MUIMenuProps;\n}\n\nexport const Menu = ({\n items,\n anchorEl,\n onMenuClickOpen,\n onMenuClickClosed,\n hidden,\n buttonDataCy,\n buttonProps,\n children,\n menuProps,\n}: MenuProps) => {\n if (hidden) return <>;\n return (\n <>\n \n {children}\n \n \n \n \n \n );\n};\n","import {\n MenuItem as MUIMenuItem,\n MenuItemProps as MUIMenuItemProps,\n ListItemIcon as MuiListItemIcon,\n} from '@mui/material';\n\nexport interface MenuItemProps {\n key?: string;\n action?: (event?: React.MouseEvent) => void;\n href?: string;\n to?: string;\n component?: any;\n 'data-cy': string;\n label?: string;\n children?: React.ReactNode;\n muiItemProps?: MUIMenuItemProps;\n icon?: React.ReactElement;\n}\n\nexport const MenuItem = ({\n action,\n href,\n to,\n label,\n children,\n component,\n 'data-cy': dataCy,\n muiItemProps,\n icon,\n}: MenuItemProps) => {\n return (\n \n {icon && (\n {icon}\n )}\n {label}\n {children}\n \n );\n};\n","import { MenuItem, MenuItemProps } from 'components/MenuItem';\n\nexport interface MenuItemsProps {\n items: MenuItemProps[];\n}\nexport const MenuItems = ({ items }: MenuItemsProps) => {\n return (\n <>\n {items.map((item, index) => (\n \n {item?.children}\n \n ))}\n \n );\n};\n"],"names":["loading","connected","onClickConnect","onClickDisconnect","organizationSlug","getSubDomain","localeCode","baseLanguage","useBaseLanguage","integrations","settings","disconnect","disconnect_button_label","connect","connect_button_label","IntegrationBaseButton","color","onClick","startIcon","MdLinkOff","MdLink","children","sx","rest","isMobile","LoadingButton","variant","display","width","minWidth","height","IntegrationsCard","iconSource","header","subheader","enabled","CardRootContainer","CardIconAndDetailsContainer","CardIconContainer","Box","component","src","alt","CardDetailsContainer","Typography","Skeleton","flexFlow","xs","md","justifyContent","alignItems","boxShadow","borderRadius","gap","p","textAlign","alignContent","backgroundColor","IntegrationsList","loadingStates","setLoadingStates","useState","toggleLoadingState","integrationName","isLoading","prevStates","useSettings","msTeamImageSrc","getImageSource","source","static_media","active_directory_teams","outlookCalendarImageSrc","active_directory_outlook_calendar","users","useUsers","user","at","userIntegrations","reqUserIntegrations","waitForAuthentication","ADOutlookIntegration","useMemo","find","userIntegration","ADTeamsIntegration","outlookCalendarLabel","active_directory_outlook_calendar_label","outlookCalendarDescription","active_directory_outlook_calendar_description","outlookTeamsLabel","active_directory_outlook_teams_label","outlookTeamsDescription","active_directory_outlook_teams_description","organization","useOrganization","enabledIntegrations","white_label","calendar","videoConferencing","video_conferencing","handleDisconnectIntegration","_a","integrationIdToDisconnect","method","url","handleConnectIntegration","data","features","error","console","cardTypes","key","email","map","card","theme","palette","info","main","padding","spacing","position","opacity","size","breakTitleOnMobile","whiteSpace","Divider","questions","py","Masonry","columns","question","answer","index","AnimationWrapper","animationType","maxWidth","breakpoints","values","lg","pb","margin","my","animationDelay","Accordion","elevation","border","AccordionSummary","expandIcon","MdExpandMore","id","AccordionDetails","config","faqQuestions","title","marginTop","marginBottom","marginLeft","marginRight","alignSelf","pt","buttons","onClickProgramButtons","onClickRegisterButton","showLoginButtons","trackScreenTimeAndClick","pathname","showButtons","guideRegistrationButtonLabel","traineeRegistrationButtonLabel","Button","registrationButtonLabel","justifySelf","paddingLeft","step","useTheme","background","secondary","borderLeftWidth","down","description","steps","gridTemplateColumns","gridTemplateRows","gridAutoFlow","videoUrl","paddingBottom","allowFullScreen","image","buildSanityImageUrl","imageAltText","transparentImage","media","mediaType","video","slideDirection","howItWorks","backgroundImage","backgroundSize","justifyItems","HowItWorksSteps","howItWorksSteps","px","howItWorksMedia","howItWorksDescription","howItWorksButtons","LandingPageContent","forwardRef","ref","isShowLoginButtons","renderContent","useCallback","section","_type","LandingPageSingleQuote","LandingPageTextWithImage","LandingPageLogos","LandingPageBenefits","LandingPageCallToAction","LandingPageTestimonials","LandingPageTextColumns","scrollMarginTop","overflowX","isTransparent","transparent_image","verticalPosition","vertical_position","imagePosition","mobileDirection","imageMargin","mb","mt","quoteSourceMobileStyles","pl","left","content","top","flexDirection","overflow","screenHeightTrigger","objectFit","source_image","maxHeight","mx","quote","source_description","renderBlocks","blocks","block","isEven","positionStyles","mr","ml","imageBorderRadius","rowFlexDirection","zIndex","Card","show_buttons","button_1_label","button_2_label","button_3_label","backgroundPosition","right","borderTop","borderRight","borderBottom","borderLeft","bottom","renderPoint","point","side","isLeft","success","isFirst","desktopStyles","borderBottomRightRadius","borderBottomLeftRadius","borderColor","Icon","icon","renderPoints","points","renderSection","renderImage","renderDescription","background_color","hex","textColor","backgroundRgb","rgb","r","g","b","backgroundGradient","logo","centeredSlides","spaceBetween","slidesPerView","modules","pagination","clickable","effect","autoplay","delay","pauseOnMouseEnter","disableOnInteraction","loop","fadeEffect","crossFade","testimonial","renderSourceData","text","additional_source_description","landing_page","quotation_mark","quote_title","quote_body","slideOffset","minHeight","subtitle","flexWrap","dark","logos","length","format","style","OrganizationLandingPageHeroMedia","defaultImage","organization_hero_image","displayImage","overrideDefaultHeroImage","displayVideo","displayNone","fadeDuration","OrganizationLandingPageHero","handleLearnMoreClick","setHeroHeight","navigate","registrationPageType","organizationHeroMedia","displayNoMedia","handleRegister","heroRef","useRef","headerStyles","fontWeight","fontSize","lineHeight","useEffect","current","clientHeight","m","dynamic_title","title_prefix","textDecoration","textDecorationColor","textDecorationThickness","textUnderlineOffset","options","strings","dynamic_list","autoStart","cursor","title_suffix","slideDuration","button_2_enable","NavigationToProgramButton","ctaConfig","buttonColor","role","isAuthenticated","useAuth","isGuide","fullWidth","cta_button_label","ProgramLandingPageHero","programDetails","disabledTraineeCTA","renderCTA","iconColor","flex","program_image","guide_cta","MdFlag","trainee_cta","MdSchool","LanguageButton","flag","selected","buttonProps","textTransform","native","label","LanguageMenu","languageOptions","ariaLabel","onClickChange","arrowColor","languagesMenuAnchor","setLanguagesMenuAnchor","handleLanguagesMenuClose","languageOption","locale_code","event","currentTarget","endIcon","anchorEl","open","Boolean","onClose","anchorOrigin","vertical","horizontal","transformOrigin","PaperProps","display_name","disabled","unified","LanguageNested","setOpen","handleClickChange","direction","align","c","in","timeout","unmountOnExit","callout_title","callout_description","callout_image","callout_transparent_image","change_background_colour","background_colour","imageUrl","determineBackground","container","item","pr","letterSpacing","backgroundRepeat","getTypeLabel","type","charAt","toUpperCase","slice","metadata","slug","contentSlug","excerpt","isVertical","isHorizontal","isLink","videoDuration","video_duration","isLongDuration","parseInt","CardActionArea","href","link","target","rel","Link","to","CardMedia","CardContent","getContentTypeIcon","tile_group_content_group","tile_group_length","tile_group_style","tile_group_subtitle","tile_group_title","isSmallDesktop","useMediaQuery","isBeginning","setIsBeginning","isEnd","setIsEnd","buttonStyles","TileGroupNavigation","swiper","on","Grid","slidePrev","transition","MdArrowBack","slideNext","disableElevation","MdArrowForward","centeredSlidesBounds","renderBullet","content_references","heading","subheading","content_types","learning_hub","getContentTypeLabel","Article","value","article_content","Audio","fileUrl","audio_file","buildSanityFileUrl","asset","sm","controls","PDF","embedded_pdf","connector","state","isAppLoading","app","LoadingElement","showLoading","setShowLoading","timer","setTimeout","clearTimeout","animation","Loading","useAuth0","transitionDuration","appear","MaintenanceView","alertContent","supportButtonLabel","onClickSupport","Alert","severity","Message","MaintenanceWrapper","isIntercom","show","showIntercom","hide","hideIntercom","isOpen","isIntercomOpen","Markdown","remarkPlugins","components","ul","node","props","ol","a","stripHostIfInternalUrl","Menu","items","onMenuClickOpen","onMenuClickClosed","hidden","buttonDataCy","menuProps","MenuItem","action","dataCy","muiItemProps","MenuItems"],"sourceRoot":""}