{"version":3,"file":"779.chunk.js","mappings":"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","sources":["webpack://orifooterapp/../../../src/constants/style.ts","webpack://orifooterapp/../../../../src/components/FollowUs/styles.ts","webpack://orifooterapp/../../../src/components/styles.ts","webpack://orifooterapp/../../src/constants-generated.ts","webpack://orifooterapp/../../../../src/containers/FooterContent/styles.ts","webpack://orifooterapp/../../../../../../src/components/SiteLinks/components/Group/styles.ts","webpack://orifooterapp/../../../../../../src/containers/FooterAppSkeleton/components/LinkColumn/styles.ts","webpack://orifooterapp/../../../../../../src/containers/FooterAppSkeleton/components/LinkColumn/LinkColumn.tsx","webpack://orifooterapp/../../../../../../src/containers/FooterAppSkeleton/components/LinkColumn/constants.ts","webpack://orifooterapp/../../../../../../src/containers/FooterAppSkeleton/components/MobileAppsColumn/styles.ts","webpack://orifooterapp/../../../../../../src/containers/FooterAppSkeleton/components/MobileAppsColumn/MobileAppsColumn.tsx","webpack://orifooterapp/../../../../src/containers/FooterAppSkeleton/styles.ts","webpack://orifooterapp/../../../../src/containers/FooterAppSkeleton/FooterAppSkeleton.tsx","webpack://orifooterapp/../../../src/containers/ErrorBoundary.tsx","webpack://orifooterapp/../../../src/constants/defaultTranslations.ts","webpack://orifooterapp/../../../src/constants/defaultTranslationsWithNamespaces.ts","webpack://orifooterapp/../../../src/containers/ApiProvider.tsx","webpack://orifooterapp/../../../src/utils/getChildrenWithNavigationType.ts","webpack://orifooterapp/../../../src/utils/getSiteLinksColumns.ts","webpack://orifooterapp/../../../src/utils/parseFooterData.ts","webpack://orifooterapp/../../../src/utils/getFooterNavigationType.ts","webpack://orifooterapp/../../../src/utils/getPaymentMethods.ts","webpack://orifooterapp/../../../../src/components/SiteLinks/constants.ts","webpack://orifooterapp/../../../src/constants/cookies.ts","webpack://orifooterapp/../../../src/contexts/footerContext.ts","webpack://orifooterapp/../../../src/hooks/useFooter.ts","webpack://orifooterapp/../../../src/utils/isCookieSet.ts","webpack://orifooterapp/../../../../../../src/components/Subscribe/components/TitleIcon/types.ts","webpack://orifooterapp/../../../../../../src/components/Subscribe/components/NewsletterDialog/types.ts","webpack://orifooterapp/../../../../../../src/components/Subscribe/components/NewsletterDialog/components/NewsletterDialogContext/utils.ts","webpack://orifooterapp/../../../../../../src/components/Subscribe/components/NewsletterDialog/components/NewsletterDialogContext/NewsletterDialogContext.tsx","webpack://orifooterapp/../../../src/api/createNewsletterSubscription.ts","webpack://orifooterapp/../../../../../../src/components/Subscribe/components/PrivacyPolicy/constants.ts","webpack://orifooterapp/../../../../../../src/components/Subscribe/components/PrivacyPolicy/styles.ts","webpack://orifooterapp/../../../../../../src/components/Subscribe/components/PrivacyPolicy/PrivacyPolicy.tsx","webpack://orifooterapp/../../../../../../src/components/Subscribe/components/TitleIcon/styles.ts","webpack://orifooterapp/../../../../../../src/components/Subscribe/components/TitleIcon/TitleIcon.tsx","webpack://orifooterapp/../../../src/constants/index.ts","webpack://orifooterapp/../../../../../../src/components/Subscribe/components/NewsletterDialog/components/EmailInput/constants.tsx","webpack://orifooterapp/../../../../../../src/components/Subscribe/components/NewsletterDialog/components/EmailInput/EmailInput.tsx","webpack://orifooterapp/../../../../../../src/components/Subscribe/components/NewsletterDialog/constants.ts","webpack://orifooterapp/../../../../../../src/components/Subscribe/components/NewsletterDialog/styles.ts","webpack://orifooterapp/../../../../../../src/components/Subscribe/components/NewsletterDialog/utils.ts","webpack://orifooterapp/../../../../../../src/components/Subscribe/components/NewsletterDialog/NewsletterDialog.tsx","webpack://orifooterapp/../../../../src/components/Subscribe/styles.ts","webpack://orifooterapp/../../../../src/components/Subscribe/Subscribe.tsx","webpack://orifooterapp/../../../src/hooks/useSubscribePopup.ts","webpack://orifooterapp/../../../../src/components/Subscribe/constants.ts","webpack://orifooterapp/../../../../../../src/components/SiteLinks/components/Accordion/styles.ts","webpack://orifooterapp/../../../../../../src/components/SiteLinks/components/Accordion/Accordion.tsx","webpack://orifooterapp/../../../../../../src/components/SiteLinks/components/Accordion/constants.ts","webpack://orifooterapp/../../../../../../src/components/SiteLinks/components/Group/Group.tsx","webpack://orifooterapp/../../../../../../src/components/SiteLinks/components/Group/constants.ts","webpack://orifooterapp/../../../../../../src/components/SiteLinks/components/Links/styles.ts","webpack://orifooterapp/../../../../../../src/components/SiteLinks/components/Links/Links.tsx","webpack://orifooterapp/../../../../../../src/components/SiteLinks/components/Links/constants.ts","webpack://orifooterapp/../../../../src/components/SiteLinks/styles.ts","webpack://orifooterapp/../../../../src/components/SiteLinks/SiteLinks.tsx","webpack://orifooterapp/../../../src/utils/updateImageUrl.ts","webpack://orifooterapp/../../../../../../src/components/MobileApps/components/MobileAppIcon/constants.ts","webpack://orifooterapp/../../../../../../src/components/MobileApps/components/MobileAppIcon/MobileAppIcon.tsx","webpack://orifooterapp/../../../../../../src/components/MobileApps/components/SuperApp/styles.ts","webpack://orifooterapp/../../../../../../src/components/MobileApps/components/SuperApp/SuperApp.tsx","webpack://orifooterapp/../../../../src/components/MobileApps/constants.ts","webpack://orifooterapp/../../../../src/components/MobileApps/styles.ts","webpack://orifooterapp/../../../../src/components/MobileApps/MobileApps.tsx","webpack://orifooterapp/../../../src/models/SocialMediaIcons.ts","webpack://orifooterapp/../../../../../src/components/FollowUs/components/SocialMediaIcon.tsx","webpack://orifooterapp/../../../../src/components/FollowUs/constants.ts","webpack://orifooterapp/../../../../src/components/FollowUs/FollowUs.tsx","webpack://orifooterapp/../../../src/hooks/useTranslations.ts","webpack://orifooterapp/../../../src/contexts/appConfigContext.ts","webpack://orifooterapp/../../../../src/components/ContentRoot/styles.ts","webpack://orifooterapp/../../../../src/components/ContentRoot/ContentRoot.tsx","webpack://orifooterapp/../../../../src/components/ContentRoot/constants.ts","webpack://orifooterapp/../../../../src/components/ContentText/styles.ts","webpack://orifooterapp/../../../../src/components/ContentText/ContentText.tsx","webpack://orifooterapp/../../../../src/components/ContentText/constants.ts","webpack://orifooterapp/../../../../src/components/ContentFrontPage/ContentFrontPage.tsx","webpack://orifooterapp/../../../src/hooks/useAppConfig.ts","webpack://orifooterapp/../../../../src/components/ContentFrontPage/constants.ts","webpack://orifooterapp/../../../../src/components/ContentAllPages/constants.ts","webpack://orifooterapp/../../../../src/components/ContentAllPages/ContentAllPages.tsx","webpack://orifooterapp/../../../../../src/components/MarketExceptions/components/styles.ts","webpack://orifooterapp/../../../../src/components/MarketExceptions/MarketExceptions.tsx","webpack://orifooterapp/../../../../src/components/MarketExceptions/constants.ts","webpack://orifooterapp/../../../../src/components/CopyrightWithLinks/styles.ts","webpack://orifooterapp/../../../../src/components/CopyrightWithLinks/CopyrightWithLinks.tsx","webpack://orifooterapp/../../../../src/components/CopyrightWithLinks/constants.ts","webpack://orifooterapp/../../src/constants.ts","webpack://orifooterapp/../../../src/utils/getLanguageCodeAbbreviation.ts","webpack://orifooterapp/../../../src/utils/isDefaultLanguage.ts","webpack://orifooterapp/../../../src/utils/changeLanguage.ts","webpack://orifooterapp/../../../src/utils/ensureEndsWith.ts","webpack://orifooterapp/../../../src/utils/getLegacyCookieName.ts","webpack://orifooterapp/../../../../../../src/components/LanguageSelector/components/CountryInfo/CountryInfo.tsx","webpack://orifooterapp/../../../../src/components/LanguageSelector/styles.ts","webpack://orifooterapp/../../../../src/components/LanguageSelector/LanguageSelector.tsx","webpack://orifooterapp/../../../../src/components/LanguageSelector/constants.ts","webpack://orifooterapp/../../../../src/components/PaymentMethods/constants.ts","webpack://orifooterapp/../../../../src/components/PaymentMethods/styles.ts","webpack://orifooterapp/../../../../src/components/PaymentMethods/PaymentMethods.tsx","webpack://orifooterapp/../../../../src/containers/FooterContent/FooterContent.tsx","webpack://orifooterapp/../../../../src/containers/FooterContent/hooks.ts","webpack://orifooterapp/../../../src/hooks/useReopenCookiePreferences.ts","webpack://orifooterapp/../../../src/api/useGetFooterContent.ts","webpack://orifooterapp/../../../../src/containers/FooterContent/constants.ts","webpack://orifooterapp/../../src/logger.ts","webpack://orifooterapp/../../src/App.tsx","webpack://orifooterapp/../../../src/contexts/configurationContext.ts","webpack://orifooterapp/../../../src/models/TranslationKey.ts","webpack://orifooterapp/../../../src/models/LanguageSelectPopupTestIds.ts","webpack://orifooterapp/../../../../src/components/LanguageSelectModal/styles.ts","webpack://orifooterapp/../../../../src/components/LanguageSelectModal/LanguageSelectModal.tsx","webpack://orifooterapp/../../../src/hooks/useTenantLanguages.ts","webpack://orifooterapp/../../../src/utils/hasLanguageInUrl.ts","webpack://orifooterapp/../../../src/utils/getDefaultIsOpenedState.ts","webpack://orifooterapp/../../../src/containers/LanguageSwitcherPopup.tsx","webpack://orifooterapp/../../../src/utils/getLanguageCookieValue.ts","webpack://orifooterapp/./src/logger.ts","webpack://orifooterapp/./src/appRender.tsx","webpack://orifooterapp/../../../../../src/components/MarketExceptions/components/constants.ts"],"sourcesContent":["export const maxWidth = 984;\nexport const maxTextWidth = 600;\n","import { styled } from '@ori-ui/mui';\n\nimport { maxWidth } from '../../constants';\n\nexport const FollowUsRoot = styled('div')(({ theme }) => ({\n maxWidth,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n gap: theme.spacing(2),\n}));\n\nexport const Icons = styled('div')(({ theme }) => ({\n display: 'flex',\n flexDirection: 'row',\n flexWrap: 'wrap',\n justifyContent: 'center',\n gap: theme.spacing(2),\n}));\n","/* istanbul ignore file */\nimport { Skeleton, styled } from '@ori-ui/mui';\nimport { shouldForwardProp } from '@ori/presentation-utils';\n\nexport const UnifiedSkeleton = styled(Skeleton)({ transform: 'none' });\n\nexport const MobileOfficeRoot = styled('div', {\n shouldForwardProp: shouldForwardProp(),\n})<{ isMobileOffice?: boolean | undefined; isMobileOfficeFull?: boolean | undefined }>(({\n isMobileOffice,\n isMobileOfficeFull,\n theme,\n}) => {\n if (isMobileOfficeFull) {\n return {\n '@media (min-width: 1025px)': {\n // Since there is a left menu, we have to set this style to make footer elements centered within the right container area.\n borderLeft: '280px solid transparent',\n },\n '@media (min-width: 1604px)': {\n borderLeft: 'none',\n },\n };\n }\n\n if (isMobileOffice) {\n return {\n '@media (min-width: 1025px)': {\n borderLeft: '280px solid transparent',\n },\n '@media (min-width: 1604px)': {\n borderLeft: 'none',\n },\n };\n }\n\n return {};\n});\n","/* istanbul ignore file */\n//\n// DO NOT EDIT!\n// This file was autogenerated by Eddie.\n// Changes may cause incorrect behavior and will be lost when the file is regenerated.\n//\n// Run `npx eddie update workspace` to regenerate.\n//\n\nexport const APP_NAME = 'footer';\nexport const PACKAGE_NAME = '@ori/footer';\nexport const TEAM_NAME = 'Presentation';\n\nexport const EMOTION_CACHE_KEY = `${APP_NAME}-emotion-cache-key`;\n\nexport const APP_ROOT_ELEMENT_ID = `${APP_NAME}-root`;\n","// istanbul ignore file\nimport { styled } from '@ori-ui/mui';\nimport { shouldForwardProp } from '@ori/presentation-utils';\n\nimport { MobileOfficeRoot } from '../../components/styles';\nimport { maxWidth } from '../../constants';\n\nexport const FourthColumn = styled('div')(({ theme }) => ({\n display: 'none',\n [theme.breakpoints.up('md')]: {\n display: 'block',\n },\n}));\n\nexport const Highlight = styled('div')(({ theme }) => ({\n boxSizing: 'border-box',\n width: '100%',\n padding: theme.spacing(6, 3),\n backgroundColor: theme.palette.grey[100],\n marginBottom: theme.spacing(6),\n}));\n\nexport const BottomContent = styled(MobileOfficeRoot)(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n gap: theme.spacing(6),\n padding: theme.spacing(0, 3),\n [theme.breakpoints.up('sm')]: {\n padding: 0,\n },\n}));\n\nexport const HighlightGrid = styled('div', {\n shouldForwardProp: shouldForwardProp(),\n})<{ isMobileOffice?: boolean | undefined }>(({ isMobileOffice, theme }) => ({\n maxWidth,\n boxSizing: 'content-box',\n margin: '0 auto',\n display: 'grid',\n gridTemplateColumns: '1fr',\n columnGap: theme.spacing(3),\n [theme.breakpoints.up('md')]: {\n gridTemplateColumns: '3fr 1fr',\n },\n ...(isMobileOffice && {\n '@media (min-width: 1025px)': {\n margin: theme.spacing(0, 6),\n borderLeft: '280px solid transparent',\n },\n '@media (min-width: 1604px)': {\n margin: '0 auto',\n borderLeft: 'none',\n },\n }),\n}));\n\nexport const Root = styled('div')(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n marginTop: theme.spacing(6),\n background: theme.palette.common.white,\n paddingBottom: theme.spacing(9),\n}));\n","import { styled } from '@ori-ui/mui';\n\nexport const Root = styled('div')(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n gap: theme.spacing(3),\n}));\n","import { styled } from '@ori-ui/mui';\n\nimport { UnifiedSkeleton } from '../../../../components/styles';\n\nexport const LinkLabelSkeleton = styled(UnifiedSkeleton)(({ theme }) => ({\n fontSize: theme.typography.fontSize,\n}));\n\nexport const ListLink = styled(UnifiedSkeleton)({\n height: '18px',\n});\n\nexport const MobileLinkColumn = styled(UnifiedSkeleton)({\n width: '100%',\n height: '50px',\n});\n","/* eslint-disable react/no-array-index-key -- Array is not dynamic therefore we dont need this rule */\nimport { Typography } from '@ori-ui/mui';\nimport useTestId from '@ori/testid-generator';\nimport { type FC } from 'react';\n\nimport { Root } from '../../../../components/SiteLinks/components/Group/styles';\nimport { LINK_COLUMN } from './constants';\nimport { LinkLabelSkeleton, ListLink } from './styles';\nimport { type LinkColumnProps } from './types';\n\nexport const LinkColumn: FC = ({ customSkeletons, children, ...rest }) => {\n const { getTestId } = useTestId();\n\n return (\n \n \n \n \n {customSkeletons ? (\n customSkeletons.map(({ skeletonWidth }, index) => (\n \n ))\n ) : (\n <>\n \n \n \n \n \n \n )}\n {children}\n \n );\n};\n","export const LINK_COLUMN = 'link-column';\n","import { styled, Skeleton } from '@ori-ui/mui';\n\nimport { LinkColumn } from '../LinkColumn/LinkColumn';\n\nexport const AppIconSkeleton = styled(Skeleton)(({ theme }) => ({\n transform: 'none',\n display: 'inline-block',\n margin: theme.spacing(1, 1),\n width: 35,\n height: 35,\n overflow: 'hidden',\n}));\n\nexport const Root = styled(LinkColumn)(({ theme }) => ({\n textAlign: 'center',\n display: 'flex',\n flexFlow: 'column',\n alignItems: 'center',\n [theme.breakpoints.up('md')]: {\n margin: 'auto',\n },\n}));\n","import type { FC } from 'react';\n\nimport { AppIconSkeleton, Root } from './styles';\n\nexport const MobileAppsColumn: FC = () => (\n \n
\n \n \n
\n
\n);\n","import { styled } from '@ori-ui/mui';\n\nexport const CenteredRoot = styled('div')({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n background: 'white',\n});\n\nexport const CopyrightRoot = styled(CenteredRoot)({\n height: '40px',\n});\n\nexport const LinksRoot = styled('div')(({ theme }) => ({\n width: '100%',\n display: 'grid',\n rowGap: theme.spacing(2),\n [theme.breakpoints.up('sm')]: {\n gridAutoFlow: 'column',\n gridAutoColumns: 'minmax(150px, 1fr)',\n justifyContent: 'center',\n justifyItems: 'center',\n columnGap: theme.spacing(3),\n },\n}));\n\nexport const SubscribeBannerRoot = styled(CenteredRoot)({\n height: 70,\n});\n","import { Typography, Hidden } from '@ori-ui/mui';\nimport { Team, TestIdProvider } from '@ori/testid-generator';\nimport type { FC } from 'react';\n\nimport { FollowUsRoot } from '../../components/FollowUs/styles';\nimport { UnifiedSkeleton } from '../../components/styles';\nimport { APP_NAME } from '../../constants-generated';\nimport { BottomContent, FourthColumn, Highlight, HighlightGrid, Root } from '../FooterContent/styles';\nimport { LinkColumn, MobileAppsColumn } from './components';\nimport { MobileLinkColumn } from './components/LinkColumn/styles';\nimport { CopyrightRoot, LinksRoot, SubscribeBannerRoot } from './styles';\n\n/**\n * Footer app skeleton for when the footer is no longer served via SSR but rendered only via CSR\n */\nexport const FooterAppSkeleton: FC = () => (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n","/* istanbul ignore file */\nimport { ErrorBoundary as ErrorBoundaryComponent } from '@ori/logger';\nimport type { FC, PropsWithChildren } from 'react';\n\nimport { FooterAppSkeleton } from './FooterAppSkeleton';\n\nexport const ErrorBoundary: FC = ({ children }) => (\n }\n >\n {children}\n \n);\n","/* istanbul ignore file */\n\n/**\n * DO NOT EDIT!\n * This file was autogenerated by npm script `localizations-codegen`.\n * Changes may cause incorrect behavior and will be lost when the file is regenerated.\n *\n * Run `npx localizations-codegen` to regenerate.\n */\nimport type { TranslationKey } from '../models/TranslationKey';\n\nexport type DefaultTranslations = Record;\n\nexport const defaultTranslations: DefaultTranslations = {\n selectLanguage: 'Select your preferred language',\n};\n\nexport const translationsNamespace = 'language-switcher';\n","import {\n translationsNamespace as languageSwitcherTranslationsNamespace,\n defaultTranslations as languageSwitcherDefaultTranslations,\n} from '@ori/language-switcher';\n\nimport {\n translationsNamespace as footerTranslationsNamespace,\n defaultTranslations as footerDefaultTranslations,\n} from './defaultTranslations';\n\n/**\n * Combined translations with namespaces that footer uses. Includes footer and language-switcher namespaces\n */\nexport const defaultTranslationsWithNamespaces = {\n [footerTranslationsNamespace]: footerDefaultTranslations,\n [languageSwitcherTranslationsNamespace]: languageSwitcherDefaultTranslations,\n};\n","import { useToken } from '@ori/auth';\nimport { useServiceUrls } from '@ori/configuration-manager';\nimport { useEnvironment } from '@ori/environment';\nimport { ApiClientProvider as GlobalApiClientProvider } from '@ori/global-api-client-react';\nimport { useLanguage } from '@ori/i18n';\nimport { ApiClientProvider as StaticApiClientProvider } from '@ori/static-api-client-react';\nimport type { FC, PropsWithChildren } from 'react';\n\nexport const ApiProvider: FC = ({ children }) => {\n const { tenant } = useEnvironment();\n const { language } = useLanguage();\n const { globalApiUrl, staticApiUrl } = useServiceUrls(['globalApi', 'staticApi']);\n const { formattedToken } = useToken();\n\n return (\n \n \n {children}\n \n \n );\n};\n","import type {\n StaticNavigationNavigationItemDtoLinkType,\n StaticApplicationsFooterBffNavigationDto,\n StaticApplicationsFooterBffNavigationItemDto,\n} from '@ori/static-api-client-react';\n\nexport const getChildrenWithNavigationType = (\n linkType: StaticNavigationNavigationItemDtoLinkType,\n data?: StaticApplicationsFooterBffNavigationDto | StaticApplicationsFooterBffNavigationItemDto,\n) => data?.children.find((item) => item.linkType === linkType);\n","import {\n type StaticApplicationsFooterBffNavigationDto,\n StaticNavigationNavigationItemDtoLinkType,\n type StaticApplicationsFooterBffNavigationItemDto,\n} from '@ori/static-api-client-react';\n\nimport { MAX_COLUMNS } from '../components/SiteLinks/constants';\n\nexport interface SiteLinksColumn extends StaticApplicationsFooterBffFooterDtoItem {\n children: StaticApplicationsFooterBffFooterDtoItem[];\n}\nexport type StaticApplicationsFooterBffFooterDtoItem = Omit & {\n title: string;\n};\nexport const isLinkRenderable = (item: StaticApplicationsFooterBffNavigationItemDto) => Boolean(item.title);\n\nexport const getSiteLinksColumns = (\n footer: StaticApplicationsFooterBffNavigationDto | undefined,\n): SiteLinksColumn[] => {\n const footerColumns = footer?.children.filter(\n (item) => item.linkType === StaticNavigationNavigationItemDtoLinkType.FooterColumn,\n );\n const columns =\n footerColumns\n ?.filter((column): column is StaticApplicationsFooterBffFooterDtoItem => isLinkRenderable(column))\n .slice(0, MAX_COLUMNS) ?? [];\n\n const onlyRenderableChildren = columns.map((column) => ({\n ...column,\n children: column.children.filter((child): child is StaticApplicationsFooterBffFooterDtoItem =>\n isLinkRenderable(child),\n ),\n }));\n\n return onlyRenderableChildren;\n};\n","import {\n StaticNavigationNavigationItemDtoLinkType,\n type StaticApplicationsFooterBffFooterDto,\n} from '@ori/static-api-client-react';\n\nimport { type FooterContent } from '../models/FooterContent';\nimport { getChildrenWithNavigationType } from './getChildrenWithNavigationType';\nimport { getFooterNavigationType } from './getFooterNavigationType';\nimport { getPaymentMethods } from './getPaymentMethods';\nimport { type StaticApplicationsFooterBffFooterDtoItem, getSiteLinksColumns } from './getSiteLinksColumns';\n\nexport const parseFooterData = (data: StaticApplicationsFooterBffFooterDto): FooterContent => {\n const footer = getFooterNavigationType(data);\n const bottom = getChildrenWithNavigationType(StaticNavigationNavigationItemDtoLinkType.Bottom, footer);\n const paymentMethodsItems = getPaymentMethods(footer);\n const copyright = getChildrenWithNavigationType(StaticNavigationNavigationItemDtoLinkType.BottomCopyright, bottom);\n const links =\n bottom?.children\n .filter((item) => item.linkType === StaticNavigationNavigationItemDtoLinkType.BottomLinks)\n .filter((link): link is StaticApplicationsFooterBffFooterDtoItem => Boolean(link.title)) ?? [];\n const siteLinksColumns = getSiteLinksColumns(footer);\n const ourApps = getChildrenWithNavigationType(StaticNavigationNavigationItemDtoLinkType.OurApps, footer);\n const turkishException = getChildrenWithNavigationType(StaticNavigationNavigationItemDtoLinkType.QRTR, footer);\n const languages = data.languages.map((value) => ({\n code: value.code ?? '',\n name: value.name ?? '',\n type: value.type,\n }));\n\n return {\n allPagesPagesContent: bottom?.description,\n frontpageContent: bottom?.title,\n paymentMethodsItems,\n copyrightTitle: copyright?.title,\n copyrightLinks: links,\n siteLinksColumns,\n ourApps,\n turkishException,\n languages,\n languageConfiguration: data.application?.footer?.languageConfiguration,\n socialMediaLinks: data.socialMediaLinks,\n newsletterSubsciptionConfiguration: data.newsletterSubsciptionConfiguration,\n mobileApps: data.mobileApps,\n };\n};\n","import { StaticNavigationNavigationItemDtoType } from '@ori/static-api-client-react';\nimport type { StaticApplicationsFooterBffFooterDto } from '@ori/static-api-client-react';\n\nexport const getFooterNavigationType = (data?: StaticApplicationsFooterBffFooterDto) =>\n data?.application?.navigations.find((item) => item.navigationType === StaticNavigationNavigationItemDtoType.Footer);\n","import type { StaticApplicationsFooterBffNavigationDto } from '@ori/static-api-client-react';\nimport { StaticNavigationNavigationItemDtoLinkType } from '@ori/static-api-client-react';\n\nimport { getChildrenWithNavigationType } from './getChildrenWithNavigationType';\n\nexport const getPaymentMethods = (footer: StaticApplicationsFooterBffNavigationDto | undefined) => {\n const paymentMethods = getChildrenWithNavigationType(\n StaticNavigationNavigationItemDtoLinkType.PaymentMethods,\n footer,\n );\n const paymentMethodsItems = paymentMethods?.children.filter(\n (item) => item.linkType === StaticNavigationNavigationItemDtoLinkType.PaymentMethod,\n );\n\n return paymentMethodsItems;\n};\n","export const SITE_LINKS = 'site-links';\nexport const MAX_COLUMNS = 3;\n","export const newsletterPopupCookieKey = 'NewsletterPopupShow';\nexport const newsletterPopupCookieValue = 'Done';\n\nexport const newsletterSubscribeCookieKey = 'NewsletterSubscribe';\nexport const newsletterSubscribeCookieValue = 'Done';\n\nexport const cookieExpireDays = 1;\n","import { createContext } from 'react';\n\nimport type { FooterContent } from '../models/FooterContent';\n\nexport interface FooterContext extends FooterContent {\n isMobileOffice: boolean;\n}\n\nexport const defaultFooterContext: FooterContext = {\n isMobileOffice: false,\n languages: [],\n paymentMethodsItems: [],\n copyrightLinks: [],\n siteLinksColumns: [],\n socialMediaLinks: [],\n};\nexport const footerContext = createContext(defaultFooterContext);\n\nexport const FooterProvider = footerContext.Provider;\n","import { useContext } from 'react';\n\nimport { footerContext } from '../contexts';\n\nexport const useFooter = () => useContext(footerContext);\n","import Cookies from 'js-cookie';\n\nexport const isCookieSet = (cookieKey: string, cookieValue: string) => {\n const value = Cookies.get(cookieKey);\n\n return Boolean(value && value === cookieValue);\n};\n","export enum NewsletterTitleIconType {\n Submit = 'Submit',\n Subscribe = 'Subscribe',\n Error = 'Error',\n}\n\nexport interface TitleIconProps {\n icon?: NewsletterTitleIconType;\n}\n","export interface NewsletterDialogProps {\n open: boolean;\n onClose: () => void;\n origin: Origin;\n}\n\nexport enum SubscriptionProcessStatus {\n Initial = 'Initial',\n Subscribed = 'Subscribed',\n Failed = 'Failed',\n}\n\nexport enum ButtonAction {\n None = 'None',\n Reset = 'Reset',\n Submit = 'Submit',\n}\n\nexport interface NewsletterDialogForm {\n email: string;\n}\n\nexport enum Origin {\n OnlineFooter = 'OnlineFooter',\n OnlinePopup = 'OnlinePopup',\n}\n","import type { StaticApplicationsFooterBffNewsletterSubscriptionConfigurationDto } from '@ori/static-api-client-react';\n\nimport { NewsletterTitleIconType } from '../../../TitleIcon';\nimport { ButtonAction, SubscriptionProcessStatus } from '../../types';\nimport { type Content } from './types';\n\ninterface GetContentParams {\n newsletterSubsciptionConfiguration?: StaticApplicationsFooterBffNewsletterSubscriptionConfigurationDto | undefined;\n status: SubscriptionProcessStatus;\n}\nexport const getContent = ({ newsletterSubsciptionConfiguration, status }: GetContentParams): Content => {\n const { submitDialog, subscribedDialog, errorDialog } = newsletterSubsciptionConfiguration ?? {};\n\n const content = {\n title: submitDialog?.headline,\n icon: NewsletterTitleIconType.Submit,\n text: submitDialog?.text,\n showForm: true,\n showButton: true,\n buttonText: submitDialog?.subscribeButtonText,\n buttonAction: ButtonAction.Submit,\n ppText: submitDialog?.privacyPolicyText ?? '',\n ppLinkText: submitDialog?.privacyPolicyUrlText ?? '',\n ppUrl: submitDialog?.privacyPolicyUrl ?? '',\n invalidEmailLabel: submitDialog?.invalidEmailLabel ?? 'Invalid email',\n emailLabel: submitDialog?.emailLabel ?? 'Email',\n };\n\n if (status === SubscriptionProcessStatus.Subscribed) {\n content.title = subscribedDialog?.headline;\n content.icon = NewsletterTitleIconType.Subscribe;\n content.text = subscribedDialog?.text;\n content.showForm = false;\n content.showButton = false;\n content.buttonText = '';\n content.buttonAction = ButtonAction.None;\n content.ppText = '';\n content.ppLinkText = '';\n content.ppUrl = '';\n }\n\n if (status === SubscriptionProcessStatus.Failed) {\n content.title = errorDialog?.headline;\n content.icon = NewsletterTitleIconType.Error;\n content.text = '';\n content.showForm = false;\n content.showButton = true;\n content.buttonText = errorDialog?.buttonText;\n content.buttonAction = ButtonAction.Reset;\n content.ppText = '';\n content.ppLinkText = '';\n content.ppUrl = '';\n }\n\n return content;\n};\n","/* istanbul ignore file -- context */\nimport type { FC, PropsWithChildren } from 'react';\nimport { createContext, useContext, useMemo, useState } from 'react';\n\nimport { useFooter } from '../../../../../../hooks';\nimport { NewsletterTitleIconType } from '../../../TitleIcon';\nimport { ButtonAction, SubscriptionProcessStatus } from '../../types';\nimport type { NewsletterDialogContextType } from './types';\nimport { getContent } from './utils';\n\nexport const defaultNewsletterDialogContextValues: NewsletterDialogContextType = {\n content: {\n buttonAction: ButtonAction.Submit,\n buttonText: '',\n emailLabel: '',\n icon: NewsletterTitleIconType.Subscribe,\n invalidEmailLabel: '',\n ppLinkText: '',\n ppText: '',\n ppUrl: '',\n showButton: false,\n showForm: false,\n text: '',\n title: '',\n },\n status: SubscriptionProcessStatus.Initial,\n setStatus: () => {},\n};\n\nexport const NewsletterDialogContext = createContext(defaultNewsletterDialogContextValues);\n\nconst { Provider } = NewsletterDialogContext;\n\nexport const NewsletterDialogContextProvider: FC = ({ children }) => {\n const [status, setStatus] = useState(SubscriptionProcessStatus.Initial);\n const { newsletterSubsciptionConfiguration } = useFooter();\n const content = useMemo(\n () => getContent({ newsletterSubsciptionConfiguration, status }),\n [newsletterSubsciptionConfiguration, status],\n );\n\n const value: NewsletterDialogContextType = useMemo(\n () => ({\n content,\n status,\n setStatus,\n }),\n [content, status],\n );\n\n return {children};\n};\n\nexport const useNewsletterDialogContext = () => useContext(NewsletterDialogContext);\n","/* istanbul ignore file -- api */\nimport * as NewsletterSubscribeEvent from '@ori-events/newsletter-subscribe';\nimport {\n type GlobalNewsletterSubscriptionsNewsletterSubscriptionStatusDtoStatus as Status,\n createNewsletterSubscription,\n useApiClient,\n} from '@ori/global-api-client-react';\nimport Cookies from 'js-cookie';\nimport { useCallback } from 'react';\n\nimport { useNewsletterDialogContext } from '../components/Subscribe/components/NewsletterDialog/components/NewsletterDialogContext';\nimport { SubscriptionProcessStatus } from '../components/Subscribe/components/NewsletterDialog/types';\nimport { newsletterSubscribeCookieKey, newsletterSubscribeCookieValue } from '../constants';\nimport { type CreateNewsletterSubscriptionParams } from './types';\n\nconst SUCCESS_STATUSES = new Set(['New', 'Subscribed', 'Pending']);\n\nexport const useCreateNewsletterSubscription = () => {\n const globalApiClient = useApiClient();\n const { setStatus } = useNewsletterDialogContext();\n\n const createSubscription = useCallback(\n async ({ origin, email }: CreateNewsletterSubscriptionParams) => {\n globalThis.dispatchEvent(new CustomEvent(NewsletterSubscribeEvent.Name));\n\n const result = await createNewsletterSubscription(globalApiClient, {\n email,\n source: window.location.pathname,\n origin,\n });\n\n if (result.status === 200 && SUCCESS_STATUSES.has(result.data.status)) {\n Cookies.set(newsletterSubscribeCookieKey, newsletterSubscribeCookieValue);\n setStatus(SubscriptionProcessStatus.Subscribed);\n } else {\n setStatus(SubscriptionProcessStatus.Failed);\n }\n },\n [globalApiClient, setStatus],\n );\n\n return { createSubscription };\n};\n","export const PRIVACY_POLICY = 'privacy-policy';\n","import { styled, Typography, type TypographyProps } from '@ori-ui/mui';\n\nexport const Root = styled(Typography)>(({ theme }) => ({\n color: theme.palette.grey.A400,\n}));\n","import { Link } from '@ori-ui/mui';\nimport useTestId from '@ori/testid-generator';\nimport type { FC } from 'react';\n\nimport { PRIVACY_POLICY } from './constants';\nimport { Root } from './styles';\nimport { type PrivacyPolicyProps } from './types';\n\nexport const PrivacyPolicy: FC = ({ text, linkText, url }) => {\n const { getTestId } = useTestId();\n const LINK_PLACE = '{0}';\n const splitText: string[] = text.split(LINK_PLACE);\n\n if (!text || !linkText) {\n return null;\n }\n\n return (\n \n {splitText[0]}\n \n {linkText}\n \n {splitText[1]}\n \n );\n};\n","import { Send, ErrorCircle, CheckCircle } from '@ori-ui/icons';\n\nimport { NewsletterTitleIconType } from './types';\n\nexport const titleIcons = {\n [NewsletterTitleIconType.Submit]: Send,\n [NewsletterTitleIconType.Subscribe]: CheckCircle,\n [NewsletterTitleIconType.Error]: ErrorCircle,\n};\n","import React, { type FC } from 'react';\n\nimport { titleIcons } from './styles';\nimport { type TitleIconProps } from './types';\n\nexport const TitleIcon: FC = ({ icon }) => {\n if (icon === undefined) {\n return null;\n }\n\n const ResultIcon = titleIcons[icon];\n\n return ;\n};\n","export * from './cookies';\nexport * from './defaultTranslations';\nexport * from './defaultTranslationsWithNamespaces';\nexport * from './style';\n\nexport const DATA_TEST_ID = 'data-testid';\n","import { CheckCircle, ErrorCircle } from '@ori-ui/icons';\n\nexport const EMAIL_INPUT = 'email-input';\n\nexport const adornmentIcons = {\n error: ,\n success: ,\n};\n","import { InputAdornment, TextField } from '@ori-ui/mui';\nimport useTestId from '@ori/testid-generator';\nimport { useMemo } from 'react';\nimport { useFormContext, useFormState, useWatch } from 'react-hook-form';\n\nimport { DATA_TEST_ID } from '../../../../../../constants';\nimport { type NewsletterDialogForm } from '../../types';\nimport { useNewsletterDialogContext } from '../NewsletterDialogContext';\nimport { EMAIL_INPUT, adornmentIcons } from './constants';\n\nexport const EmailInput = () => {\n const { getTestId } = useTestId();\n const { register } = useFormContext();\n const { errors } = useFormState({ name: 'email' });\n const { content } = useNewsletterDialogContext();\n const email = useWatch({ name: 'email' });\n\n const endAdornment = useMemo(() => {\n if (!email) {\n return null;\n }\n const iconType = errors.email ? 'error' : 'success';\n\n return {adornmentIcons[iconType]};\n }, [email, errors.email]);\n\n const inputProps = useMemo(\n () => ({\n endAdornment,\n [DATA_TEST_ID]: getTestId(EMAIL_INPUT),\n }),\n [endAdornment, getTestId],\n );\n\n return (\n value.trim(),\n })}\n autoFocus\n fullWidth\n required\n value={email}\n id=\"e-mail\"\n error={!!errors.email}\n helperText={errors.email?.message}\n label={content.emailLabel}\n type=\"email\"\n InputProps={inputProps}\n />\n );\n};\n","import { type FeedbackDialogProps } from '@ori-ui/components';\n\nexport const NEWSLETTER_DIALOG = 'newsletter-dialog';\nexport const NEWSLETTER_DIALOG_SUBMIT = 'newsletter-dialog-submit';\n\nexport const transitionProps: FeedbackDialogProps['transitionProps'] = { timeout: 0 };\n","import { FeedbackDialog } from '@ori-ui/components';\nimport { paperClasses, styled } from '@ori-ui/mui';\n\nexport const Root = styled(FeedbackDialog)(() => ({\n [`.${paperClasses.root}`]: {\n width: '500px',\n },\n}));\nexport const Content = styled('div')(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n gap: theme.spacing(4),\n}));\n","import { type FeedbackDialogProps } from '@ori-ui/components';\nimport { z } from 'zod';\n\nimport { useNewsletterDialogContext } from './components';\nimport { SubscriptionProcessStatus } from './types';\n\nexport const getColorFromStatus = (status: SubscriptionProcessStatus): FeedbackDialogProps['color'] => {\n switch (status) {\n case SubscriptionProcessStatus.Subscribed:\n return 'success';\n case SubscriptionProcessStatus.Failed:\n return 'error';\n default:\n return 'info';\n }\n};\n\nexport const useValidationSchema = () => {\n const { content } = useNewsletterDialogContext();\n\n const newsletterDialogValidationSchema = z.object({\n email: z.string().email(content.invalidEmailLabel),\n });\n\n return { newsletterDialogValidationSchema };\n};\n","// eslint-disable-next-line import/extensions -- temp fix\nimport { zodResolver } from '@hookform/resolvers/zod';\nimport { Button } from '@ori-ui/mui';\nimport useTestId from '@ori/testid-generator';\nimport type { FC } from 'react';\nimport React, { useCallback, useMemo } from 'react';\nimport { FormProvider, useForm } from 'react-hook-form';\n\nimport { useCreateNewsletterSubscription } from '../../../../api/createNewsletterSubscription';\nimport { PrivacyPolicy } from '../PrivacyPolicy';\nimport { TitleIcon } from '../TitleIcon';\nimport { useNewsletterDialogContext } from './components';\nimport { EmailInput } from './components/EmailInput';\nimport { NEWSLETTER_DIALOG, NEWSLETTER_DIALOG_SUBMIT, transitionProps } from './constants';\nimport { Content, Root } from './styles';\nimport type { NewsletterDialogForm, NewsletterDialogProps } from './types';\nimport { SubscriptionProcessStatus } from './types';\nimport { getColorFromStatus, useValidationSchema } from './utils';\n\nexport const NewsletterDialog: FC = ({ open, origin, onClose }) => {\n const { getTestId } = useTestId();\n const { content, setStatus, status } = useNewsletterDialogContext();\n const { createSubscription } = useCreateNewsletterSubscription();\n const { newsletterDialogValidationSchema } = useValidationSchema();\n const form = useForm({\n mode: 'onChange',\n defaultValues: { email: '' },\n resolver: zodResolver(newsletterDialogValidationSchema),\n });\n const shouldDisableSubmit =\n status === SubscriptionProcessStatus.Initial && (!!form.formState.errors.email || form.getValues('email') === '');\n\n const onSubscribe = useCallback(\n async ({ email }: NewsletterDialogForm) => {\n await createSubscription({ email, origin });\n },\n [createSubscription, origin],\n );\n\n const handleClose = useCallback(() => {\n onClose();\n setStatus(SubscriptionProcessStatus.Initial);\n form.reset({ email: '' });\n }, [onClose, setStatus, form]);\n\n const onSubsribeOrTryAgain = useCallback(async () => {\n if (status === SubscriptionProcessStatus.Failed) {\n setStatus(SubscriptionProcessStatus.Initial);\n } else {\n await form.handleSubmit(onSubscribe)();\n }\n }, [form, onSubscribe, setStatus, status]);\n\n const actions = useMemo(\n () =>\n content.showButton\n ? [\n \n {content.buttonText}\n ,\n ]\n : undefined,\n\n [content.buttonText, content.showButton, getTestId, onSubsribeOrTryAgain, shouldDisableSubmit],\n );\n const icon = useMemo(() => , [content.icon]);\n\n return (\n \n \n \n {content.text}\n {content.showForm ? : null}\n \n \n \n \n );\n};\n","import { styled } from '@ori-ui/mui';\n\nimport { MobileOfficeRoot } from '../styles';\n\nexport const IconRoot = styled('div')(({ theme }) => ({\n fontSize: '3rem',\n width: '26px',\n height: '26px',\n display: 'flex',\n alignItems: 'center',\n}));\nexport const Root = styled(MobileOfficeRoot)(({ theme }) => ({\n backgroundColor: theme.palette.secondary.main,\n color: theme.palette.common.white,\n gap: theme.spacing(3),\n cursor: 'pointer',\n padding: theme.spacing(3),\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n}));\n","import { Send } from '@ori-ui/icons';\nimport { Typography } from '@ori-ui/mui';\nimport { useDisclose } from '@ori/presentation-hooks';\nimport useTestId from '@ori/testid-generator';\nimport Cookies from 'js-cookie';\nimport type { FC } from 'react';\nimport React, { useCallback, useState } from 'react';\n\nimport { cookieExpireDays, newsletterPopupCookieKey, newsletterPopupCookieValue } from '../../constants';\nimport { useFooter, useSubscribePopup } from '../../hooks';\nimport { NewsletterDialog } from './components/NewsletterDialog/NewsletterDialog';\nimport { NewsletterDialogContextProvider } from './components/NewsletterDialog/components';\nimport { Origin } from './components/NewsletterDialog/types';\nimport { SUBSCRIBE } from './constants';\nimport { IconRoot, Root } from './styles';\n\nexport const Subscribe: FC = () => {\n const { getTestId } = useTestId();\n const { newsletterSubsciptionConfiguration, isMobileOffice } = useFooter();\n const { footer, popup } = newsletterSubsciptionConfiguration ?? {};\n\n const { onClose, onOpen, open } = useDisclose();\n const [origin, setOrigin] = useState(Origin.OnlinePopup);\n\n useSubscribePopup({ open, onOpen, footer, popup });\n\n const openDialog = useCallback(() => {\n Cookies.set(newsletterPopupCookieKey, newsletterPopupCookieValue, {\n expires: popup?.displayFrequencyInDays ?? cookieExpireDays,\n });\n setOrigin(Origin.OnlineFooter);\n onOpen();\n }, [popup?.displayFrequencyInDays, onOpen]);\n\n if (!footer?.enabled) {\n return null;\n }\n\n return (\n <>\n \n \n \n \n \n {footer.title}\n \n \n \n \n \n \n );\n};\n","import type {\n StaticApplicationsFooterBffNewsletterFooterDto,\n StaticApplicationsFooterBffPopupDto,\n} from '@ori/static-api-client-react';\nimport Cookies from 'js-cookie';\nimport { useEffect } from 'react';\n\nimport {\n newsletterSubscribeCookieKey,\n newsletterSubscribeCookieValue,\n newsletterPopupCookieKey,\n newsletterPopupCookieValue,\n} from '../constants';\nimport { isCookieSet } from '../utils';\n\nexport interface UseSubscribePopupParams {\n open: boolean;\n onOpen: () => void;\n footer: StaticApplicationsFooterBffNewsletterFooterDto | undefined;\n popup: StaticApplicationsFooterBffPopupDto | undefined;\n}\nexport const useSubscribePopup = ({ open, onOpen, footer, popup }: UseSubscribePopupParams) => {\n useEffect(() => {\n // Return early if newsletter or popup is not enabled\n if (!footer?.enabled || !popup?.enabled) {\n return;\n }\n\n const popupDelay = popup.delayInSeconds;\n // Return early if time is not set\n if (!popupDelay || popupDelay < 1) {\n return;\n }\n\n // Return early if person is already subscribed or the popup was opened before\n if (\n isCookieSet(newsletterSubscribeCookieKey, newsletterSubscribeCookieValue) ||\n (!open && isCookieSet(newsletterPopupCookieKey, newsletterPopupCookieValue))\n ) {\n return;\n }\n\n // Set up delayed popup and set cookie that will expire in number of days set in Sitecore\n const timer = setTimeout(() => {\n Cookies.set(newsletterPopupCookieKey, newsletterPopupCookieValue, {\n expires: popup.displayFrequencyInDays,\n });\n onOpen();\n }, popupDelay * 1000);\n\n // If dialog is open we do not need delayed opening\n if (open) {\n clearTimeout(timer);\n }\n\n // eslint-disable-next-line consistent-return -- cleanup function\n return () => clearTimeout(timer);\n }, [open, footer, popup, onOpen]);\n};\n","export const SUBSCRIBE = 'subscribe';\n","import {\n Accordion as MuiAccordion,\n accordionClasses,\n accordionSummaryClasses,\n AccordionSummary,\n styled,\n AccordionDetails,\n} from '@ori-ui/mui';\n\nexport const StyledMuiAccordion = styled(MuiAccordion)(({ theme }) => ({\n backgroundColor: theme.palette.grey[100],\n '&::before': {\n display: 'none',\n },\n [`&.${accordionClasses.expanded}`]: {\n margin: theme.spacing(0, 0, 3),\n },\n}));\n\nexport const StyledAccordionSummary = styled(AccordionSummary)(() => ({\n border: 'none',\n minHeight: '48px !important',\n padding: 0,\n [`& .${accordionSummaryClasses.content}`]: {\n margin: '0 !important',\n padding: 0,\n },\n}));\n\nexport const StyledAccordionDetails = styled(AccordionDetails)(() => ({\n padding: 0,\n}));\n","import { ArrowDownThin } from '@ori-ui/icons';\nimport { Typography } from '@ori-ui/mui';\nimport useTestId from '@ori/testid-generator';\nimport { type FC, useState, useCallback } from 'react';\n\nimport { ACCORDION } from './constants';\nimport { StyledAccordionSummary, StyledMuiAccordion, StyledAccordionDetails } from './styles';\nimport { type AccordionProps } from './types';\n\nexport const Accordion: FC = ({ children, header, ...rest }) => {\n const { getTestId } = useTestId();\n const [expanded, setExpanded] = useState(false);\n const toggle = useCallback((value: boolean) => () => setExpanded(value), []);\n\n return (\n \n }>\n \n {header}\n \n \n {children}\n \n );\n};\n","export const ACCORDION = 'accordion';\n","import { Typography } from '@ori-ui/mui';\nimport useTestId from '@ori/testid-generator';\nimport type { FC, PropsWithChildren } from 'react';\nimport React from 'react';\n\nimport { GROUP } from './constants';\nimport { Root } from './styles';\nimport { type GroupProps } from './types';\n\nexport const Group: FC> = ({ children, header }) => {\n const { getTestId } = useTestId();\n\n return (\n \n \n {header}\n \n {children}\n \n );\n};\n","export const GROUP = 'group';\n","import { styled } from '@ori-ui/mui';\n\nexport const Root = styled('div')(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n gap: theme.spacing(3),\n}));\n","import { Typography } from '@ori-ui/mui';\nimport { StaticNavigationNavigationItemDtoLinkType } from '@ori/static-api-client-react';\nimport useTestId from '@ori/testid-generator';\nimport { useMemo, type FC } from 'react';\n\nimport { LINK, LINKS_LIST } from './constants';\nimport { Root } from './styles';\nimport { type LinksProps } from './types';\n\nexport const Links: FC = ({ items }) => {\n const { getTestId } = useTestId();\n const links = useMemo(\n () => items.filter((item) => item.linkType === StaticNavigationNavigationItemDtoLinkType.FooterColumnItem),\n [items],\n );\n\n return (\n \n {links.map((item) => (\n \n {item.url ? (\n \n {item.title}\n \n ) : (\n item.title\n )}\n \n ))}\n \n );\n};\n","export const LINKS_LIST = 'list';\nexport const LINK = 'link';\n","import { styled } from '@ori-ui/mui';\n\nexport const Root = styled('div')({\n width: '100%',\n overflow: 'hidden',\n});\n\nexport const Inner = styled('div')(({ theme }) => ({\n display: 'grid',\n gridAutoFlow: 'column',\n gridAutoColumns: 'minmax(150px, 1fr)',\n justifyContent: 'center',\n justifyItems: 'center',\n columnGap: theme.spacing(3),\n}));\n","import { useIsMobile } from '@ori/presentation-hooks';\nimport useTestId from '@ori/testid-generator';\nimport { type FC } from 'react';\n\nimport { useFooter } from '../../hooks';\nimport { Accordion } from './components/Accordion';\nimport { Group } from './components/Group';\nimport { Links } from './components/Links';\nimport { SITE_LINKS } from './constants';\nimport { Inner, Root } from './styles';\n\nexport const SiteLinks: FC = () => {\n const { getTestId } = useTestId();\n const { siteLinksColumns } = useFooter();\n const isMobile = useIsMobile();\n\n return (\n \n {isMobile ? (\n siteLinksColumns.map(({ title, children }) => (\n \n \n \n ))\n ) : (\n \n {siteLinksColumns.map(({ title, children }) => (\n \n \n \n ))}\n \n )}\n \n );\n};\n","/* istanbul ignore file -- maybe we should remove util function */\nexport interface UrlData {\n url: string | null | undefined;\n passPNG?: boolean;\n jpgSettings?: string[];\n}\n\nexport const updateImageUrl = (data: UrlData) => {\n const { url, passPNG, jpgSettings } = data;\n if (!url) {\n return '';\n }\n if (passPNG) {\n const testUrl = url.toLowerCase();\n if (testUrl.includes('inputformat=png')) {\n return `${url}&imageFormat=png`;\n }\n }\n if (jpgSettings && jpgSettings.length > 0) {\n const settings = jpgSettings.join('&');\n\n return `${url}&${settings}`;\n }\n\n return url;\n};\n","export const MOBILE_APP_ICON_HEIGHT = 35;\nexport const MOBILE_APP_ICON_WIDTH = 35;\nexport const MOBILE_APP_ICON_GIF_OR_SVG = 'mobile-app-icon-gif-or-svg';\nexport const MOBILE_APP_ICON = 'mobile-app-icon';\n","import { Hidden, useTheme } from '@ori-ui/mui';\nimport useTestId from '@ori/testid-generator';\nimport React, { type FC } from 'react';\n\nimport { updateImageUrl } from '../../../../utils';\nimport {\n MOBILE_APP_ICON_WIDTH,\n MOBILE_APP_ICON_HEIGHT,\n MOBILE_APP_ICON_GIF_OR_SVG,\n MOBILE_APP_ICON,\n} from './constants';\nimport { type MobileAppIconProps } from './types';\n\nexport const MobileAppIcon: FC = ({ title, titleImage }) => {\n const { getTestId } = useTestId();\n const theme = useTheme();\n\n if (!titleImage) {\n return null;\n }\n const isGifOrSvg =\n titleImage.toLowerCase().includes('inputformat=gif') || titleImage.toLowerCase().includes('inputformat=svg');\n\n if (isGifOrSvg) {\n return (\n \n );\n }\n\n const imageData = {\n url: titleImage,\n passPNG: false,\n jpgSettings: ['h=120', 'q=90', `ib=${encodeURIComponent(theme.palette.grey[100])}`],\n };\n\n return (\n <>\n \n \n \n \n \n \n \n );\n};\n","import { styled } from '@ori-ui/mui';\n\nexport const StyledG = styled('g')(() => ({\n isolation: 'isolate',\n}));\n\nexport const StyledRect = styled('rect')(() => ({\n fill: 'url(#linear-gradient)',\n}));\n\nexport const StyledPath = styled('path')(({ theme }) => ({\n fill: theme.palette.common.white,\n}));\n","import { type FC } from 'react';\n\nimport { StyledG, StyledPath, StyledRect } from './styles';\n\nexport const SuperApp: FC = () => (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n);\n","export const MOBILE_APPS = 'mobile-apps';\nexport const APP_ICON = 'app-icon';\n","import { styled } from '@ori-ui/mui';\n\nexport const Root = styled('div')(({ theme }) => ({\n width: '100%',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n gap: theme.spacing(2),\n}));\n\nexport const Icons = styled('div')(({ theme }) => ({\n display: 'flex',\n flexDirection: 'row',\n flexWrap: 'wrap',\n gap: theme.spacing(4),\n}));\n\nexport const Icon = styled('div')(() => ({\n display: 'inline-block',\n width: 35,\n height: 35,\n overflow: 'hidden',\n}));\n","import { Link, Typography } from '@ori-ui/mui';\nimport { useEnvironment } from '@ori/environment';\nimport useTestId from '@ori/testid-generator';\nimport { type FC } from 'react';\n\nimport { useFooter } from '../../hooks';\nimport { MobileAppIcon } from './components/MobileAppIcon';\nimport { SuperApp } from './components/SuperApp';\nimport { APP_ICON, MOBILE_APPS } from './constants';\nimport { Root, Icon, Icons } from './styles';\n\nexport const MobileApps: FC = () => {\n const { getTestId } = useTestId();\n const { mobileApps, ourApps } = useFooter();\n const { tenant } = useEnvironment();\n\n if (!ourApps || !mobileApps) {\n return null;\n }\n\n return (\n \n \n {mobileApps.pageHeader?.title}\n \n {tenant === 'cn' ? (\n \n \n \n \n \n ) : (\n <>\n \n {mobileApps.mobileAppCollection.map((app, index) => (\n \n \n \n ))}\n \n \n {ourApps.title ?? ''}\n \n \n )}\n \n );\n};\n","import type { SocialIconKind } from '@ori-ui/components';\nimport { StaticApplicationsFooterBffSocialMediaLinkDtoType } from '@ori/static-api-client-react';\n\nexport const SocialMediaIcons: Record = {\n [StaticApplicationsFooterBffSocialMediaLinkDtoType.Facebook]: 'facebook',\n [StaticApplicationsFooterBffSocialMediaLinkDtoType.VKontakte]: 'vkontakte',\n [StaticApplicationsFooterBffSocialMediaLinkDtoType.Twitter]: 'twitter',\n [StaticApplicationsFooterBffSocialMediaLinkDtoType.YouTube]: 'youtube',\n [StaticApplicationsFooterBffSocialMediaLinkDtoType.Instagram]: 'instagram',\n [StaticApplicationsFooterBffSocialMediaLinkDtoType.Odnoklassniki]: 'odnoklassniki',\n [StaticApplicationsFooterBffSocialMediaLinkDtoType.Weibo]: 'weibo',\n [StaticApplicationsFooterBffSocialMediaLinkDtoType.Pinterest]: 'pinterest',\n [StaticApplicationsFooterBffSocialMediaLinkDtoType.QQ]: 'qq',\n [StaticApplicationsFooterBffSocialMediaLinkDtoType.Youku]: 'youku',\n [StaticApplicationsFooterBffSocialMediaLinkDtoType.Line]: 'youtube',\n [StaticApplicationsFooterBffSocialMediaLinkDtoType.WeChat]: 'wechat',\n [StaticApplicationsFooterBffSocialMediaLinkDtoType.Telegram]: 'telegram',\n};\n","import { SocialIcon } from '@ori-ui/components';\nimport type { StaticApplicationsFooterBffSocialMediaLinkDto } from '@ori/static-api-client-react';\nimport useTestId from '@ori/testid-generator';\nimport type { FC } from 'react';\nimport React from 'react';\n\nimport { SocialMediaIcons } from '../../../models';\nimport { SOCIAL_MEDIA_ICON } from '../constants';\n\nexport type SocialMediaIconProps = StaticApplicationsFooterBffSocialMediaLinkDto;\n\nexport const SocialMediaIcon: FC = ({ type, title, url }) => {\n const { getTestId } = useTestId();\n const kind = SocialMediaIcons[type];\n\n return (\n \n );\n};\n","export const FOLLOW_US = 'follow-us';\nexport const SOCIAL_MEDIA_ICON = 'social-media-icon';\n","import { Typography } from '@ori-ui/mui';\nimport useTestId from '@ori/testid-generator';\nimport React, { type FC } from 'react';\n\nimport { useFooter, useTranslations } from '../../hooks';\nimport { SocialMediaIcon } from './components';\nimport { FOLLOW_US } from './constants';\nimport { FollowUsRoot, Icons } from './styles';\n\nexport const FollowUs: FC = () => {\n const { getTestId } = useTestId();\n const { translations } = useTranslations();\n const { socialMediaLinks } = useFooter();\n\n return (\n \n \n {translations.followUs}\n \n \n {socialMediaLinks.map(({ type, title, url }, index) => (\n \n ))}\n \n \n );\n};\n","/* istanbul ignore file */\n\n/**\n * DO NOT EDIT!\n * This file was autogenerated by npm script `localizations-codegen`.\n * Changes may cause incorrect behavior and will be lost when the file is regenerated.\n *\n * Run `npx localizations-codegen` to regenerate.\n */\nimport { useTranslationsFromNamespace, type UseTranslationsFromNamespaceResult } from '@ori/i18n';\n\nimport type { DefaultTranslations } from '../constants/defaultTranslations';\n\n/**\n * A hook for accessing translations within a specific namespace along with a formatting function.\n *\n * @returns The translations within the specified namespace and a formatting function.\n */\nexport const useTranslations: () => UseTranslationsFromNamespaceResult = () =>\n useTranslationsFromNamespace();\n","import { createContext } from 'react';\n\nimport type { AppConfig } from '../models';\n\nexport const appConfigContextDefaultValue: AppConfig = {\n isFrontPage: false,\n isStandalone: false,\n showFooterOnDesktop: false,\n};\n\nexport const appConfigContext = createContext(appConfigContextDefaultValue);\n\nexport const AppConfigProvider = appConfigContext.Provider;\n","import { styled } from '@ori-ui/mui';\n\nimport { maxWidth } from '../../constants';\n\nexport const Root = styled('div')(() => ({\n display: 'flex',\n maxWidth,\n flexDirection: 'column',\n textAlign: 'center',\n alignItems: 'center',\n}));\n","import useTestId from '@ori/testid-generator';\nimport type { FC, PropsWithChildren } from 'react';\nimport React from 'react';\n\nimport { CONTENT_ROOT } from './constants';\nimport { Root } from './styles';\nimport { type ContentRootProps } from './types';\n\nexport const ContentRoot: FC> = ({ children, testId }) => {\n const { getTestId } = useTestId();\n\n return {children};\n};\n","export const CONTENT_ROOT = 'content-root';\n","import { styled, Typography } from '@ori-ui/mui';\n\nimport { maxTextWidth } from '../../constants';\n\nexport const Root = styled(Typography)(() => ({\n display: 'block',\n maxWidth: maxTextWidth,\n}));\n","import useTestId from '@ori/testid-generator';\nimport type { PropsWithChildren, FC } from 'react';\n\nimport { CONTENT_TEXT } from './constants';\nimport { Root } from './styles';\n\nexport const ContentText: FC = ({ children }) => {\n const { getTestId } = useTestId();\n\n return {children};\n};\n","export const CONTENT_TEXT = 'content-text';\n","import useTestId from '@ori/testid-generator';\nimport { type FC } from 'react';\n\nimport { useFooter, useAppConfig } from '../../hooks';\nimport { ContentRoot } from '../ContentRoot';\nimport { ContentText } from '../ContentText';\nimport { CONTENT_FRONT_PAGE } from './constants';\n\nexport const ContentFrontPage: FC = () => {\n const { frontpageContent } = useFooter();\n const { isFrontPage } = useAppConfig();\n const { getTestId } = useTestId();\n\n if (!isFrontPage || !frontpageContent) {\n return null;\n }\n\n return (\n \n {frontpageContent}\n \n );\n};\n","import { useContext } from 'react';\n\nimport { appConfigContext } from '../contexts';\n\nexport const useAppConfig = () => useContext(appConfigContext);\n","export const CONTENT_FRONT_PAGE = 'content-front-page';\n","import type sanitizeHtml from 'sanitize-html';\n\n// We are restricting the allowed tags and attributes\nexport const sanitizeOptions: sanitizeHtml.IOptions = {\n allowedTags: ['a', 'b', 'br', 'div', 'em', 'i', 'img', 'p', 's', 'span', 'strong', 'sub', 'sup'],\n disallowedTagsMode: 'discard',\n allowedAttributes: {\n a: ['href', 'name', 'target', 'rel'],\n img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n // eslint-disable-next-line @typescript-eslint/naming-convention -- data-* and aria-* are allowed\n '*': ['class', 'style', 'data-*', 'aria-*'],\n },\n selfClosing: ['img', 'br'],\n allowedSchemes: ['http', 'https'],\n allowedSchemesByTag: { img: ['data', 'http', 'https'] },\n allowedSchemesAppliedToAttributes: ['href', 'src'],\n allowProtocolRelative: true,\n enforceHtmlBoundary: false,\n};\n\nexport const CONTENT_ALL_PAGES = 'content-all-pages';\n","import useTestId from '@ori/testid-generator';\nimport parser from 'html-react-parser';\nimport { type FC } from 'react';\nimport sanitizeHtml from 'sanitize-html';\n\nimport { useFooter } from '../../hooks';\nimport { ContentRoot } from '../ContentRoot';\nimport { ContentText } from '../ContentText';\nimport { CONTENT_ALL_PAGES, sanitizeOptions } from './constants';\n\nexport const ContentAllPages: FC = () => {\n const { allPagesPagesContent } = useFooter();\n const { getTestId } = useTestId();\n\n if (!allPagesPagesContent) {\n return null;\n }\n\n return (\n \n {parser(sanitizeHtml(allPagesPagesContent, sanitizeOptions))}\n \n );\n};\n","import { styled } from '@ori-ui/mui';\n\nimport { UnifiedSkeleton } from '../../styles';\nimport { QR_CODE_HEIGHT, QR_CODE_WIDTH } from './constants';\n\nexport const QRCodeSkeleton = styled(UnifiedSkeleton)(({ theme }) => ({\n width: QR_CODE_WIDTH,\n height: QR_CODE_HEIGHT,\n borderRadius: theme.shape.borderRadius,\n}));\n","import useTestId from '@ori/testid-generator';\nimport React, { type FC, Suspense } from 'react';\n\nimport { useFooter } from '../../hooks';\nimport { ContentRoot } from '../ContentRoot';\nimport { QRCodeSkeleton } from './components/styles';\nimport { MARKET_EXCEPTIONS, QR_SKELETON } from './constants';\n\nconst LazyTurkishMarketException = React.lazy(async () =>\n import('./components/TurkishMarketException').then((module) => ({ default: module.TurkishMarketException })),\n);\n\nexport const MarketExceptions: FC = () => {\n const { getTestId } = useTestId();\n const { turkishException } = useFooter();\n\n return turkishException ? (\n \n }>\n \n \n \n ) : null;\n};\n","export const MARKET_EXCEPTIONS = 'market-exceptions';\nexport const QR_SKELETON = 'qr-skeleton';\n","import { styled, Link, Typography } from '@ori-ui/mui';\n\nimport { maxTextWidth } from '../../constants';\n\nexport const StyledLink = styled(Link)(({ theme }) => ({\n display: 'inline-block',\n textDecoration: 'underline',\n}));\n\nexport const Inner = styled('div')(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n gap: theme.spacing(2),\n [theme.breakpoints.up('sm')]: {\n gap: theme.spacing(1),\n },\n}));\n\nexport const Links = styled(Typography)(({ theme }) => ({\n display: 'flex',\n flexWrap: 'wrap',\n alignItems: 'center',\n justifyContent: 'center',\n gap: theme.spacing(4),\n}));\n\nexport const CopyrightTitle = styled(Typography)(() => ({\n maxWidth: maxTextWidth,\n}));\n","import useTestId from '@ori/testid-generator';\nimport { type FC } from 'react';\n\nimport { useFooter } from '../../hooks';\nimport { ContentRoot } from '../ContentRoot';\nimport { COPYRIGHT_WITH_LINKS } from './constants';\nimport { CopyrightTitle, Inner, Links, StyledLink } from './styles';\n\nexport const CopyrightWithLinks: FC = () => {\n const { copyrightLinks, copyrightTitle } = useFooter();\n const { getTestId } = useTestId();\n\n if (!copyrightTitle) {\n return null;\n }\n\n return (\n \n \n {copyrightTitle}\n {copyrightLinks.length > 0 ? (\n \n {copyrightLinks.map((link) => (\n \n {link.title}\n \n ))}\n \n ) : null}\n \n \n );\n};\n","export const COPYRIGHT_WITH_LINKS = 'copyright-with-links';\n","import { Team } from '@ori/testid-generator';\n\n/**\n * Team which owns this SPA.\n */\nexport const APP_TEAM_NAME: Team = Team.Framework;\n\n/**\n * Name of the cookie we want to store current selected language.\n */\nexport const LANGUAGE_COOKIE_KEY = 'lang';\n\n/**\n * Options to be used when setting cookies.\n */\nexport const LANGUAGE_COOKIE_OPTIONS = {\n expires: 365, // days\n};\n","export const getLanguageCodeAbbreviation = (languageCode: string) => languageCode.replace(/-[a-z]{2}/i, '');\n","import type { Language } from '../models';\n\n/**\n * Tells if given language is default for current tenant.\n *\n * @param language Language to be checked.\n * @returns True if given language is default for current tenant.\n */\nexport function isDefaultLanguage(language: Language) {\n return language.type === 'Default';\n}\n","import Cookies from 'js-cookie';\n\nimport { LANGUAGE_COOKIE_KEY, LANGUAGE_COOKIE_OPTIONS } from '../constants';\nimport type { Language } from '../models';\nimport { ensureEndsWith } from './ensureEndsWith';\nimport { getLanguageCodeAbbreviation } from './getLanguageCodeAbbreviation';\nimport { getLegacyCookieName } from './getLegacyCookieName';\nimport { isDefaultLanguage } from './isDefaultLanguage';\n\nconst ensureEndsWithSlash = (value: string) => ensureEndsWith(value, '/');\nexport const ERROR_MISSING_CODE = 'Cannot change to new language as it has missing code';\n/**\n * Changes language to provided value by saving it to cookies and redirecting to appropriate URL, if needed.\n *\n * @param nextLanguage\n * @param currentLanguage\n * @param tenant\n */\n// eslint-disable-next-line max-params -- Nope\nexport function changeLanguage(\n nextLanguage: Language,\n currentLanguage: string,\n tenant: string,\n /**\n * If pathname should be changed to new language, if false then only cookies are changed\n */\n changePath = true,\n) {\n const legacyCookieName = getLegacyCookieName(tenant);\n\n if (!nextLanguage.code) {\n throw new Error(ERROR_MISSING_CODE);\n }\n\n Cookies.set(LANGUAGE_COOKIE_KEY, nextLanguage.code, LANGUAGE_COOKIE_OPTIONS);\n // Set also an older Online cookie to make this compatible on older pages.\n Cookies.set(legacyCookieName, nextLanguage.code, LANGUAGE_COOKIE_OPTIONS);\n\n if (changePath) {\n // Get language code abbreviation by removing the 2nd country part.\n const languageCodeAbbrev = getLanguageCodeAbbreviation(nextLanguage.code);\n\n // Create a new pathname from current pathname and ensure that it ends with slash\n let newPathName = ensureEndsWithSlash(window.location.pathname);\n\n // Remove current language from pathname, if any.\n newPathName = newPathName.replace(new RegExp(`^/${getLanguageCodeAbbreviation(currentLanguage)}/`), '/');\n\n // If a selected language is not the default one, add its abbrev to the start of pathname.\n if (!isDefaultLanguage(nextLanguage)) {\n newPathName = `/${languageCodeAbbrev}${newPathName || '/'}`;\n }\n\n // Reload page and make sure that it ends with slash again\n window.location.pathname = ensureEndsWithSlash(newPathName);\n }\n}\n","/**\n * Ensure that provided value ends with provided string\n */\nexport const ensureEndsWith = (value: string, mustEndsWith: string) =>\n value.endsWith(mustEndsWith) ? value : `${value}${mustEndsWith}`;\n","/* istanbul ignore file */\n/**\n * Returns value of legacy language cookie.\n *\n * @param tenant\n * @returns\n */\nexport function getLegacyCookieName(tenant: string) {\n return `${tenant}_website#lang`;\n}\n","import { Typography } from '@ori-ui/mui';\nimport { type FC } from 'react';\n\nexport interface CountryInfoProps {\n label: string;\n value: string;\n}\nexport const CountryInfo: FC = ({ label, value }) => {\n if (!label || !value) {\n return null;\n }\n\n return (\n \n {label}: {value}\n \n );\n};\n","import { styled } from '@ori-ui/mui';\nimport { shouldForwardProp } from '@ori/presentation-utils';\n\nimport { maxTextWidth } from '../../constants';\n\nexport const Root = styled('div')(({ theme }) => ({\n display: 'flex',\n maxWidth: maxTextWidth,\n gap: theme.spacing(2),\n alignItems: 'center',\n flexDirection: 'column',\n flexWrap: 'wrap',\n justifyContent: 'center',\n [theme.breakpoints.up('sm')]: {\n flexDirection: 'row',\n gap: theme.spacing(4),\n },\n}));\n\nexport const LanguageName = styled('span', {\n shouldForwardProp: shouldForwardProp(),\n})<{ isActive: boolean }>(({ theme, isActive }) => ({\n ...(isActive\n ? {\n fontWeight: theme.typography.fontWeightBold,\n }\n : {\n textDecoration: 'underline',\n cursor: 'pointer',\n }),\n}));\n","import { Typography } from '@ori-ui/mui';\nimport { useEnvironment } from '@ori/environment';\nimport { useLanguage } from '@ori/i18n';\nimport type { Language } from '@ori/language-switcher';\nimport { changeLanguage } from '@ori/language-switcher';\nimport useTestId from '@ori/testid-generator';\nimport React, { type FC, useCallback } from 'react';\n\nimport { useFooter } from '../../hooks';\nimport { CountryInfo } from './components';\nimport { LANGUAGE_SELECTOR } from './constants';\nimport { LanguageName, Root } from './styles';\n\nexport const LanguageSelector: FC = () => {\n const { getTestId } = useTestId();\n const { tenant } = useEnvironment();\n const { language } = useLanguage();\n const { languageConfiguration, languages } = useFooter();\n const onChangeLanguage = useCallback(\n (nextLanguage: Language) => () => {\n if (nextLanguage.code !== language) {\n changeLanguage(nextLanguage, language, tenant);\n }\n },\n [language, tenant],\n );\n\n if (languages.length === 0 || !languageConfiguration?.countryLabel || !languageConfiguration.currentCountry) {\n return null;\n }\n\n return (\n \n {languages.length > 1 && (\n \n {languageConfiguration.languageLabel}:{' '}\n {languages.map((lang, index) => (\n \n \n {lang.name}\n \n {languages.length - 1 === index ? null : ' / '}\n \n ))}\n \n )}\n \n \n );\n};\n","export const LANGUAGE_SELECTOR = 'language-selector';\n","export const PAYMENT_METHODS = 'payment-methods';\nexport const PAYMENT_METHOD = 'payment-method';\n\nexport const jpgSettings = ['h=70', 'q=90'];\n","import { styled } from '@ori-ui/mui';\n\nimport { maxWidth } from '../../constants';\n\nexport const Root = styled('div')(({ theme }) => ({\n maxWidth,\n display: 'flex',\n flexDirection: 'row',\n flexWrap: 'wrap',\n gap: theme.spacing(4),\n justifyContent: 'center',\n alignItems: 'center',\n}));\n\nexport const Item = styled('img')(({ theme }) => ({\n height: '25px',\n}));\n","import { Tooltip } from '@ori-ui/mui';\nimport useTestId from '@ori/testid-generator';\nimport { type FC } from 'react';\n\nimport { useFooter } from '../../hooks';\nimport { updateImageUrl } from '../../utils';\nimport { PAYMENT_METHOD, PAYMENT_METHODS, jpgSettings } from './constants';\nimport { Item, Root } from './styles';\n\nexport const PaymentMethods: FC = () => {\n const { getTestId } = useTestId();\n const { paymentMethodsItems } = useFooter();\n\n if (!paymentMethodsItems || paymentMethodsItems.length === 0) {\n return null;\n }\n\n return (\n \n {paymentMethodsItems.map((pm, index) => (\n \n \n \n ))}\n \n );\n};\n","import { Hidden } from '@ori-ui/mui';\nimport useTestId from '@ori/testid-generator';\nimport type { FC } from 'react';\nimport { useMemo } from 'react';\n\nimport { useGetFooterContent } from '../../api';\nimport {\n CopyrightWithLinks,\n ContentAllPages,\n ContentFrontPage,\n FollowUs,\n LanguageSelector,\n MarketExceptions,\n MobileApps,\n PaymentMethods,\n SiteLinks,\n Subscribe,\n} from '../../components';\nimport type { FooterContext } from '../../contexts';\nimport { FooterProvider, defaultFooterContext } from '../../contexts';\nimport { useReopenCookiePreferences } from '../../hooks/useReopenCookiePreferences';\nimport { FooterAppSkeleton } from '../FooterAppSkeleton';\nimport { FOOTER_CONTENT } from './constants';\nimport { useIsMobileOffice } from './hooks';\nimport { FourthColumn, HighlightGrid, Highlight, BottomContent, Root } from './styles';\n\nexport const FooterContent: FC = () => {\n const { getTestId } = useTestId();\n const isMobileOffice = useIsMobileOffice();\n\n useReopenCookiePreferences();\n\n const { data: footerContent } = useGetFooterContent();\n\n const footerProviderValue = useMemo((): FooterContext => {\n if (!footerContent) {\n return {\n ...defaultFooterContext,\n isMobileOffice,\n };\n }\n\n return {\n isMobileOffice,\n ...footerContent,\n };\n }, [footerContent, isMobileOffice]);\n\n if (!footerContent) {\n return ;\n }\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n","import { useEffect, useState } from 'react';\n\nexport const useIsMobileOffice = () => {\n const [isMobileOffice, setIsMobileOffice] = useState(false);\n\n useEffect(() => {\n const mobileOfficeClassInHtml = 'page-mypages';\n\n if (document.getElementsByTagName('html')[0]?.classList.contains(mobileOfficeClassInHtml)) {\n setIsMobileOffice(true);\n }\n }, []);\n\n return isMobileOffice;\n};\n","/* istanbul ignore file -- one trust */\nimport { useEffect } from 'react';\n\ndeclare global {\n export interface Window {\n OneTrust?: {\n ToggleInfoDisplay: () => void;\n };\n }\n}\n\nexport const HASH_FOR_COOKIE_PREFERENCES = '#cookie-preferences';\n\nexport const useReopenCookiePreferences = () =>\n useEffect(() => {\n const onClick = (event: MouseEvent) => {\n if (event.target instanceof HTMLAnchorElement && event.target.hash === HASH_FOR_COOKIE_PREFERENCES) {\n event.preventDefault();\n // eslint-disable-next-line new-cap -- OneTrust API\n window.OneTrust?.ToggleInfoDisplay();\n }\n };\n document.addEventListener('click', onClick);\n\n return () => document.removeEventListener('click', onClick);\n }, []);\n","/* istanbul ignore file -- api */\nimport { useEnvironment } from '@ori/environment';\nimport { useLanguage } from '@ori/i18n';\nimport { useGetTenantApplicationsFooter } from '@ori/static-api-client-react';\n\nimport { parseFooterData } from '../utils';\n\nexport const useGetFooterContent = () => {\n const { tenant } = useEnvironment();\n const { language } = useLanguage();\n const result = useGetTenantApplicationsFooter(\n tenant,\n {\n lang: language,\n },\n {\n swr: {\n revalidateIfStale: false,\n revalidateOnFocus: false,\n revalidateOnReconnect: false,\n },\n },\n );\n\n return {\n ...result,\n data: result.data?.data ? parseFooterData(result.data.data) : null,\n };\n};\n","export const FOOTER_CONTENT = 'footer-content';\n","import { Logger } from '@ori/logger';\n\nimport { APP_NAME, TEAM_NAME } from './constants-generated';\n\nexport const mainLogger = new Logger(APP_NAME, { teamName: TEAM_NAME });\n","/* istanbul ignore file */\nimport { TranslationsNamespaceProvider } from '@ori/i18n';\nimport { LoggerProvider } from '@ori/logger';\nimport { Team, TestIdProvider } from '@ori/testid-generator';\nimport { type FC, Suspense } from 'react';\n\nimport { translationsNamespace } from './constants';\nimport { APP_NAME } from './constants-generated';\nimport { ApiProvider } from './containers';\nimport { ErrorBoundary } from './containers/ErrorBoundary';\nimport { FooterAppSkeleton } from './containers/FooterAppSkeleton';\nimport { FooterContent } from './containers/FooterContent/FooterContent';\nimport { AppConfigProvider } from './contexts';\nimport { mainLogger } from './logger';\nimport type { AppConfig } from './models';\n\nexport interface AppProps {\n configuration: AppConfig;\n}\n\nexport const App: FC = ({ configuration }) => (\n \n \n \n \n }>\n \n \n \n \n \n \n \n \n \n \n);\n","/* istanbul ignore file */\nimport { useContext, createContext } from 'react';\n\nimport type { LanguageSwitcherPopupProps } from '../models';\nimport { TranslationKey } from '../models';\n\nexport type ConfigurationContext = Pick & {\n languages?: LanguageSwitcherPopupProps['prefetchedLanguages'];\n};\n\nexport const configurationContextDefaultValues: ConfigurationContext = {\n currentLanguage: '',\n tenant: '',\n translations: TranslationKey,\n};\n\nexport const configurationContext = createContext(configurationContextDefaultValues);\n\nexport const ConfigurationProvider = configurationContext.Provider;\n\nexport const useConfiguration = () => useContext(configurationContext);\n","/* istanbul ignore file */\n/**\n * DO NOT EDIT!\n * This file was autogenerated by npm script `localizations-codegen`.\n * Changes may cause incorrect behavior and will be lost when the file is regenerated.\n *\n * Run `npx localizations-codegen` to regenerate.\n */\n\nexport enum TranslationKey {\n selectLanguage = 'selectLanguage',\n}\n","export enum LanguageSelectPopupTestIds {\n CLOSE_ICON = 'language-select-popup-close-icon',\n LIST = 'language-select-popup-list',\n LIST_ITEM = 'language-select-popup-list-item',\n ROOT = 'language-select-popup-root',\n TITLE = 'language-select-popup-title',\n}\n","import isPropValid from '@emotion/is-prop-valid';\nimport { Clear } from '@ori-ui/icons';\nimport { Divider, List, ListItemButton, ListItemText, Modal, SHADOW_LEVEL2, styled } from '@ori-ui/mui';\n\nexport const Root = styled(Modal)(({ theme }) => ({\n alignItems: 'center',\n display: 'flex',\n justifyContent: 'center',\n overflow: 'hidden',\n\n [theme.breakpoints.down('sm')]: {\n alignItems: 'end',\n },\n}));\n\nexport const Content = styled('div')(({ theme }) => ({\n alignItems: 'center',\n backgroundColor: theme.palette.background.paper,\n borderRadius: theme.shape.borderRadius,\n boxShadow: SHADOW_LEVEL2,\n display: 'flex',\n flexDirection: 'column',\n maxWidth: '472px',\n padding: theme.spacing(2),\n width: '472px',\n zIndex: 1,\n\n [theme.breakpoints.down('sm')]: {\n borderBottomLeftRadius: '0px',\n borderBottomRightRadius: '0px',\n maxWidth: 'unset',\n width: '100%',\n },\n}));\n\nexport const Header = styled('div')({\n display: 'flex',\n justifyContent: 'flex-end',\n width: '100%',\n});\n\nexport const ClearIcon = styled(Clear)(({ theme }) => ({\n color: theme.palette.grey[700],\n cursor: 'pointer',\n height: '26px',\n width: '26px',\n}));\n\nexport const StyledList = styled(List)({\n paddingBottom: '0px',\n width: 'calc(100% - 20px)',\n});\n\nexport const StyledListItemText = styled(ListItemText)(({ theme }) => ({\n color: theme.palette.grey[900],\n letterSpacing: '-0.2px',\n ...theme.typography.button,\n textTransform: 'none',\n}));\n\nexport const StyledListItemButton = styled(ListItemButton)(({ theme }) => ({\n height: '70px',\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(2),\n}));\n\nexport const StyledDivider = styled(Divider, {\n shouldForwardProp: (propName: string) => isPropValid(propName),\n})<{ isItemHovered: boolean }>(({ isItemHovered, theme }) => ({\n border: `1px solid ${theme.palette.grey[100]}`,\n height: '0px',\n ...(isItemHovered\n ? null\n : {\n marginLeft: '10px',\n marginRight: '10px',\n }),\n}));\n","import { Backdrop, Fade, ListItem, Typography } from '@ori-ui/mui';\nimport useTestId from '@ori/testid-generator';\nimport { Fragment, useCallback, useState } from 'react';\nimport type { MouseEvent, KeyboardEvent, FC } from 'react';\n\nimport { useConfiguration } from '../../contexts';\nimport type { OnLanguageChangeCallback } from '../../models';\nimport { LanguageSelectPopupTestIds } from '../../models';\nimport {\n ClearIcon,\n Content,\n Header,\n Root,\n StyledDivider,\n StyledList,\n StyledListItemButton,\n StyledListItemText,\n} from './styles';\n\nexport interface LanguageSelectPopupProps {\n /**\n * Executes when user select new language\n */\n onLanguageChange: OnLanguageChangeCallback;\n /**\n * Controlled state for showing modal\n */\n isOpen: boolean;\n /**\n * If user wanted to close window by not changing language\n */\n onClose: () => void;\n}\n\nexport const LanguageSelectModal: FC = (props) => {\n const { onLanguageChange, isOpen, onClose } = props;\n const { translations, languages } = useConfiguration();\n const [selectedLanguageCode, setSelectedLanguageCode] = useState(undefined);\n const { getTestIdProps } = useTestId();\n\n const handleLanguageChange = useCallback(\n (language) => onLanguageChange(language),\n [onLanguageChange],\n );\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent) => {\n // If there are no languages yet then exit prematurely\n if (!languages) {\n return;\n }\n\n const selectedIndex = languages.findIndex((language) => language.code === selectedLanguageCode);\n let newSelectedIndex = selectedIndex;\n\n switch (event.code) {\n case 'ArrowDown': {\n newSelectedIndex = selectedIndex + 1 < languages.length ? selectedIndex + 1 : 0;\n break;\n }\n case 'ArrowUp': {\n newSelectedIndex = selectedIndex - 1 >= 0 ? selectedIndex - 1 : languages.length - 1;\n break;\n }\n case 'Enter': {\n const selectedLanguage = languages.find((language) => language.code === selectedLanguageCode);\n\n if (!selectedLanguage) {\n return;\n }\n\n handleLanguageChange(selectedLanguage);\n break;\n }\n default:\n }\n\n setSelectedLanguageCode(languages[newSelectedIndex]?.code);\n },\n [languages, handleLanguageChange, selectedLanguageCode],\n );\n\n const handleItemMouseEnter = useCallback((event: MouseEvent) => {\n const languageCode = event.currentTarget.dataset.langCode;\n\n setSelectedLanguageCode(languageCode);\n }, []);\n\n const handleListItemButtonClick = useCallback(\n (event: MouseEvent) => {\n // If there are no languages yet then exit prematurely\n if (!languages) {\n return;\n }\n\n const languageCode = event.currentTarget.dataset.langCode;\n const language = languages.find((availableLanguage) => availableLanguage.code === languageCode);\n\n if (!language) {\n return;\n }\n\n handleLanguageChange(language);\n },\n [languages, handleLanguageChange],\n );\n\n const handleItemMouseLeave = useCallback(() => {\n setSelectedLanguageCode(undefined);\n }, []);\n\n // We are probably still loading\n if (!languages || languages.length === 0) {\n return null;\n }\n\n return (\n \n \n \n
\n \n
\n \n {translations.selectLanguage}\n \n \n {languages.map((lang, index) => (\n \n \n \n \n \n \n {/* Skip divider on last item */}\n {index < languages.length - 1 && (\n \n )}\n \n ))}\n \n
\n
\n \n );\n};\n","/* istanbul ignore file */\nimport { useSWR } from '@ori/fetching';\nimport type { StaticLanguagesLanguage } from '@ori/static-api-client-react';\nimport { ApiClient, getTenantLanguages } from '@ori/static-api-client-react';\nimport { useCallback, useMemo } from 'react';\n\n/**\n * React hook for getting languages for provided tenant\n */\nexport const useTenantLanguages = (baseUrl: string, tenant: string, disabled?: boolean) => {\n // We create api client by ourselves, because we do not need any context for this simple app\n const apiClient = useMemo(() => new ApiClient({ baseUrl, tenant }), [baseUrl, tenant]);\n const fetcher = useCallback(\n async (incomingTenant: string): Promise => {\n const {\n data: { languages },\n } = await getTenantLanguages(apiClient, incomingTenant);\n\n // It may happen that languages are an object instead of plain array\n return Object.values(languages);\n },\n [apiClient],\n );\n\n return useSWR([tenant, 'languages'], fetcher, {\n isPaused: () => !!disabled,\n revalidateIfStale: false,\n revalidateOnFocus: false,\n revalidateOnReconnect: false,\n });\n};\n","import type { Language } from '../models';\nimport { getLanguageCodeAbbreviation } from './getLanguageCodeAbbreviation';\n\n/**\n * Checks if current pathname has one of available languages present\n */\nexport const hasLanguageInUrl = (availableLanguages: Language[]): boolean => {\n /**\n * First part of pathname that can have one of available languages\n */\n const firstPartOfPathname = typeof window === 'undefined' ? undefined : window.location.pathname.split('/').at(1);\n\n return (\n availableLanguages.findIndex((item) => getLanguageCodeAbbreviation(item.code ?? '') === firstPartOfPathname) !== -1\n );\n};\n","import Cookies from 'js-cookie';\n\nimport { LANGUAGE_COOKIE_KEY } from '../constants';\nimport type { Language } from '../models';\nimport { hasLanguageInUrl } from './hasLanguageInUrl';\n\n/**\n * Tells if Language switcher modal should be opened or not.\n * Note: It looks for the `lang` value and ignores old `_website#lang`.\n *\n * @param availableLanguages Languages available for current tenant.\n * @returns True if Language switcher modal should be opened, false if not.\n */\nexport function getDefaultIsOpenedState(availableLanguages: Language[]) {\n const languageCookieValue = Cookies.get(LANGUAGE_COOKIE_KEY);\n\n // Don't show modal since there is only one language available or don't show language if its already in url\n if (availableLanguages.length < 2 || hasLanguageInUrl(availableLanguages)) {\n return false;\n }\n\n // Show modal since language cookie has not yet been set.\n return typeof languageCookieValue == 'undefined';\n}\n","import { ErrorBoundary, LoggerProvider } from '@ori/logger';\nimport { TestIdProvider } from '@ori/testid-generator';\nimport { useCallback, type FC, useMemo, useState, useEffect } from 'react';\n\nimport { LanguageSelectModal } from '../components';\nimport { APP_TEAM_NAME } from '../constants';\nimport { APP_NAME } from '../constants-generated';\nimport { ConfigurationProvider } from '../contexts';\nimport { useTenantLanguages } from '../hooks/useTenantLanguages';\nimport { mainLogger } from '../logger';\nimport type { LanguageSwitcherPopupProps, Language } from '../models';\nimport {\n changeLanguage,\n getDefaultIsOpenedState,\n getLanguageCookieValue,\n hasLanguageInUrl,\n isDefaultLanguage,\n} from '../utils';\n\n/**\n * Ensures that language cookie is set when there is language in URL\n */\nexport const useVerifyCookies = (currentLanguage: string, tenant: string, languages?: Language[]) =>\n useEffect(() => {\n const currentLanguageInfo = languages?.find(({ code }) => currentLanguage === code);\n\n if (languages && currentLanguageInfo && hasLanguageInUrl(languages) && !getLanguageCookieValue()) {\n changeLanguage(currentLanguageInfo, currentLanguage, tenant, false);\n }\n }, [languages, currentLanguage, tenant]);\n\n/**\n * Language switcher modal component that shows and changes language\n */\nexport const LanguageSwitcherPopup: FC = (props) => {\n const { prefetchedLanguages, currentLanguage, tenant, staticApiUrl } = props;\n const { data: fetchedLanguages } = useTenantLanguages(staticApiUrl, tenant, !!prefetchedLanguages);\n const availableLanguages = useMemo(\n () => prefetchedLanguages ?? fetchedLanguages,\n [fetchedLanguages, prefetchedLanguages],\n );\n const [modalIsOpen, setModalIsOpen] = useState(getDefaultIsOpenedState(availableLanguages ?? []));\n\n useVerifyCookies(currentLanguage, tenant, availableLanguages);\n\n // This is for the case that languages changed in some way and the modal is not shown.\n useEffect(() => {\n if (!modalIsOpen && availableLanguages) {\n setModalIsOpen(getDefaultIsOpenedState(availableLanguages));\n }\n\n // eslint-disable-next-line react-hooks/exhaustive-deps -- we don't need to listen to \"modalIsOpen\"\n }, [availableLanguages]);\n\n const onCloseCallback = useCallback(() => {\n setModalIsOpen(false);\n }, []);\n\n const handleLanguageChange = useCallback(\n (nextLanguage: Language) => {\n changeLanguage(\n nextLanguage,\n currentLanguage,\n tenant,\n // If user selected default language then there is no reason to reload the page again\n !isDefaultLanguage(nextLanguage),\n );\n\n onCloseCallback();\n },\n [currentLanguage, onCloseCallback, tenant],\n );\n\n const configurationProviderValue = useMemo(\n () => ({ ...props, languages: availableLanguages }),\n [props, availableLanguages],\n );\n\n return (\n \n \n \n \n \n \n \n \n \n );\n};\n","import Cookies from 'js-cookie';\n\nimport { LANGUAGE_COOKIE_KEY } from '../constants';\n\n/**\n * Gets new language cookie value\n */\nexport const getLanguageCookieValue = () => Cookies.get(LANGUAGE_COOKIE_KEY);\n","import { Logger } from '@ori/logger';\n\nimport { PACKAGE_NAME, TEAM_NAME } from './constants-generated';\n\nexport const mainLogger = new Logger(PACKAGE_NAME, { teamName: TEAM_NAME });\n","import { ThemeProvider } from '@ori-ui/mui';\nimport { doDevelopmentLogin, NOT_LOGGED_IN_USER_ID, UniversalTokenProvider } from '@ori/auth';\nimport type { PickClientAppDataConfigProps } from '@ori/client-app-config';\nimport { parseClientAppConfig } from '@ori/client-app-config';\nimport { ServiceUrlsProvider } from '@ori/configuration-manager';\nimport { ClientCultureContextProvider } from '@ori/culture-provider';\nimport { EnvironmentProvider, getEnvironmentFromHost } from '@ori/environment';\nimport type { FooterAppProps, AppConfig } from '@ori/footer';\nimport { defaultTranslationsWithNamespaces, FooterApp, FooterAppSkeleton, FooterErrorBoundary } from '@ori/footer';\nimport { TranslationsNamespaceProvider, TranslationsProvider } from '@ori/i18n';\nimport {\n type LanguageSwitcherPopupProps,\n translationsNamespace as languageSwitcherTranslationsNamespace,\n} from '@ori/language-switcher';\nimport { LanguageSwitcherPopup, useLanguageSwitcherTranslations } from '@ori/language-switcher';\nimport { ApplicationInsights, getClientApplicationInsightsConfig, LoggerProvider } from '@ori/logger';\nimport type { FC } from 'react';\nimport { Suspense, useMemo } from 'react';\nimport { createRoot } from 'react-dom/client';\n\nimport { EMOTION_CACHE_KEY } from './constants-generated';\nimport { mainLogger } from './logger';\n\nconst LocalizedLanguageSwitcher: FC> = (props) => {\n const { translations } = useLanguageSwitcherTranslations();\n\n return (\n ({\n selectLanguage: translations.selectLanguage,\n }),\n [translations.selectLanguage],\n )}\n />\n );\n};\n\nconst logger = mainLogger.createChild('appRender');\n\n/**\n * React app renderer that is used when app is used as a standalone app\n */\nexport async function render(rootElement: HTMLElement) {\n const { config = '' } = rootElement.dataset;\n const clientAppConfig = parseClientAppConfig<\n AppConfig &\n PickClientAppDataConfigProps<\n 'currentLanguage' | 'customerId' | 'globalApiUrl' | 'graphqlUrl' | 'identityUrl' | 'staticApiUrl' | 'tenant'\n > & {\n disableLanguageSwitcherPopUp?: boolean;\n }\n >(config, ['currentLanguage', 'globalApiUrl', 'staticApiUrl', 'tenant']);\n\n const {\n currentLanguage,\n customerId = NOT_LOGGED_IN_USER_ID,\n disableLanguageSwitcherPopUp,\n globalApiUrl,\n graphqlUrl,\n identityUrl,\n isFrontPage,\n isStandalone = false,\n showFooterOnDesktop = true,\n staticApiUrl,\n tenant,\n } = clientAppConfig;\n\n const appProps: FooterAppProps = {\n configuration: {\n isFrontPage,\n isStandalone,\n showFooterOnDesktop,\n },\n };\n\n const localizedLanguageSwitcherProps: Omit = {\n currentLanguage,\n staticApiUrl,\n tenant,\n };\n\n if (!showFooterOnDesktop) {\n return;\n }\n\n // Get token for local development\n if (process.env.NODE_ENV === 'production') {\n ApplicationInsights.initialize(getClientApplicationInsightsConfig());\n } else {\n // when using Requestly we do not want to load token\n // eslint-disable-next-line no-lonely-if -- thats okay\n if (process.env.REACT_APP_USE_REQUESTLY === '1') {\n logger.debug('USING REQUESTLY');\n } else {\n if (!identityUrl) {\n throw new Error('Missing Identity URL!');\n }\n\n await doDevelopmentLogin({ identityUrl, tenant });\n }\n }\n\n const environment = getEnvironmentFromHost(window.location.host);\n\n createRoot(rootElement).render(\n \n \n \n \n \n \n \n }>\n \n {!disableLanguageSwitcherPopUp && (\n \n \n \n )}\n \n \n \n \n \n \n \n \n \n ,\n );\n}\n","export const QR_CODE_HEIGHT = 120;\nexport const QR_CODE_WIDTH = 100;\n"],"names":["maxWidth","FollowUsRoot","styled","theme","display","flexDirection","alignItems","gap","spacing","Icons","flexWrap","justifyContent","UnifiedSkeleton","Skeleton","transform","MobileOfficeRoot","shouldForwardProp","isMobileOffice","isMobileOfficeFull","borderLeft","APP_NAME","FourthColumn","breakpoints","up","Highlight","boxSizing","width","padding","backgroundColor","palette","grey","marginBottom","BottomContent","HighlightGrid","margin","gridTemplateColumns","columnGap","Root","marginTop","background","common","white","paddingBottom","LinkLabelSkeleton","fontSize","typography","ListLink","height","MobileLinkColumn","LinkColumn","customSkeletons","children","rest","getTestId","useTestId","_jsxs","_jsx","Typography","role","variant","map","skeletonWidth","index","_Fragment","AppIconSkeleton","overflow","textAlign","flexFlow","MobileAppsColumn","CenteredRoot","CopyrightRoot","LinksRoot","rowGap","gridAutoFlow","gridAutoColumns","justifyItems","SubscribeBannerRoot","FooterAppSkeleton","TestIdProvider","team","Team","Presentation","project","Hidden","smUp","smDown","mdUp","ErrorBoundary","ErrorBoundaryComponent","areaName","fallback","translationsNamespace","defaultTranslationsWithNamespaces","footerTranslationsNamespace","followUs","languageSwitcherTranslationsNamespace","selectLanguage","ApiProvider","tenant","useEnvironment","language","useLanguage","globalApiUrl","staticApiUrl","useServiceUrls","formattedToken","useToken","StaticApiClientProvider","baseUrl","GlobalApiClientProvider","token","getChildrenWithNavigationType","linkType","data","find","item","isLinkRenderable","Boolean","title","parseFooterData","footer","application","navigations","navigationType","StaticNavigationNavigationItemDtoType","Footer","getFooterNavigationType","bottom","StaticNavigationNavigationItemDtoLinkType","Bottom","paymentMethodsItems","paymentMethods","PaymentMethods","filter","PaymentMethod","getPaymentMethods","copyright","BottomCopyright","links","BottomLinks","link","siteLinksColumns","footerColumns","FooterColumn","column","slice","child","getSiteLinksColumns","ourApps","OurApps","turkishException","QRTR","languages","value","code","name","type","allPagesPagesContent","description","frontpageContent","copyrightTitle","copyrightLinks","languageConfiguration","socialMediaLinks","newsletterSubsciptionConfiguration","mobileApps","newsletterPopupCookieKey","newsletterPopupCookieValue","newsletterSubscribeCookieKey","newsletterSubscribeCookieValue","defaultFooterContext","footerContext","createContext","FooterProvider","Provider","useFooter","useContext","isCookieSet","cookieKey","cookieValue","Cookies","get","NewsletterTitleIconType","SubscriptionProcessStatus","ButtonAction","Origin","defaultNewsletterDialogContextValues","content","buttonAction","Submit","buttonText","emailLabel","icon","Subscribe","invalidEmailLabel","ppLinkText","ppText","ppUrl","showButton","showForm","text","status","Initial","setStatus","NewsletterDialogContext","NewsletterDialogContextProvider","useState","useMemo","getContent","submitDialog","subscribedDialog","errorDialog","headline","subscribeButtonText","privacyPolicyText","privacyPolicyUrlText","privacyPolicyUrl","Subscribed","None","Failed","Error","Reset","useNewsletterDialogContext","SUCCESS_STATUSES","Set","color","A400","PrivacyPolicy","linkText","url","splitText","split","component","Link","href","target","rel","titleIcons","Send","CheckCircle","ErrorCircle","TitleIcon","undefined","ResultIcon","DATA_TEST_ID","adornmentIcons","error","success","EmailInput","register","useFormContext","errors","useFormState","email","useWatch","endAdornment","iconType","InputAdornment","position","inputProps","TextField","setValueAs","trim","autoFocus","fullWidth","required","id","helperText","message","label","InputProps","NEWSLETTER_DIALOG","transitionProps","timeout","FeedbackDialog","paperClasses","root","Content","getColorFromStatus","NewsletterDialog","open","origin","onClose","createSubscription","useCreateNewsletterSubscription","globalApiClient","useApiClient","useCallback","async","globalThis","dispatchEvent","CustomEvent","NewsletterSubscribeEvent","result","createNewsletterSubscription","source","window","location","pathname","has","set","newsletterDialogValidationSchema","useValidationSchema","z","object","string","form","useForm","mode","defaultValues","resolver","zodResolver","shouldDisableSubmit","formState","getValues","onSubscribe","handleClose","reset","onSubsribeOrTryAgain","handleSubmit","actions","Button","disabled","onClick","disablePortal","header","FormProvider","IconRoot","secondary","main","cursor","popup","onOpen","useDisclose","setOrigin","OnlinePopup","useSubscribePopup","useEffect","enabled","popupDelay","delayInSeconds","timer","setTimeout","expires","displayFrequencyInDays","clearTimeout","openDialog","OnlineFooter","tabIndex","align","fontWeight","StyledMuiAccordion","MuiAccordion","accordionClasses","expanded","StyledAccordionSummary","AccordionSummary","border","minHeight","accordionSummaryClasses","StyledAccordionDetails","AccordionDetails","Accordion","setExpanded","toggle","elevation","onChange","expandIcon","ArrowDownThin","textTransform","Group","Links","items","FooterColumnItem","Inner","SiteLinks","isMobile","useIsMobile","updateImageUrl","passPNG","jpgSettings","toLowerCase","includes","length","join","MOBILE_APP_ICON","MobileAppIcon","titleImage","useTheme","alt","loading","src","imageData","encodeURIComponent","mdDown","StyledG","isolation","StyledRect","fill","StyledPath","SuperApp","xmlns","viewBox","x1","y1","x2","y2","gradientUnits","offset","stopColor","rx","d","APP_ICON","Icon","MobileApps","pageHeader","mobileAppCollection","app","SocialMediaIcons","StaticApplicationsFooterBffSocialMediaLinkDtoType","Facebook","VKontakte","Twitter","YouTube","Instagram","Odnoklassniki","Weibo","Pinterest","QQ","Youku","Line","WeChat","Telegram","SocialMediaIcon","kind","SocialIcon","size","FollowUs","translations","useTranslationsFromNamespace","appConfigContextDefaultValue","isFrontPage","isStandalone","showFooterOnDesktop","appConfigContext","AppConfigProvider","ContentRoot","testId","ContentText","ContentFrontPage","sanitizeOptions","allowedTags","disallowedTagsMode","allowedAttributes","a","img","selfClosing","allowedSchemes","allowedSchemesByTag","allowedSchemesAppliedToAttributes","allowProtocolRelative","enforceHtmlBoundary","ContentAllPages","parser","sanitizeHtml","QRCodeSkeleton","QR_CODE_WIDTH","QR_CODE_HEIGHT","borderRadius","shape","LazyTurkishMarketException","React","then","module","default","TurkishMarketException","MarketExceptions","Suspense","StyledLink","textDecoration","CopyrightTitle","CopyrightWithLinks","APP_TEAM_NAME","Framework","LANGUAGE_COOKIE_KEY","LANGUAGE_COOKIE_OPTIONS","getLanguageCodeAbbreviation","languageCode","replace","isDefaultLanguage","ensureEndsWithSlash","ensureEndsWith","mustEndsWith","endsWith","changeLanguage","nextLanguage","currentLanguage","changePath","legacyCookieName","getLegacyCookieName","languageCodeAbbrev","newPathName","RegExp","CountryInfo","LanguageName","isActive","fontWeightBold","LanguageSelector","onChangeLanguage","countryLabel","currentCountry","languageLabel","lang","onKeyDown","Item","pm","Tooltip","placement","imageUrl","FooterContent","useIsMobileOffice","setIsMobileOffice","document","getElementsByTagName","classList","contains","event","HTMLAnchorElement","hash","preventDefault","OneTrust","ToggleInfoDisplay","addEventListener","removeEventListener","footerContent","useGetFooterContent","useGetTenantApplicationsFooter","swr","revalidateIfStale","revalidateOnFocus","revalidateOnReconnect","footerProviderValue","mainLogger","Logger","teamName","App","configuration","LoggerProvider","logger","TranslationsNamespaceProvider","namespace","configurationContextDefaultValues","TranslationKey","configurationContext","ConfigurationProvider","LanguageSelectPopupTestIds","Modal","down","paper","boxShadow","SHADOW_LEVEL2","zIndex","borderBottomLeftRadius","borderBottomRightRadius","Header","ClearIcon","Clear","StyledList","List","StyledListItemText","ListItemText","letterSpacing","button","StyledListItemButton","ListItemButton","paddingLeft","paddingRight","StyledDivider","Divider","propName","isPropValid","isItemHovered","marginLeft","marginRight","LanguageSelectModal","props","onLanguageChange","isOpen","selectedLanguageCode","setSelectedLanguageCode","getTestIdProps","handleLanguageChange","handleKeyDown","selectedIndex","findIndex","newSelectedIndex","selectedLanguage","handleItemMouseEnter","currentTarget","dataset","langCode","handleListItemButtonClick","availableLanguage","handleItemMouseLeave","closeAfterTransition","disableEnforceFocus","disableRestoreFocus","BackdropComponent","Backdrop","BackdropProps","sx","backdropFilter","ROOT","Fade","in","CLOSE_ICON","TITLE","LIST","Fragment","ListItem","disablePadding","onMouseEnter","onMouseLeave","LIST_ITEM","disableGutters","selected","disableTypography","primary","hasLanguageInUrl","availableLanguages","firstPartOfPathname","at","getDefaultIsOpenedState","languageCookieValue","useVerifyCookies","currentLanguageInfo","LanguageSwitcherPopup","prefetchedLanguages","fetchedLanguages","useTenantLanguages","apiClient","ApiClient","fetcher","getTenantLanguages","incomingTenant","Object","values","useSWR","isPaused","modalIsOpen","setModalIsOpen","onCloseCallback","configurationProviderValue","PACKAGE_NAME","TEAM_NAME","LocalizedLanguageSwitcher","createChild","render","rootElement","config","clientAppConfig","parseClientAppConfig","customerId","NOT_LOGGED_IN_USER_ID","disableLanguageSwitcherPopUp","graphqlUrl","identityUrl","appProps","localizedLanguageSwitcherProps","ApplicationInsights","initialize","getClientApplicationInsightsConfig","environment","getEnvironmentFromHost","host","createRoot","FooterErrorBoundary","ServiceUrlsProvider","serviceUrls","graphQlUrl","EnvironmentProvider","UniversalTokenProvider","initialToken","ThemeProvider","enableCacheProvider","cacheKey","EMOTION_CACHE_KEY","ClientCultureContextProvider","TranslationsProvider","clientFetchConfiguration","onError","console","FooterApp"],"sourceRoot":""}